0% found this document useful (0 votes)
103 views37 pages

SAP System Architecture

The SAP R/3 system uses a three-tier architecture with presentation, application, and database servers. The presentation server handles the user interface. The application server interprets programs and manages input/output. The database server accepts requests from the application server and retrieves data from the database for it.

Uploaded by

Mahesh Reddy M
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
103 views37 pages

SAP System Architecture

The SAP R/3 system uses a three-tier architecture with presentation, application, and database servers. The presentation server handles the user interface. The application server interprets programs and manages input/output. The database server accepts requests from the application server and retrieves data from the database for it.

Uploaded by

Mahesh Reddy M
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 37

R/3 SYSTEM ARCHITECTURE

SAP based the architecture of R/3 on a three-tier client/server model. Presentation Server Application Server Database Server Presentation Server The presentation server is actually a program named sapgui.exe.It is usually installed on a users desktop.When started,the presentation server displays the R/3 menus within a window.This window is commonly known as the SAPGUI.The interface accepts the input from the user and sends these requests to the application server to be processed.The application server sends the result back to the SAPGUI which then formats the output for display to the user.
VINITA REGAL IT

R/3 SYSTEM ARCHITECTURE


Application Server An application server is a set of executables that collectively interpret the ABAP/4 programs and manage the input and output for them.When an application server is started,these executables all start at the same time,and when stopped they all shut down together.The number of processes that start up when you bring up the application server is defined in a single configuration file called the application server profile.This profile specifies: Number of processes and their types Amount of memory each process may use Length of time a user is inactive before being automatically logged off. The application server exists to interpret ABAP/4 programs,and they only run there.An ABAP/4 program can start an executable on the presentation server,but an ABAP/4 program cannot execute there.If ABAP/4 program requests information from the database, the application server will format the request and send it to the database server.
VINITA REGAL IT

1. 2. 3.

R/3 SYSTEM ARCHITECTURE


Database Server The database server is a set of executables that accepts database requests from the application server.These requests are passed on to the RDBMS.The RDBMS sends the data back to the database server, which then passes the information back to the application server.The application server in turn passes the information to your ABAP/4 program.

VINITA REGAL IT

R/3 SYSTEM ARCHITECTURE


APPLICATION SERVER ARCHITECTURE It consists of dispatcher and multiple work processes.All request that come in from presentation servers are directed first to the dispatcher.The dispatcher writes them first to the dispatcher queue.The dispatcher pulls the requests from the queue on a first-in,first-out basis.Each request is then allocated to the first available work process.A work process handles one request at a time. To perform any processing for a users request,a work process needs to address two special memory areas: the user context and program roll area.The user context is a memory area that contains information about the user, ands the roll area is a memory area that contains information about the program execution.

VINITA REGAL IT

R/3 SYSTEM ARCHITECTURE


FROM PRESENTATION SERVER APPLICATION SERVER DISPATCHER QUEUE

WP

WP

ATCHER BUFFERS

WP

WP

WORK PROCESSES

ROLL AREA (Extended memory)

TO DATABASE SERVER

VINITA APPLICATION SERVER ARCHITECTURE REGAL IT

R/3 SYSTEM ARCHITECTURE


USER CONTEXT
A user context is a memory that is allocated to contain the characteristics of a user that is logged on the R/3 system.It holds information needed by R/3 about the user,such as, The users current settings The users authorizations The names of the program the user is currently logged in When the user logs on, a user context is allocated for that logon.When they log off, it is freed.It is used during program processing.

VINITA REGAL IT

R/3 SYSTEM ARCHITECTURE


ROLL AREA
A roll area is a memory that is allocated by a work process for an instance of a program.It holds information needed by R/3 about the programs execution,such as, The values of the variables The dynamic memory allocation The current program pointer Each time a user starts a program, a roll area is created for that instance of the program.If two users run the same program at the same time , two roll areas will exist.The roll area is freed when the program ends.
VINITA REGAL IT

R/3 SYSTEM ARCHITECTURE


UNDERSTAND THE COMPONENTS OF A WORK PROCESS Each work process has four components:

ABAP/4 INTERPRETER TASK HANDLER SCREEN INTERPRETER DATABASE INTERFACE

VINITA REGAL IT

R/3 SYSTEM ARCHITECTURE


All requests pass through the task handler,which then funnels the request to the appropriate part of the work process. The interpreters interpret the ABAP/4 code.There are two interpreters: ABAP/4 Interpreter, a full-blown ABAP/4 data processing language Screen Interpreter, a very specialized screen processing language. The database interface handles the job of communicating with the database.

VINITA REGAL IT

R/3 SYSTEM ARCHITECTURE


TYPES OF WORK PROCESSES: There are seven types of work processes.Each handles a specific type of request.

WP TYPE
D(Dialog) V(Update) B(Background) S(Spool) E(Enqueue) M(Message) G(Gateway)

REQUEST TYPE
Dialog requests Request to update data in db Background jobs Print spool request Logical lock request Routes messages b/w application servers within R/3 system Funnel messages into and out of the R/3 system VINITA
REGAL IT

R/3 SYSTEM ARCHITECTURE


Dialog Work Process/Server Each Dialog work process handles one dialog step of a user transaction, then becomes available to process another dialog step. A Dialog server consists of a Dispatcher and a fixed number of Dialog work processes which are available exclusively to handle dialog requests

VINITA REGAL IT

R/3 SYSTEM ARCHITECTURE


Batch Server Batch processing allows a program to be run at a scheduled time in the background. A background scheduler is responsible for starting jobs at the requested times. Jobs are processed as if they were entered by a user, so they must pass through the same dialog steps; this ensures the integrity of the system.

VINITA REGAL IT

R/3 SYSTEM ARCHITECTURE


Update Server Since the Update server must make changes to the database, it is usually on the same physical system as the database. When an update is requested, the job is separated into a dialog portion and an update portion. First, the dialog portion creates a log file, which is then used by the update work process to perform the actual changes.

VINITA REGAL IT

R/3 SYSTEM ARCHITECTURE


En queue Server Rather than relying on the database to control access to the data, SAP implements its own system for controlling access, called the En queue server. The En queue server uses lock tables to manage access to the data, ensuring only one user at a time has the ability to make changes to the same data.

VINITA REGAL IT

R/3 SYSTEM ARCHITECTURE


Spool Server When a Spool request is generated, the data is placed in TEMporary SEquential objects, and information related to the request is stored in the database. When the request is ready to be printed, it is handled by the Spool work process, which formats it and passes it to the operating system's spooler. The operating system spooler may be on the user's workstation, or on a separate system altogether.

VINITA REGAL IT

Enterprise Wide Information Systems

ABAP/ 4 Programming Language


VINITA REGAL IT

Advanced Business Applications Program or ABAP is the programming language of SAP. ABAP is a powerful programming language designed to be both platform and Database independent. The need for ABAP programmers is essential for every stage of the SAP Program life cycle. After the successful installation, the "APAPer" will be responsible for the customization, modification and general support of the SAP program. The ABAPer becomes the "Go-To Guy" to get the job done when the request is beyond the scope of Configuration
VINITA REGAL IT

Objectives
Upon completion of this topic, you should be able to: Define the general terms associated with the ABAP/4 Workbench. Work with the ABAP/4 Object Browser. Create a program object. Access tables to generate a report.

VINITA REGAL IT

Topics
ABAP/4 Development Workbench ABAP/4 Data Dictionary ABAP/4 Repository Information

VINITA REGAL IT

ABAP/4 Development Workbench Architecture


The Development Workbench provides access to SAPs development tools.
ABAP/4 Editor ABAP/4 Dictionary Data Modeler Reporting Screen Painter Menu Painter Function Modules

R/3 Repository

VINITA REGAL IT

ABAP/4 Development Workbench Architecture


All programs are stored in the R/3 Repository. A program is simply an object. All definitions are kept in the data dictionary. e.g. variable descriptions and parameters of fields. Double-clicking will navigate you to wherever the object is stored. Remote call functions let you access other systems.

VINITA REGAL IT

Reporting and Dialog Programming


In reporting you use the ABAP/4 Open SQL to read data from the R/3 database A report consists of a selection screen on which you define the dataset you wish to display, and a list which displays the data itself. In dialog programming you use the screen painter to create screens and program the sequence in which they appear.
Selection Screen List Screen Screen 01000 Screen 0200

ABAP/4 Open SQL

VINITA REGAL IT

ABAP/4 Program Objects


You can use the ABAP/4 Development Workbench to create ABAP/4 programs. You can call objects from the object list generated from the Object Browsers initial screen
Development Class Dev. Class object type Dictionary objects Programs Function groups Includes Transactions Logical databases etc.
VINITA REGAL IT

ABAP/4 Programs
All ABAP/4 programs (objects) are made up of: Source code Text elements Attributes
ABAP/4 Program Attributes Source Code Text Elements Titles Headers Text symbols

VINITA REGAL IT

Creating Programs
Begin by first specifying a development class. Development classes are categories of SAP objects (e.g. program object). Customer-specific program names begin with Y or Z. If you are creating a test object which you do not wish to be transported, choose Local Object. The development class is then set to $TMP automatically.
VINITA REGAL IT

The ABAP/4 Editor


The ABAP/4 Editor can run in three different modes: 1. Command mode 2. PC mode with line numbering 3. PC mode without line numbering You can switch between editor modes by choosing Settings Editor mode It is recommended that you do your work in PC mode with line numbering

VINITA REGAL IT

ABAP/4 Syntax
An ABAP/4 program consists of individual statements Each statement must end with a period. The first word of a statement is known as the key word. Words are separated from each other by at least one blank. Statements can be indented. Statements can extend over several lines. You can concatenate several consecutive statements with an identical key word (e.g. WRITE: ). Follow the key word with a colon. Separate each concatenated part with a comma. End the lines of the concatenated statements with a period.

VINITA REGAL IT

ABAP/4 Syntax (cont.)


You can insert comments into a program in two ways: 1. An asterisk (*) in column 1 flags the whole line as a comment. 2. A quotation mark () within a line flags the remainder of the line as a comment.

VINITA REGAL IT

Tables and the Select Statement


The Tables: <name> statement declares an ABAP/4 Dictionary table in the ABAP/4 program and allocates a table work area with the structure of <name>. The Select statement reads the table <name> line by line and places each line read in the table work area. Note: Double-clicking on the Tables: statement in the editor will display how the table is defined in the data dictionary.
Report ZDEMO1. TABLES: SBOOK. SELECT * FROM SBOOK WHERE CARRID = LH. ENDSELECT. WRITE : CARRID, FLTDATE.
Read table Table work area VINITA REGAL IT

Table SBOOK

Accessing Tables (In summary)


DDIC

SBOOK
F1 F2 F3 Fn

SBOOK F1 F2 F3 Fn

Definition in the Data Dictionary

Database

Program
Report ZDEMO1. TABLES: SBOOK. SELECT * FROM SBOOK WHERE CARRID = LH. ENDSELECT. WRITE : CARRID, FLTDATE.

Report

SFLIGHT table work area F1 F2 F3 Fn VINITA REGAL IT

Topics
ABAP/4 Development Workbench ABAP/4 Data Dictionary ABAP/4 Repository Information

VINITA REGAL IT

Basic Dictionary Objects


Tables - collection of records of data in fields. Data elements - contain the semantic definition (e.g. short description) of what is contained w/in a field. Domains - describe the technical attributes of the tables fields (e.g. field type, length, value range, etc.).
Table
Table field

uses

Data element Domain


uses

VINITA REGAL IT

Structures and Aggregated Objects (Views)


Besides defining tables stored in the database, you can also define the structure of data which occurs when performing calculations in programs, or when passing data between programs. Structures are defined and activated in the ABAP/4 Dictionary. While data can be permanently stored in the database, data in structures exists only during the runtime of a program. Aggregated objects are objects which come from several different tables. Views are application-specific views of different ABAP/4 Dictionary tables. Views allow you to gather information from fields of different tables and present it to users in the form they require.
VINITA REGAL IT

ABAP/4

Dictionary (In summary)

The ABAP/4 Dictionary is the central facility in the system where you can create and maintain data declarations, tables, structures and aggregated objects. Since it is integrated into the ABAP/4 Development Workbench as an active component, any change made in the ABAP/4 Dictionary takes immediate effect in programs affected.
VINITA REGAL IT

Topics
ABAP/4 Development Workbench ABAP/4 Data Dictionary ABAP/4 Repository Information

VINITA REGAL IT

ABAP/4 Repository Information


The ABAP/4 Repository Information System allows you to obtain information about objects (tables, fields, domains, etc.) in the ABAP/4 Repository. You can find anything that is used in programs by using the Data Repository.

?
Search by attributes
Display all objects of type X with attribute Y

Where-used lists
Display all objects of type Y which use attribute X

Information about tables and relationships


Display all table fields with check table X

Data Repository Modified objects


Display all objects of type X which were changed by user Y on date DDMMYY

ABAP/4 Repository (In summary)

The ABAP/4 Repository Information System allows search for ABAP/4 Development Workbench objects by specifying required attributes. From the ABAP/4 Development Workbench: Overview Repository Infosy.

VINITA REGAL IT

You might also like