2. 2
SAP BASIS
Consider the following example [EMAIL or RAILWAY]
For Email - It requires a PC and an Application installed in it.
Yahoo/
Google
1. Client requests
2. The request is processed by an interface
3. The request reaches server
4. The server process the request
5. Response back to the user either {Ticket/ Email}
This environment is called as a Client/ Server Architecture.
3. 3
R/2 Client-Server
1. Client provides an interface to communicate with the server.
Eg: IE, GUI
2. Client uses DB Client software to communicate with server
3. Each request is processed by communicating with server only
I.e. there is no intermediate layer in R/2
4. Servers are heavily loaded/ traffic, long queues there by reducing the performance of the servers.
5. There is no queuing mechanism and only server queues are maintained.
6. Server needs to process the request (Understanding the user language). Interpretation takes time.
These are the disadvantages of R/2 Systems.
Client Server Environment:
Client requests and server responds. The major disadvantage of Client Server architecture is
1. DB Client is installed on the client
2. Processing takes place at client side
3. No intermediate buffers for the frequently accessed content
4. There is no queue mechanism to handle the requests there by servers are heavily loaded.
5. The server side processing consumes resources to process (Interpret the user requests)
The need of middle layer/ tier rose to come out of the steps. The result is the Application layer/ Server
Application server is deployed and it provides the following functionality
1. DB Client is installed to free up the clients (i.e. there will be only one DB Client for Application
server earlier each client needs DB Client software)
2. There is a queue mechanism to handle the request there by reducing the load on the client and
server.
3. User requests are served based on the FIFO using dispatcher.
4. Work process task handlers are used to interpret and process the request.
4. 4
5. Intermediate buffers are available for the frequently accessed content to reduce the load on the
Database server.
6. The server side processing is only takes place for new requests there by server resources are
optimally used.
Need for the Middle Layer: R/3 Architecture
The advantages of deploying Application Layer:
It is the Intermediate layer in between the Client and the Server. It is installed with a database
client to communicate with the database server i.e. all the clients are freed with DB Clients.
Application server/ layer handle the request and process them based on FIFO (First in and First out). It
has its own queue mechanism to process the user request. It also contains the task interpreters to
interpret the user request and route it to the server.
5. 5
It is intelligent to store the frequently accessed data thereby reducing the load on the server.
R/3 Architecture:
SAP uses the industry specific 3-Layer Architecture and named it as R/3 Architecture.
It consists of three 3 Layers
1. Presentation Server/ Layer/ Tier
2. Application Server
3. Database Layer
1. Presentation Server:
It is a client for all the SAP Solutions. It is also referred as SAPGUI. There are three 3 types of SAP GUI
1. SAP GUI for windows (On Windows OS)
2. SAP GUI for JAVA (On all OS where JAVA is supported)
3. SAPGUI for HTML (for web based)
SAP provides various versions of GUI (4.6c, 620, 640, 700, 710 and 720)
2. Application Server:
It is used to handle the user request and process them to the database. It has dispatcher
to process and monitor the user request, work process to process and interpret the requests, Buffer
areas to store the frequently accessed data. It absorbs the load both from Client and the server.
3. Database server/ layer/ tier:
It is the area where the complete data resides. It has its own queue, process, buffers, and
request handling mechanism. Most of the databases are on Oracle. SAP is pushing MAXDB (without
any license key), Microsoft SQL Server & IBM DB2 with discounted prizes.
SAP is focusing SMB (Small Mid-sized Business) and promoting SAP for nearly 1 million/ Rs. 10 Lakhs/
per customer.
6. 6
Supporting Platforms:
SAP can be installed on Microsoft windows 2000, win2k3 (2008 is under evaluation). It
can be installed on 32bit or 64bit operating systems. 64 bit means a single process can serve the user
with 4GB RAM/ Memory whereas in 32 bit it is 1.9GB Memory. 264, 232 / 8 bytes.
HP UNIX and ORACLE
HP UNIX 11.23
ORACLE 9.2.0.6 / 10.2.0.4
AIX and ORACLE
IBM Specific operating system with version 5.3 technical (TL) level 7 (TL7)
AIX and DB/2
Proprietary of IBM gives more mileage. Both provided by IBM
ISERIES/ AS400 with DB/2
This is also IBM specific which provides more consistency, reliability, mileage than any other
operating system and database.
Sun OS (SOLARIS with ORACLE)
LINUX (SUSE, RHL (RED HAT LINUX) and ORACLE LINUX)
Note: Linux with MaxDB is supported by SAP and provides more leverage (Finance)
Microsoft windows and SQL Server This is the best combination for interactive usage
7. 7
Installation of Presentation Server (SAPGUI)
Use presentation server DVD and go to the respective OS win32 and run setupall.exe and follow the
onscreen instructions.
Saplogon icon is installed on the desktop.
Double click and enter the entries of the application server
Launch saplogon icon and click on New Item
Enter the Description
Application Server
SID
System No
16-jul-09
BASIS
1. It provides runtime to SAP Applications
2. Basis is a layer where all the applications reside
3. Basis provides the infrastructure to manage, monitor, and administer the SAP Applications
Eg:
Basis provides User Management
Business process Monitoring
Role based Security
Performance Gauge etc.
Three 3 Tier/ Layer/ Server Architecture
1. Presentation Server
2. Application Server
3. Database Server
1. Presentation Server
It is an SAP GUI. It is of 3 types SAPGUI for windows, HTML and JAVA. It is used to
establish connection with SAP Application Server based on the name of the application server,
Instance Number, SID etc.
8. 8
Installation of Presentation Server (SAPGUI)
Use presentation server DVD and go to the respective OS win32 and run setupall.exe and follow the
onscreen instructions.
Saplogon icon is installed on the desktop.
Double click and enter the entries of the application server
Launch saplogon icon and click on New Item
Enter the Description
Application Server
SID
System No
Click on logon
Advantages of Presentation Server:
1. Single GUI to access all the SAP Applications (ERP, CRM, SCM, XI, BI and SRM)
2. We can login with our logon language i.e. specify the language during logon. Same GUI is allowed
to login with different languages
3. GUI is user friendly to create favorites, startup transactions
9. 9
- To create Favorites
Login - From Tools – Administration SU01 - From Menu Favorites > Add
- To setup startup transactions
From menu Extras - Set startup transaction
4. GUI is downward compatible to support all the SAP Applications which are below the gui version.
Example: GUI 7.0 cannot support the component that are built on 7.10 but 7.0 can handle 7.00,
640, 620, 46D, 45A etc.
5. User parameters are defined for the frequently keyed in content. Eg: A user belonging to the sales
organization, division, plant, sales area should get all the values by default while creating sales order
(VA01) etc.,
To provide default values for a user while creating a Sales order.
Steps:
I. Execute VA01 (Sales order creation)
Select the value for sales organisation by pressing F4
Click on sales organisation field and press F1 and click on technical settings
Note the parameter ID
10. 10
Repeat the same for Distribution Channel and Division.
2. Execute SU01
- Edit the user
- From Parameters Tab
- Provide PID and Value
VKO 0001
Save the data. Now whenever the user executes the transaction VA01 it will be filled with the default
values with 0001 and 01 for Sales organization and Distribution channel respectively there by
reducing the user tasks.
6. User can be specified with 1. Role based menu or with 2. SAP Easy access Menu to reduce the load
on the request processing (Roll Area)
7. SAP GUI is intelligent to determine the least loaded server when more than one instance is
configured. It gets the information from the Message server.
8. It provides access across the low speed connections and displays the screens without graphics/
logo which consume more network traffic. (Low Speed/ High Speed)
9. It provides command window to navigate to the respective functionality and minimizes dialogue
steps.
10. GUI entries are controlled by using saplogon.ini/ sapmsg.ini/ saproute.ini
These files reside in windows directory i.e. we can configure one GUI and copy the files to the other
systems easily.
Goto Windows directory
Saplogon.ini - Copying provides all the parameters
11. 11
11. SAP Provides ergonomically designed to configure GUI font size, colors and visual design etc.
12. SAP Provides various shortcuts window /n to open window from existing window and /o to open a
new window /ex to exit the screen.
13. GUI provides default menus (System; Help).
14. The character set can be changed to suite various languages and printers.
2. Application Server
It is a physical server which is used to handle and process the user request. In SAP naming convention
we define them as an Instance and it is possible to install more than one instance on a single server
provided they are differentiated by the instance number.
Instance number is a 2 digit number that varies between [00 to 97] 98 and 99 are reserved for routing
purposes.
Instances is of various types
1. Database Instance . 2. Central Instance. 3. Dialogue Instance.
1. Database Instance
This is the Instance where database is installed.
2. Central Instance
This is the Instance where Application Server/ Tier/ Layer are installed. There will be only
one instance in the entire system.
3. Dialogue Instance
These are the instances which are used to handle the load on the central instances. We
can install as many instances as possible assuming that each instance can serve up to 200 - 500 users
depending upon the type of the users.
12. 12
Kernel
Set of Executables (OS, DB, Unicode, 32/64 bit dependent)
usrsapSIDsysexe
Start - Run - sqlplus "/as sysdba"
Select username from dba_users; (database users)
Select BNAME from SAPSR3.USR02; (Sap Users)
SAP
K
E DB
R
OS
Kernel Provides communication between SAP, DB and the OS.
Usrsap<SID>sysexeucNT1386
Installation Logs
Sapinst.log - Specifies the installation success / failure
Sapinst_dev.log - also provides similar log in case of installation is aborted
.tsk file specifies the table/ index etc that needs to be created on the DB.
Each task is commanded by .cmd file and during the process they writes into .log file
Eg: Sasapappl0.tsk.bck
Sapappl0.tsk
Sapappl0.cmd
Sapappl0.log
Sapappl0.str - Structure of the DB
Control.xml
Keydb.xml -Helps to restart installation from the point where it is failed.
13. 13
WHAT HAPPENS DURING INSTALLATION?
1. Extracts the software.
2. Sapinst tool is used to install the software if required we need to download it from
service.sap.com/swdc
3. Checks for user <SID>ADM (SAP System Administrator)
Who owns SAP System and has all the privileges on SAP (Start/ Stop/ Environment)
Domain Admin; AD Admin - Can create the userid
Note: The user who initiates the installation should have the privileges as Local administrator to install
the software, create users, create groups, assign groups, create services etc., (This problems occurs in
a Domain)
If the user does not exist it creates now.
On Windows OS <SID>ADM is also responsible for database but on UNIX ORA<SID> is the owner
to work on the database. ORA<SID> provide the runtime environment for Database.
Windows
App Server Database
<SID>ADM <SID>ADM
UNIX
App Server Database
<SID>ADM ORA<SID>
14. 14
Note: SAPSERVICE<SID> is a service used to start and stop the services
(Password never expires)
<SID>ADM expires for every 30 days
Eg: SAPOSCOL, SAPSID-Instance Number
5. It creates local groups and global groups and assigns them to users
Global groups - Domain Level
Local groups - Locally
SAP_LocalAdmin
SAP_SOL_GlobalAdmin from Computer Management -> Local
SAP_SOL_LocalAdmin Users and Computers we can view this
6. It creates Services
SAP<SID>_00, SAP<SID>_01, SAPOSCOL, SAPCCMSR are created and
Run with user.
SAP<SID> is used to start the SAP System; if the service is not started SAP will not start.
SAPOSCOL is started first to check whether the resources are available (Operating system collector) It
is used to collect the OS Utilization information and pass into SAP system.
SAPCCMSR is an agent to collect JARM (Java Application response time Management) and pass it to
ABAP CCMS (Computing Center Monitoring System)
It is only used in JAVA and ABAP stack.
Users
Groups
Services
Creating directories
Executables
- OS Dependent
- DB Dependent
15. 15
Note:
- Master password is set accordingly to the company policy
- Extract Kernel Executables (OS, DB)
- Create MMC for Windows to start/ stop sap system
From cmd prompt
Startsap name=SID nr=00 SAPDIAHOST=willsys28
Sets the user as SAPSR3 for ABAP
SAPSR3DB for Java Engine
Where the systems are installed with these schema owners i.e., these users owns the respective
databases.
Query:
Select count(*) from dba_tables where owner = 'SAPSR3';
29769 ABAP related tables.
Select count(*), owner from dba_tables group by owner.
7. Creates the Database and runs the scripts
8. Creates the tablespaces and datafiles on DDLORA.TPL
Tablespaces are just like almirah in a house.
9. Now command files are created pointing to .str and data on the exports
10. The task files are created to create the tables and load the entries
The task files are displayed as process on the installation screen
"2 complete 3 running 4 waiting"
11. Upon running all the tasks the SAP Database is created and DBStatistics runs.
12. DB Users are set with default password and SAP Application open RFC Connection.
--- Installation Successful --
16. 16
SAP Installation Steps
1. Download the Installation Guide (www.service.sap.com/instguides)
2. Check the compatibility of OS and DB (www.service.sap.com/platforms)
3. Download the software from (www.service.sap.com/swdc)
4. Search for the known problems from (www.service.sap.com/notes)
5. Install the OS related patches/ fix packs etc
6. Install JRE 1.4.2_12
7. Set the Java environment JAVA_HOME path
8. Set the virtual memory to 20 GB on windows
9. Set the hostname not more than 13 characters
10. Make an entry of the hostname in Hosts file
11. Ensure the installation ports 21212 and 21213 are kept open
12. Ensure the ports 3200, 3300, 3600, 4700 are kept open (DVEBMGS uses these ports)
13. Dump the software into system without any spaces in the directories
14. Verify the software using LABLE.ASC
15. Get the Static IP address (192, 172, 10 networks)
16. Ensure the internet connection is available with a valid S-USERID
17. Execute sapinst.exe
18. Select 2004s
19. Central instance and Typical Installation
20. JAVA Components and JCE Policy
21. Provide SID and Inst Directory
22. Provide Master Password
23. Provide DB SID and DB Host
24. Exports path
25. Kernel Path
26. Oracle Client
27. SLD (Local SLD) Provide Object server name: Host name
28. Parameter Summary
29. Solman Key
30. Installation Proceeds.
Installation Directories D:usrsap
USR directory is created with a shared folder SAP with shared SAPMNT & SAPLOC
Eg: <hostname>sapmnt ~ d:usrsap
SAPMNT: Both in Win and UNIX
SAPLOC: Only in Windows not in UNIX
17. 17
These are shared between systems and accessed locally and globally
CCMS
PRFCLOG
PUT
SID HOSTS
Trans
CCMS - Used for alert logs that is populated by the service SAPCCMSR
(Java Stack Only)
PRFCLOG - These are also populated from JAVA Engine
(Generic Request Message Generator GRMG)
PUT - is used during upgrade
SID Hosts - the complete SAP Application Server.
Trans - is used to host the Developments
SAPMnt: Is a shared SAP Mount which is used to host the directories related to SAP.
(It may be required to create SAPMnt in earlier versions but in the current versions based on
Netweaver it is created automatically)
SAPLoc in Windows
This SAPmnt is shared because it needs to share the transports, support packages, profiles,
executables etc between systems in the landscape.
[Dev] ----------> [Qlty] ----------> [Prod]
SAPmnt
TASKS
Installing SAP Component on SOLMAN
On Windows/ SQL Server
On Windows/ Oracle
Windows/ DB2
Linux/ Oracle
HPUnix/ Oracle
AIX
Solution Manager connects all the three systems (ERP i.e., ECC6.0, Netweaver & CRM2007)
18. 18
I. Installation Inputs
SAPInst
SID
Instance Number (Default 00, 01)
Mater Password
JCE Policy
Path for the CDs.
II. Installation Logs Significance
Sapinst_dir (Win, Linux, UNIX)
Sapinst, sapinst_dev, .cmd, log, .tsk, .tpl, .toc, .str.
III. Installation Steps
Users,
Groups,
Services,
Directories,
SharedMnt,
Kernel (Extraction),
CreateDB,
LoadDB,
Updated Stats,
RFC's
DEFAULT USERS
<SID>ADM -- SAP start (OS Level Access Related to SAP)
ORA<SID> -- For UNIX
SAP SERVICE <SID>
Sys Master Database
system
19. 19
J2ee_ADMIN Java Web
SAP* SAP R/3
DDIC
SAPSR3
SAPSR3DB
Unicode - Multilanguage Support
This requires additional 40% of resources.
Earlier case Individual passwords need to be set but now day's only one Master password for all the
userids.
Multiple Components on a Single DB repository
A host is either a client or a server. A host has its own address on the network, and is its own
machine.
A server has its own address and sometimes multiple addresses. It provides access to services and
information.
A client accesses the servers. It requires its own address.
Interface / Screen
Exports/ System Copies
Kernel [Dependent]
Install Mstr [Dependent]
Java Comp [Independent]
JRE [Dependent]
Exports [Independent of OS, DB]
Installation Directories D:usrsap
USR directory is created with a shared folder SAP with shared SAPMNT & SAPLOC
Eg: willsyssapmnt ~ d:usrsap
SAPMNT: Both in Win and UNIX
SAPLOC: Only in Windows not in UNIX
These are shared between systems and accessed locally and globally
CCMS
PRFCLOG
20. 20
PUT
SID HOSTS
Trans
CCMS - Used for alert logs that is populated by the service SAPCCMSR
(Java Stack Only)
PRFCLOG - These are also populated from JAVA Engine
(Generic Request Message Generator GRMG)
PUT - is used during upgrade
SID Hosts - the complete SAP Application Server.
Trans - is used to host the Developments
Check the groups
SAPLOCAL_ADMIN
SAPGLOBAL_ADMIN
ORA_SID_DBA
ORA_DBA
ORA_SID_OPERATOR
Check the services and ensure that they are running
1. SAPOSCOL - Used to collect the OS Resources
2. SAP<SID>_00 - Which is mandatory to start SAP
3. Listener - Oracle Listener service should be started on the specified
Port (1521-1529)
4. Oracle Service<SID> which is required for the Database
On UNIX ps - ef | grep ora*
On Windows services.msc
Check the USR Directory (SAP Instance files..... App) predefined shared SAP Directory with
SharedMnt, (SAPMnt), and SAPLoc on windows
Run - Cmd - "WillsysUsr"
9. Trans Directory - Used for transporting the Objects
Note: SID Specifies the Application Server and is possible to have multiple <SIDS> differed by the
instance number
Queries:
SQL> Select status from V$Instance; Checks the DB Status
21. 21
SQL> Startup followed by enter key
SQL> shutdown immediate
Note: Only one SAPOSCOL per system
Max of 97 Systems on a single box 98-99 for routing
SAPOSCOL_00 - ABAP Instance
SAPOSCOL_01 - JAVA Instance
Note: Each SID uses different Ports
Note: In the console tree of SOLMAN if all the three entries (SERVICES, USERS and GROUPS) are
available then only we can confirm there are 3 Instances in one single system.
10. <SID> Directory usrsap<SID>..........
Config..... Usagetypes.properties - used to specify the usage types that are installed on the
system.
usrsap<SID>config on a particular <SID>
ERP <SID1> ERP<SID2>
EP EP
BI BI
JAVA JAVA
ABAP ABAP
Note: Now-a-days it’s possible to install different engines as add-ons.
11. DVEBMGS <Instance Number>
DVEBMGS00 - is a ABAP Engine
JC00 - Standalone JAVA Engine
SCS01 - SAP Central Instance
DVEBMGS00 contains J2ee/ SDM/ JSPM directories then it is Integrated Engine (ABAP + JAVA)
Note: Portal is only an application that is not based on ABAP Engine
22. 22
Eg: Consider Hero Honda Landscape
BI - ERP (ECC5.0) - CRM - SRM - PI
Suppliers Dealers
Enterprise Portal
12. SYS Directory
Contains executables and profile parameters to start and stop the system
EXE Directory - hosts all the executables from netweaver exe dir contains
UC/ NUC and 32/64, i386/ ia64
In 4.7 we can see only exe directory
13. Work Directory
This stores the startup and error logs
17-jul-09
Instance:
Logical entity which is installed on a physical entity - which is an Application server.
Instance provides runtime services.
Instance Name
Instance No: 00 - 99 (98, 99 for routing purposes)
23. 23
Structure of INSTANCE
Instance contains Dispatcher, Queue Mechanism, and Work process, Task Handler with ABAP,
SCREEN, and SQL Interpreters. It also contains buffer areas, DB Client and Roll area.
Dispatcher
It is used to handle the user requests that are coming from SAP GUI using DIAG
(Dynamic Information Action Gateway) protocol on port 3200 + Instance Number.
(3201, 3202 etc)
Dispatcher manages all the work process and maintains a queue. Once the request is
sent to dispatcher the dispatcher keeps the request in queue. Based on the availability of work
process it will assign the process to the user request based on FIFO (First In First Out)
User Buffer - Once we logoff everything is rolled off.
Public Buffer - Until the instance is restarted
Work Process
Work process handles the user request using Task Handler. Task Handler contains 3
Interpreters ABAP, SCREEN and SQL.
24. 24
ABAP interpreter used to interpret the ABAP code in the user request
SCREEN interpreter use to interpret the screen
SQL interpreter interprets the SQL statements that are sent by the user.
Select statement - from the buffer area.
Modify/ Insert - Hits the database
Open SQL
This is SAP Proprietary language to ensure that the SAP Components are Database
independent. Each instance is installed with DB Client software to communicate with Database in
Native Language.
The SAP Kernel which is O/S and DB Specific helps in the interpretation.
The user request is processed and it handovers (handshake) the task to Database process.
DBWP (Database work process) process and responds back to the R/3 work process. R/3 work process
checks for frequently accessed content and keeps the copy in R/3 Buffer areas. (Frequently accessed
data). The response rolls out into the user context before it is sent to the user.
User Context
It is a user specific roll area which is used to keep user authorizations, parameters, screens and
earlier accessed content.
Process Flow (LOGON)
1. User requests
2. Dispatcher handles the request
3. Keeps in queue and assign WP based on FIFO
4. The work process gets the username, password, client, logon language and the task handler
interprets and hand over the task to the database process.
5. The DB process checks the credentials of the user and provides the necessary authorizations to the
process.
6. The entire information is copied into the user context which is referred as
ROLL OUT. (The information is copied into Roll Area which is subsequently available for all the
requests made by the user)
25. 25
Note: The user context remains until the user is logged out. The user context is displayed in the
transaction SU56. If the user accesses other than the transactions in SU56 it is missing authorizations
and displayed from the Tcode SU53 (Missing Authorizations)
Process Flow (TRANSACTION)
1. User executes a transaction Eg: ME22N - Purchase Order (or) VA01 - Sales order
2. The request is handled by dispatcher and hand over to the work process.
3. Work process requires information that is not available in the work process. The work process
copies the user related information into the task handler i.e. copy user context into the Task Handler.
It is also referred as ROLL IN
4. Further processing continues
Types of Work Processes
Even though the processes are unique at OS level SAP differentiated between the work
processes based on the nature of work.
The process are determined by the instance name DVEBMGS<Instance_No>
For Dialogue instances the work process will be denoted as D01, D02....
D - Dialogue
V - Update
E - Enqueue
B - Back ground
M - Message
G - Gateway
S - Spool
DVEBMGS is only available in the Central instance.
D01 to DN-1 for Dialogue instances.
Central Instance DVEBMGS - 2112111
It hosts all the process and their will be only one central instance in the entire system.
1. DIALOGUE 'D'
It is only the process which communicates interactively with the users. There
should be atleast 2 Dialogue work process per instance. Dialogue work process initiates Update,
Background and Spool.
2. UPDATE 'V'
It is used to update the transactions in the database. It is initiated by Dialogue
process. There should be atleast 1 Update in the entire system. It is also recommended to have an
update process for every 5 Dialogue.
26. 26
3. ENQUEUE 'E'
It is used to provide locks for the records that are going to be updated. It ensures
consistency for updates. There will be only 1 Enqueue configured in the system during the
installation. It is possible to have more than one enqueue provided they are installed or configured on
the central instance.
4. BACKGROUND 'B'
The tasks which are expensive or time consuming are scheduled to run in the
background mode non-interactively. There should be atleast 2 background work process in the
system
5. MESSAGE 'M'
There should be only 1 message server in the entire R/3 system. It is used to manage
all the dispatchers. It is used to load balance the requests to identify the least loaded dispatcher.
It is also used to provide locks to the request that are coming from Dialogue instances.
6. GATEWAY 'G'
It is used to provide a means of communication with SAP and NON-SAP systems. There
will be only 1 gateway for each instance.
7. SPOOL 'S'
It is used to print the documents to a printer or output to a fax machine etc. There
should be atleast 1 Spool process in the entire system. It is also possible to configure more spool
process depending on the print/ spool volume.
18-jul-09
DVEBMGS00
Dialogue - Interactive - 2 per instance - Initiate update, spool and btc (background)
Update - Non-Interactive - 1 per system - Initiated by dialogue
Enqueue - Provides consistency for updates - 1 per system and can be increased
Depending upon the update requests but needs to increase only on the
Central instance for optimal performance.
27. 27
Background - Non-Interactive - 2 per system - Initiated by dialogue, Time consuming
And long running jobs are scheduled to run in the background mode.
Message - Used during load balancing. It also procures lock from enqueue server
To serve the requests that is coming from dialogue instances. Only 1
Per system.
Gateway - It provides an interface to communicate between SAP and NON-SAP
Systems. 1 Gateway per instance.
Spool - It is only the process that outputs the documents to printers, fax etc.
It is initialized by Dialogue and BTC. Atleast 1 spool per system.
INSTALLATION
1. Download the installation guide from the Market place
www.service.sap.com/instguides
2. Check the compatibility of OS and DB
www.service.sap.com/platforms
Windows 2003 - MS SQL Server
2000 Adv. Server
Or 2008 - Oracle
- MaxDB
Linux - Oracle 10.2.0.2
- DB/2 8
- MaxDB
3. Download the software from
www.service.sap.com/swdc
4. Search for the known problems in
www.service.sap.com/notes
5. Install the OS with relevant support packs/ Fix packs etc.
6. Install JRE 1.4.2_12 (Java Run time environment) to run the sap inst screens
28. 28
7. Set the JAVA environment variable JAVA_HOME or path
Check java -version
8. Set the virtual memory to 20GB on windows
20GB swap memory on HP Unix machines.
If RAM is more than 20GB then 20GB * 3 = 60GB
9. Set the host name which should not be more than 13 characters
10. Make an entry in the host file etc/hosts.
11. Ensure that the installation ports 21212, 21213 are not blocked
(Need to inform Network Admin or Proxy Admin not to block the ports)
12. Ensure that 3200, 3300, 3600, 4700, 4800 series ports are not blocked.
(DVEBMGS utilises these ports)
13. Dump the software into the system. The folders should not contain spaces,
Special characters etc (Eg NWDump or Newfolder - all one word), underscores
are allowed
14. Verify the software using LABEL.ASC
15. Get the private static IP address from the Network team (192., 172., 10. networks)
16. Ensure that internet connection is available with a valid S-Userid.
ERP 2005 - ECC6
ERP 2004 - ECC5
PRACTICAL SESSIONS
www.service.sap.com/instguides
www.service.sap.com/platforms
www.sercvice.sap.com/swdc
- My companies Application component
- ERP 6.0
Select the Database
From Downloads Tab - Select the components Exports, Kernels, JAVA
SR1 - SR2 - SR3 -EHP1 - EHP2
29. 29
Click on download to basket
Market place > Help and Support > Search for Notes
JRE is must as the SAP Screens are developed on JAVA Platform
Virtual Memory: [Extended memory towards HDD]
Need to set the virtual memory
RAM size * 3 + 500MB/ 1GB [32 Bit]
Select the drive where SAP is going to be installed.
Set the host name
Cmd > drivers > etchosts
IP Address Hostname
T1 Shopper Port scan - To check whether these ports are open or blocked.
IDES (International Demo Education System) will have more clients 11-12 Predefined clients and in
the Non-IDES system only 3 Clients (000, 001, 066)
In IDES additional clients - 800, 811, 812 clients are available.
There will be only 2 exports for Non - IDES system
And 6 Exports for IDES system.
LABEL.ASC - contains the content and the DVD number from which we can find whether it is an Export
1 Or Export 2 etc.
Note: Only exports will change for each application like CRM, SCM, SRM etc
20-jul-09
INSTALLATION
1. Central Instance
2. Database Instance
3. Dialogue Instance
From the dump bring up sapinst.exe
From Netweaver
1. Central system Instance (Which contain both Central + Database instance)
Goto Installation Master DVD
30. 30
- Select the respective inst (sapinst.exe). It is an executable.
- On windows sapinst.exe and on Linux/ UNIX use ./sapinst.exe
- Select the components that needs to be installed (ERP, CRM, SCM, SRM, EP,
XI, BI, MI) and click on next.
- select (0) Typical Installation (to install the system with predefined settings i.e.
The port numbers, installation file paths, password are automatically taken). If it
is a custom installation more inputs are required.
- Specify the Master password
- Specify the SID and the installation drive.
- Specify the JAVA component path, kernel, exports path and JCE policy
Required software
1. Inst Master DVD
2. Kernel DVD
3. JAVA Components
4. Exports
Exports depend upon the business component which is going to be installed like ERP, CRM, and SCM
etc.
JCE Policy
JAVA Cryptography which is used to provide the secured encryption & decryption over the
web - because the content transmission over the web is not secure.
- The input lists screen is displayed to review before starting the installation.
- Continue the installation
- Installation depends upon the export content (IDES version may consume 8-12 Hrs) Production
version ma take 4-6 Hrs. It also depends upon the memory.
Components lies in ECC6.0 are (SALES, FINANCE, and PURCHASE... around 35 modules)
31. 31
To display all these over the web then EP (Enterprise portal) is required.
Note: All the SAP components will be installed on the Netweaver Platform. It is up to the customer to
choose the Netweaver components and It is mandatory to choose ABAP components. ABAP is the
platform for all the SAP Components.
ABAP is a part of the Netweaver.
ABAP provides the runtime environment for all the above components i.e. USER Management,
Administration, Management of the file system, processes securing the sensitive data, fine tuning the
performance, database administration irrespective of the SAP component and also managing printers.
POST INSTALLATION ACTIVITIES
SAP is a transaction based. Menu based consumes more dialogue steps than transaction based that is
why SAP BASIS consultants are more familiar with transactions.
32. 32
Login to the system with SAP*, DDIC and Master password (specified during installation)
1. Execute transaction SM28/ SICK (Installation consistency check). It checks the compatibility
between OS, DB and the R/3 kernels. If there is any inconsistency it will recommends us to fix before
proceeding further. Based on the displayed message we may need to upgrade OS patch levels, DB
support packs and R/3 Kernels.
SM28/ SICK
2. SLICENSE - It is a transaction that is used to apply the license to get the runtime support for
the system even though it is valid for 30 days (4 Weeks i.e. 28 days). It is recommended to apply
license because they are not considered for support.
-Goto - Market place www.service.sap.com/licensekey
-Click on obtain permanent license key
-Select the Installation number based on the component (ERP, NETWEAVER(EP, BI, XI, PI, MI,
JDI), SCM, SRM, CRM & Solution Manager).
-Specify the system ID(SID), OS, DB, System Type, purpose(DEV, PRD, QAS, TEST etc)
-Click on continue to display the hardware key input.
The license key is specific to Customer, Installation number, System Number, Hostname and the
Hardware key.
- Hardware key is unique (use command saplicense -key )
- Specify the Hardware key and email-id to generate and send license key to the mail-id
specified, Alternatively select the system and click on display license script and save it to PC in the .txt
format.
3. Execute [Slicense] Tcode
Click on > New Licenses
Click on > Install license key and it prompts for the path of the license key, provide the
downloaded file path and click on OK to apply the license.
4. System Settings SE03
Depending upon the type of system we need to set the system to modifiable and not modifiable.
33. 33
Goto SE03/ SE06 system change options to set to modifiable or not modifiable. This is one of
the most important security setting which is liable for auditing. Toggling between the changes are
recorded and it is advised to obtain permission from the respective authority to make necessary
changes in the Production System PRD
Except DEV and SANDBOX remaining all the systems like QAS, PRD, PRE-PRD are set to not-
modifiable i.e. no object can be modified in these systems.
The changes are only transported to the not modifiable systems.
21-jul-09
1. SICK/ SM28 - SAP Initial Consistency Check
Checks for the Incompatibility between R/3 Patch Levels, Kernel Levels, OS levels and Database
patch levels.
2. SLICENSE
SAP Issues two licenses, one is the permanent key valid upto [31129999]
The other one is Maintenance Certificate which is valid upto 3 Months. This Maintenance certificate
is introduced from JAN/ 2009 onwards. It locks SPAM so that no upgrades are allowed without a valid
Maintenance certificate.
3. SE03 - System Settings
34. 34
Db click on Set system change Option
4. SE06 - Perform Post Installation Action
Select either one of the option.
1. Standard Installation
2. Database copy or Database Migration
1. Standard Installation : It is used when a fresh system is installed.
2. DB copy or DB Migration: It is used when a system is setup as a copy of production or pre-
production system.
SE06 transaction is used to set the CTS (Change Transport System). It initializes the Transport
Management system. A message will populate to configure TMS in the client 000.
35. 35
TMS: Transport Management System. It is used to setup the systems, their roles, Domain controller,
backup domain controller, landscape and their routes.
1. Domain Controller: There will be only one Domain Controller in the system landscape. In most of
the environments [DEV] is treated as DC because, this is the first system in the Landscape
Login to the system/ Client 000 with the user other than SAP*/ DDIC
Execute T-Code STMS
Eg: {from se06 > perform post installation action}
> STMS
- A pop up window prompts to configure Domain Controller.
- Specify the description
Transport Domain Name: Domain_<SID>
Save the configuration
NOTE: If the Domain already exists then we can execute a TCode [DICO] to delete the existing TMS
configuration. It should be executed in STMS and also the RFC connections.
Including the system in the Domain
Specify the Domain Controller
Target host
System Number
User: TMSADM (Default User)
TMSADM is a communication user created during TMS configuration (Do not delete the user, lock
the user, change password, set to expiry will hault the system transports, support packages and
applicatoins etc)
A message SAP system "waiting to be included in the transport domain" is displayed in the external
system.
Approving the inclusion of Systems
Login to the DC
Execute STMS
From Menu Overview > Systems
The system is waiting to be included
Select the system and click on approve from Menu SAP System.
SALE - Defining a logical System
Creating Virtual Systems
36. 36
It is a standard practice in the industry to create virtual systems as the real systems could not
be available during the initial configuration (DEV server is procured during implementation, QAS will
be procured after 3 to 4 months from kickoff date and the PRD is procured before 2 months of Go-
Live)
Virtual Machines/ Systems can be replaced by real systems and the configuration now points
to the real system.
Goto STMS (Domain Controller)
> Menu Overview
> Systems
> SAP System
> Create
Virtual System
For Eg:
System : JOQ
Description : Quality System
TRANSPORT GROUP
It is a naming convention group_<SID> we can configure all the systems to a single transport group
i.e. all the developments which are performed in Development system will be automatically available
to other systems in the landscape. The group of systems which shares the transport directory in
common are said to be in one group but due to sensitivity of PRD it is moved into a separate group.
1.
Shared Data
2.
Defining the Landscape
37. 37
Execute STMS
> Click on transport routes
From over view menu
> click on change
> from Menu Configuration
> Standard Configuration
> Three systems in group
Eg: Specify DEV: JOD
QAS: JOQ
PRD: JOP SAVE
Provide Three System Configuration under the Description.
22-jul-09
Practicals CONFIGURING STMS
Perform DICO to delete the STMS configured earlier if necessary and the RFC connection from the
external system.
POST INSTALLATION ACTIVITIES Continuation ...
38. 38
From 000/ SAP*
RZ10 - Initially we have to import profiles from OS Level to SAP level.
From menu SYSTEM > Import Profiles of Active Servers
SCC4 - Roles are client Specific
Logical system <SID> client
Cross clients - all the clients
SALE - for assigning the logical system.
Click on new entries and provide <SID>Clnt900
Default clients : 000, 001, 066
We can create upto 1000 Clients 000 to 999
For the newly created client say in this case 900 a user will be created SAP* with pass as the
password.
For the first time we cannot login [SAP* / pass]
So being from another client perform RZ10 - change the parameter to
Login/no_automatic_user_sapstar to 0 instead 1
After creating a client need to perform client copy [SAP_CUST]
Always need to copy 000 client because it will have all the customized data.066 is for early watch.
Create an new user as SAPUSER copied from SAP*/ DDIC logging in as SAP* user from the newly
created client.
Login to the new client with our userid and password and lock the DDIC and SAP*
----- TASKS -----
SETTING UP A LOGO
Execute SMW0
Select (0) Binary data for WebRFC
Click on Find button
Click on execute
39. 39
Create new
Obj name : ZTEST
Desc : IMAGE
Browse for the Picture
From settings menu > Click on MIME type
Add .jpg format
Save.
GOTO - SM30
Click on maintain
Click on new entries
START_IMAGE : ZTEST
Prompts for the Change request - proceed and test the logo
SETTING UP TEXT
Execute - SE61
40. 40
Document class : General text
From document tab NAME - ZLOGIN_SCREEN_INFO create
Type the text - Welcome
SAVE.
23-jul-09
Roles granted for me in the SAND BOX for Capgemini
POST INSTALLATION ACTIVITIES
1. SICK
2. SE06
3. SE03
4. STMS 4.1 SALE
5. RZ10
Used to import the profiles from OS level to DB. The profiles are available in
usrsap<sid>sysprofile. These profile requires management for fine tuning, configuring buffers etc
From 000 > Goto RZ10 > Utilities > Import profiles of Active servers >SAVE
6. SMLT
41. 41
Perform language transports if any. The system is an unicoded system to support the
all available languages but we need to import the additional languages as per the requirements.
Download the languages in
usrsaptransepsin Directory
Goto SMLT > and create a language > specify supplementary language i.e. if the script is not
available in main language it will display in secondary language.
English > Primary
German > Secondary
Goto I18N (Globalization / Internationalization of Languages)
Click on > Current NLS settings
Get the parameter zcsa/installed_languages = DE
If we specify any new language it needs to be updated in the above parameter using RZ10
Clink on ADD from NLS settings to include additional languages that are going to be
imported using SMLT.
Steps:
42. 42
1. Execute I18N
2. Add language that needs to be imported in I18N
3. SMLT create language
4. Click on > Import package > specify the path usrsaptransepsin
5. Download language from Market place
6. Import
7. Set the parameter zcsa/installed_languages = AEDZ
6. SPAM
Apply the patches that are relevant for SAP application component
7. SR13 Install SAP Library
43. 43
SAP Provides screen context help i.e. when a user struck at one screen he can use Menu Help >
Application help.
SR13 >
New Entries
VARIENT PLATFORM AREA PATH
SAPHELP WINNT IWBHelp Copy and Paste from
Market place.
1. Dynamic Help
2. Plain Html Help - Html documentation installed on Web Server
3. Plain HTML - HTML docu installed on File server
4. HTML Help File - It occupies less space, opened by html help viewer.
It is in compressed format.
For documentation > Market Place > SAP Solutions > SAP ERP >English
Note: Need to create a folder in D:SAPHELP...... (sapdocdc.ini) paste the path.
8. DB13 - Define Backup schedule
- click on date and select backup
- type (offline/ online) and save
9. SM36 - Define standard background (House keeping jobs)
44. 44
Note: Create users in SU01 and assign SAP_ALL to the functional and technical team as the security is
not implemented.
24-jul-09
STRUCTURE OF APPLICATION SERVER
Dispatcher - DPMON
Workprocess - SM50/ SM66
User Context - SU56
Task Handler - from Work Directory
Buffers - ST02
Dispatcher receives the request and processes them according to the queue. The requests are
processed by using a dialogue process. Dialogue process is the only process that interacts with/
communicates interactively with the user. There should be atleast 2 Dialogue process per instance.
Each process requires 75MB to 150MB of memory on any average.
The memory should be calculated after reserving memory for OS and the Database.
Eg: 4GB RAM:
1 GB reserve for OS and DB
3 GB 3000/ 150 = 20 Processes
Min and Max upto 40 Processes, but depends upon how heavy the processing goes.. If a reporting
user requires 3GB of memory then there will be a memory bottleneck.
The maximum number of work process an instance can support is W0 to W99 (100 Work processes).
There are cases where more than 100 are configured but it is not recommended. If the system
supports more than 100 processes then it is better to configure one more instance on the same server
differed by the instance number.
* The work process are configured by the parameter rdisp/wp_no_dia = XX
45. 45
For an Ideal Instance the sum of the Dialogue processes should more or less equal to non-dialogue
process (unless a reporting server, which needs only dialogue)
The dialogue response time should be around 600 to 1000 Milliseconds (1 Second)
Each dialogue process is restricted by using a parameter rdisp/max_wprun_time = 600 s
(10 Minutes) after which the process will be timed out. In order to run the activities that consume
more time then the above we need to run in the background mode or increase the parameter value
from RZ11 (Dynamic parameter) i.e. during the month end the parameter can be changed to 1800 -
10000 from RZ11 for specific period of time. Upon task completion reset the value in RZ11 (No
system restart is required)
WORK PROCESS MULTIPLEXING
(Consider Restaurant Activities).
Each user transaction may be served by one or more processes with out restricting to the user
similarly each work process serve multiple users with out restricting the user. (No dialogue process
remains ideal)
Each process can serve 5 - 10 users and Each SAP transaction consists of multiple (LUW -
Logical unit of work) Each LUW contains task which should be completed/ rollback as a group. Each
LUW is a commit or rollback (no intermediate stage ... which makes the system inconsistency)
CONSIDER A TRAVEL AGENCY
In a travel agency buying the ticket is LUW (Outward/inwards).
1. LUW (Outward/ inward)
Booking accommodation (LUW for number of days)
2. BIND 1 & 2
Tickets to and fro + Accommodation)
3. Transportation (LUW for a local tour)
BIND 1 & 2 & 3
4. Appointment (Dates are not available Eg: Darshinam)
BIND 1 2 3 4
Each of the LUW is performed by a single different work process and is restricted to 600 Seconds and
task has to complete within 600 milliseconds
46. 46
LICENSING
Standard License - till 9999(YYYY)
Maintenance License - 3 Months
Each user license cost - 4000 USD
In India tag is 2000 USD for min number of users
Eg: 10 + 1 is minimum - 40000 USD
Developers are charged differently - 8000 USD
10 + 1
Users Developer
48000 * 50 = 12, 00,000
4% VAT 48,000
17% Maintenance /Year 2, 04,000
-------------------------
14,04, 000
10.3% Service Tax 2,04, 000
20, 000
+ Customs ------ --14, 68, 000
22% Maintenance cost across the globe except INDIA
5 1 2
22% 24% 26%
Eg: Telco - 5000
Bajaj - 270
ARAMCO -50000
47. 47
One License - SOLMAN, ECC, SRM, BI, EP, PI, MI
License is user based
Once the license key is received then goto SLICENSE Tcode -> INSTALL
And click Install new licenses button
From cmd prompt
Soladm> saplicense - get
It checks for 1. SID
2. Hostname
3. Hardware Key (Installed by SAP - Its an executable)
Note: All the executables resides in - D:USRSAPSOLSYSEXEUCNTI386
Note: In Linux SAPDB/ MAXDB will be the cheapest
SAPDB/ MAXDB is a DB that comes along with the SAP
USMM - System Measurement for the users
SUSER - Password never expires (Service Userid)
25-jul-09
Dialogue handles the requests and process only reports with out any assistance. If the reports are
long running, time consuming, expensive then they can be scheduled to run in the BTC mode.
During an update dialogue updates temporary table and update-process updates them later.
48. 48
For print requests Dialogue handles the request and update in Temse. The spool process
Prints from Temse (Temporary Sequential file it can be at file/ DB Table)
Dialogue communicates with enqueue while updating a transaction and obtains lock so that no user
can update there by assuring data consistency.
Dialogue communicates with the message server to obtain locks for a record that is coming from
Dialogue instance.
Dialogue communicates with the gateway while establishing connection with other SAP systems.
Dialogue is monitored by using SM50, SM66, and DPMON
DPMON.exe is a dispatcher monitor which can be executed when the user could not login to the
system (Experience Hour glass). Its not a TCode.
Killing the process
From Command Prompt
> DPMON (Process the list at OS Level)
>K
> Provide - Serial Number
> Provide - PID
PROCESS MANAGEMENT SM50/ SM66
Work process list is displayed in SM50/ SM66. Each process has the following
- Serial Number : Starts with 0 (DEV_W0) in work directory
- Type of Process : (DVEBS) Message and Gateway are not displayed
- Process PID : The identifier at OS level. It is used to kill the process at OS Level. They are
displayed as [DISP+WORK] on windows in the Task Manager.
DW - dispatcher work process in UNIX
0 to 11 [12]
And 1 is for dispatcher 13 Total
49. 49
-status : Waiting, Stopper, Running
Waiting : The process is waiting "Available" to serve the user request.
Stopped : The process is stopped due to an error.
Running : The process is executing the task (SM50 running with our
Userid should not be considered)
On Hold : The user request is on hold by process for waiting certain
Resources on the other systems (RFC, CPIC)
Shutdown : The process is killed/ shutdown but restart mode set to NO
Waiting for
PRIV Mode: The process goes into Heap mode. It will be completed only after the task
completion/ timeout.
SLEEP MODE: The work process goes into sleep mode waiting for resources (RFC
problem)
- Restart YES/ NO : if the process is terminated and it will restart automatically (Yes), not restart(NO)
- Error : No of times the process is restarted
- Semaphore : The block that hold at OS Level (DISK)
- CPU : The amount of time WP spends utilising CPU resources
- Runtime : The amount of time the process spends on the user request.
- Report : The name of the program/ report the WP is executing
- Client : The client number logged in
- User name : Name of the user
- Action : Select, Update, insert i.e. action on the database.
- Table : Name of the table.
26-jul-09
SM66 GLOBAL WORK PROCESS OVERVIEW
It displays the processes based on status. It displays the processes belongs to all the instances.
From SM66 - Click on SELECT PROCESS
50. 50
The major advantage of this is it displays the memory consumed by work process. Double click on
the WP to display (Extended, Roll and the Heap Memory)
On Oracle execute
PS -ef |grep ora* (lgwr, smon, pmon, dbwr, ckpt, arch)
SM04 : is used to display the logged in users along with the sessions. We can terminate
the session or the user completely using End session or logoff user.
From User > Logoff User > Local or End the session
BACKGROUND PROCESS SM36
It is used to run the expensive programs, reports that consumes more time in the background mode.
i.e. a job is scheduled to run at a specific time or periodically.
Example: Daily report, Weekly sales report or expensive to run in the peak hours so they are
scheduled to run in the background mode during off peak hours.
Process Flow
1. User submits the request via dispatcher to a WP.
2. The Dialogue work process handles the request and updates the tables
3. Tables TBC* are used to store the BTC Jobs
4. A program SAPMSSYS starts in the dialogue mode at frequency that is defined in the
parameter rdispbtctime=60Sec
SAPMSSYS - Checks for every 60 sec into the TBTC* table.
* To delay the BTC processing increase the time as much as possible.
Example : 100000 seconds 27Hrs
RZ11 (rdisp/btctime)
Refer - BTCTRNS1 from SE38
We can also use BTCTRNS2 to resume the background jobs (Execute the program)
5. BWP looks into the table and identify the jobs which are in the Ready State.
6. BWP runs the job in the Active mode till completion/ Cancelled.
BWP are defined by using rdisp/wp_no_btc=2 (Min 2 per system)
We can increase as many as possible depending upon the resources.
** Note: We can pause jobs by setting the value to 0 zero **
BWP jobs are defined in SM36
51. 51
Specify Jobname: Daily report
JobClass: C A, B, C (High, Medium, Low Priority)
Class A requires a dedicated BTC of class A which are defined in operation modes.
Class B has medium priority over class C jobs
Class C jobs runs with Normal Priority
JOB STATUS
1. Scheduled: The job is defined but time to execute is not specified.
2. Released: The time to execute is specified
3. Ready: The Time to run the job is reached
4. Active: BWP processing the task
5. Cancelled: The job is cancelled
6. Completed: The job is completed or finished
Execution server - Name of the instance that provides BWP to run the job
Exec Target - Willsys_<SID>_00
Click on step
JOB STEPS
We need to specify the following for the JOB Execution
1. ABAP Program
2. External Command
3. External Program
1. ABAP Program - Is a predefined program that will be run in the background with user inputs as
variants.
Variant - Is a predefined value that is populated during the runtime.
Eg: consider RSPO1041 from SA38
Goto SA38 and define variant for 7 & 15 days
Prog: RSPO1041
Variant: willsys SAVE
Click on start condition - IMMEDIATE or DATE....
2. External Commands: The job can be executed by external commands which are defined in SM49/
SM69. These commands are OS commands that will be executed at command level.
Eg: BRBACKUP, BRARCHIEVE, BRRESTORE, BRCONNECT
Use DB13 to schedule the jobs. The jobs in DB13 uses OS Commands.
52. 52
3. External Programs:
NAME: Name of the program
Parameter:
Target Host:
Name : Specify the name of the program and the parameters. Specify the name of the target host.
Specify the start condition
Immediate/ Periodic/ Jobstart, Event (SM62)/ Operation. Modes.
Job Started: When dependent job started this gets triggered.
Event: When an event triggered in SAP it also triggers the job as well.
OPERATION MODES RZ04 SM63
It is the process of switching DIA to BTC and vice versa during the peak hours as we need more
dialogue process and during off peak we need more BWP to run the BTC jobs.
RZ04 > Define
1. Instance
2. Operation Modes (Peak and Off Peak)
3. Specify the processes for modes
Goto SM63 to define timing for the modes
RZ04 > click on Create [Instance Operation Mode]
Peak_mode
Peak_mode operations
Default
SAVE
Off peak
Off peak Mode
Create new Instance willsys28
Start profile
Save.
27-jul-09
BACKGROUND JOB MONITORING SM37
53. 53
rdisp/wp_no_btc = 2
rdisp/btctime = 10
Operation modes - to make use of the resources optimally
SM37 is used for BTC monitoring
Execute SM37
Specify username, date & time, job name, status ----- Execute F8
1. The jobs with status RELEASED indicate the jobs are released with scheduled time and waiting for
their turn/ time.
2. The jobs with status READY indicates the jobs are ready to pickup by the scheduler
Eg: Consider a CAB - might come late
No sufficient CABS
Long time in ready status indicates
1. The existing jobs are running for a long time i.e. expensive programming or sql statements/
fetching huge amount of data.
2. The configured BTC processes are not sufficient to handle the requests in Ready status.
3. May be due to heavy load on the system
4. Also due to passing the jobs by extending scheduler time/ making BTC to 0 by running the
program BTCTRNS1.
Action:
1. Increase BTC work processes based on the available resources by using the parameter
rdisp/wp_no_btc = 2
2. Schedule the jobs appropriately during off peak hours.
3. ACTIVE BTC in active status (long time recorded)
54. 54
The job is running an expensive activity like client copy, pay roll run.
Jobs that fetch information from BW systems, annual reports, dunning reports may take hours
together or even days to complete successfully.
Active indicates the following
1. Jobs are expensive and running to fetch the content.
2. Jobs are waiting to be processed by the target system (RFC, CPIC)
3. Jobs are waiting for the locks to update the records.
Reasons and Resolutions ACTION.
1. Some jobs are bound to run for hours and based on history leave them to run.
2. Check the bottle neck on the target system (ERP-BI-EP-SRM-SCM-SRM)
3. Wait until the locks are released/ jobs are completed. Report to SAP in case of dead locks.
Select the status - Db click - and click on Job Logs
Execute SM37
Highlight the job
Click on Job log
Sap takes at most care to avoid dead locks.
4. FINISHED
55. 55
The jobs are completed successfully but check the log for further information/ completion.
5. CANCELLED
Job status cancelled/ finished but failed in the log.
Reasons for cancellation of Job
1. User and password Issues (Authentication/ Authorization) user lock, userid expiry, password
change, lack of roles etc.
2. File system problems: BTC reads from the file system to update the database. File not opened, or
corrupted, file sharing issues, file came with different characters, file not found as well.
3. Variants are not properly defined.
4. Dead locks issue (Lock mechanism congested)
5. Update mechanism failed
6. Table space over flow (ORA-1653; ORA-1654)
7. Table space max extent reached (ORA-1631; ORA-1632)
8. Archive struck (ORA-255; ORA-272)
9. The memory is not sufficient and errors
(No Roll Area, PXA (Buffer), Page Errors)
10. Problem in the program and inputs (Indefinite loops like 1/0)
11. Dependent jobs/ events failure
12. Target systems are not available to process the jobs.
Standard Background House keeping Jobs
1. As a part of the post installation we need to schedule house keeping jobs in SM36
Execute SM36
Click on "Standard Background Jobs"
56. 56
Click on "Default Scheduling"
And schedule the BTC jobs with default time.
1. RSBTCDEL - Used to delete the background jobs
Reporting structure "BTC" "DEL"
2. RSSNAPDEL - Delete the old ABAP Dumps
3. RSPO1041 - Delete the old spool logs and files
4. RSMO13002 - Delete old update requests/ logs
5. RSCOLL00 - Collects performance info in transaction ST03.
6. RSPO1043 - Spool Reorganization
Eg: from SA38
Click on Execute
And Specify the Days ...
57. 57
From GOTO Menu > Variants > SAVE as Variant
SM37 - MONITORING BACKGROUND JOBS.
1. Used to display the jobs based on job, username, date and status
2. It displays the job logs
By highlighting a job and click on Job Log
58. 58
3. Do not kill the active job unless it is permitted by the owner
4. We can repeat the scheduling of the job if required
5. Background job out put is a report to a spool (Printer), fax or email or even updating a database
(Eg. Client Copy)
6. We can move the jobs from one instance to another instance.
From Menu Job > Move to different server. (Consider the above screen)
Active jobs can be moved.
28-jul-09
There are Third Party BTC Job Schedulers
1. CONTROL-M Scheduler
2. RED WOOD Scheduler
3. TIDEL Scheduler
4. SAP Job Scheduler
5. MAESTRO Scheduler / IBM
These Third party schedulers are not specific to SAP but we can customise these to SAP
These job schedulers are intelligent to work based on the status of Predecessors.
The tool defines when to trigger, how to handle various statuses and alert users accordingly.
Eg. KODAK Runs 14,000 Jobs/ day
HP Runs 20,000 Jobs/day
59. 59
BTC - Business Case
Sony an electronics company communicates with suppliers for the TV Cabinets/ Circuit boards, Picture
tubes, assembling & packing.
Vendors instead of communicating in hand documents they are advised to communicate in
soft documents. SAP also sends soft documents as well.
i.e. the communication is performed electronically.
BTC Jobs performs the following:
1. Run long running reports for an End User
2. Runs payroll for the employees
3. Client copy for the technical consultants
4. R/3 BIW Replication
5. Communication with NON SAP Systems to fetch the data
6. Dunning report for Finance team
7. Weekly, Monthly and Annual Reports
8. Runs standard jobs for House Keeping
60. 60
9. To run Database jobs using external commands DB13 (SM49 provides commands)
NOTE: In table TSTC, we can get a list of all existing Tcodes and which programs are called by those
transactions.
From SE11 - Provide the table name TSTC and execute providing the T-Code to find the Program
No bother of "Schedule/ Released" Will not in our scope
We need to take care about the Status
61. 61
Ready for longer time
Active for the longer time.
BTC logs are deleted by scheduling RSBTCDEL which deletes the log files from TBTC* based on the
time interval in the Variant SA38.
UPDATE PROCESS
It is used to update the database from Temporary tables. There are three 3 Types of updates
V1 - Handles High Priority Updates
V2 - Handles low priority updates
V3 - Reserved by SAP (Currently no use)
Updates are defined by the parameter
Rdisp/wp_no_vb=1
Rdisp/wp_no_vb2=2 from RZ11
Technically for every 5 dialogue work process there should be one update of type V1/ V2
Update Flow:
1. User submits the request for an update
(Let us say a Purchase Order)
Eg: Bearers won’t go to the Pantry
Similarly All dialogue won’t go to the.... DB
2. Dispatcher handles the request and provides a dialogue process to it.
3. Dialogue process interprets the request and communicates with enqueue process to provide a lock
to update the record consistently.
4. Dialogue process updates the temporary tables called as VB* asynchronously
VBHDR - To store update header information
VBDATA - To store data that needs to be updated
VBMOD - The modules through which the data is updated
VBERR - Update Error Table
62. 62
And gets a transaction ID from Number Range Buffer (Transaction SNRO and Table NRIV Number
Range Interval Table)
SNRO
NRIV
Eg:
63. 63
Dialogue Updates - Update Releases the lock.
5. Update gets initialized and reads from Temp Tables and updates the permanent tables
synchronously. Update inherits the locks and releases them upon updating permanent tables. Update
updates the record based on transaction-ID using VBMOD Table (Every update is module based in
SAP)
6. When the Dialogue updates the temp tables the record is displayed in SM13 which will be
processed by update.
UPDATE MONITORING SM13
The record that needs to be updated by update process is displayed in SM13 with status INIT.
If the records stays for longer time in INIT status that indicates the updates are busy or there are no
sufficient update processes or update mechanism is deactivate from SM14.
Update handles the record and change the status to "RUN"
If the update stays long time in status RUN
1. Longer Update
2. Dead Lock (Needs to inform SAP for Program correction)
Updates which could not be updated will be thrown into ERR Status.
1. Update deactivated in SM14
2. Programming problems in LUW
3. Table Space overflow (ORA-1653; ORA-1654)
4. Max Extents reached (ORA-1631; ORA-1632)
5. Archive Struck (ORA-255; ORA-272)
29-jul-09
BATCH/ BTC/ BACKGROUND
64. 64
Each SAP transaction is considered as Single LUW (Logical unit of work) which in turn
contains multiple LUW's needs to be committed to commit the SAP Transaction. If any one of the
LUW is failed the entire transaction is rolled back. That is the reason why dialogue updates Temp
Table.
1. User submits the request.
2. Dialogue handles the request.
3. Obtains lock from Enqueue so the data consistency is achieved and the records are only for display.
4. Updates the request in Temp tables (VBHDR, VBDATA, VBMOD, VBERROR)
5. Gets the transaction ID from NRIV (Number Range Interval Table)
6. Update gets initiated to update the VB* content permanently into the database.
7. Update inherits the locks.
8. Updates the database based on transaction ID.
9. Update releases the lock from the record.
UPDATE Statuses.
The following are the statuses displayed in SM13 Transaction.
INIT The record is waiting to update by an update process.
ERR The record runs in to an Error (Update Error)
RUN The update is executing the record into DB
AUTO The error records are reprocessed after a system restart/ update activation
Automatically.
SM13 - Repeat Update
Used to repeat the ERR updates. The update are terminated or cancelled due to the following reasons
1. Table space overflow
2. Max Extents reached
3. Archive struck
4. Programmatical Error
5. Update Deactivation (SM14)
Running updates during deactivation
DEACTIVATE -----------> THROWS TO ERROR -------------> GOES TO AUTO
At this point of time we need to select the update (put a check mark of the update from SM13) and
click on [Repeat Update]
Refer modules from SM13
65. 65
The updates can be repeated with status ERR
Rdisp/vbmail = 1 to send email to the users if an update is failed.
Update mechanism can be deactivated by setting the parameter
rdisp/vb_stop_active=0 to deactivate the update mechanism in case of DB errors.
It can be activated from SM14.
rdisp/vbdelete=30 to delete the update records older than 30 days irrespective of the status.
Rdisp/vbreorg =1 to delete the incomplete update request during a system restart.
Report in SA38 RSM13002
To delete the old update requests.
Deletes the executed update requests. Reorganize the update tables. (Its a background job)
V1 and V2 updates needs to be defined in the system.
V1 handles critical updates and V2 handles the non-critical updates which are defined by the
programmers.
We can see either V1 or V2 in the standard SAP Program SAPMV45A by executing SE38
MESSAGE SERVER/ PROCESS
1. There will be only one message server through out the System.
2. It is used to manage all the dispatchers and identify the least loaded dispatcher and forward
the user request to the dispatcher provided logon load balancing is configured in transaction SMLG
66. 66
Logon Groups SMLG
SMLG > Create
Provide GROUP: For Eg: MARKETING
INSTANCE: dewall36_R3I_00
Now from SAP Logon Screen
Click on Groups > and Provide SID and Message Server.
We can find the Active servers from SM51 and on db click on the Host name to view all the Processes.
CONFIGURING SMLG
1. Define a logon group from TCode SMLG
2. Assign the instance.
3. Open GUI > Select groups and create entry by choosing group.
4. Add an entry in etc/ services
As sampsDEV (Message Server Name) 3200/tcp
Entry should be made on all GUI systems.
Note: The load is calculated based on in ST07
5. create a file sapmsg.ini if not exists from (x:windows)
Sapmsg.ini > open [MESSAGE SERVER]
DEV = <hostname>
67. 67
Mechanism
1. User communicates using GUI.
2. sapmsg.ini gets evaluated and checks the port in etcservices to communicate with the
message server.
3. Message server maintains the details of favorite server and routes the request to that
dispatcher
4. Dispatcher handles the request - Queue - Dialogue
Message server obtains the lock for dialogue process if the request is coming from the Dialogue
instances.
SMMS: MESSAGE SERVER MONITORING
ENQUEUE PROCESS / SERVER SM12 Monitoring
Note: Server Naming convention is used because each of the process serving the user requests
(Dialogue, BTC, Update, Enqueue, Message, Gateway and Spool DVEBMGS)
It is also possible to install and configure all the above servers on different instances or hosts.
ENQUEUE:
It is used to provide data consistency while updating the system. It provides locks from a
lock table before a record gets updated and ensure that the record is available for display during an
update.
68. 68
There will be 1 One Enqueue process installed during installation. It is also possible to increase
Enqueue processes to more than one depending upon the updates but most of the customer
environments there will be only 1 One enqueue process.
It is configured by the parameter
rdisp/ wp_no_enq = 1
30-jul-09
DEAD LOCK
SAP TRANS ------ MULTIPLE LUWS
MM Dept Sales Dept
X + Y (LUW1) A + B (LUW1)
Z + M (LUW2) X + Y (LUW2) Dead Lock
Q + R (LUW3) R + Q (LUW3)
Enqueue process the locks and unlock the record during an update.
Enqueue server maintains the lock table on the shared memory of the Central Instance (or on the
instance where it is installed)
It is recommended to increase the Enqueue processes only on the Central Instance.
Technically the Message and the Enqueue should reside on the same instance (It is not mandatory). If
both are installed on the same machine then it will be more comfortable for message server to
communicate with Enqueue process to obtain locks for Dialogue process that are coming from other
instances.
RFC
69. 69
DIA - MSSG - ENQ - MSSG - LOCK - DIA
TCODE - SM12 (Lock Management)
Enqueue table size is defined by the parameter
Enqueue/table_size=4MB (Earlier 1 MB to 4 MB) in Netweaver systems this can be increased to
100MB
LOCK MONITORING/ ENQUEUE MONITORING SM12
Shared Mode
Exclusive Mode.
Locks are monitored in transaction SM12. In principle the lock which are older than one hour
should be reported to the escalation manager. If the lock table is filled (Enque/ Table_size) an
overflow occurs in the lock table.
1. Check whether the update server is still performing the updates. If the updating has stopped, then
the lock table can quickly become over filled with the locks held by update requests. We can resolve
the problem by restarting the updates. If updating has not been interpreted, then we must enlarge
the lock table.
Note: Enque table overflow is recorded in SM21 and ST22
Eg: Execute SU01 from Shawn user/ 800 and edit shramana user
Execute SU01 from Shawn user/800 and edit shramana user
Following message is displayed
And now execute SM12 which displays the Exclusive Mode lock
2. Enque time is too high
70. 70
As a part of the response time enqueue time should be 1ms - 5ms for Central instance and 100Ms
in case of the request that is coming form Dialogue instance.
Then we can consider the following
1. Lock table is overflow and the locks are held in SM12
2. Update is deactivate (SM14) due to any of the issues in DB. If the update gets deactivated then the
locks are not released.
3. If the Enqueue time increases i.e. there could be RFC issue or Enque wait time is increasing then
consider increasing Enqueue work processes.
4. Dead locks (Usually never occurs, but there is a collision between PP, Manufacturing and Material
Module, so highlight this issue to SAP)
In some instances we may need to release the locks but we need to follow certain process.
Do not release the lock in SM12 (Even though there is an option)
Lock deletion is recorded in SM21.
1. Users complaint that he could not update a record and message pop up stating that the record is
locked by user XYZ.
2. Check the period of lock (if it is older than 1 hour inform to the escalation manager)
3. Get the written B&W approval from the user and terminate the session of that user using SM04.
(Only Terminate or End that session)
All the transaction activities are recorded in CDHDR
Note: Initially 20Kb Mem is given from ztta_roll_first.
We may need to allow some locks for more than one hour or days (Eg. Payroll update
processing) consumes lot of time. We need to ensure that dialogue process should not held for
longer time, but however BTC is allowed.
31-jul-09
SPOOL PROCESSING
User request - DIA - (Tables TBT*) BTC---- (TST01, TST03)--SPOOL -- PRINT
User request - DIA-- (TST01, TST03) --- SPOOL ------ PRINT
71. 71
PROCESS/ FLOW:
1. User request to print a purchase order (or) user schedule to print dunning reports (LEGAL Notices,
Credits, LOANS etc)
2. These print request are processed by the respective Dialogue/ BTC and stores the content in TEMSE
- Temse is a temporary sequential objects that are stored at OS (File system) or Database level which
is defined by the parameter
rspo/store_location=G or DB
(G Means Global Directory usrsapSIDsysglobal)
(DB Means - Database tables TST01 and TST03)
Note:
DIALOGUE - Multiplexing
BTC - Single Process
The Advantages of TEMSE.
TEMSE size is 99000
Refer:
SU22 - (s_spo_act) - To identify the tcode/ Authorization objects
SP01
SU24
The Temse can be stored in database or OS level. Temse remains in the DB/OS unless they are
deleted explicitly by SAP standard reports.
TEMSE AT OS OR DB (WHICH ONE IS RECOMMENDED?)
OS [G]
1. It is recommended because the print request are printed faster than database. i.e., from Global
directory requests can be converted to output request at faster rate than database.
2. This is only recommended when the requests are small in nature. (Every day 50-100 Docs) if the size
increases the search at file level consumes more time as (No indexes at file system)
72. 72
3. File system is not backup frequently as Database. File system backup will be weekly, fortnight,
monthly whereas database is hourly (Redo Logs) and daily DB Backup. That is Temse is not secured at
file system.
DB [DB]
1. Consumes more time than Temse at OS when there are less no of records. but shows the
performance by using Indexes when the user grows (Temse can handle 90000 Requests)
2. Backup is a regular activity on database so the Temse is secured. As it is stored in tables.
Temse is a part of Normal Database (TST01 and TST03) no separate memory is required.
DIALOGUE - BTC request - Spool Process OUT PUT
DIALOGUE - [TST01, TST02] - Spool Process REQUEST
FRONT END > Spool process comes at our Desktop
Default setting is DB
RZ11 : rspo_location
: rdisp/ btctime
3. The Spool process reads from TST01 and TST03 i.e. the name of the author (USER), Name of the
Printer, No of copies are procured from TST01 and Printable data from TST03
73. 73
Spool Process formats or converts spool requests to output requests i.e. Printer specific format. If
the format is performed locally then it is said to be LAN (Local Access Method). If it is performed
remotely then it is said to be RAM (Remote access Method)
Spool processes are configured by rdisp/wp_no_spo (Rdisp indicates instance specific)
There should be at least 1 one Spool process in the entire system.
We can configure as many as we can depending upon the available resources.
It is also possible to have dedicated instances which will provide only spool processes
PROGRAM[ RSPO1041] to maintain TEMSE.
Refer: From SE12
TPFYPROPTY
Flag for changes
Obj_name = parameter Rdisp/time
Type T denotes Dynamic
X - Whether Changeable or not.
01-Aug-09
SAP System
Note: We should not touch the Repository data of name space 'A' to 'X'.
SE11 > table name : /* (/ is a customer name space)
74. 74
TADIR is the repository
TSTC - Is the T-Codes with the program name.
Market place > keys & Reqs > Development Name space.
Note: STMS > System > Transport Tool
no_import_all = 0 (No Mass Transportation)
SPOOL MECHANISM
Dialogue - BTC - TBTC* - TS* Tables
Dialogue --------------------- TS* Tables
Spool process reads from TEMSE and convert spool requests to the output requests (Printer specific
requests).
SPOOL ADMINISTRATION TCODE - SPAD
LPD - Line Print Demon
Drivers are specific to O/S and not to SAP
1. It is used to define output devices/ Spool servers and access methods
Defining a Spool Server:
The instance with atleast one spool process is referred as spool server. It is also referred as Real
spool server. (Existing)
Logical Spool Server.
This is not existing but pointed to a Real spool/ another logical spool server. This is used for load
balancing the spools.
75. 75
Note: We can set up a dedicated instance for spool process.
CONFIGURING THE OUT PUT DEVICE.
1. Execute SPAD
2. Click on the Spool Server - Display then Change
3. Click on create
Server Name: LOGICAL SP1
Server Class : Mass Printing
Logical Server: Mapping : willsys28_00
Alt server: ......................
76. 76
DEFINING OUTPUT DEVICE/ PRINTER
1. Execute SPAD
2. Click on output device
3. Click on display
4. Click on change
5. Click on create
6. Specify the Output device name
Specify the description : Local Printer
7. Device type: HP Model & Manufacturer
77. 77
Device type specifies that the output device is recognized by SAP. If there is no
device type available then select SAPWIN. If required write to SAP and try to get the device type. SAP
sends programs in terms of Patches.
SPAD > Utilities > For device types > Import
If the character set is required.
Device Class: (Standard, Fax, Telex etc)
Authorization Group : Specifies the access control methods
Model: 2200
Location : 5th floor A wing...
Message : Only used by Pay Roll.
--------------------
Note:
Dialogue --- TEMSE -- Author, Printer, Number of copies
When printer is defined Spool server (LS/ RS) is assigned
In order to print we need the spool process from the assigned instance to convert the spool request
in to the output request.
Spool process uses Access Methods to format the request. (either Local, Front End, Print server...)
78. 78
---------------------
02-Aug-09
ACCESS METHODS
It specifies the process of formatting the spool request to printer specific output
request.
LOCAL ACCESS METHOD
The spool work process and the host spool resides in the same machine i.e. the work process transfers
the spool request to the spool system locally.
Select L for UNIX based system (Local Print Method)
Select C for Windows (which uses direct operating system call)
Select F for FRONT END printing
Spool work process goes to the user desktop and format the request based on the printer that is
connected to desktop. This is more expensive, time consuming than any other methods.
Disadvantages: No user can print in the background because the desktop initiation is not possible in
the background during off peak hours.
Advantages: Check printing, Sensitive docs, label printing.
Restrict the no of work process that can go into front end mode using the parameter.
rdisp/wp_no_spo_fro_max = 2
i.e. two work processes can be used for front end printing. If this parameter is not used spool
congestion occurs.
Specify I for Achieving device (Optical Devices, HSM, Jukebox (stores each copy (output doc))
Hierarchal storage machine
79. 79
REMOTE ACCESS METHODS
The formatting by spool work process is performed on remote system.
Specify U for UNIX operating system where formatting is performed on the remote machine (Print
server) using Berkeley protocol.
Specify S for windows operating system. It will transfer the formatting to remote system using
SAP specific protocol SAPLPD
For LOCAL & REMOTE > Needs the printer models
For FRONT END > SAPWIN
When Remote access method is specified we need the following
HOST Printer:
Destination HOST:
i.e. the printer should be configured on destination HOST. It can be a print server.
Note: Front end cannot be scheduled in the background.
80. 80
SPOOL MONITORING SP01; SP02
The spool requests are monitored in SP01. users can monitor the requests using SP02.
Spool Requests Output Requests
(Stores in Temse)
Note:
Put a check mark [ ] Do not query host spooler for output requests. If this option is checked, It
improves performance. If we need the exact status then uncheck the box.
Output Attributes: Depends upon the company requirements. Tray info is also similar.
-----
The Major advantage of TEMSE is the documents can be displayed even before it is printed.
SP01 is used to monitor the spool requests based on statuses.
1. Status '- Minus' : Indicates not yet sent to the host system (No output requests exist)
The spool process is busy/ congested, if too many requests with
this Status indicates need for increasing spool WP.
2. Status '+' : Spool request is being generated (Stored in Spool system)
3. Waiting : Waiting for processing by spool
4. In Process : The spool WP is formatting the output for printing
5. Printing : The host spool is printing the output request. If the SAP spool
system does not receive any status information from the host
spool, this status displayed for approximately one minute. The
system then sets the status to Complete (Competed or Error)
6. Completed : The output request printed successfully. In systems where the
spool system does not receive any information about the host
81. 81
spool , the system changes to complete as soon as the output
request is sent to the host spool.
7. Error : It indicates a server error such as 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.
1. Printer issues like (Page setting issues, cartridge issues, printer not available) paper out, print server
not available) these printer specific issues will be resolved by Network Team/ Print Team.
2. User complain that they could not print documents to a specific printer.
- Check the availability of the printer, if required we can change the printer and reprint the
document.
From SP01 --- Select the request -- Use Menu "Spool Request and print directly" or select print with
changed parameters.
While changing the parameter we can set the priority between 1 - 10 (1 as High)
3. Spool request cannot be generated
- The TEMSE is full i.e. TEMSE will be full when it reaches 99,000 requests and log is generated
in SM21 (System Log)
- We need to reorganize the spool requests using the SAP standard reports. (RSPO1041,
RSPO1043, RSPO0041, RSPO0043). These are used to delete the old spool requests based on
selection criteria. In general the spool requests which are older than 14 days will be deleted if
standard jobs are scheduled in SM36 they also checks the consistency of TEMSE periodically.
- We can also use SPAD for reorganization of spool (but the logic is same)
For this
Execute - SPAD > Full ADMIN > ADMIN > Delete old spool requests
Or from SA38 execute the program - RSPO0041
-----------
Refer SM01 - Transaction Codes [Lock/ Unlock]