Transcript CHAPTER 1
Summary of The SAP
Ecosystem and
Functional Software
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
System
System
System
configuration
development and customization
testing
deployment
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
Course Simulations
We will use three separate SAP instance
throughout this course
Global Bike configuration
ABAP
Web Dynpro
And possibly some sort of integration tool
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
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
SAP Architecture
(Introduction)
From BC ABAP Programming
SAP Logical Architecture (1)
Underneath, there is a database and a
database management system
SQL Server, ORACLE and MaxDB 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
SAP Logical Architecture (2)
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
SAP and the Database
SAP uses a logical database
ABAP programs are stored in the SAP
database
SAP supports
We don’t usually touch the underlying ORACLE /
SQL server / whatever database
IBM DB2, Informix, MaxDB, Oracle, Microsoft
SQL Server
A similar model exists for the Web application
Server
SAP Logical Architecture (3)
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
SAP Logical Architecture (4)
Our presentation component will be the
NetWeaver program that you used in IS 365
All user interaction is through the presentation
component
SAP Layers
SAP is built using three layers
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
SAP (Application Layer)
Application servers run ABAP applications
We typically have many of them
The server group is load balanced
Message server communicate state
information between application servers
More later
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
SAP (Presentation Layer)
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
Application Server
(Illustration)
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
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
THE SAP LUW
Structure of a Work Process
Types of Work Processes
Work processes have different types
Dialog work process work 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
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
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
ABAP Program Structure
ABAP programs execute within individual
dialog steps
A program is divided into processing blocks
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
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
Types of ABAP Programs (2)
Type F programs are function modules
containing reusable function
Type I programs are includes
Includes just break up programs into smaller
chunks.
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
(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
(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
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
IMG
(Enterprise Structure – Parts)
Financial accounting
Controlling accounting
Logistics
Sales
Materials Management
Plant Maintenance
Production
HR
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
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
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
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
Classes / Interfaces
SAP supports an OOP approach to
development using classes and interfaces