What Does SAP R/3 Do?
Production Planning
Materials Management
Financial Controlling
Sales & Distribution Human Resources
BC010_01.1
What is Basis?
SAP R/3 Basis Software Is the Middleware of the R/3 System
R/3 Basis Computing components (middleware)environment
External
UNIX
Request for computing resources
BC010_01.2
What is Basis?
The R/3 Basis System
Materials Management Production Planning
Finance and Controlling
Sales and Distribution Human Resources
SAP R/3 Basis Software Hardware and Operating System
BC010_01.3 What is Basis?
Logical Groupings or Layers of SAP R/3 Components
The Presentation Layer
Those SAP R/3 software components that specialise in interacting with end-users form the presentation layer.
The Application Layer
Those SAP R/3 software components that specialise in processing business applications form the application layer.
The Database Layer
Those SAP R/3 software components that specialise in the management , storage and retrieval of data form the database layer.
BC010_01.4 What is Basis?
Three-Tiered Client/Server Architecture Logical Layers
Communication The Presentation Layer collects user input and creates process requests. The Application Layer uses the application logic of SAP programs to collect and process the process requests. The Database Layer stores and retrieves all data.
BC010_01.5
What is Basis?
Physical Distribution of R/3s Logical Layers
Presentation Layer components
Application Layer components
Database Layer components
reside in:
reside in:
reside in:
Presentation servers: Systems capable of providing a graphical interface. BC010_01.6
Application servers: Specialised systems multiple CPUs and vast amounts of
Database servers: Specialised systems with fast and large What is Basis?
Client/Server Defined
PC Software Program SAP Client/Server Software Presentation Layer
Application Layer
MS Excel Components
Database Layer
A
BC010_01.7
C
What is Basis?
Physical Distribution of R/3s Three Layered Client/Server Architecture
Presentation Layer components are installed across many PCs.
The Application Layer components are installed across one or more high-end servers. The Database Layer components are installed on one high-end database server.
BC010_01.8 What is Basis?
R/3s Client/Server Configurations- Centralistic
Centralistic
Computer A
Presentation Layer Application Layer
BC010_01.9
Database Layer
What is Basis?
R/3s Client/Server ConfigurationsDistributed Presentation
Computer A Computer A-1 Computer A-2 Comput er A-n Presentation Layer Application Layer
BC010_01.10
Distributed Presentation
Computer B
Database Layer
What is Basis?
R/3s Client/Server ConfigurationsTwo-tier Client/Server
Comput er A Comput er A-1 Comput er A-2 Comput er A-n Presentation Layer Application Layer
BC010_01.11
Two-tier Client/Server
Computer B
Database Layer
What is Basis?
R/3s Client/Server ConfigurationsThree-tier Client/Server
Compute r A Compute r A Compute r A Compute r A
Three-tier Client/Server
Compute r B Compute r B Compute r B Comput er C
Presentation Layer Application Layer
BC010_01.12
Database Layer
What is Basis?
R/3s Client/Server Configurations- Multi-Tier, Cooperative Client/Server
Compute r A Compute r A-1 Compute r A-2 Compute r A-n
Multi-tier, cooperative Client/Server
Compute r B Compute r B-1 Compute r B-n
Comput er C Comput er C-n
Presentation Layer Application Layer
BC010_01.13
Database Layer
What is Basis?
R/3s Client/Server Configurations- Multi-Tier, Cooperative Client/Server - ALE
Computer A Computer A-1 Computer A-2 Computer A-n Computer B-1 Computer B-1
Compute r C Compute r C-n
Computer B-n
Presentation Layer Application Layer
BC010_01.14
Database Layer
What is Basis?
SAPGUI: The Presentation Layer Software
Example components of SAPGUI: SAP SAP SAP SAP SAP SAP SAP SAP SAP SAP Business Graphics Hierarchy Graphics Pushbutton Graphics Statistical Graphics Gantt Chart Graphics HPGL Display Network Graphics Portfolio Graphics Bar Chart Graphics Structural Graphics
Presentation Layer Software: SAPGUI
BC010_01.15 What is Basis?
Exchanging Data between the Presentation and Application Layers
1 to 2 Kilobytes
Easily achieved over a WAN
Presentation Layer Software: SAPGUI
BC010_01.16
Application Layer Software: R/3 Runtime System
What is Basis?
Business Transactions
Business Transaction FD02 Change customer information
Screen 1
Screen 2
Complete transaction ?
BC010_01.17 What is Basis?
Business Transactions and the R/3 Runtime System
Screen 2
Screen 1
R/3 Runtime System
LOCK business object XYZ then, Prepare to ROLLBACK if necessary
BC010_01.18 What is Basis?
Processes
A Process is essentially a program. Each process has memory and access to system resources.
Process
BC010_01.19
What is Basis?
Threads
A Thread is the actual component of a process that is executing at one time. Each thread is capable of completing a different task that its process requests.
Process
Thread 1 Thread 2 Thread 3
BC010_01.20
What is Basis?
The O/S Kernel
Process
Process
Process
OS Kernel CPU
BC010_01.21 What is Basis?
Work Processes and the Dispatcher
SAP Diaolg Update Enqueue Spool Background
SAP Dispatcher
OS Kernel
BC010_01.22
CPU
A component of the SAP Kernel called the Dispatcher must manage process access to the OS What is Basis?
The R/3 Runtime System
Dispatcher
Dialog Update Spool Background
Application Server A
Dispatcher
Dialog Update Spool Background
Application Server B
Dispatcher
Dialog Update Enqueue Spool
Application Layer on Background Database Server
What is Basis?
BC010_01.23
Dispatcher
USER 1
USER 3
Dispatcher
USER 2
BC010_01.24
USER 4
What is Basis?
Work Processes
Dialog
Update
Enqueue
Spool
Background or Batch
BC010_01.25
What is Basis?
Dispatcher in Action
Presentation level Various types of processing requests
Application level
Dispatcher
Reque st queue s
Batch
Dialog
Update
Enqueue
Spool
BC010_01.26
What is Basis?
Inside the R/3 Runtime System
Various types of processing requests
Process Request User: Fred Jones Activity: Read data XYZ Screen: 1
Dispatcher
BC010_01.27
Reques t queues
What is Basis?
The Code Behind R/3
SAP R/3 Transactions are written in ABAP, SAPs 4th generation interpreted programming language.
Dispatcher
Dialog
SAP R/3 Runtime System is written in ANSI-C
Update Enqueue Spool Background or Batch
BC010_01.28
What is Basis?
Inside the R/3 Runtime System
Task Handler DYNPRO Processor ABAP Processor
memory
BC010_01.29
Work Process
What is Basis?
Inside the R/3 Runtime System
Various types of processing requests
Process Request Read data XYZ or Write data XYZ Request queues
What is Basis?
Dispatcher
BC010_01.30
Reading Data in the R/3 System
Transaction Screen 1
Screen 1. I want to run a customer report for customer 00017.
Screen 2
Screen n.
Screen 3. But only for product XYZ.
BC010_01.31
Screen 2. I only want to include data in my report that pertains to orders that were filled within the last 2
What is Basis?
Reading Data in the R/3 System
Transaction Screen 1 Screen 2 Screen n.
Process Process Process Request 1 Request 2 Request 3
Dispatcher
BC010_01.32
Request queues
What is Basis?
Reading Data in the R/3 System
Shared Memory Segments
Dispatcher Reques t Queue s
Transaction
Screen 1 Screen 2 Screen n.
R/3 Buffer s
Process Requests
Dialog
Dialog
Requested data retrieved from the R/3 Buffers
memory
AV
BC010_01.33
LE AB AIL
memor y
Y US B
Y US B
What is Basis?
memory
Task Handl er DYN P ABAP
Task Handler DYNP ABAP
Task Handler DYNP ABAP
Dialog
Reading Data in the R/3 System
Dispatcher Extended Memory Manager
Extended Memory
What is Basis?
R/3 Buffers
Task Handl er DYNP
Shared Memory Segments memory
Request Queues
The data retrieved for the last screen is stored in extended ABAP memory in an area The process request called the user for the next screen is context. LE copied down. B ILA A AV
BC010_01.34
Dialog
SAP Logical Unit of Work
SAP Logical Unit of Work (SAPLUW) Update Transaction Screen 1 Screen 2 Screen n.
BC010_01.35
What is Basis?
Distribution of a Business Transaction Across Multiple WPs
SAP Logical Unit of Work (SAPLUW) Update Transaction Screen 1 Screen 2 Screen n.
Handled by: Handled by: Handled by:
+
Handled by:
Dialog A
Dialog B Dialog C
Update
BC010_01.36
What is Basis?
Asynchronous Updating: The Online Phase
SAP Logical Unit of Work (SAPLUW) Update Transaction Screen 1 Screen 2 Screen n.
Database Commit
Dialog A
+
The Online Phase of an update ends here.
Databa se Commit
Database Commit
Dialog C
Dialog B
Write
Write
Write
VBLOG
What is Basis?
BC010_01.37
Asynchronous Updating: The Posting (Update) Phase
SAP Logical Unit of Work (SAPLUW) Update Transaction Screen 1 Screen 2 Screen n.
Database Commit
Dialog A
Databas e Commit
Database Commit
Dialog C
Dialog B
Read
Update
The Posting Phase of an update starts here.
BC010_01.38
VBLOG
What is Basis?
VBLOG Records
Dialog A
VBLOG Posting RoutineData U1 Screen 1 of 3
SAPLUW
Dialog B
Posting RoutineData U2 Screen 2 of 3
Dialog C
Posting RoutineData U2 Screen 3 of 3
What is Basis?
BC010_01.39
Errors during Posting (Update) Phase
BC010_01.40
What is Basis?
Handling of Error Situations
(U1 Termination)
Update
Dialog A Posting Routine Data
VBLOG
U1 Screen 1 of 3 ..ROLLBACK
SAPLUW
Dialog B Posting Routine Data U1 Screen 2 of 3
..ROLLBACK
Dialog C Posting Routine Data U2 Screen 2 of 3 ..Ignored
BC010_01.41
What is Basis?
Handling of Error Situations
(U2 Termination)
Update
Dialog A Posting Routine Data
VBLOG
U1 Screen 1 of 3
SAPLUW
Dialog B Posting Routine Data U2 Screen 2 of 3
Dialog C Posting Routine Data U2 Screen 2 of 3
Continue
BC010_01.42
What is Basis?
The Enqueue Work Process
Dialog
Lock Request
Message Service Enqueue
Lock Table
BC010_01.43
What is Basis?
The Background Work Process
Background
Background Job A Step # 1 Step # 2
Defining a background job.
BC010_01.44 What is Basis?
The Spool Work Process
The Operating System spooler assumes the print queue management.
Print
O/S Spooler
BC010_01.45
What is Basis?
A Service
Service A Online Process A1 Process A2
Requesting a particular function or service.
BC010_01.46
What is Basis?
The Message Service
Online
Lock Request
Enqueue
Messag e Service
Lock Table
BC010_01.47
What is Basis?
The SAP Gateway Service
Communication to an external R/3 System An external R/3 System
SAP Gateway Service
Gateway server
BC010_01.48
What is Basis?
CPI-C API
Work Process Work Process
Example: Work process communication
BC010_01.49
What is Basis?
Remote Function Calls
Non SAP system
Example: Communication with an external system
BC010_01.50 What is Basis?
EDI Architecture
MM (Customer) Intermediate Document Type SD (Vendor) Intermediate Document
EDI Subsystem
EDI Subsystem
Communication
BC010_01.51 What is Basis?
An SAP Instance
SAP Instance Work Processes
SAP Dispatcher Operatin g System TCP/IP Software
BC010_01.52
What is Basis?
An SAP Central Instance
SAP Central Instance Work Processes
Enqueue Work Process
Peripheral Instance A
SAP Dispatcher Operatin g System TCP/IP Softwar e
Message Service
Peripheral Instance B
BC010_01.53
What is Basis?
An SAP System
SAP Instance
Work Processes
SAP Instance
Work Processes
SAP Dispatcher Operating System TCP/IP Software
SAP Dispatcher Operating System TCP/IP Software
Work Processes
Enqueque Work Process
DATABASE
SAP Central Instance
SAP Dispatcher
Operati ng System TCP/IP Softwar e
Message Service
BC010_01.54
What is Basis?
SAP Servers
SAP Server/ Instance 8 Dialog Work Processes 3 Background Work Processes 1 Spool Work Processes SAP Server/ Instance 3 Dialog Work Processes 8 Background Work Processes 1 Spool Work Processes
BC010_01.55 What is Basis?
The GTC Training System
Database Louis Oracle
Central Instance Instance LOC A Instance LOC B Louis 2 Dialog 2 Background 3 Update 1 Enqueue 1 Spool Msg Service Gateway Julio 8 Dialog 3 Background 1 Spool Clint 8 Dialog 3 Background 1 Spool
BC010_01.56
What is Basis?