0% found this document useful (0 votes)
128 views30 pages

Application Server

1. An application server is a middle layer that processes user requests. It uses components like dispatchers, work processes, and databases to fulfill requests. 2. When a user submits a request via SAP GUI or web browser, the dispatcher routes it to an available work process which handles the request using task handlers, R3 buffer, and connections to databases if needed. 3. The work process then returns the response to the user, potentially caching parts of it in the R3 buffer for future similar requests.

Uploaded by

prashanthbodigam
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
128 views30 pages

Application Server

1. An application server is a middle layer that processes user requests. It uses components like dispatchers, work processes, and databases to fulfill requests. 2. When a user submits a request via SAP GUI or web browser, the dispatcher routes it to an available work process which handles the request using task handlers, R3 buffer, and connections to databases if needed. 3. The work process then returns the response to the user, potentially caching parts of it in the R3 buffer for future similar requests.

Uploaded by

prashanthbodigam
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 30

Application Server is a Middle Layer/Agent/ which is used to process the User

Requests.

Application Server Flow:

1. The User Submit the Request using SAP GUI using Application Server Host Name and
Instance Number(Port).
Port Number is derived from a two Digit Instance Number where SAP Application
Server is Installed.
These Two digits are appended(suffixed) to SAP Standard Port NUmbers

Instance(Application Server) Number is a two Digit ID which ranges between 00-


99(where 97-Diagnostic Agent,98-SMD(Solution Manager Diagnositic) and 99(SAPRouter)
are reserved by SAP).
The Host Names and Ports are resolved from /etc/hosts and /etc/services.Most of the
Companies Uses DNS Server for Host Name and Service Resolution.

DIAG (tcp/ip)Stands for Dynamic Information Action Gateway is an SAP Specific


Protocol to communicate with Application Servers using SAP GUI.

2.The User Submit the request using a supported Browser(IE,Mozilla,chrome) to


access the system using SAP GUI for HTML or Netweaver Business Client(nwbc) or
Business Client 6.0

HostName should be a Fully Qualified Host Name derived by the parameter


icm/host_name_full
Port Number is defined by the parameter
icm/server_port_0=PROT=HTTP,PORT=8000 .These parameters are maintained using RZ10

Note: One time config Change in Parameters Requires Instance Restart.


These details can be obtained from SMICM-->Menu Go to -->Services

3.The Classic GUI(win,java) Requests are received by the ABAP Dispatcher and Kept
in the wait queue

4.The Web Requests that are sent by the browsers are received by WEB Dispacther (If
Configured) Else Received by Internet Communication Manager(ICM) which can be seen
from Transaction SMICM with status running

The Users can be displayed by using SM04 with login(session) type"PLUG-in HTTP" or
simply "http"
The Users are displayed with Status "GUI" when login using Classic GUI(WIN/JAVA).
The Users are displayed with Status "RFC" when login from other Instances.
The Users are displayed with Status "BATCH" when running in Background Mode.

5.SAP ABAP Dispatcher maintains the Work Processes and identifies the Load handled
by Work Processes to allocate a freely available process to the User Request based
on FIFO(First-in First-out).

6.The Work Process Rolls-in the User Request into WP Task handler.(During First
Time Login there will be no roll-in)

7.The Work Process Contains Inbuilt Task Handlers to Interpret the Request.

8.The Screen in the User request is Interpreted by Screen Handler

9.The Programming Language in the User request is Interpreted by ABAP Handler

10.The SQL Scripts(commands) in the User request are Interpreted by SQL Handler
11.R3 Buffer is used to store the most frequently used Content and Less Frequently
Modified(updated) Content based on Technical Settings in SE13 and Parameters in
RZ10.if the Requested Content is available then the Response is Loaded and
Generated to send it to the User.
SAP Uses "Open SQL" Language in the SAP Programs.This Open SQL is Independent of
all the databases.These are are monitored in ST02

12.if the Response is not available in R3 Buffer then the Process goes to the
Database using DB Specific Client and SAP Kernel(OS and DB Specific)

Open SQL is Converted into Native SQL with the Help of DB Client/SAP kernel while
Connecting to Database.
The Database Connection requires a Hostname,Port and Protocol
SEQUEL(Simple/Structured English as Query Language)

0-65535 TCP/IP SQL(SEQUEL)

Port Protocol Language

Oracle 1521-1529 Net8 PL/SQL

SQL Server 1433 Named Pipes T-SQL(Transact-SQL)

IBM DB2 5912 tcp/ip SQL/PL

Sybase(ASE) 4901 tcp/ip T-SQL(Transact-SQL)

MAXDB 7210 tcp/ip mysql

HANADB 3nn15 SQLDBC SQLSCRIPT


(nn is instnace no)
The SAP Work Processes Communicates with Database using DB Client & SAP OS/DB
Specific Kernel with the above specific ports and protocols.

13.Database Provides the response to the SAP Work Process after Necessary
Interpretations.

14.The SAP Work Process Checks whether the Content is eligible for buffering,so
that a copy can be kept in R3 Buffer for handling Similar Requests in future.(This
Buffers are accessed by all the Users who log-in to the Application Server).

15.The Work Process rolls out the User Related information into User Context.

User Context: it is a small memory Area where the User Related information is
stored.it contains user Authorizations, parameters, Common User Attributes etc.. it
is lost when the user is logged out. it is Specific to User only.
R3 Buffer builds when the Instance(Application Server) is started and R3 buffer is
lost when the Application Server is Stopped

16.The Response is sent to User.

Roll-in: it is the Process of Copying the User Context into WP Task Handler. When
User is logging for the first time the Roll-in is not available.
Roll-out: it is the Process of Copying the User Specific Information into User
Context while sending the Response to the User by a Process.
The User Context is displayed using transaction SU56
The Components of Application Server
1.Application Server Dispatcher(dpmon)
2.Dispatcher Wait Queue(dpmon)
3.Work Processes and Task handlers(SM50/SM66)
4.User Context (Su56)
5.R3 Buffer (ST02)
6.DB Client
7.SAP Kernel
8.Internet Communication Manager(SMICM)

Most of the Components are build during runtime except dbclient and sap kernel.

SAP Dispatcher: Each Application Server(Instance) Contains one Dispatcher. it


handles the User requests and route the request to the work processes based on
FIFO(First-in First-out).

it is displayed using SAP MMC(Microsoft Management Console),SAP MC SAP Management


Console(java/web applet based),dpmon and SM51.
The dispatcher(instance)/Application Server is started by using command "startsap
r3" and stopped by using command "stopsap r3".

SAP MMC is available in Microsoft Windows Servers.


SAP MC is a Java based tool used to start and stop the Instance using web
browsers.The url http://hostname:50013/
SAPMMC.SAR file is also provided in the Netweaver 7.5 version to monitor the
Application Servers(Dispatchers)

dpmon:Dispatcher Monitor is applicable to both Unix and Windows Servers.


it provides the dispatcher details.
login as <SID>ADM and type dpmon. if a specific Instance dpmon is required then
dpmon pf=<instance profile>
$su - sidadm
$cdpro (change directory to Profiles)
displays the list of profiles.
Use option m- Menu d- Dispatcher Queue Stats,p and l to list processes.
dpmon will be used to kill the expensive processes that are running for longer
time.it is also used to kill the processes that are in private mode occupying the
entire memory of the system. it is refreshed for every 5 seconds.
if the system is further congested there is no other option except to power off/on
the system.

SM51 transaction is used to display the list of Application Servers/ Instances/


Dispatchers.
Starting and Stopping of SAP System(Application Servers)
Login as <sid>adm
#startsap r3 to start sap system
#stopsap r3 to stop sap system
Use Microsoft Management Console/SAP Management Console and select the System(Use
Administrator Credentials)-->right Click Start/stop the system

Dispatcher wait Queue:


Dispatcher Queue Statistics are displayed by dpmon,sapmmc and sapmc.As this is the
Queue they are not displayed through any transaction in SAP.
dpmon-->menu--Request Queue Statistics--> it displays the number of users in the
Queue.
dpmon is used to monitor the statuses of work processes using the option
P for list of work processes and option 'L' for long list.
if the PID(process id) is known the Process can be killed at OS level using option
kill -9 PID to free the resources occupied by the process.
Note: Configure the Memory parameters so that SAP system should not be a bottle
neck on the Operating System.

User Context: The Work Process rolls the User related information into WP Task
handlers. The User Context is displayed in SU56.For Optimal performance the User
Authorizations should be as minimal as possible to reduce the Roll times.

Work Processes: These are used to Handle the user requests.These are displayed by
using SAPMMC,SAPMC,dpmon,SM50 and SM66.

Task Handlers:
Each Work Process is having its own task handler which can be displayed by the
using work process trace. These traces can be displayed using
AL11,ST11,SM50(Process trace). These traces are stored in
/usr/sap/SID/DVEBMGS00/work directory.SM50 is also used to kill the expensive
Processes.

R3Buffer: it is used to store the most Frequently accessed and less freqeuntly
modified/updated data. it is displayed in ST02. It Improves the Performance of the
System by reducing the hits on the Database.

DB Client: it Provides set of executables to communicate with Database in the


Native Language.it is provided by the database vendors(oracle
corp,microsoft,ibm,sap).it can be displayed in work process trace(ST11) or in ST04.

SAP Kernel: it Provides set of executables/binaries/libraries to communicate with


Hardware,Operating System, Database and in Native Language.These are specific to
Unicode|Non_unicode,Operating System,32bit|64 bit Hardware and Database. These are
provided by SAP.

Internet Communication Manager: it is used to handle the requests that are coming
over the Internet/Intranet using web browsers.
it listens on 8000 ABAP Port/50000 Java Port.
it Handovers the task to ABAP Dispatcher for further Processing.
it is Monitored through SMICM.

Internet Communication Manager: it is a service that is used to receive the http(s)


requests from the WEB and pass on to the Dispatcher for further processing.it is
monitored through SMICM

WEB Dispatcher:
The SAP Web dispatcher lies between the Internet and SAP Application Servers. It is
the entry point for HTTP(s) requests into SAP Systems, which consists of one or
more SAP NetWeaver Application servers. As a �Software Web Switch�, the SAP Web
Dispatcher can reject or accept connections. When it accepts a connection, it
balances the load to ensure an even distribution across the servers.
It is also useful to use the SAP Web Dispatcher for Failover of Application
Servers,Security functions or load balancing.

The SAP Web dispatcher is a program that you can run on the machine that is
connected directly to the Internet. It requires minimal configuration of Setting up
the parameters after Specific to ICM and Message Server.

Message Server is a Mandatory Service that is used to load balance the Netweaver
Application Servers.
Installation of Web Dispatcher:
it is installed using SAP Installation Master(sapinst tool)

Work Processes:
There are various Processes defined as Work processes. They are
displayed in SM51/SM50 as DVEBMGS<00> and ICM or D<01> D<NN>
MGBS DEVI
1.Dialog Process: it is the only process that is used to communicate with End
Users.
Dialog Steps: it is a screen Change/page flip/tab change/key board Enter/Mouse
Click/Function Key(f1,f2,f3,f4,f5,f6,f7,f8). it consumes certain amount of
resources such as CPU,Memory and Storage.
2.Update: it is used to update the requests into the Database
3.Background: it is used to run the jobs in the background mode during off peak
hours.
4.Enque: it is used to Lock and unlock the Objects
5.Message: it is used for configure load Balancing
6.Gateway: it is used to communicate with external systems
7.Spool: it is used to print the requests.
8.ICM: Internet Communication Manager: used to handle the Requests over the web.

SAP WEB Dispatcher:Identifies the free,least loaded dispatcher

Dispatcher:Used to Identify the Freely Available Processes and allocate based on


FIFO.

ICM: Used to handle the http(s) Requests.

Disp Wait Queue:The Requests are parked by dispatcher before a process is


allocated.

User Context: User Specific Information is stored in the memory area which is
visible through SU56

Task Handlers:These are used to process the screen,abap and sql statements.it is
internal to the work process,precisely it is a workprocess taskhandler.it can be
displayed by using ST11/AL11/ Work Directory Trace SM50.

R3Buffer: it is used to store more frequently accessed and less frequently updated
data.it is displayed through ST02.

DB Client: it is DB Specific Client that is used to communicate with database in


the native format.

Kernel: it provides Executables,Binaries,Libraries that are used to Communicate


with OS/DB/32|64/UC|NUC.
Types of Work Processes:
DIALOG:it is used to handle the Interactive Tasks.(D)

UPDATE:it is used to handle the Update Tasks.(V)

ENQUE: it provides Lock/Unlock service during an update(E)


BATCH(Background):it is used to handle the Non-Interactive (B)Tasks.

Message Server:it is used to Provide Load Balancing Features(M)

Gateway: it is a gateway to communicate with SAP and Non-SAP Systems(G)

Spool:it is used to Handle Print Requests.(S)

it is represented by the Instance Name DVEBMGS<00> or DVBGS<00>


Currently they are represented by D<00>.

Instance: it provides the above runtime services:(DVEBMGS). Instance is also


referred as Application Server.Application Server is Physical and Instance is
Logical. it is possible to build 97 Instances on a Single Physical Application
Server based on available Resources.
Instance term is replaced by Application Server from Netweaver 7.3 Onwards.

Central Instance:Provides all the runtime Services DVEBMGS and ICM


Dialog Instance:Provides all Services except Message Server and Enque Server.
(DVBGS)
Enque Instance: Provides only Enque Services
ABAP SAP Central Services(ASCS):Provides Message and Enque Services
Gateway Server:it Provides Gateway Service to Communicate between Non-SAP to SAP
Systems.
_____
From Netweaver 7.3 Onwards

ABAP SAP Central Services(ASCS):Provides Message and Enque Services

PAS(Primary Application Server): it is denoted by D00.it is the First Application


Server installed in the landscape.(DVBGS)

AAS(Additional Application Server):They are denoted D01,D02.These are installed


after the Primary Application Server.(DVBGS)

Database Instance: it is used to provide the database service.


it contains Database and represented in the File system as
SAPDATA1,SAPDATA2,SAPDATA3 and SAPDATA4.

Instance is Represented by its Directory DVEBMGS<NN> or D<nn>


Dialog Process:

1.it is the only process that is used to communicate with endUsers Interactively
using Classic GUI or Through RFC or through Http Protocol(ICM).

2.The Average Response Time for each dialog step is 600 ms.it is displayed through
transaction code ST03n

3.Each Process can execute up to a maximum runtime of 600 seconds.if any process
goes beyond this time an additional time of 60 seconds(sql processing only) is
given and the process is timed out(ST22).it is not mandatory to allocate additional
60sec

4.Each Process Serves around 5-10 users.(Calculated based on ST07)

5.Each Process Requires 75mb to 300 mb Memory


6.Each Process can Handle the requests that are initiated for background, spool &
update and update them in temporary tables.

7.Dialog Process is not restricted to a User and Users are not restricted to a
process which is referred as process multiplexing

8.Parameters to configure dialog processes is rdisp/wp_no_dia

9.There should be atleast minimum two dialog processes and maximum upto 100
processes.(600 from Netweaver 7.3

10. The Maximum runtime of a dialog process is restricted by using parameter


rdisp/max_wprun_time

11.Dialog Processes are monitored in SM50/SM66/dpmon/sapmmc /sapmc

12.The Status of dialog processes are waiting,running,stopped,on hold and ended

13.The sum of dialog processes should always be more then the sum of non-dialog
processes in an ideal instance

14.The Process can be terminated by using SM50/DPMON when ever it is in


RFC/CPIC/PRIV/sleep mode causing bottleneck to the system

SM51(Monitoring):
Monitor the Number of Application Servers
Precisely count the apps and identify the app servers which are missing.

1.Check whether if there is a notification for downtime(OS Upgrade,DB Client


Update,hardware Update,parameter Changes,sap kernel update etc.) Check in SM02 for
Message or check Email.

2.Check with L2,L3,L4 Teams and escalate the issue immediatly.

3.if there are no issues and if authorizations are available at OS Level then start
the Application Server at OS Level using command 'startsap r3'

4.SM51 Provides the release levels of the system (OS Version, Database Version and
SAP kernel Version(click on release notes)

5.it displays the Number of Application Servers with provided services such as
DVEBMGS..D01,D03.... Including the Type of Processes Such as Dia, Btc, Upd, Upd2,
Spool,ICM and Enq.
Message Server and Gateway are not displayed in SM51. From NW7.3 onwards Enque
Server also not displayed.

6.Double Click on the instance to navigate to the work process overview(SM50) of


the instance.

7.it provides the Navigation to other instances without login using RFC
mode.Execute SM51-->Double Click the instance-->it displays SM50->navigate to the
Transactions of that Instances.

8.it is possible to navigate to 57(62 in ERP6.0 EHP7) transactions approx from


SM51(Table TCDCOUPLES displays the list using transaction SE12/SE16).All the
Transactions may not be allowed to a monitoring consultant.Check with SAP Security
Team if any of the transactions are not allowed.

9. it is possible to display the inactive instances from RZ03.Earlier versions


until netweaver 7.0 it is possible to start and stop the instances from Transaction
Rz03. It is deactivated due to security reasons.

10.cleanipc <instancenumber> will be used to release the memory occupied by the


instance .(Login as <SID>ADM) AND Execute Command >cleanipc 00. This will release
the memory and facilitate the instance to start with initial memory.

11.Check the available.log in work directory for the exact down time. check
/usr/sap/SID/DVEBMGS00/work through transaction AL11.

12.The Instance Failure logs are displayed in the Log dev_disp in the work
directory.

13.Check the Instance status using dpmon followed by profile


dpmon pf=profilename.

14.Check Whether the Server is Reachable using command 'ping'.


if the server is not available then refer to system admin team immdtly.

Work Processes Overview.


These are Monitered by using various tools.
1. dpmon (Dispatcher Monitor) It is an OS Utility provided by SAP to monitor the
Dispatcher and Workprocesses. It is widely used on UNIX Platforms.
2. They are Monitored at OS Level Using Command
'ps -ef |grep dw.sap*'(UNIX)
3. They are Monitored at OS Level Using 'Task Manager'(Windows) .
4. They are Monitored by Using SAPMMC(Microsoft Management Console),
SAPMC(Management Console).

SM50 Process Monitoring:


it is used to display the list of work processes configured on the Instance.
it is possible to display Dialog,Update,background,Spool and Enque Processes.(Enque
is no more displayed from NW 73)
Precisley it displays which process is performing what task and which user is
working on that process,howlong(time),which table,program etc...
it displays the work Process trace from startup of the Instance.it is also possible
to cancel(kill) the Process with Core(trace) without core(no trace).

SM50 Displays the Following:


Serial Number of the Process:(it is a whole Number starts from zero)
Type: Work Process Type(DIA,BTC,UPD,UPD2,SPO,ENQ)
Gateway and Message Server are not displayed in SM50 and they are maintained
through separate Transactions because they are not internal to process the user
Task.(SMMS for Message Server,SMGW for Gateway Monitoring and SM12 for Enque
processes)

PID: Process ID at OS Level(Each Process is allocated with a Process ID)

Status of the Process: Running,on hold,Stopped,Waiting,Ended,

Status Reason: if the Process is held(running,onhold,stopped) for longer time then


check this column why the process is on hold. it could be due to
PRIV,CPIC,RFC(Remote Function Call)etc Modes.(CPIC is an SAP Protocol used to
communicate between SAP Systems. it stands for Common Programming Interface for
Communication).
(Stopped Status can also be observed along with Onhold in SM66/SM50)

Restart: if the Process is terminated/aborted/timedout then restart the process to


YES/NO....No for Debugging the Process Failures.Yes for Restart after the failure.
(AUTO Restart by dispatcher)
Error: The Number of times process has been restarted(The Number is marked in Red
Colour)
Semaphore:The Number of the Semaphore where the work process is blocked at Disk
Level.

Green Sempahore(Processing that Semaphore and processing the Request)


Red Sempahore(Waiting for the Semaphore):
it means each process while processing the request it may communicate with
enq,upd,buffers,print,pxa,number range buffer etc..

CPU time: The Cumulative CPU time.


Time: The Time Consumed by Process referred as runtime.
User Name: Name of the User
Program: The Name of the Program/Report
Client: The Logged on Client Number(three digits)
Action: The Type of Action(read,logical,physical reads,insert..)
read,sequetial,read,delete, roll-in/out etc)
Table: Name of the database Table

as part of the Monitoring identify the expensive processes/Users along with their
runtime and update the check list.
Based on Approvals/Situation/Requirement the work process can be killed/terminated
using SM50/Dpmon tool.
dpmon is an emergency tool to monitor the processes at OS Level.it is the only tool
used when the GUI Logins are congested/blocked.

Maximum Number of Work Processes:


Parmater rdisp/wp_max_no is used to set the limit for all the configurable work
processes on the system.Ensure that there is sufficient memory for the processes
else the system may be choked/congested, From netweaver 7.3 this value is set to a
maximum of 600.

Reserved (restricted) work processes


apart from work process types (dialog, background,update, spool, there is also the
type reserved. The number of initial work processes (as with the other types also)
is specified in the profile parameter rdisp/wp_no_restricted=5. No further reserved
WPs can be created while the system is running.
These are created on demand when there is a system blockade.Example during
deadlocks an additional process is created to resolve the issue.
Reserved Work Processes are only of type Dialog.
36+3(rdisp/wp_no_restricted)

Dynamic Proceses:
If the dynamic work processes are active (rdisp/dynamic_wp_check=TRUE), the system
can start new work processes up to the limit specified in rdisp/wp_max_no in order
to resolve deadlocks. Dynamic work processes can have different types (dialog,
batch, update, and so on) where as restircted are only of type dialog.
The Number of dynamic processes that can be created are rdisp/wp_max_no-sum of
configured processes.
600-36+5=559(rdisp/wp_max_no=600 and sum of dia,btc,upd,spo,enq are 36)

The possibility of creating processes dynamically is also used for handling


deadlocks. After the bottleneck has been resolved, the �dynamic�/"reserved" process
are stopped again
The maximum number of Processes on the Instance should not be more then 600 from
netweaver7.3 onwards.

New Fields of SM50


Blockade handling
This means that the dispatcher has created an additional work process for blockade
handling (since the start or the last reset). Standby work processes that were
activated temporarily are included.
Preemptions
This means that the processing of a request was interrupted because of a request
with a higher priority. Processing is continued as soon as possible.

Deadlocks
Means that all dialog processes have the status�HOLD, and dynamic work processes
cannot be started or there are no standby work processes. In this case a snapshot
is created and any actions still running are canceled.

Snapshots
In the info area the number of snapshots that were created since the last start are
displayed. A snapshot is an archive in which all important information about the
status of the application server at any given time is stored. A snapshot is
primarily used to simulate and interpret the status of the application server at a
given time.

The Restrictions of Dialog Process:


1.Maximum runtime is restricted
2.The processes Execution time can be increased beyond 600 sec but it will be
applicable to all the dialog users,subsequenlty system gets congested.
3.Each dialog step executes only a part of the transaction and never completes the
entire transaction in one step.
4.Dialog could not handle the print requests directly,btc requests directly and
update requests synchronously in one step rather it updates temp tables.

********************BACKGROUND(BATCH)PROCESS*******************
1.The Programs which are timed out due to restriime,i.e long running programs,time
consuming programs,periodic jobs and memory expensive programs are
defined(scheduled) to run in the background mode during off peak hours.

Background Process handles the entire transaction in one step. it is dedicated to


the user task and waits until the task is completed.The background process could
not be timed out due to the "'process time out'" parameter.it may run for minutes,
hours and days.Background processes may be thrown out of the system due to
memory/cpu/disk IOPS issues but not time.

Ex: Dunning Reports,Annual/Yearly Sales,Production,Account Payables,Account


Receivables,Pay Roll Run,etc..

Standard SAP House Keeping jobs are scheduled in SM36.Standard Jobs-->Default


Scheduling.

Standard SAP DB House Keeping Jobs are Scheduled in DB13.

Customer Background Jobs can be defined in SE38/SA38/SE12 or from any Executable


Transaction(mm03,vl03,me23n,xk03,xd03,fs00)

Background Process Flow:


1.A User Submits a Request to execute an Expensive(Time Consuming) Program.
2.The Dialog Process handles the Request and Stores them in the TBTC* Tables
TBTCP---Program that need to run in the Background mode
TBTCS---Schedule
TBTCT---Time

3.A Background Scheduler sapmssy8 runs periodically for every 60 seconds in the
dialog mode or the time specified in the parameter rdisp/btctime=60.

4.Scheduler Picks the Jobs with status ready and allocates a freely available
background process.

5.The background process is dedicated to the job and complete the task.

6.The Advantage of the background scheduling is monitoring can be displayed in


SM37. i.e ABAP Level tasks(SAP),OS Level tasks,DB Tasks and External Tasks.

7.The background Processes are defined by using parameter rdisp/wp_no_btc. Minimum


two processes are required for the entire System. it is possible to configure as
many background processes as required based on available resources.

8.it is possible to Integrate the SAP Background jobs with Third Party schedulers
such as TIDAL,BMC:CONTROL-M,SAP REDWOOD SCHEDULER and TIVOLI Scheduler

****************************************************************
Defining a Background Job:
Execute SM36
Specify the Job Name(Unique Name to identify the Job).
Specify the Jobs class(A,B,C) A- HIGH,B-Medium and C-Low
Status is automatically set:

Job Statuses:

Scheduled: it is defined for execution in SM36,but date and time is not


specified...it will be in the status scheduled as long as Execution Condition is
Specified.

Released: it is specified with execution conditions such as


date,time,immediate,after job,after event,operation modes,factory calender etc...

Ready: The Execution Time occured

Active: The background process allocated and currently running

Finsihed :Job Finished

Cancelled: Job Terminated/aborted

Execution Target Server: when more than one application server are configured then
specify the name of the Instance where the job need to be Executed.

Spool List recipients: The output of the job will be sent to the users Email or to
the Printer.(payslip print or payslip to email in pdf format)

Start Condition: Specify the job start Condition.


Immediate
Periodic
Date and Time
after event
after job
after factory calender
after operation modes
save the job an entry will be displayed in SM37 with certain status.(mostly
released)

Job Step:
Job Step can be defined by using the Following
1.ABAP Program
2.External Command
3.External Program

1.ABAP Program is a standard or Customer Program/Report defined in SE38. it


Requires a Variant for Execution.

Variant: it is a program selection critieria that is used to populate runtime


values during program execution.These variants are defined in SA38/SE38.

2.External Command:These Commands are defined in SM49/SM69. These Commands are used
to Execute at OS Level
Ex: A Database Backup is executed at OS Level and all the database House keeping
jobs are executed at OS Level using Backup,Restore and Recovery Commands.These are
scheduled in DB13 Using DBA Calender.
brconnect -f check
brconnect -f next
brconnect -f stats
brarchive
brbackup

3.External Program:These are triggered by using executable 'sapxpg'. These are not
predefined but triggered based on Requirements.
Ex: While transporting Requests(STMS),it triggers External programs as sapevents.
(sapevt)
The Programs such as db cleanup,dunning,archiving,update cleanup can be started
before system shutdown or after system restart

SAP Standard Background Jobs

RSBTCDEL-----Deletes Old Batch jobs logs from TBTC Tables


RSSNAPDL-----Deletes Old ABAP Dumps from SNAP Table
RSPO0041/RSPO1041--Deletes the Old Spool Request from Spool Tables
RSM13002--Delete the Old Update Records from the Update Temp Tables
RSPO0043/RSPO1043--->Check the Consistency of the Spool in Background
RSBDCREO-----Background to delete the old batch input logs.
RSCOLL00 -----is a performance collector job which schedules further Background
jobs.
RSBPSTDE---------Delete Ols job Statistics
RSBPCOLL---------Collect Value for job Statitics
RSUSR* Reports Related to Users and Roles
Note: There are various jobs that are scheduled in SM36 to collect the Performance
Information and display in ST02/ST03/ST04/ST07.

WHY????
Scheduled: The Job is Scheduled but time/execution conditions are not specified

Released: The job is Released with dependency of execution.


Time,job,event,operation modes....which have not occured..

Ready for Longer Time or there is a delay recorded in SM37


1.rdisp/btctime is set to 0 or higher value like 43200
2.btctrns1 report pauses background jobs and resumes by btctrns2(it is set
automatically by support packages/updates/upgrades)
3.There are no background work processes to allocate to the job
4.The Configured Processes are not sufficient or the processes are held with the
expensive tasks.
5.Based on requirement increase the Processes(deploy application server) to avoid
the proceses in the Ready state for Longer time.
6.Schedule Operation Modes.

Active:
The Job is active and running for longer time.
1.Network/bandwidth Congestion
2.Required Memory,cpu,DISK I/O are not available
3.Expensive Processes are running on the System
4.The Processes are waiting for a response from external system

Cancelled or some times they are simply in the ACTIVE state blocking the Work
Process.

1.Issues on the Target System:when the background process is working to get the
data from External Systems(RFC Failure,CPIC Issues,Gateway Issues) Communication
with BW,CRM,SRM and SCM Systems
2.Bottleneck on the Database(due to space or any issue on the DB) ORA-1631/32 ora-
1653 /1654,ora-255,272 etc...check DB17 for corrective measures.
3.File System Issues(File Could not be opened for read and
write,authorizations,virus issues)
4.Variants Issue
5.User Input Errors(Zero divide/convert number etc)
6.Authorization issues(userid,password,client does not exist or user id
expired,password expiry etc)
7.The Jobs like SLCA_LCK_SYNC_OWNERS runs only on Supply Chain Management System.
They are failed on ERP,SRM,CRM and Netweaver Systems
8.No Component Chosen for WP_CACHE_RELOAD Jobs.it also looks for SCM System.
9.Update Reorganization Job fails to run in the background server. it has to run in
dialog mode.(RSM13002)
Get the Knowledge transfer from the Business Process owners.
Inform the BPO about the Error Message so that they can reschedule the Job or
Reprocess or run the job from SM37.

Do not own any background job other then SM36/DB13 standard jobs. if required
create a user like WF-BATCH to schedule the background jobs of the End User
Community.
Use Report RSBTCDEL to delete the background job logs peridoically.
Execute SM37 and repeat the scheduling of a background job provided there is a
black and white request from the Users.
Note: Do not Kill any Background job unless it is warranted and approved by the
management,else the system may be inconsistent if the job is related to an update.

Scheduled,released and ready can be paused (Except Active).

Third Party Scheduler standard job dependencies and controls on SAP R/3 jobs.
Schedule SAP R/3 jobs to run on specified days and times, and in a defined
order.Define inter-dependencies between SAP R/3 jobs and jobs that run on different
platforms.They are used to Customize job execution return codes,Intercept
jobs,Track child jobs,Raise events and Notifications.
Ex: TIDAL,Control-M,BMC,TIVOLI,SAP REDWOOD Job Scheduler.
Operation Modes:
The Process of Converting the Dialog to BTC and BTC to Dialog is called as
Operation Modes.it is used to optimize the Resources by converting free processes
to workable Processes ie, During Day Time the Free background processes are
converted to Dialog Processes and during Night time the Free Dialog are converted
to background processes.
Define Operation Modes in RZ04 such as Day(Peak) Mode and Night(offpeak) Mode
Import the Profiles of the Application Server using RZ10.(to Know the configured
Processes on the instance). The Profile Specifies the behaviour of the Instance.
Assign the Operation Modes to the Application Server in RZ04.
Each Application server need to be defined in RZ04 for operation Modes.
Assign the Timings in SM63.

Note: RZ03 can be used to toggle between the modes to Check whether Operation Modes
Switch is occuring and the Processes are Switched.

During Operation Mode Switch the Existing Processes(Tasks) are allowed to Complete
and then switch takes place.No Process will be terminated during Switch.
it is also possible to Schedule Operation mode on a specific Day.Select Exception
Operation in SM63 and specify the date.
it is also possible to create more than two modes based on the requirement.
Peak Hours and Off Peak Hours are defined based on Geographical Locations Time
Zones and Customer Requirements.

Update Process:
Update Process is used to Update the Database.when more then one transactional
Dialog steps are involved in a Transaction Then Dialog Updates them in Temporary
tables which are updated into Main tables by Update Process based on Update
Modules.

When Ever a Direct Update is performed on the Database then rollback is not
possible.

Local Update: The Dialog Process Updates the Database main tables directly,if there
are few transactional dialog steps.
Background Process communicates directly with the database and updates the
Data.Background Process Updates all the transactional dialog steps in one go in to
the Database main tables.

Asynch Update: The Process of updating the temp tables by a dialog process until a
commit/roll back is made.

Synch Update:Once all the Transactional Dialog steps are committed in the Temp
tables then they are updated into Database Main Tables Synchronously. Synch Updates
are performed by a dedicated Update Process.

Update Processes(TYPES):
There are three types of Update Processes:
V1: it is used to handle v1 updates(time critical Updates)
V2: it is used to handle v2 updates(non-time critical updates)
V3:BW Updates or massive updates.(Currently reserved by SAP)

Update Process Flow:


1.User Submit the Request for an Update (ex: A Sales Order Creation,User
Creation,Purchase Order Creation)
2.Dialog Process Handles the request and when it identfies the Update then it
communicates with Enque Process.

3.Enque Process Provides a Lock on the record so that the record will not be
available for update and locked records are displayed in SM12 until a Commit is
made.

4.The Dialog Process Updates all the transactional dialog steps into temporary
tables VBHDR,VBDATA,VBMOD and VBERROR(if any err).

5.Once all the dialog steps are completed then a Commit or Roll back takes place.
if commit takes place then a Transaction ID is generated from the Number Range
table(NRIV) and the Records are displayed in SM13.The Locks are inherited to update
process.

6.The Update Process reads the temporary tables and Updates the Permanent tables
synchronously.Upon Commit/Roll back the Enque Locks are released.

Update Statuses:

Initial(init): When the Dialog Process Completes writing into temp tables and when
a commit is made then the records are displayed in SM13 with status 'init'

Run: When the update process is updating permanent tables then the status is 'run'.

Error: if the update is terminated then the records are displayed with status
'error'

AUTO: if the update error is resolved then the system start the updates
automatically using the status 'AUTO(sys)'

AUTO(DIA): if the update error is resolved then the system start the updates
automatically,if they are not started then they can be repeated in SM13 where the
status will be 'AUTO(DIA)'

Note: if v2 processes are not available then v1 update handles the v2 updates.
For every 5 Dialog Processes one Update Process is required.
Update Processes are configured by using the parameter
rdisp/wp_no_vb=2(v1 Updates)
rdisp/wp_no_vb2=2(v2 Updates)

Number Ranges: These are defined in Transaction SNRO and stored in the table NRIV.
Ever transactional Object has to be defined with the number range during
Implementation else SM13(Update)Errors Occurs.

Dialog Process Checks for a Number from the Number Range Interval and Commits the
Transaction with that Number in the Temp Tables.
The Update Process Updates the Application(Permanent Tables) with the Transaction
ID.
Update Deactivation:
The Update Process gets Deactivated when ever there is a problem in the Database
such as Tablespace Overflow,Max Extents Reached,Oraarch directory is full.
The database Administrator has to resolve the issue,once the issue is resolved the
update mechansim can be reactivated.
Do not Deactivate the Update Process Manually in SM14 unless a problem in the
database is noticed,else documentation need to be provided for system log(update
terminated manually with a userid, time stamp)
Update Deactivation stucks the entire SAP System.
Set the Paramater rdisp/vb_stop_active to disable the above feature.
set the Parameter rdisp/vbmail=1 to notify the users in case of an update error.

Update Reorganization
1.Run the Program RSM13002 to delete the old Updates(Earlier this Program used to
run in BTC Mode,SAP Recommends to run this program in Dialog Mode and fails(not
allowed)to run in BTC mode)

2.Set the parameter rdisp/vbreorg=1. it is used to delete the Incomplete Update


Requests when the server is restarted.

3.Set the parameter rdisp/vbdelete=50 . it is used to delete the old update


requests based on the Age irrespective of the Status.

4.Delete Records Manually from SM13(Care full about the current Updates).Generally
not recommended as no logs and traces are run to track what has been deleted.
(however sm21 writes the logs)

Monitoring the Updates:


Execute SM13 to Monitor the Updates. Ensure that there are no pending Updates or
standing updates unless it is a massive update System

SAPSQL_ARRAY_INSER_DUPREC
This is very known dump occurs in production environment. This dump occurs when any
transaction or job is trying to insert duplicate records in a table.Check whether
this error is caused by the user or the program
Check whether the Update is terminated in a Local Customer Program,if required
Correct the Program.

if the issue is global such as program error which is occuring after the
installation,after an add-on,after a support package, after an upgrade,after a
kernel patch update/upgrade, refer the issue to SAP Support with High Prioroity.SAP
Provides a interim note or patch to resolve the issue.
while reporting an issue to SAP Check SM21,ST22 and Failed Module in SM13 with
Error Message.

Cancelled Updates can be repeated by using the option Repeat Update.


Most of the Cancelled Updates May comes with an error(no retry).

If the Record Does not exist in the system then ask the User to create the
transaction again.

Resolve any database issues when the updates are pending or stuck with c
ertain errors like ora-1629,30,31,51,52,53,54 and ora-255,272 which are specific to
Oracle database.The Resolutions(corrective measures) are available for oracle
errors in DB17
Update Function Modules are not found and Update gets terminated
if v2 processes are not available then v1 Handles the V2 Updates.

Enque Process:
it is used to lock and unlock the Objects during an update.These locks are
displayed in SM12 and Held for longer hours until the transaction is committed or
roll back.These locks are issued from a lock table which resides in the main memory
of the instance where enque process is created/located.
Enque Processes are configured by parameter rdisp/wp_no_enq=1. Generally One Enque
Process for instance is sufficient,more then one is required in a massive update
system.
The Lock table size on the memory ranges between 4mb to 100 mb(200 mb in the
Netweaver 7.3 Systems)
It is defined by parameter enque/table_size=4 to 200 mb.
For 4mb of enque table size the Number of lock/owners/objects/arguments can be
restricted up to 3715.

Enque Flow:
1.User submit the Request for an Update.
2.The Dialog or Background Process Handles the Request
3.Dia or BTC Processes communicates with Enque Process and obtains lock on the
record,so that no other user has write access to that record.
4.The Lock will be held until the transaction is committed or rolled back The Locks
are displayed in SM12.
5.The Record is Committed into the database using a Transaction ID.
6.The Locks are released.
Generally the Enque time will be 1ms to 5 ms. if it is more,
then check whether update mechansim is active.

Locks for Application Servers


The dialog or btc process communicates with Message server through dispatcher to
obtain a lock on the record during an update.

DIA--DISP--MSG--ENQ--ENQ TABLE-->ENQ-->MSG-->DISP-->DIA

BTC--DISP--MSG--ENQ--ENQ TABLE--->ENQ-->MSG->DISP-->BTC

Due to the above process the Enque time can go upto 100 ms.

From Netweaver 7.3 onwards Enque and Message Server are installed together in
separate Instance Named as ABAP SAP Central Services Instance. Every process can
establish a direct TCP/IP Communication with Enque Process.In This Case the
parameter
rdisp/wp_no_enq=0

DIA---ENQ--ENQ TABLE--->ENQ-->--->DIA
BTC---ENQ--ENQ TABLE--->ENQ-->--->BTC

Enque Lock table Over flow:


When the Lock table is Full with Lock Owners or Lock Entries or Lock Arguments then
the Over Flow Occurs.in this case the Size of Lock table can be increased upto
enque/table_size to 100/200 mb.
As part of the Monitoring the Locks Held by dialog Process should not be more then
one hour and the locks held by background can be hours and even days.
Monitor the Locks and Update the Check list and if it is long pending by an User
Check the Following.
1.Check whether the User is Logged on SM04(Activity)(time stamp)
2.Check Whether User is Disconnected due to Network issues(SM21) but still active
in SM04.
When the Locks are held for Long time and if any other User tries to access the
same lock object then lock collision(rejections) occurs.
Do not Delete the Locks from SM12 and it has to be done only as a last measure.
Instead the User can be logged off from SM04.
Lock,User deletion is logged in SM21 and may be questioned during an Audit.

Deletion of lock entries is documented in the system log.

Lock Deletion Process:


1.User Complains that he could not obtain a lock on specific record.
2.The record is Locked by some by other User which is displayed in SM12
3.check whether User is active, if active advice the user to come out of the
trasactional screen to release the lock
4.if the User is inactive, get the approval from the Lock Owner in Black and
White(say email) to release the Lock
5.Release the User from SM04 and lock should be released from SM12 else delete the
lock in SM12.

Enque Dead Locks:


Due to Modularity between the modules it is possible to lock the same LUW from
Different Modules.
User-A User-B
Transaction-1 Transaction -2
a+b=x c+d=e
m+n=o t+r=a
c+d=e b+e=l
z+x=c a+b=x
Transaction-1 is waiting for a lock that is held by Transaction-2
(c+d=e).
Transaction-2 can be completed only when it obtains lock on a+b=x and similarly
Transaction-1 can be completed only when it obtains lock on c+d=e.This is referred
as a dead lock.

Report Dead Locks to SAP which might be unnoticed,SAP releases a patch/support


package/note/bugfix to resolve the dead locks issue.

What happens to the locks and transactions that are commiitted during a system
crash??

when ever a transaction is committed the locks are written to


enque/backup_file=/usr/sap/SID/DVEBMGS00/log/ENQBCK
The Locks are reloaded into Enque Table during Enque/Instance restart. These Locks
are inherited from Dialog Process and need to pass them to update for synchronous
Update.
rdisp/vbstart=1 parameter trigger the pending updates during restart of the system.

Message Server: it is used to perform load balancing when more then one Application
Server serving the same Group are Configured.
it is also used to obtain the locks for Additional Application Server Processes.
(from Netweaver 7.3 onwards not required)

it is the First Process(server) to be started on a Hostname, IPAddress, Hardware


Key(Customer key),Internal Port for Locking 3900,External port for load balancing
3600 and http port 8000(8100) etc..
This log file is displayed in /usr/sap/SID/DVEBGMS00/work/dev_ms(AL11/ST11
Transaction)
it is monitored by using SMMS.it displays the types of services configured on each
Application Server(DIA,BTC,UPD,SPO,ICM)

Enque Server and Message Server are installed together in a separate Instance with
instance number, from Netweaver 7.3 which is referred as ABAP SAP Central
Service(ASCS)

Precisely Message Server is used for


1.Logon Load Balancing/Failover(This is required only when more then one
Application Server is deployed to serve the same group of Users.) ie. if one
Application Server is configured then there is no job for Message server.

2.Obtaining Locks for Application Server Processes.(This is not Required from


Netweaver 7.3 because all processes are establishing a direct TCP/IP Connection
with Enque Process.

Logon Groups are defined in SMLG and RFC Server Groups are defined in RZ12.
Define a Logon Group in SMLG and assign to the Instances which are going to
Participate in Load Balancing.
Configuring GUI
1.Update /etc/hosts(hostname and IP Address)
2.Update /etc/services(sapms<SID> 3600/tcp)
3.create a Logon Entry in GUI using the Option "Connection Type as Group Server
Selection"
4.Specify the Description,SID,Name of the Message Server(Hostname:3600),Select the
logon Group and Save.
5.The Least Loaded Server is calculated based on Algorithm(think time).
Navigate to SMLG-->Menu GO TO-DIAGNOSIS-->Message Server Status Area-->The favorite
Compute time/server is displayed.

Note: if Message Server is not Started then SAP System will be Down.
There will be only one Message Server in the Entire SAP SYSTEM.
The Message Server can be monitored by using 'msmon'.

Gateway Process:
it is the process that is not displayed in SM50 along with Message Server. Enque
Server is also not displayed in SM50 from Netweaver 7.3.

it is used to establish the connectivity between Processes of different Application


Servers and External Programs. By Default There will be only one Gateway installed
for each SAP System Application Server. it is not possible to increase the gateway
processes,instead Additional Gateway Servers can be installed based on requirement
on a seprate Instance Number.
This is Required on non-sap systems(Banks,POS and third Party Systems).Generally
the Installed Gateway which comes along with SAP Installation is sufficient to
handle the load.
Gateway Process is Monitored in SMGW.it listens on Port 3300. Secured gateway
listens on port 4800
Gateway Connection details are used while defining RFC Connections in SM59
Gateway host(Name of the Application Server) Gateway Service(sapgw00).
Note: Generally No issues occurs with SAP Gateway Service Except max Connections
reached(SM21/ST22).

Gateway parameters:
gw/max_conn=500(Maximum Number of active Connection which increased upto 4092)
gw/keepalive=300(Timer for check unused connections and disconnect)
gw/timeout=10000ms(Timeout for connecting to other gateways)

Gateway Proces is monitored in SMGW-->Menu-->Go to-->logged on Clients


it displays the currently connnected clients.
By Default a Gateway Connection for Application Server and IGS(Internet Graphics
Server) are established. IGS Server is installed by default to provide the Graphics
Services.Each Additional Application Server has an entry in SMGW with sapdp<nn>

Installation of Additional Gateway Servers:


Use SAP Installation Master Sofwtare/SWPM
Select Gateway Installation
Provide SID,Master Password,Instance Number
Provide the kernel Software
Review the Inputs and Install the Gateway.
it listens on the gateway Host and Gateway Instance

Standalone Gateway is monitored in SMGW. login to Gateway as Administrator,as


standard interface SAPGUI is not available,So use gateway Monitor at OS level.
#su - gwsadm(<SID>ADM)
$cdpro to navigate to the profiles directory.
$gwmon pf=<instance Profile>GWS_G03_HostName

Netweaver Gateway: it is not the gateway that is discussed in Application Server


Context.

In Simple Words Netweaver Gateway is a set of ABAP add-ons(applied through Tcode


SAINT) to your existing SAP ERP system that provides easy access to your business
information which provides a simple way to connect devices, environments and
platforms to SAP software based on market standards. The framework enables
development of innovative people centric solutions bringing the power of SAP
Business software into new experiences such as social and collaboration
environments, mobile and tablet devices and rich internet applications.
Curently Fiori(UX User Experience) based Applications uses the Netweaver Gateway.

Spool Process: it is the Only Process that is used to output the documents to a
Printer,fax,email etc..
Spool Work Processes are created by using parameter rdisp/wp_no_spo=1
it is possible to configure more then one spool work process based on available
resources. (300mb per process)

Spool Process Work Flow:


1.User Submits the request to print a Document.
2.The Dialog Process handles the request and print directly or schedule to print in
the background.
3.The Print requests are stored in the TemSe(Temporary Sequential Files)
(dialog/background)
Temporary Sequential Files are stored either at File System or at database Level
which is defined by parameter rspo/store_location.
rspo/store_location="G" or 'db'
G means global directory stores the temse in /usr/sap/SID/SYS/global
db mean the Tables TST01 and TST03.(TST01 Contains Print Attributes and TST03
Contains the Spool Data to be Printed)
where do you store the TemSe???Either it on File System or Database??

File System: Database

1. Virus Prone needs it is Not Virus Prone


antivirus to check the requests Transaction VSCAN

2. Files are lossely spread Spool is intact and


makes use of Indexes
No Indexing to Print req & accelerate the Print

3. Additional Monitoring at No Special Monitoring Required [File System]


as it is part standard check.
4.Additional Space required and Part of Database(DB02) and Explicit backup
is required Part of Database Backup
(DB13)
5.Printing is faster Printing is for 300 mb to
500mb Slower,however uses
indexes to make it
faster when spool size
grows abnormal.

Due to Spool in DB the DB Size Increases as a Result the backup time increases and
Tapes may not fit with the data.(Frequent Reorganization is required).for Smaller
Organizations File System(300mb-500mb) is fine but Medium and Large Size
Organizations "DB" is recommended.

if the OS is crashed there may be inconsistency between OS restore and DB Spool


Files.

4. The Print Requests which are stored in TemSe are called as Spool Requests.

5.The Spool requests are converted into Printer Specfic output requests using a
Spool Work Process

6.The output requests are printed in the Printer.

Why a dedicated Spool Process is required for Printing???


DIALOG and Background are designed for interactive and background Processing. when
they are asked to print then they need to identify the Printer,Printer
Model,Printer Driver,Printer Tray,Print Format,Print Character and Other
Attributes.
These tasks are performed by a dedicated Spool Process.
The Spool Requests generated by Dia and BTC are displayed in -/SP02
The Output requests generated by Spool Process are displayed in SP01.

Access Methods:
it specifies How the Spool Work Process Formats/ Converts/ transforms/ transfers
the Spool request into Printer Specific Output Request.
Local Access Method: if the Spool Work Process performs the formatting locally on
the Application Server then it is called LAM

if the Spool Work Process(server) is Configured in Unix System then the L


"L"(lp(line print) & lpr) is used

if the Spool Work Process(server) is Configured in Windows System then the Local
Access Method "C" is used(direct operating system call)

Remote Access Method: if the Spool Work Process performs the formatting Remotely on
a Printer Server than the Application Server then it is called RAM

if the Spool Work Process(server) is Configured in Unix System then the Remote
Access Method "U" is used(Unix Berkely Protocol)

if the Spool Work Process(server) is Configured in Windows System then the Remote
Access Method "S" is used(SAP Specific Protocol)

Front Access Method: if the Print Request is given to a Desktop/Laptop Printer then
it is referred as Front End Printing(method F)

if more then one Printer is connected then Print by Control Technology "G" Access
Method will be Used.

Print Servers are used to store the details of all the printer in the Company. They
Store Device Type,Device Driver,Model,Vendor, Warranty and Guarantee etc..

Printers are defined in SPAD. These are referred as output devices.


Defining a Printer:
Execute SPAD
Click on Output Devices Display
Click on Change and Click on Create
Specify the Printer Name and Printer Short Name like(LB01,LP01,BC01,CP01)
Provide the Device Type Attributes:

Device Type:(Provides the Printer Model-->it specifies that printer is known to SAP
System and Printer Driver is available in the System.

Select the Available Device Type from the displayed list

I am not able to display the printer device in the List???


Update the Device List from SAP Market Place using Note 1036961 which provides the
Latest Device Types in the XML File .

Firstly Check whether the printer is available and recognised in SAP System.Else
Refer to the sap Note Number 1100779 for PVP(Printer Vendor Program).

Update Device Types:


Each Vendor has a Specific Note with Device Type Drivers which can be downloaded
and Transported into SAP System.
Ex: Download Dell Drivers using SAP Note 1135033 (devicetypes.zip) and Import into
SAP System.

if the device type are not available then select 'SWIN' or "SAPWIN"
SWIN makes use of 'saplpd'(line print daemon) an exe in windows desktops,it comes
through SAP GUI.

Spool Server can be Real/Logical


Spool Server: The Application Server(Instance) with atleast one Spool Work
Process.it is also called as Real Spool Server.

Logical Spool Server: it does not exist,but points to one or more Real Spool
Servers. These are used for Load Balancing and Failover.
Define Logical Spool Server in SPAD by assining a mapping server and alternate
server.
Execute SPAD-->Select Spool Servers-->Display-->Change-->Define Spool Server--
>Select Logical-->Specify the Alternate and Mapping Server.Save.
The Real Spool Servers are displayed in Thick Green Colour
The Logical Spool Servers are displayed in light Green Colour

Authorization Group: to Provide Access to the Printer. it Prevents access to


sensitive Printers.

Specify the Model,Location and Message Specific to the Printer.

Specify the Access Method(Local,Frontend,Remote)

Each Print Request has to be formatted by the spool work process based on the
Printer. So configure Logical Spool Servers when more then one real spool servers
are available.

Select the option:


Do not Query the outputspooler for the status.
The spool work process keeps track of print requests sent to the host spool system
to be able to update the status of the requests in the SAP system.
it runs periodically(1min or 60 sec) to get the status without handling the Queue.

Specify the output Attributes and the Printer Tray Info..


Select process requests sequentially if the print order is mandatory. A dedicated
process prints the request,else multiple spool work process print the request
irrespective of the Order(Sequence) and print comes without seuqence numbers.
Spool Request Statuses:
when the Spool Requests are created/generated by Dialog/Background Process the
Status is '+'.
(-) The output Request does not exist.
(Waiting): Waiting for the Spool Work Process to format into output request.
(Processing):The Spool Requests are processed and being formatted by Spool Process
(Printing): The Output Requests are in the process of Printing,the Printing status
remains for 60 seconds and the status is updated as cancelled/ finished.

(Finsihed/Completed): The Request is Printed Successfully.

(Problem): The Request is printed and the Output contains minor errrors such as
page format,character set etc..

Error: Print is not Delivered.Error Indicates a severe error such as an network


error. The requests have not printed and remain in the spool system until they are
deleted or until they reach their expiration date and are deleted during a
reorganization.(RSPO0041/1041)

Spool Table Overflow:TemSe Overflow:

Generally the Spool Numbers are between 0 to 32000.


This Spool Range is defined in SNRO using the Spool Number Range Object SPO_NUM
Execute SNRO-->Specify the SPO_NUM-->Click on Number Ranges-->Change Intervals--
>increase value to 999999.
When this Number is reached the Spool Overflow Occurs.

Spool Reorganization:
Delete the Old Spool requests using the reports RSPO0041/RSPO1041.
Check the Consistency of the Spool by using the report RSPO0043/1043.
Check the Spool Memory Usage by using SP12. it displays the total spool volume
based on Client ,User,Logs etc...
Execute SPAD-->Extended Admin-->Delete OLD Spool Request/TemSe Consistency Check .

A User Complains that he could not print the Document.

1.Check whether spool requested generated in SP02(ask user to check) or check in


SP01 as Spool Admin.

2.Check whether printer is on,toner/cartridge/ available,print tray is available


with papers,print is given to the right printer and tray.

3.Check whether printer is reachable over the network,Check printer device is


availble/printer name is availble in the device list etc..

4.Check the User has necessary Authorizations to print to that device.

5.check whether saplpd(sap line print daemon) is working in the work station.(older
versions)

6.Advice the User to Print to alternate printer from SP02

7.Advice the User to route print request output to some other user for print.

8.Advice the User to route the request to other Users Inbox(User can print using
SBWP)
9.Change the priority of the Printing using SP01/SP02

10.Check Whether Desktop Supports/Printer Supports language specific printing

Front End Printing:


The Spool Work Process will be dedicated to desktops if the Front Printing is not
minimised by using the parameter rdisp/wp_no_spo_Fro_max=1 or 2.
if this Parameter is not set then regular spool service may be congested.
Configure as many spool processes as possible based on availability of resources.

Note:As an Admin,Do not Print from SP01 for any User unless there is a black and
white(email)request from the End User.
SP01 is too sensitive as it provides the output format of the Spool Request.

Set the Option in SU01 for sensitive Users.


Delete the output after print.So,that the spool/outrequests are deleted after the
output immediately.

Email Configuration:
Execute SCOT
Click on the Node smtp(if it does not exist create one node with name smtp
select the check box node in use.
specify the repeat send attempt procedure(time as 30 min default),if required
Change it to 10 Minutes.
Specify the Mail Host(HostName/IP Address of the Mail Server)
Mail Port by default will be 25(change it accordingly based on the Instructions
from mail Administrator.
Code Page:Leave as it is(No Conversion is required)

Select the Supported address types Fax,Internet,pager based on the requirement.


(Default select Internet).
Click on set and specify '*' for allowing both inbound,
outbound connections irrespective of domains(*.yahoo.com allows only to
Yahoo,*.willsys.net allows only to willsys)

Specify the Domain Name:(Go to Settings-->Default Domain as willsys.co.in)

Define the Scheduler that picks the mail for every 10 minutes
Go to settings-->Send Jobs--> click on create a job for internet-->Specify the Job
Name,Interval(default is 10 min)and Save it.
Defining and triggering the mail will be from the Application Side.
Ex:Payslip to Employees Email,Orders to customer and suppliers, Notifications to
the Customers(for Payment),dunning reports(6 Levels of Dunning Notices for
EMI,surity Holders, vehicle/ machinary maintenance
The Mail addresses are fetched by the Programs
Users--SU01(SAP Users and Administrtors)
Employess---PA30 transaction
Vendors --Xk03(Table LFA1)
Customers----XD03(Table KNA1)

Mail Test:
Execute So00 and send a message with the valid recipients.

Monitor the Transaction /Table SOST


The mails are Parked in the Table/Transaction SOST and Waiting for the Scheduler to
pickup as per the scheduler time.
Execute SOST-->Menu-->Utilities-->Start Send Process.(To Trigger the Emails immdtly
from the Queue without waiting for the scheduler.(in dialog Mode)
Generally the Emails should be received with in 10 minutes. if there is a delay
then check in SOST,SM37 and in the Mail Server(Mail Administrator)
Check with Network Carrier/mail Server etc....
Each Attachment can be upto 2mb which can be increased at mail Server.

Instance Management: Instance is managed by Runtime services such as


Dispatcher,wait queue,Work Processes,Task Handlers, Roll-in, Roll-out,R3 Buffers,DB
Client,Kernel and Memory Utilization.

These Runtime Services are controlled by using the Profile Parameters in


Transaction RZ10.
as Part of the Post-Installation the Profile parameters are imported into database
from File System.
Execute RZ10-->Utilities-->Import Profiles of Active Application Servers.

Profiles can be maintained at OS Level but the minimum,maximum,


threshold ,current,default values,Author Name and version history are not available
or not captured.So it is recommended to import the Profiles from File System to
Database and Maintain them.

The Database Tables TPFYPROPTY ,TPFET and TPFYDOC Provides the


Documentation,Min,Max,Current Values,versions and Avoids the Typo Errors.They
Maintain the Version of the Profile along with Time Stamp of the Profile Parameter
Change.
They also create a Profile Version in the Database and when activated it creates a
version in the File System by taking a Backup of the Current Profile.
Example: DEFAULT Profile will be renamed as DEFAULT.BAK and new Profile DEFAULT.PFL
is created.

Note: Every Manual Change Made in the File System has to be re-imported into
database.However it is not recommended to make changes in the file System.
The Instance has to be restarted for the Profile Parameter to take effect.
it is a best practise to keep a copy of the good known working profiles as a backup
into a file system when profiles parameters are edited.
On File System there will be only two versions one active and one backup version
where as database maintains the multiple versions.These Versions are stored in
table TPFET.These Versions can be deleted,compared,checked,activated using RZ10
There are three Profiles
1.Default Profile
2.Startup Profile
3.Instance Profile

1.Default Profile: it contains the Profile parameters that are applicable to all
the instances/application servers. mostly default database,instance Name,security
parameters are configured
in earlier versions message server and enque server details are maintained in
default profile.

2.Startup Profile: it is used to provide the startup parameters for the Application
Servers/Instances.
it contains the Parameters to start the SAP sytem
Copy kernel executables from Shared Central dir to Instance Local Dir using
'sapcpe'.
Start the Message Server using msg_server.exe
start the dispatcher using disp+work.exe
start the Log collector in Unix using rslgcol
start the Log Sender in Unix using rslgsend
Start the Internet Graphics Server using igswd.exe
No Changes are Required in the Startup Profile.

3.Instance Profile: it is used to Provide the parameters of the instance such as


memory,buffers,work processes parameters.These are specific to Instance only

RZ10 Options:

Administration Data is Used to maintain the file System Details.Mostly Used during
file system/dir changes

Basic Maintenance: it is used to maintain the parameters with out Technical


parameters by Functional and Technical consultants.it provides only toggling to
lower and higher the parameters.

Extended Maintenance:it is used to maintain the parameters by Basis Consultants


where parameters can be edited,inserted, deleted,saved and activated to generate an
active profile.

In General There will be 2* Number of Instance +1(Default Profile) i.e if there are
50 instance then 101 profiles are available.
From Netweaver 7.3 Startup Profile is merged with instance profile thus resulting
the number of profiles to n+1.

Most of the Parameters related to Memory Requires a System Restart(bounce) where as


runtime parameters related to max wpruntime,privruntime are changed dynamically
using RZ11.

The Dynamic Parameters are displayed through table TPFYPROPTY

Profile Management:
it is used to Maintain the Profiles using RZ10.select the profile and click on
change--Maintain the Parameters-->Copy,Save and activate the profile. An Active
version of the profiles are created at OS Level.(/sapmnt/SID/profile). The Existing
profile will be marked as *.BAK and new profile is created which will be read by
the instance during restart.

RZ10 is used to check the consistency of the Profiles.it is also used to delete all
the versions of the profiles.

CCMS Monitoring:(Computing Center Monitoring System) The Systems are monitored by


using RZ20.
Execute RZ20-->Extras-->Maintenance Function on--->The Option to
create,copy,change,delete and transport are displayed.
Copy the Standard Monitor Set into your own Namespace such as ZWILLSYS_MONITOR.
Note: it is recommended to create customer Objects in the namespace Y and Z,so that
they will not be overwritten during Upgrade.
it displays the alerts in RED,Yellow and Green Colours.
Read the Alerts and Resolve the Errors Immdtly to facilitate the runtime.

RZ21 is used to define the Methods which are assigned with a Report,Functional
Module,Transaction.These runs in the Periodic Intervals by a Cyclic ABAP Program
and collects the Information based on releases.
There are three types of releases Data Collection,Data Analysis and Auto Reaction
Methods.
These Methods are assigned to Monitoring Tree Elements which are displayed in Rz20.
The Customizing Groups are used to alert the Users based on the Threshold Values.

Send Notification in case of an Alert.


Use the Methods CCMS_OnAlert_Email and CCMS_OnAlert_Email_V2
Click on Change-->Specify the Sender and recipients.(Ensure that SCOT is Configured
to trigger the mails from SAP System).

RZ21 is also used to configure Central System Monitoring.


Execute RZ21-->Menu-->Technical Infrastructure-->Display Topology-->Create the
Entry-->Specify the System type to Monitor-->(ABAP/JAVA/TREX/PI etc)-->Specify the
RFC Connections and User to fetch the Data from Remote Systems for Central
Monitoring. This is Configured by default if Solution Manager is used in the
landscape for Central System Monitoring.

Monitor the RZ20 Periodically and create the Alerts to L2,L3 and L4 based on
Priority of the Message.

WORKLOAD ANALYSIS:
GUI Time: The Time taken by the User Request to reach the Dispatcher
is called as GUI Time. Generally it should take around 200 ms. if it is more then
this then consider the following.

1.Network traffic/Bandwidth Usage is too high or Some other Group of Users are
sharing the same network.(switch,router,hub issue). The Users are logging to the
server using VPN

2.Presentation Servers are outdated...(due to resources(cpu,mem,warranty)

3.The Request from the user is Expensive.(check Program/transaction/inputs)

4.GUI version is outdated(Update the GUi to the latest) 740 PL 6

5.GUI is Virus Prone.(Update the Systems with Antivirus)

II.Wait Time: The Amount of Time the User request waits in the queue to allocate a
process based on FIFO.Generally the wait time should not be more then 50 ms or 10%
of Response time. if it is more consider the following.

1.The Work processes are not sufficient.Configure Processes based on ST07


2.The Work Processes are sufficient but handling the load due to peak Hours. Adivce
the Users to perform the tasks during offpeak hours.
3.The Work Processes are sufficient but an expensive program/Transaction which is
consuming the system resoruces is a bottleneck
4.Configure Operation Modes if Possible to handle the peak hours.

III &IV.Roll-in/Roll-out Time:The Time taken to roll-out/Roll-in the User Context


into and out of Work Process Task Handler.
Generally the Roll-Time should not be more then 20ms,if it is more then consider
the following.

1.The User Context is expensive i.e the User has more Authorizations and More User
parameters.
2.Reduce the parameters and Authorizations
3.Check whether sufficient memory is available for roll-in.

V. Enque Time: The Time taken to communicate with Enque process and obtain lock on
that record is referred as Enque Time. Generally the Enque Time should not be more
then 1ms to 5ms,if it exceeds then consider the following
1.Enque/table_size is not sufficient to hold the number of lock arguments, owners
and lock objects
2.Load on the Enque Process is huge due to block in Update Process(Update
Deactivated)
3.if required then increase the Enque Process by using par rdisp/wp_no_enq

VI. Processing Time: The Time taken to process the User requests in ABAP/SCREEN and
SQL Processing.
The ABAP Screens,ABAP Programs and SQL Code in the Programs may be Expensive.
ABAP Screens and Code are fine tuned by using CPU Time.and SQL Code is finetuned by
using Database Time.

Generally the Processing Time should not be more then twice the amount of CPU Time.

VII.CPU Time. it is the total time consumed by work processes to process the
requests in SCREEN/ABAP and SQL Interpretations.Generally the CPU should not be
more then 40% of Execution Time(Response Time-Wait time)
if it exceeds then consider the Following.

1.The ABAP Code and Screens in the Program/transaction are Expensive.


Advice the ABAP Development Team to fine-tune by using SE30(runtime Analysis of
ABAP Programs)

2.Check the CPU Utilization in ST06(it should be less then 30% in IDLE Time)

3.Worst Case route the Programs to another Application Server else Add CPU or ADD
one more Application Server

VIII. LG(Load and Generation Time): The Time taken to load and generate the
response from the Buffers is called as LG time. it can go upto 50 ms.when it goes
beyond the Time then consider the following

1.ST02 SWAPS are more due to Insufficient Memory or Directories

2.The Data that is fetched from database is Expensive

IX.CPIC Time/RFC Time(Common Programming Interface for Communication)


it is the taken by the process to communicate with External Systems like
BW,CRM,SRM,SCM and Other Interfaces like weigh bridge,Biometric etc..

Generally it should be as minimal as possible.


1.Check the RFC Connections and Network Communication

X.Database Time: The Time taken to communicate with the database and get the
response into the Application Server.Generally the Database Time should not be more
then 40% of Execution Time(Response Time-Wait time)
if it exceeds then consider the Following.

1.Database Buffer Hit Ratio is less then(ST04) 94%(Increase the DB Buffers Size
using parameter DB_CACHE_SIZE
2.The SQL Statements are expensive(ST05)
3.Resource Bottle Neck on the Database(CPU,Memory and Disk)
4.Monitor the Locks Waits in DB01
5.Database Statistics are Outdated.(Schedule Them in DB13)
6.Missing database Tables/Indexes in DB02/DBACockpit
(Recreate them in DB02)
Average Response Time: The Sum of (WAIT TIME+ROLL-in+Roll-out+ENQ+PROC+LG+RFC+DB).
Execution Time= Response Time-Wait Time.
Wait Time+Execution Time=Response Time

ST03N(Work Load Analysis)


it displays the Workload based on
Service Engineer Mode/ Expert Mode.
Service Engineer Displays the data specific to last week and last day.The Expert
Mode Displays the Data based on day,week and Months. It displays the Workload of
all the configured Instances.Click on the Instance to Display the Workload of that
Instance. it displays the Workload Overview which specifies the time consumed by
each Component. The User tab provides the Number of High,Medium and Low
Users.Transaction Profile Provides each Transaction along with dialog steps and
response Time Componenets. Time Profile Specifies the Time Interval along with
dialog Steps. This Tab is Used to Identify the Peak and Offpeak Hours along with
transactions executed during that time.it displays TOP Response Time
Programs(Bottleneck Programs in the CPU Perspective),Top Dialog Steps in
DB(Bottleneck from DB Perspective). Memory User Statistics displays the memory
consumed by User and Transaction.It displays the top Memory Consuming Users and
Transactions.RFC Profile Provides the Information about the communication to
external or Internal programs/systems while executing SAP Programs.User profile
specifies the name of the User along with Transactional Steps and Executed
Transactions on that Day/week/Month(Used for Auditing who has executed what
transaction) Settlement Statistics Provides the Number of dialog steps based on
Client.Front End Statistics specifies the Number of Terminals(presentation servers
logged on to the Application Server). it displays the the amount of Input/output
Data,GUI Time along with the number of trips. Spool Statistics specifies the Number
of Spool requests,No of pages,Average Spool Response Time.Response Time
Distribution specifies the Average Response Time Split for each 100ms
(Individual/Cumulative). Load from External Systems Specifies the number of dialog
steps from other systems in the landscape.

ST02: Buffers
The Buffers are stored in the Memory of the Application Server. These are stored
based on technical settings in SE13 and Parameters in Rz10.
These are used to store the most frequently Used and less frequently modified Data.

it displaysthe buffer Hit Ratio of the Application Server. Generally the Hit Ratio
should be 98%.if it is below 98% then Check the Buffer Free Space%,Free Directories
%ge and Swaps. it is recommended to increase the Free Space and Free Directories
based on the available resources. if required additional application Servers are
deployed based on the number of swaps. SWAPS occur due to space issues, directories
issues,support packages,add-ons,languages,transports,content changes etc...

Buffer Hit Ratio:(Number of Buffer Hits/Total Hits)*100


No of Buffer Hits: The Response from R3 Buffers.

Logging:
it is the process of logging the Events(info,warning,problem,error) by default is
called as logging.
logs are written to /usr/sap/SID/DVEBMGS00/log/SL0G.
logs are displayed using SM21.

Example of Logs:
1.System Startup Shutdown(each process)
2.Database Errors
3.All ABAP dumps
4.Update Errors
5.Enque Errors
6.User Disconnections
7.Lock Deletions
8.Background job failures
9.User Session Termination from SM04
10.IDOC Errors
11.Batch Input Errors
12.Operation Mode Switch
13.Network Issues
14.Memory Issues
15.Buffer Swaps
16.User Locks(admin and self lock)

Dumps: referred as ABAP Dumps:


when ever any ABAP program could not be executed then it is thrown into Dump.These
Dumps are stored in table SNAP.
Example:
1.Database Errors(when databases updates are failed requiring space the errors ora-
1629,30,31,32,1651,52,53,54 are occured)

2.Memory Errors: When required memory is not available to execute a program then
program is dumped.
3.Time-out Errors:When required Time is not available to execute a program then
program is dumped.
4.User Input Typo Errors(Instead of Alpahbet a Number,instead of Number a
Alphabet)
5.Divide by Zero results or anything by zero results in Dump
6.Presentation Server Installations Error with Message_type_X

Dump Analysis:
Check whether issue Occured in Standard Program/Customer Program
Check whether issue occured due to User inputs
Check whether issue Occured due to an Issue in Database
Check whether Issue occcured due to timelimit,memory Limit
Check whether Issue Occured due to Older/inCompatible Version of GUI
Check whether User has necessary Authorizations/not locked/self locked during a
logon to target system using RFC
Ensure that Update is not Deacivated
Ensure that Spool/Enque table is not Overflown

Read the Error Analysis and Provide the Resolution to the User.
if not Send the DUMP to SAP for Resolution,provides the issue is with a SAP
Standard program.

You might also like