29.10.2013 Views

Hardware and Operating System SAP R/3 Basis ... - SAP Techies

Hardware and Operating System SAP R/3 Basis ... - SAP Techies

Hardware and Operating System SAP R/3 Basis ... - SAP Techies

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />

-----------------------------------------------------------<br />

Underst<strong>and</strong>ing <strong>Basis</strong><br />

<strong>Basis</strong> is like an operating system for R/3. It sits between the ABAP/4 code<br />

<strong>and</strong> the computer's operating system. <strong>SAP</strong> likes to call it middleware<br />

because it sits in the middle, between ABAP/4 <strong>and</strong> the operating system.<br />

Production<br />

Planning<br />

Human<br />

Resources<br />

Materials<br />

Management<br />

Finance <strong>and</strong><br />

Controlling<br />

<strong>SAP</strong> R/3 <strong>Basis</strong> Software<br />

Sales <strong>and</strong><br />

Distribution<br />

<strong>Hardware</strong> <strong>and</strong> <strong>Operating</strong> <strong>System</strong><br />

Compiled By: Ashwin Vavaiya 1 of 44


Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />

-----------------------------------------------------------<br />

<strong>Basis</strong> sitting between ABAP/4 <strong>and</strong> the operating system. ABAP/4 cannot<br />

run directly on an operating system. It requires a set of programs<br />

(collectively called <strong>Basis</strong>) to load, interpret, <strong>and</strong> buffer its input <strong>and</strong> output.<br />

Without <strong>Basis</strong>, ABAP/4 programs cannot run. When the operator starts up<br />

R/3, you can think of him as starting up <strong>Basis</strong>. <strong>Basis</strong> is a collection of R/3<br />

system programs that present you with an interface. Using this interface the<br />

user can start ABAP/4 programs.<br />

<strong>Basis</strong> makes ABAP/4 programs portable.<br />

What is ABAP?<br />

What platforms does R/3 support?<br />

<strong>Operating</strong> <strong>System</strong>s Supported<br />

<strong>Hardware</strong><br />

Platforms <strong>and</strong> Databases Supported by R/3<br />

Supported Front-<br />

Ends<br />

Supported<br />

Databases<br />

AIX SINIX IBM SNI SUN Win 3.1/95/NT DB2 for AIX<br />

SOLARIS HP-UX Digital HP OSF/Motif Informix-Online<br />

Digital-UNIX Bull OS/2 Oracle 7.1<br />

Macintosh ADABAS D<br />

Windows NT AT&T Compaq Win 3.1/95/NT Oracle 7.1<br />

Bull/Zenith OSF/Motif SQL Server 6.0<br />

HP (Intel) SNI OS/2 ADABAS D<br />

IBM (Intel) Macintosh<br />

Digital (Intel)<br />

Data-General<br />

OS/400 AS/400 Win95 OS/2 DB2/400<br />

Compiled By: Ashwin Vavaiya 2 of 44


Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />

-----------------------------------------------------------<br />

Role of <strong>Basis</strong> Administrator<br />

<strong>SAP</strong> R/3<br />

Security<br />

Coordinator<br />

What is client server…?<br />

<strong>SAP</strong> R/3 <strong>System</strong> Administrator<br />

<strong>SAP</strong> R/3 Administrator<br />

<strong>SAP</strong> R/3<br />

Database<br />

Administrator<br />

<strong>SAP</strong> R/3<br />

Correction <strong>and</strong><br />

Transport<br />

Administrator<br />

Compiled By: Ashwin Vavaiya 3 of 44


Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />

-----------------------------------------------------------<br />

R/3 <strong>System</strong> Architecture<br />

<strong>SAP</strong> based the architecture of R/3 on a three-tier client/server model/<br />

Logical Grouping of layers<br />

Compiled By: Ashwin Vavaiya 4 of 44


Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />

-----------------------------------------------------------<br />

The Presentation Layer<br />

The Application Layer<br />

The Database Layer<br />

Those <strong>SAP</strong> R/3 software components that<br />

specialize in processing business<br />

applications form the Application Layer.<br />

Three tired client server Architecture [ Logical View ]<br />

Communication<br />

Those <strong>SAP</strong> R/3 software components that<br />

specialize in interacting with end-users<br />

form the Presentation Layer.<br />

Those <strong>SAP</strong> R/3 software components that<br />

specialize in the management, storage <strong>and</strong><br />

retrieval of data form the Database Layer<br />

Compiled By: Ashwin Vavaiya 5 of 44


Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />

-----------------------------------------------------------<br />

The Presentation Layer<br />

collects user input <strong>and</strong><br />

creates process requests.<br />

The Application Layer<br />

uses the application logic of<br />

<strong>SAP</strong> programs to collect <strong>and</strong><br />

process the process requests.<br />

The Database Layer<br />

stores <strong>and</strong> retrieves all data.<br />

Physical Distribution of R/3 Logical Layer’s<br />

Presentation Layer<br />

components<br />

Presentation servers:<br />

<strong>System</strong>s capable of<br />

providing a graphical<br />

interface.<br />

Application Layer<br />

components<br />

reside in: reside in: reside in:<br />

Application servers:<br />

Specialized systems<br />

multiple CPUs <strong>and</strong><br />

vast amounts of<br />

RAM.<br />

Database Layer<br />

components<br />

Database servers:<br />

Specialized systems<br />

with fast <strong>and</strong> large<br />

hard drives.<br />

Physical Distribution of R/3 ‘s Three Layered Client server Architecture<br />

Compiled By: Ashwin Vavaiya 6 of 44


Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />

-----------------------------------------------------------<br />

Presentation Layer components are installed across many PCs.<br />

The Application Layer<br />

components are installed<br />

across one or more highend<br />

servers.<br />

Presentation Server<br />

The presentation server is actually a program named sapgui.exe. It is<br />

usually installed on a user's workstation. To start it, the user double-clicks on<br />

an icon on the desktop or chooses a menu path. When started, the<br />

presentation server displays the R/3 menus within a window. This window is<br />

commonly known as the <strong>SAP</strong>GUI, or the user interface (or simply, the<br />

interface). The interface accepts input from the user in the form of<br />

keystrokes, mouse-clicks, <strong>and</strong> function keys, <strong>and</strong> sends these requests to the<br />

application server to be processed. The application server sends the results<br />

back to the <strong>SAP</strong>GUI which then formats the output for display to the user.<br />

Application Server<br />

The Database Layer<br />

components are installed on<br />

one high-end database server.<br />

An application server is a set of executables that collectively interpret the<br />

ABAP/4 programs <strong>and</strong> manage the input <strong>and</strong> output for them. When an<br />

application server is started, these executables all start at the same time.<br />

When an application server is stopped, they all shut down together. The<br />

number of processes that start up when you bring up the application server is<br />

defined in a single configuration file called the application server profile.<br />

Each application server has a profile that specifies its characteristics when it<br />

starts up <strong>and</strong> while it is running. For example, an application sever profile<br />

specifies:<br />

Compiled By: Ashwin Vavaiya 7 of 44


Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />

-----------------------------------------------------------<br />

Number of processes <strong>and</strong> their types<br />

Amount of memory each process may use<br />

Length of time a user is inactive before being automatically logged off<br />

The application server exists to interpret ABAP/4 programs, <strong>and</strong> they only<br />

run there-the programs do not run on the presentation server. An ABAP/4<br />

program can start an executable on the presentation server, but an ABAP/4<br />

program cannot execute there.<br />

If your ABAP/4 program requests information from the database, the<br />

application server will format the request <strong>and</strong> send it to the database server.<br />

Database Server<br />

The database server is a set of executables that accept database requests<br />

from the application server. These requests are passed on to the RDBMS<br />

(Relation Database Management <strong>System</strong>). The RDBMS sends the data back<br />

to the database server, which then passes the information back to the<br />

application server. The application server in turn passes that information to<br />

your ABAP/4 program.<br />

There is usually a separate computer dedicated to house the database server,<br />

<strong>and</strong> the RDBMS may run on that computer also, or may be installed on its<br />

own computer.<br />

R/3 <strong>System</strong> Configuration<br />

Computer<br />

“A”<br />

Centralistic<br />

Presentation Layer Application Layer Database Layer<br />

Compiled By: Ashwin Vavaiya 8 of 44


Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />

-----------------------------------------------------------<br />

Computer<br />

“A”<br />

Computer<br />

“A-1”<br />

Computer<br />

“A-2”<br />

Computer<br />

“A-n”<br />

Computer<br />

“A”<br />

Computer<br />

“A-1”<br />

Computer<br />

“A-2”<br />

Computer<br />

“A-n”<br />

Distributed Presentation<br />

Computer<br />

“B”<br />

Two tier Client/Server<br />

Computer<br />

“B”<br />

Compiled By: Ashwin Vavaiya 9 of 44


Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />

-----------------------------------------------------------<br />

Computer<br />

“A”<br />

Computer<br />

“A-1”<br />

Computer<br />

“A-2”<br />

Computer<br />

“A-n”<br />

Computer<br />

“A”<br />

Computer<br />

“A-1”<br />

Computer<br />

“A-2”<br />

Computer<br />

“A-n”<br />

Computer<br />

“B”<br />

Computer<br />

“B-1”<br />

Computer<br />

“B-n”<br />

Computer<br />

“C”<br />

Multi-tier, cooperative Client/Server<br />

Computer<br />

“B”<br />

Computer<br />

“B-1”<br />

Computer<br />

“B-n”<br />

Three tier Client/Server<br />

Computer<br />

“C”<br />

Computer<br />

“C-n”<br />

Compiled By: Ashwin Vavaiya 10 of 44


Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />

-----------------------------------------------------------<br />

Computer<br />

“A” Computer<br />

“B”<br />

Computer<br />

“A-1”<br />

Computer<br />

“A-2”<br />

Computer<br />

“A-n”<br />

Computer<br />

“B-1”<br />

Distributed Applications?<br />

PP<br />

PS<br />

MM-<br />

INV<br />

MM-<br />

PUR<br />

Computer<br />

“B-n”<br />

SD-<br />

SHP<br />

MM-<br />

INV<br />

Computer<br />

“C”<br />

Computer<br />

“C-n”<br />

One central system is not always optimal for unifying business processes with<br />

integrated applications<br />

Compiled By: Ashwin Vavaiya 11 of 44<br />

GL<br />

CO<br />

<strong>SAP</strong> R/3<br />

Database<br />

Administrator


Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />

-----------------------------------------------------------<br />

Using the <strong>SAP</strong> <strong>Basis</strong> <strong>System</strong>, applications can run on different platforms<br />

with high performance <strong>and</strong> can be adapted to meet individual user<br />

requirements.<br />

<br />

<strong>SAP</strong> <strong>Basis</strong>:<br />

Provides the runtime environment for all <strong>SAP</strong> applications<br />

Optimally embeds the application in the system environment<br />

Defines a stable architecture framework for system enhancements<br />

Contains the tools for administering the entire system<br />

Allows the distribution of resources <strong>and</strong> system components<br />

Provides interfaces for decentralized system parts <strong>and</strong> external<br />

products.<br />

The architecture of the <strong>SAP</strong> <strong>Basis</strong> <strong>System</strong> is especially well-suited for<br />

client / server configurations<br />

Compiled By: Ashwin Vavaiya 12 of 44


Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />

-----------------------------------------------------------<br />

<strong>SAP</strong> Application Server Architecture & <strong>System</strong> Kernel<br />

The components of an application server are shown in Figure 1.19. It consists of a<br />

dispatcher <strong>and</strong> multiple work processes.<br />

The following components on the application level are involved in processing a dialog<br />

request.<br />

The dispatcher<br />

Work process queues (administered by the dispatcher) for incoming requests<br />

Compiled By: Ashwin Vavaiya 13 of 44


Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />

-----------------------------------------------------------<br />

One of the dialog work processes<br />

Buffers in shared memory <strong>and</strong> also possibly the roll file<br />

Underst<strong>and</strong>ing the Types of Work Processes<br />

There are seven types of work processes. Each h<strong>and</strong>les a specific type of request.<br />

The type of work processes <strong>and</strong> the types of requests that they h<strong>and</strong>le are shown in<br />

Table 1.2.<br />

Table 1.2 Types of Work Processes <strong>and</strong> the Types of Requests they H<strong>and</strong>le<br />

WP Type Request Type<br />

D (Dialog) Dialog requests<br />

V (Update) Requests to update data in<br />

the database<br />

B (Background) Background jobs<br />

S (Spool) Print spool requests<br />

E (Enqueue) Logical lock requests<br />

M (Message) Routes messages between<br />

application servers within an<br />

R/3 system<br />

G (Gateway) Funnels messages into <strong>and</strong><br />

out of the R/3 system<br />

Compiled By: Ashwin Vavaiya 14 of 44


Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />

-----------------------------------------------------------<br />

Dialog Work Process execution sequence<br />

Execution Sequence<br />

All requests that come in from presentation servers are directed first to the<br />

dispatcher. The dispatcher writes them first to the dispatcher queue. The<br />

dispatcher pulls the requests from the queue on a first-in, first-out basis.<br />

Each request is then allocated to the first available work process. A work<br />

process h<strong>and</strong>les one request at a time.<br />

To perform any processing for a user's request, a work process needs to<br />

address two special memory areas: the user context <strong>and</strong> the program roll<br />

area. The user context is a memory area that contains information about the<br />

user, <strong>and</strong> the roll area is a memory area that contains information about the<br />

programs execution.<br />

Compiled By: Ashwin Vavaiya 15 of 44


Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />

-----------------------------------------------------------<br />

The task h<strong>and</strong>ler coordinates activity within a dialog work process. It activates<br />

the screen processor or the ABAP processor (which control the screen flow<br />

logic <strong>and</strong> process ABAP statements, respectively) <strong>and</strong> executes the roll-in <strong>and</strong><br />

the roll-out of the user context.<br />

The memory management system differentiates between main memory areas<br />

that are available exclusively to a work process, <strong>and</strong> memory areas that can be<br />

used by all work processes. The memory space used exclusively by a work<br />

process stores session-specific data that must be kept longer than the duration<br />

of a work step. This data is automatically made available to the process at the<br />

start of a dialog step (rolled-in) <strong>and</strong> saved at the end of the dialog step (rolledout).<br />

This data characterizes users (user context), such as their authorizations,<br />

administration information <strong>and</strong> additional data for the ABAP <strong>and</strong> dialog<br />

processor. Also it contains data collected by the system in the preceding dialog<br />

steps in the running transaction (see following slide). Additional memory areas<br />

used by all processes in shared memory include areas for the factory calendar,<br />

screen, table, <strong>and</strong> program buffers.<br />

Underst<strong>and</strong>ing a User Context<br />

A user context is memory that is allocated to contain the characteristics of a<br />

user that is logged on the R/3 system. It holds information needed by R/3<br />

about the user, such as:<br />

The user's current settings<br />

The user's authorizations<br />

The names of the programs the user is currently running<br />

When a user logs on, a user context is allocated for that logon. When they<br />

log off, it is freed. It is used during program processing, <strong>and</strong> its importance<br />

is described further in the following sections.<br />

Underst<strong>and</strong>ing a Roll Area<br />

A roll area is memory that is allocated by a work process for an instance of<br />

a program. It holds information needed by R/3 about the program's<br />

execution, such as:<br />

The values of the variables<br />

The dynamic memory allocations<br />

The current program pointer<br />

Compiled By: Ashwin Vavaiya 16 of 44


Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />

-----------------------------------------------------------<br />

Each time a user starts a program, a roll area is created for that instance of<br />

the program. If two users run the same program at the same time, two roll<br />

areas will exist-one for each user. The roll area is freed when the program<br />

ends.<br />

Both the roll area <strong>and</strong> the user context play an important part in dialog step<br />

processing.<br />

Underst<strong>and</strong>ing a Dialog Step<br />

Dialog step is the processing needed to get from one screen to the next. It<br />

includes all processing that occurs after the user issues a request, up to <strong>and</strong><br />

including the processing needed to display the next screen. For example,<br />

when the user clicks the Enter key on the Change Vendor: Initial Screen, he<br />

initiates a dialog step <strong>and</strong> the hourglass appears, preventing further input.<br />

The sapmf02k program retrieves the vendor information <strong>and</strong> displays it on<br />

the Change Vendor: Address screen, <strong>and</strong> the hourglass disappears. This<br />

marks the end of the dialog step <strong>and</strong> the user is now able to make another<br />

request.<br />

There are four ways the user can initiate a dialog step. From the <strong>SAP</strong>GUI:<br />

Press Enter.<br />

Press a function key.<br />

Click on a button on the screen.<br />

Choose a menu item.<br />

Compiled By: Ashwin Vavaiya 17 of 44


Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />

-----------------------------------------------------------<br />

Roll-In/Roll-Out Processing<br />

An ABAP/4 program only occupies a work process for one dialog step. At<br />

the beginning of the dialog step, the roll area <strong>and</strong> user context are rolled in<br />

to the work process. At the end of the dialog step, they are rolled out.<br />

During the roll-in, pointers to the roll area <strong>and</strong> user context are populated in<br />

the work process. This enables the work process to access the data in those<br />

areas <strong>and</strong> so perform processing for that user <strong>and</strong> that program. Processing<br />

continues until the program sends a screen to the user. At that time, both<br />

areas are rolled out. Roll-out invalidates the pointers <strong>and</strong> disassociates these<br />

areas from the work process. That work process is now free to perform<br />

processing for other requests. The program is now only occupying memory,<br />

<strong>and</strong> not consuming any CPU. The user is looking at the screen that was sent,<br />

<strong>and</strong> will soon send another request.<br />

When the next request is sent from the user to continue processing, the<br />

dispatcher allocates that request to the first available work process. It can be<br />

the same or a different work process. The user context <strong>and</strong> roll area for that<br />

program are again rolled in to the work process, <strong>and</strong> processing resumes<br />

from the point at which it was left off. Processing continues until the next<br />

screen is shown, or until the program terminates. If another screen is sent,<br />

the areas are again rolled out. When the program terminates, the roll area is<br />

freed. The user context remains allocated until the user logs off.<br />

In a system with many users running many programs, only a few of those<br />

programs will be active in work processes at any one time. When they are<br />

not occupying a work process, they are rolled out to extended memory <strong>and</strong><br />

only occupy RAM. This conserves CPU <strong>and</strong> enables the R/3 system to<br />

achieve high transaction throughput.<br />

Compiled By: Ashwin Vavaiya 18 of 44


Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />

-----------------------------------------------------------<br />

Underst<strong>and</strong>ing the Components of a Work Process<br />

Each work process has four components (see Figure ).<br />

Each work process is composed of the following:<br />

A task h<strong>and</strong>ler<br />

An ABAP/4 interpreter<br />

A screen interpreter<br />

A database interface<br />

All requests pass through the task h<strong>and</strong>ler, which then funnels the request to<br />

the appropriate part of the work process.<br />

The interpreters interpret the ABAP/4 code. Notice that there are two<br />

interpreters: the ABAP/4 interpreter <strong>and</strong> the screen interpreter. There are<br />

actually two dialects of ABAP/4. One is the full-blown ABAP/4 data<br />

processing language <strong>and</strong> the other is a very specialized screen processing<br />

language. Each is processed by its own interpreter.<br />

The database interface h<strong>and</strong>les the job of communicating with the database.<br />

Compiled By: Ashwin Vavaiya 19 of 44


Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />

-----------------------------------------------------------<br />

R/3 Database Interfaces<br />

When interpreting open SQL statements, the R/3 database interface<br />

checks the syntax of these statements <strong>and</strong> automatically ensures the local<br />

<strong>SAP</strong> buffers in the shared memory of the application server are utilized<br />

optimally. Data frequently required by the applications is stored in these<br />

buffers so that the system does not have to access the database server to<br />

read this data. In particular, all technical data such as ABAP programs,<br />

screens, <strong>and</strong> ABAP Dictionary information, as well as some business<br />

process parameters usually remain unchanged in a running system,<br />

making them ideal buffering c<strong>and</strong>idates. The same applies to certain<br />

business application data, which is accessed as read-only.<br />

Compiled By: Ashwin Vavaiya 20 of 44


Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />

-----------------------------------------------------------<br />

Work Process Multiplexing <strong>and</strong> <strong>SAP</strong> Transactions<br />

Compiled By: Ashwin Vavaiya 21 of 44


Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />

-----------------------------------------------------------<br />

Locks in R/3 at the Business Process Level<br />

Compiled By: Ashwin Vavaiya 22 of 44


Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />

-----------------------------------------------------------<br />

Requesting a Lock From the Enqueue WP<br />

When a lock is requested, the system checks to determine whether the<br />

requested lock conflicts with any entries in the lock table. If there are<br />

conflicts, the lock request is rejected. The application program then<br />

informs the user that the operation cannot currently be executed. A<br />

message appears,for example, “Data is currently in use. Change not<br />

possible.”<br />

The locks (enqueues) are administered by the enqueue work process<br />

using the lock table. The lock table is stored in the main memory of the<br />

server where the enqueue work process is running. If the dialog work<br />

process <strong>and</strong> enqueue work process are not running on the same server,<br />

they communicate through the message server.<br />

Locks set by application programs are reset either by the application<br />

program itself or by a special update program (in the second part of <strong>SAP</strong>-<br />

LUW)<br />

Compiled By: Ashwin Vavaiya 23 of 44


Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />

-----------------------------------------------------------<br />

Asynchronous Update<br />

Updating Log Records<br />

Compiled By: Ashwin Vavaiya 24 of 44


Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />

-----------------------------------------------------------<br />

Background Processing<br />

The R/3 Instance<br />

Compiled By: Ashwin Vavaiya 25 of 44


Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />

-----------------------------------------------------------<br />

R/3 Memory Areas<br />

Users need two kinds of memory:<br />

R/3 buffers<br />

Memory accessible to all users, for:<br />

Programs<br />

Table <strong>and</strong> field definitions<br />

Customizing tables<br />

User context<br />

Memory attached to individual users, for:<br />

Variables, lists, internal tables<br />

Administrative data (such as authorizations)<br />

Physical <strong>and</strong> Virtual Memory<br />

<br />

Unlike physical memory, virtual memory can be allocated. The operating<br />

system determines if the allocated memory area resides in the physical memory<br />

or in the operating system swap space.<br />

Depending on the operation system, the maximum size of the virtual<br />

memory may vary between the size of the operating system swap space <strong>and</strong> the<br />

sum of physical memory <strong>and</strong> operating system swap space.<br />

Compiled By: Ashwin Vavaiya 26 of 44


Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />

-----------------------------------------------------------<br />

The six R/3 memory areas are:<br />

<br />

Buffers<br />

Extended memory<br />

Heap memory<br />

Roll memory<br />

R/3 paging memory<br />

Local work process memory<br />

R/3 Memory – OverView<br />

Compiled By: Ashwin Vavaiya 27 of 44


Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />

-----------------------------------------------------------<br />

R/3 Memory I: Local Memory for Work Processes<br />

Compiled By: Ashwin Vavaiya 28 of 44


Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />

-----------------------------------------------------------<br />

R/3 Memory II: R/3 Buffers<br />

Compiled By: Ashwin Vavaiya 29 of 44


Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />

-----------------------------------------------------------<br />

R/3 Memory III: Extended Memory<br />

Compiled By: Ashwin Vavaiya 30 of 44


Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />

-----------------------------------------------------------<br />

R/3 Memory IV: Heap Memory<br />

Compiled By: Ashwin Vavaiya 31 of 44


Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />

-----------------------------------------------------------<br />

R/3 Memory V: Roll Memory<br />

Compiled By: Ashwin Vavaiya 32 of 44


Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />

-----------------------------------------------------------<br />

R/3 Memory VI: Paging Memory<br />

Compiled By: Ashwin Vavaiya 33 of 44


Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />

-----------------------------------------------------------<br />

User Context Data & Roll-in, Roll-out<br />

In an R/3 system, many frontend users are connected to one or more application<br />

servers. The work that users request from the system is performed in work<br />

processes. Normally, there are fewer work processes than frontend users.<br />

A work process is dedicated to a frontend user only while a specific dialog<br />

step is being processed by the application server. A user can be dispatched to<br />

one work process in one dialog step, <strong>and</strong> to another work process in the<br />

following dialog step. Over the course of time, users are dispatched to different<br />

work processes.<br />

In the course of their work in dialog work processes, users accumulate<br />

various pieces of data, such as pointers to programs they are using. This<br />

accumulated data is called the "user context". A user context enables, for<br />

example, the material number you are working on to be remembered by the<br />

system <strong>and</strong> proposed as the default in a following transaction.<br />

Roll Area <strong>and</strong> Paging Area<br />

The data processed in work processes is stored in two memory areas:<br />

The roll area, in which user context data is stored. User context data may<br />

include pointers to<br />

active programs, set/get parameters (related to the most recent input of the<br />

user), authorizations,internal tables, <strong>and</strong> report lists.<br />

The paging area, which stores the application program data that correspond to<br />

specific ABAP comm<strong>and</strong>s including EXTRACT, IMPORT TO MEMORY,<br />

EXPORT FROM MEMORY, <strong>and</strong> CALL TRANSACTION.<br />

<br />

The size of these areas is configurable using R/3 profile parameters.<br />

Compiled By: Ashwin Vavaiya 34 of 44


Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />

-----------------------------------------------------------<br />

Roll Buffer <strong>and</strong> Paging Buffer<br />

Where there is buffer space available, the roll area <strong>and</strong> the paging area are<br />

held in the respective buffers in the application servers. When there is not<br />

sufficient buffer space, the roll area <strong>and</strong> the paging area must be stored in the<br />

respective physical disk files (roll file <strong>and</strong> paging file).<br />

Thus, the user data processed in work processes is stored in two areas:<br />

The roll file <strong>and</strong> its associated buffer<br />

The page file <strong>and</strong> its associated buffer<br />

Compiled By: Ashwin Vavaiya 35 of 44


Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />

-----------------------------------------------------------<br />

R/3 Extended Memory<br />

User contexts are not only stored in roll files <strong>and</strong> the corresponding buffers.<br />

As of R/3 Release 3.0, they are primarily stored in R/3 extended memory.<br />

In R/3 extended memory, a large area of memory shared by all available<br />

work processes can be accessed through pointers. Using extended memory as<br />

well as roll files thus reduces the amount of copying from roll areas that is<br />

required during user context switches, <strong>and</strong> avoids the overhead caused by large<br />

roll-in or roll-out tasks.<br />

Compiled By: Ashwin Vavaiya 36 of 44


Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />

-----------------------------------------------------------<br />

Memory Allocation Sequence for Dialog WPs<br />

Sequence: 1 Initial Portion of roll area<br />

To keep the usage of the roll area to a minimum <strong>and</strong> make more use of<br />

extended memory, only a small portion of the roll area is used initially.<br />

The size of this portion is set by the parameter ztta/roll_first.<br />

Compiled By: Ashwin Vavaiya 37 of 44


Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />

-----------------------------------------------------------<br />

Sequence: 2 Extended memory until it full or user quota is<br />

reached.<br />

The user quota defines the maximum amount of R/3 extended memory that can<br />

be used by any one user, <strong>and</strong> is set with the parameter ztta/roll_extension.<br />

Compiled By: Ashwin Vavaiya 38 of 44


Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />

-----------------------------------------------------------<br />

Sequence: 3 Rest of the roll area<br />

The remaining portion of R/3 roll memory is used when the<br />

system can no longer allocate R/3 extended memory, either because<br />

R/3 extended memory is full or because the quota has been reached.<br />

The reason for using the remaining portion of R/3 roll memory is<br />

to avoid using heap memory, which is local memory, <strong>and</strong> avoid<br />

entering PRIV mode<br />

Compiled By: Ashwin Vavaiya 39 of 44


Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />

-----------------------------------------------------------<br />

Sequence: 4 Local heap memory<br />

If the work process requires still more space after using up all<br />

available roll area <strong>and</strong> extended memory, the system is forced to<br />

allocate R/3 heap memory locally.<br />

Compiled By: Ashwin Vavaiya 40 of 44


Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />

-----------------------------------------------------------<br />

Allocation Sequence for Dialog WPs – Overview<br />

The memory allocation strategy for dialog work<br />

processes aims to prevent work processes from<br />

allocating R/3 heap memory <strong>and</strong> thus entering PRIV<br />

mode.<br />

When a work process enters PRIV mode, it remains<br />

connected to the user until the user ends the ransaction.<br />

Compiled By: Ashwin Vavaiya 41 of 44


Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />

-----------------------------------------------------------<br />

Allocation Sequence for Non-Dialog WPs<br />

Compiled By: Ashwin Vavaiya 42 of 44


Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />

-----------------------------------------------------------<br />

Memory Management Parameters<br />

Compiled By: Ashwin Vavaiya 43 of 44


Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />

-----------------------------------------------------------<br />

ztta/roll_first:<br />

Defines the first part of the roll area that is allocated to a dialog<br />

process<br />

ztta/roll_area:<br />

Defines the total roll area per work process<br />

rdisp/roll_SHM:<br />

Defines the size of the roll buffer<br />

rdisp/roll_MAXFS :<br />

Defines the size of roll buffer <strong>and</strong> roll file<br />

em/initial_size_MB:<br />

Defines the fixed size of extended memory<br />

ztta/roll_extension:<br />

Defines the user quota for extended memory<br />

abap/heap_area_dia :<br />

Defines the limit for the amount of local memory allocated to dialog<br />

work processes<br />

abap/heap_area_nondia :<br />

defines the limit for the amount of local memory allocated to nondialog<br />

work processes<br />

abap/heap_area_total:<br />

Defines the limit for the total amount of heap memory allocated to all<br />

work processes<br />

Compiled By: Ashwin Vavaiya 44 of 44

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!