summary of the sap ecosystem and functional software
Post on 23-Mar-2016
39 Views
Preview:
DESCRIPTION
TRANSCRIPT
Summary of The SAP Ecosystem and
Functional Software
Slide 2
Review Last time – we looked at various
topologies for implementing enterprise systems
This time – we will look at how SAP provides a “fairly” complete infrastructure for System configuration System development and customization System testing System deployment
Slide 3
Lecture Structure It’s a high-level overview of SAP / R3
Breadth not depth at this point
I’ll breeze through many screens to demonstrate navigation through the SAP GUI
Slide 4
Course Simulations We will use various separate SAP
instances throughout this course Global Bike configuration ABAP Web Dynpro And possibly some sort of integration tool
Slide 5
Introduction (Roles and Responsibilities) This is my taxonomy Developers customize SAP Administrators designate roles to other users
and tune the system Responsible for security administration Responsible for deployment activities
Implementers configure SAP Third party integrators interface SAP with
other software packages And of course, the users
Slide 6
SAP Architecture (Introduction) Keep in mind that
this is the most complex software package that you have ever seen
It’s been around for a very long time and has remained backward compatible
It’s written in and developed by Germans
Slide 7
SAP Architecture (Introduction)
From BC ABAP Programming
Slide 8
SAP Logical Architecture (1) Underneath, there is a database and a
database management system SQL Server, ORACLE, MaxDB, and HANA
are supported The R/3 Basis is really an operating
system within an operating system The Basis is it’s own virtualization system
too There is no user contact with the
underlying operating system
Slide 9
SAP Logical Architecture (2) ABAP workbench is the development
environment with which you write, debug, and test ABAP applications ABAP is the programming language of SAP
and resembles COBOL An R/3 application has special meaning
It’s an ABAP program It’s has a well-defined structure
Slide 10
SAP Logical Architecture (3) Our presentation component will be
the NetWeaver program that you used in IS 365 All user interaction is through the
presentation component
Slide 11
SAP Layers SAP is built using three layers
Slide 12
SAP (Database Layer) SAP interacts with other RDMSs
(ORACLE, SQL Server, DB2, INFORMIX, etc…
However, the database layer stores everything for the entire SAP “instance” ABAP code User accounts EVERYTHING!
Slide 13
SAP (Application Layer) Application servers run ABAP
applications We typically have many of them The server group is load balanced
A message server communicates state information between application servers More later
Slide 14
SAP (Presentation Layer) It’s NetWeaver
We will not get into the topic yet but there is much that can be done with Netweaver
The presentation layer interacts with the application layer in a very structured way As you complete screens, you perform
dialog steps” Control passes back and forth between the
presentation layer and application layer
Slide 15
SAP (Presentation Layer)
Slide 16
Application Server (Structure) Application servers are responsible for
two things Dispatching work across a network of
application servers Performing work (work processes)
Execute dialog steps Gateways communicate with other
application servers Shared memory is used to persist
application context
Slide 17
Application Server (Illustration)
Slide 18
The SAP Programming Model (1) This discussion is based on the cardinal
rule that the database can never be left in an inconsistent state or a transaction be lost
But we might have thousands of users concurrently recording transactions You should see the synchronization
problem
Slide 19
The SAP Programming Model (2) Executing an application (transactions)
is done by completing one or more dialog screens Each screen is called a dialog step Each dialog step corresponds to a
database Logical Unit of Work LOW ABAP provides constructs to bundle
several DB LUWs into a SAP LOW
Slide 20
THE SAP LUW
Slide 21
Structure of a Work Process
Slide 22
Types of Work Processes Work processes have different types Dialog work process operate with user
requests to execute dialog steps Update processes execute database updates
that are parted of a bundled SAP UOW Background processes are executed without
user interaction Enqueue processes are used for locking Spool processes are used for printing and
archiving
Slide 23
Summary An application program has one or
more screens which are processed by the screen processor of a work process
The processing logic of a program gets data from screens, processes it, and returns data to screens
Slide 24
Screens Unlike the VB form with which you are
familiar, the ABAP screen is much more structured
Two types Screens have a definition and flow logic
created using a screen painter Selection screens and lists provide a
simplified way to select data for a list or report
Slide 25
ABAP Program Structure ABAP programs execute within
individual dialog steps A program is divided into processing
blocks
Slide 26
ABAP Program Declare global data here Create selection screen definitions Dialog modules, event blocks, and
subroutines are all processing blocks
We will delve into the structure more later
Slide 27
Types of ABAP Programs (1) A program’s technical attributes and
capabilities are determined by its type Type 1 programs are executable
programs They do not need to be controlled by
screens Type 1 programs are often called reports
Type M programs are controlled through screen flow logic and must be started from a transaction code
Slide 28
Types of ABAP Programs (2) Type F programs are function modules
containing reusable functiond Type I programs are includes
Includes just break up programs into smaller chunks.
Slide 29
Administrator (Overview) Performance User and role management Deployment of test and production
systems
Slide 30
Administrator (Tuning) Significant system management and
performance tuning is necessary in large enterprises We can tune and monitor memory
management In some enterprises we have HTTP and
other services System monitoring
Slide 31
Administrator (User Groups) User groups allow user administration to
be distributed among several administrators
Groups are also used to perform “mass maintenance” on several users
Transaction code SUGR to show user groups
Slide 32
Administrator (Roles) Access to resources is granted through
roles Roles are hierarchical and have different
types Single roles contain authorization data Composite roles are created using multiple
composite roles, which are then assigned to users
SAP ships with predefined bundle of standard roles (single and composite)
Slide 33
Administrator (Roles) Transaction code PFCG to view roles We are in role Z_ABAP
Slide 34
Administrator (Roles) Roles
Slide 35
Administrator (Deployment) SAP manages deployment of system
changes from development to training to test to production Other system types can be defined The process is called transport (more in a
moment)
Slide 36
Administrator (Other) Data must be archived System performance needs to be
monitored and tuned
Slide 37
Implementer (Introduction) In my opinion a formal definition gets a
bit fuzzy here We use the IMG to configure (customize)
the system We use the SAP system itself to create all
sorts of “master data” Production schedules You did some of this in IS 365
Slide 38
(IMG) Introduction IMG is short for Implementation Guide It contains all of the actions to
implement, control and document the SAP system General Settings Enterprise Structure Financial Accounting And all of the functional sub systems
Slide 39
(IMG) General Settings Country settings (countries in which we
do business) Currencies in which we do business Public calendars containing holidays,
workday configuration
Once configured these are either hard to change or cannot be changed
Slide 40
(IMG) (Illustration)
Slide 41
IMG (Enterprise Structure) Here, we describe our organizational
structure to the SAP system (Organizational Units) It’s not easy to change the organizational
structure once it has been created
Slide 42
IMG (Enterprise Structure – Parts) Financial accounting Controlling accounting Logistics Sales Materials Management Plant Maintenance Production HR
Slide 43
Definement and Assignment Configuration of the enterprise structure
(and many other components) requires a two-step process
Definement Create organizational structures
Assignment Assign those organizational structures to
other organizational structures
Slide 44
Definement and Assignment (Examples) You define company codes and assign
them to a company You define credit control areas and
assign them to a company code There are hundreds of these We will get through many of the core
functions in this course
Slide 45
IMG – Business Configuration (BC) Sets In this class, we will “globally” configure
system elements using the “SAP Reference IMG”
In practice, we use BC sets BC sets can be created for specific
processes These BC sets can be deployed separately
SAP provides numerous BC sets for industries and industry sectors
We can create our own BC sets too
Slide 46
BC Set (Implementation) Types:
Simple BC sets contain configuration data Hierarchical BC sets contain other BC sets
The hierarchy can be nested Attributes
Name Type Release information Change information (person, date time)
Slide 47
SAP Transport (1) In SAP, instances (clients) are
provisioned into different types Development (created from production
backups) After development is complete, the
system is copied to a “test / QA” system Then to a “consolidation system” Finally, the test system is deployed to the
production system Custom intermediate systems can also be
created
Slide 48
SAP Transport (2) The Transport Organizer is the tool used to
mange transport of BCs and development code from one instance to another
Transaction code for the Transport Organizer is SE01
STMS for the Transport Management System
Slide 49
SAP Development THIS IS A MONSTER Unlike most development environments
you are used to, all code (programs) are stored inside of the SAP instance itself
Code is deployed using transports mentioned previously
There are different types (categories) of code
Slide 50
SAP Development (Interface) The Object Navigator is the entry
point into the ABAP objects (programs) (Transaction code SE80)
The ABAP Editor is used to create, edit, test, and debug ABAP applications
The Data Browser lets you look at the SAP tables from the SAP / ABAP API
… And Much More
Slide 51
Object Navigator It’s used to organize programing in the
SAP integrated development environment Repository Browser is the primary code
storage area The Repository Information System is used
to search for programming objects The Transport Organizer manages changes
made during configuration and development and propagates (transports) changes to test and production systems
Slide 52
Object Navigator (Illustration)
Select object type from Object List
Slide 53
Repository Browser (Object Lists) The application hierarchy contains all
development objects A package contains logically related
development objects In this class, we will create local
objects, which are not transported to QA / production systems
Slide 54
Packages (Contents) Packages contain many things
Programs containing fields, events, subroutines, screens, and so on
Function groups are containers for functions (external procedure calls)
Dictionary objects contain (roughly speaking) references to SAP data
Remember, all data is processed through the SAP API
SHOW PACKAGE FARC
Slide 55
Classes / Interfaces SAP supports an OOP approach to
development using classes and interfaces
Slide 56
SAP Runtime Architecture (1) SAP Basis is the fabric on which all sap
applications run This fabric runs on top of a host OS
UNIX (AIX, HP-UX, Solaris, Linux) Windows … IBM mainframe systems
ABAP program execution is managed by the ABAP (managed runtime) and the SAP kernel
Slide 57
SAP Runtime Architecture (2) A SAP system consists of
One or more instances (application server) accessing a centralized database containing
All data All programs (ABAP and other)
The database interface handles marshals communication between the SAP system and the relational database
Slide 58
SAP and the Database SAP uses a logical database
We don’t usually touch the underlying ORACLE / SQL server / whatever database
ABAP programs are stored in the SAP database
SAP supports IBM DB2, Informix, MaxDB, Oracle,
Microsoft SQL Server A similar model exists for the Web
application Server
Slide 59
Transactions Roughly speaking, a logical unit of work In the SAP context, it means a calling
and executing an ABAP program that perform an indivisible operation on data Corresponds to a transaction code
Slide 60
ABAP (History) Acronym:
Allgemeiner BerichtsAufbereitungsProzessor
Generic report preparation rocessor Advanced Business Application Programm
ing Created back in the 1980s Looks very much like COBOL SAP itself, is written in ABAP
Slide 61
ABAP (Introduction) There are two types of executable
(ABAP) programs Reports
Enter a set of parameters Generate a report based on those
parameters Module pools
More complex screen and flow logic (these are dynpros or dynamic programs)
Slide 62
ABAP (Creating a First Report) Activate the ABAP Editor (Transaction
code SE38 ) You must have the developer key I gave
you) Create a program Save and activate the program Run the program
Slide 63
ABAP Editor (Initial Screen) Start program names with Z_ as in
Z_Ekedahl (Some names are prohibited by SAP)
Slide 64
ABAP Editor (Create / Change Attributes) Type: for now Executable Program but
other program object types are selected here
Status: We will create Test Programs
Slide 65
ABAP Editor (Specify the Package) Executable programs belong to a
package There is a “special” package named
$Temp that is never transported
Slide 66
ABAP Editor(Creating the Code) My opinion – it’s a pretty good
development environment Supports intellisense, code highlighting,
and a robust debugger Most of you have never seen COBOL,
but it looks like COBOL!
Slide 67
ABAP Editor (Creating the Code) REPORT statement names the program
The argument Z_EKEDAHL is the name of my first report
Statements end with a period WRITE statement prints to the output
(report) stream
Slide 68
Run the Report To run a report, it must be activated
Programs must be activated after they are saved
Press F8 to run
Slide 69
Getting Started with the ABAP Dictionary Remember that we work with data
logically through ABAP, rather than operating on the physical database
The database layer supplies extensive metadata beyond most native databases
Transaction code SE11 gets us to the ABAP dictionary
Transaction code gets us to the DataBrowser We will look at MARA (Material Master
Record)
Slide 70
Data Browser Select the desired table
You need to know the table names and meaning of fields
Slide 71
Data Browser (Table Output)
Slide 72
ABAP Dictionary Search for table
top related