SAP BASIS Docs
SAP BASIS Docs
SAP BASIS
Consider the following example [
EMAIL or RAILWAY]
For Email - It requires a PC and
an Application installed in it.
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.
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 are
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
raised 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 e 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 handler is
used to interpret and process the request.
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 handles 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.
It is
intelligent to store the frequently accessed data thereby reducing the load on
the server.
R/3 Architecture:
SAP
used 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)
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 (with out 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.
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 server 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
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
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, 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.
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
-
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 build 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 an user while creating a Sales order.
Steps: 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
Repeat
the same for Distribution Channel and Division.
Execute SU01
-
Edit the user
-
From Parameters Tab
-
Provide PID and Value
VKO 0001
Save the data. Now when ever the
user executes the transaction VA01 it will be filled with the default values
with 0001 and 01 for Sales organisation 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 display
the screens with out graphics/ logo which consumes 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 resides 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. 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.
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 used.
2. Central
Instance
This
is the Instance where Application Server/ Tier/ Layer is 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.
Kernel
Set of Executables (OS,
DB, Unicode, 32/64 bit dependent)
\usr\sap\sol\sys\exe
Start - Run - sqlplus
"/as sysdba"
Select username from dba_users; (database users)
Select BNAME from SAPSR3.USR02; (Sap Users)
|
DB
OS
Kernel Provides communication between SAP, DB and the OS.
Usr\sap\sol\sys\exe\uc\NT1386
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.
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 exists 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>
provides the runtime environment for Database.
Windows
App Server Database
<SID>ADM <SID>ADM
UNIX
App Server Database
<SID>ADM ORA<SID>
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_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
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 almoras 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 --
Installation Directories D:\usr\sap
\USR directory is
created with a shared folder SAP with shared SAPMNT & SAPLOC
Eg: \\willsys\sapmnt
~ d:\usr\sap
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
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)
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
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.
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
Exports/ System Copies
Kernel [ Dependent]
Install Mstr [ Dependent]
Java Comp [ Independent]
JRE [ Dependent]
Exports [ Independent of OS, DB]
Installation Directories D:\usr\sap
\USR directory is
created with a shared folder SAP with shared SAPMNT & SAPLOC
Eg: \\willsys\sapmnt
~ d:\usr\sap
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
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 -
"\\Willsys\Usr"
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
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 \usr\sap\<SID>..........
Config.....
Usagetypes.properties - used to
specify the usage types that are installed on the system.
\usr\sap\<SID>\config on a particular
<SID>
ERP <SID1> ERP<SID2>
![]() |
![]() |
EP EP
BI BI
JAVA JAVA
ABAP ABAP
Note: Now-a-days its
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
Eg: Consider Hero Honda Landscape
BI - ERP (ECC5.0) - CRM - SRM - PI
Suppliers Dealers
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
Instance:
Logical
entity which is installed on a physical entity - which is an Application
server.
Instance provide
runtime services.
Instance Name
Instance No: 00 - 99 (98, 99 for routing purposes)
Structure of
INSTANCE
Instance
contains Dispatcher, Queue Mechanism, Work process, Task Handler with ABAP,
SCREEN, 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.
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)
Roll out. (The information is copied into Roll Area which is subsequently available for all the requests made by the user)
Note:
The user context remains until the user is logged out. The user context is
displayed in the transaction SU56. If
the user access 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
process 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.
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.
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.
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 are 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
7. Set the JAVA environment
variable JAVA_HOME or path
Check
java -version
8. Set the virtual memory to 20GB
on windows
20GM
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
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 > etc\hosts
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
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
-
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 depends upon the business
component which are going to be installed like ERP, CRM, 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, PURCHASE... around 35
modules)
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.
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.
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.
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
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.
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
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.
|
2.
Defining the
Landscape
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.
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 ...
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
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
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
Document class : General text
From document tab NAME - ZLOGIN_SCREEN_INFO
create
Type the text - Welcome
SAVE.
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
\usr\sap\<sid>\sys\profile. These profile requires management for fine
tuning, configuring buffers etc
From 000 > Goto
RZ10 > Utilities > Import profiles of Active servers >SAVE
6. SMLT
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
\usr\sap\trans\eps\in 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:
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 \usr\sap\trans\eps\in
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
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)
Note: Create users in SU01 and
assign SAP_ALL to the functional and technical team as the security is not implemented.
Structure
of Application Server
Dispatcher - DPMON
Workprocess - SM50/
SM66
User Context - SU56
Task Handler - from
Work Directory
Buffers - ST02
Dispatcher
receives the request and process 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 a 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
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 serves 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
(LUM - 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
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
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:\USR\SAP\SOL\SYS\EXE\UC\NTI386
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)
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 BKC mode.
During an update dialogue updates temporary table and
update-process updates them later.
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 form Dialogue
instance.
Dialogue communicates with the
gateway while establishing connection with other SAP systems.
Dialogue is monitored by using SM50, SM66, 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
-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.
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
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 rdisp\btctime=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
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.
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.
BACKGROUND JOB MONITORING SM37
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 indicates 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)
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
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"
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. RSSNAPDL - 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
...
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
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 the another
instance.
From Menu
Job > Move to different server. (Consider the above screen)
Active jobs
can be moved.
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
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
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
Ready for longer time
Active for the longer
time.
BTC logs are
deleted by scheduling RSBRCDEL 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 wont go to the Pantry
Similarly All dialogue wont go to the .... DB
2. Dispatcher
handles the request and provides a dialogue process to it.
3. Dialogue process interpret 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
And gets a transaction ID from Number Range Buffer
(Transaction SNRO and Table NRIV Number Range Interval Table)
SNRO
NRIV
Eg:
Dialogue Updates - Update Releases the lock.
5.Update gets initialized and
reads from Temp Tables and update the permanent tables synchronously. Update
inherits the locks and release 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 records 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)
BATCH/ BTC/ BACKGROUND
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
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
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>
Mechanism
1.
User communicates using GUI.
2.
sapmsg.ini gets evaluated and checks
the port in etc\services 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.
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
Dead Lock
SAP TRANS ------ MULTIPLE LUWS
MM Dept Sales
Dept

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.
|
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
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.
SPOOL PROCESSING
User request - DIA - (Tables
TBT*) BTC---- (TST01, TST03)--SPOOL -- PRINT
User request - DIA-- (TST01,
TST03) --- SPOOL ------ PRINT
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 \usr\sap\SID\sys\global)
(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)
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
DIALOGUE - [TST01, TST02] - Spool
Process
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
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.
SAP System
Note:
We should not touch the Repository data of name space 'A' to 'X'.
SE11 > table name : /* (/ is a
customer name space)
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.

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:
......................
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
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...)
---------------------
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
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.
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
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]

----------
SP12 - SPOOL TEMSE ADMINISTRATION
It is used to monitor the memory
allocated for TEMSE
Note:
If we need to forward a spool request select the request in SP01 and forward it
to another user where user can print from alternative printer.
SP01 : Spool request > Forward
>
(Client
to client) Recipient : DDIC
Use SBWP (SAP business work place) to display the request in inbox.
PRINT QUEUES
Note:
Should have enough spool work process to format the requests to printer
specific requests. Similarly we should have enough output devices to avoid the
print queues.
SETTING DEFAULT
PRINTER
From SU01 we can specify default printer to the user but do not check
the box "delete the request after
output immediately" which improves the spool performance.
The printer can be locked during
maintenance in SPAD
To process the requests
sequentially based on serial numbers
Select the option -- [ ] print
sequentially in SPAD from OP devices
attributes tab.
Print sequentially consumes time
to print in the order. If this is unchecked it prints faster but sequence is
not maintained.
03-Aug-09
Dialogue
2 Min / Instance
75 - 150 MB
5 - 10 Users (Refer
ST07)
Handles request Interactively
Multiplexing
Rdisp/max_wp_runtime = 600
SM50/ SM66
wp_no_dia
DPMON
It initiates update, BTC, spool, Message server and enqueue
BTC
Expensive, long running, time consuming
No time limit
Off peak time
Scheduled to run periodically using variants
Statuses
(Scheduled, Released, ready, active, finished, cancelled)
Job step
Program (SA38), OSCommands (SM49, SM69), External Programs
(on Tar. Systems)
TBTC* tables
Standard background jobs
Pause(rdisp/btctime, wp_no_btc=0, btctrans1)
Atleast 2 for the entire system
SM36; SM37
Operation modes (RZ04, SM63)
RSCOLL - gathers performance into ST03
BTC communicates with enqueue for locking and spool for
print.
GATEWAY WORK PROCESS SMGW
SMGW is used to monitor the gateway process. Gateway is used to
communicate between SAP and NON-SAP systems. There will be only 1 gateway/
instance. If required we can also install a standalone gateway on a JAVA
engine.
Gateway listens on port
'3300'+instance number (3300, 3301,3302 where 01, 02 are the instances).
Gateway provides an interface so
that the external system can communicate with SAP system on the specified port.
When RFC's are defined between
the systems they use SAP gateway when (ALE, EDI, IDOC are transferring they use
gateway)
INSTANCE MANAGEMENT
Instance is managed by using profiles. Profiles will resides
in (usr/sap/<SID>/sys/profiles)
There are three types of Profiles
1. Default
2. Startup
3. Instance Profile
As
part of post installation we import the profiles of Active servers from RZ10.
The profiles resides at OS level
in the directory (usr\sap\<SID>\sys\profile).
They can be managed/ edited using a notepad. But the consistency is not checked
(say for eg. if we modify the instance profile WP DIA=2000 and there is no
error message and versions are not maintained under OS level)
DEV_DVEBMGS00_willsysdel.
So these profiles are imported
into database management for consistency check and version management.
Startup Profile
Startup
profile consists of startup parameters like
Starting
Database
Starting
Message Server
Dispatcher +
Work.
Do not modify these parameter under
any circumstances on OS level.
Default Profile
It
is used to provide global parameters for all the instances, buffer parameters,
security parameters (Password, User restrictions), Message server host, enqueue
host)
Instance Profile
This
is specific to instance configuration such as work process, timeout parameters
etc.
Starting Sequence
1. Startup profile is read by the
system to start the engine by starting database, message server and dispatcher
in Central Instance.
2. Startup profile is read by the
system to start the engine by starting (DISP+WORK) on dialogue instance.
3. There will be only one default
profile in the entire system which provides global values.
4. Instance specific profile -
This is used to set the instance specific parameters.
Eg. How many profiles are
available on a system with 10 Dialogue instances.
Total
= 11 (including Central Instance)
11 X 2 per instance (Start + Instance)
22
22 + 1 (Default Instance) = 23
Profile Management
Documentation for profiles are
available in RZ10
Profiles resides in the table -
TPFYPROPTY
RZ11 is also used to change some parameters dynamically without
restarting the system but they will be reset once the system is restarted.
RZ10 changes are permanent
The field type 'T' Specifies the
dynamic parameters.
RZ10
There
are three types of Administration.

1. Administration
data
No
need to maintain using this option. It only specifies the path of the
parameters.

2. Basic
Maintenance:
It
is used to maintain the profile parameters without any technical names. GUI
based using mouse

3. Extended
Maintenance
Used
by administrator using parameter names
Specify the input by including
new parameters or modify the existing one.
Copy > Save and Activate the
profile.
The profile changes are updated
at OS level and the existing profile is marked as .BAK and a new profile is
created in the profile directory. It will effect only after restarting the
Server.
Profiles are changed on SAP
recommendation or based on experience. Do not change any of the profiles on
trail and error method. System will hang and may not restart.

04-Aug-09
LOGON LOAD
BALANCING SMLG

ST07 - Application Monitor:
User Distribution
SMLG - Logon groups sapmsg.ini
Logon Load Balancing SMLG
It
is used to route the requests to the least loaded instance of that group.
Factors to define LLB.
Identify the components along
with users. If the users are logging to different instances the buffers are
scattered therefore they are not effectively used.

So for this

* Note: DDLOG is the synchronization table

User B A+B =75 Buffer Synchronization
1. Buffers are optimally
utilized.
2. Load balancing to avoid long
queues
3. Fail over (Logical) (As we are
configuring logical system)
Load
balancing provides the following logon groups which are defined in SMLG.
SMLG > Define the groups and assign the instances.
Mechanism
1. User uses SAP GUI -groups
option to login
2. Saplogon.ini is used to
display the available entries
3. User select group and click on
logon.
4. When the user select group. It
looks for sapmsg.ini to identify the
message server and etc/services for message server port. saproute.ini, saprfc.ini,
sapdoccd.ini (For library), saplogon.ini
5. Message server communicates will
all the dispatchers and identifies the least loaded server and mark it as a
favorite server in SMLG. The request is routed to the favorite server.
6. The dispatcher process the
request normally.
Sapmsg.ini ---- IP Address ---
Hostname of the message server
Central instance (but not always)
DATA TRANSFER
TECHNIQUES
During the implementation of the
legacy system needs to be preserved or used in the current system.
Example: A customer/ company is running business for the past 30
Years. He is maintaining customer details, vendor details, supplier details,
employees and salaries, account payables, account receivables and P&L
(Profit and Loss). This information is required by the customer in SAP System.
So there is need to transfer the legacy system data to SAP system.
Example: Customer implemented SAP but the employees who are old
cannot make use of SAP system. They would like to work on the traditional
systems. After go live both systems SAP and legacy travel parallely. The data
entered in the legacy system i.e. PO 's,
Invoices, Billing, Shipping are to be transferred periodically(Hourly)
bi-hourly(for every 4 hrs) or daily
SO --- PO
BI ---- INV
Example: Reliance, Hero Honda [B2B Company to Dealers] not B2C
[Distributers to customers] they communicate with dealers, suppliers, using
SAP. But dealers and suppliers use non-SAP system so it is required to
establish communication between SAP and NON SAP systems and perform the data
transfer periodically.
ETL - Extract - Transfer - Load
SAP - Non
SAP
Hero Honda XML Dealers
RFC: Remote Function Call SM59
RFC is used to communicate
between SAP systems and SAP to Non-SAP systems using TCP/IP protocol. RFC's are
defined in [SM59]. There are 4 types of RFC's
1. Asynchronous RFC
2. Synchronous RFC
3. Transactional RFC
4. Queue RFC
1. Asynchronous RFC
- (Like a post card). The sending system may or may not receive it. i.e. there
is no acknowledgement from the receiving . The transmission is not reliable.
2. Synchronous RFC
- It is not like ARFC. It gets an acknowledgement from the target system. (like
a register post).
If
the receiving system is not available the process goes into RFC/ CPIC/ Sleep
mode and waits until it is wakened by the target system. Target system/
Receiving system may be busy i.e. all the resources are used up. This is
reliable but time consuming and expensive (Client Copy) the job should get
finished.
Note: SAP uses CPIC protocol SAP specific (Common Programming
Interface for Communication) to communicate between system.
CPIC SRFC
3. Transactional
RFC - TRFC - It is an
advanced version of ARFC and SRFC. The request goes to receiving system if it
is not handled a Transaction ID is generated by the source system. A program
RSARFCSE is scheduled in the background to run for every 60 seconds.
Transaction
SM58 is used for Transactional RFC.
It is used to document all the transactional ID's and ensure that they are
received by the recipient system.
This is consistence and reliable.
Example : Central user
administration.
A user is created in the parent
client and transferred to the child client when they are available?

4. Queued RFC
- It is an advanced version of TRF and ensures that the transaction is
committed based on FIFO/ Queue. It ensures transaction consistency of LUW and
reliability of data transmission.
SMQ1 - to monitor the outbound queues of a sending system refer
SCOTT for FAX...
SMQ2 - Provides interface to monitor Inbound queues.
05-Aug-09
Defining
Systems - SALE
SAP systems consists of more than
one client - technically 1000 client can be created in one system. So we need
to identify which client is the business client. Preciously SAP is client based
(A mandatory field while login)
Each client is defined with a
logical system name that is defined in SALE . (Sap
System linking and enabling). Each system is identified by SID, client by 3
digit number. So, Logical system number should be <SID>CLNT<CLNT_Number>
Eg. DEVCLNT900
To
identify the systems easily by name
1.
Goto > SALE
> Basic Settings > Logical System
2.
Define Logical System (<SID>CLNT009)
3.
Assign logical system to the client.
There
should be unique SID in the Landscape.
Defining RFC Connection - SM59
1.
SM59 - Provide the name of the logical system
2.
Select the connection type '3'
3.
Description about the connection
4.
Technical settings (Host name and Instance No)
5.
Logon Security (Client, UID, PWD, Logon Language)
6.
Save the connection, Test Connection, Remote logon
Perform
three times to add 3 systems.
Central User Administration SCUA
Goto
> BD64 or SALE
> To define the sending systems and receiving systems
Or
Use
the SAP standard moral for that application.
Example:
To configure central user administration SCUA
Tcode is used.
From
000/ Sapuser
Execute
SCUA / - model : willsys > Create
(The
logged in system is treated as Sending system)
We
need to define recipient/ receiving systems
DEVCLNT001
DEVCLNT000
DELCLNT001 save to configure CUA
Goto
back end systems
Try
to execute SU01 and create an user .. It wont allows us to create because the
receiving
systems will become a Child system.
SCUM is performed only in the Parent
System
Eg:
Consider a Scenario
- Being in parent create an user
assigning profile SAP_ALL
- define systems and SAVE
- Stop the other systems
- Execute SM58 (Transactional RFC)
Users
are distributed to the child client using TRFC(SM58) and if the client system
is not
Available the record hangs in SM58 and ensure that is
updated in the child client.
To delete : Execute report : RSDELCUA or
SCUA select the client and delete.
EDI - Electronic Data Interchange
It is used to communicate between
SAP to NON-SAP systems.
ALE - SAP to SAP only.
IDOCS
(Intermediate Documents) are used to transfer the data. It will be in
the
Understandable
format of both sending and receiving systems. SAP - NON SAP.
WE05 is the Tcode to monitor the IDOCS
SCUL to check the logs
WE05
> Status

0
to 49 - are the outbound IDOCS
50
and above are the inbound IDOCS
52
- States that the application document not posted fully.
53
- states that the document is posted
02
- states that there is error in the port
07
- states there is a syntax error.
Tcode
IDOC to check the consistency
WE21 to identify the ports for IDOC
processing.

SYSTEM MONITORING
Gateway is a port that listens on 3300.
It is used to monitor the health
of systems in terms of storage, memory and CPU technically.
06-Aug-09
Status (Killed, Ended, Free...
Instance is down)
But on SAP front we need to
monitor the process utilization, pending updates, dead locks, system logs,
database logs, system dumps, btc failures, RFC failures, Failed spool requests,
work load on the system (Users, Reports, Transactions, Programs)
PROCESS MONITORING SM50 (INSTANCE)/ SM66 (GLOBAL)
Monitor
the instance specific processes in SM50 and Global Specific Process overview
based on status in SM66.
Monitor
the processes with status(reasons) running, hold, stopped, sleep, RFC/ CPIC,
PRIV.
Identify
the user, time, client, Action.
If
BTC is running for longer times check whether it is permissible as per the
process document.
Dialogue
process should not consume more than 1-2 seconds for normal tasks. It will be
automatically down (Killed) by system in 600 Seconds. If it is not killed the process might be occupied by dedicated
resource and uses heap memory with status PRIV. The process has to complete the
job or Heap Memory should exhaust, so that process comes out. We may need to
kill the processes with status PRIV using DPMON, Task Manager or Kill -9
Command on UNIX.
If
more number goes into PRIV we may need to restart the instance.
Refer : select MANDT, Count(*) as Total from DEV.USR02 group by MANDT.
Note : Rdisp/gui_auto_logout
= 900 sec
---- Example ---
User pwd forgotten and all the
users are locked if SAP* is deleted. It will be created with Password pass. Do
not change the status of users in the USR02 Table.
Select MANDT, BNAME, UGLAG from
USR02
128 - Self Locked
64 Administrator Lock never becomes 0
-------------------
Refer
SM12 - Select Lock Entries
SM13 - Update requests
SM14 - Update program Administration (Deactivate)
SM36 - To define the Back ground Job
SM37 - JOB monitor
SM21 - System Log
ST22 - ABAP Dumps/ Runtime Error
RZ04 - Maintain Operation Modes
SM63 - Display/ Maintain Operation Mode Set
SP01 - Output controller - Spool
Standard Jobs
-
RSBTCDEL - Deletes the batch job logs
-
RSSNAPDL - Delete Old ABAP Dumps
-
RSPO1041 - Delete Old spool logs and
files
-
RSMO13002- Delete old update request logs
-
RSCOLL00 - Collects performance info in
Transaction ST03
-
RSPO1043 - Spool Reorganization.
DPMON - When the user could not
login to the system (Experience Hour glass)
Process
the list @ OS Level
DPMON
K
Provide
SR. Number
Provide
PID.
SM59 - RFC Destination
SM50 - Process Overview
SM51 - Active SAP Servers
SM66 - Global Work Process overview
WE05 - IDOC List
SMQ1 - QRFC (outbound) queue
SMQ2 - QRFC (Inbound) queue
SM04 - User List.
07-Aug-09
Market Place > SAP Support Portal > Suserid>
>Downloads > Installation Upgrades
>
My Company Components
SAP
Solution Manager 7.0
Installation
Exports [1 of 4 ]
Kernel, Java Components
> Add to
download Basket
Paste in
<SID>\sys\exe\UC |
Install the download manager
SYSTEM MONITORING
Each
customer provides a standard check list to monitor their systems from time to
time.
Eg: BSI (British Standard
Institute) requests the consultants to monitor the system on hourly basis.
P&G requests their production
systems to be monitored periodically for every 8 Hrs.
Check lists contains the
following
1.
Identify the instances which are down i.e. SM51 to list the servers and monitor
the instances which are up and running. If any instance is down, we need to
report with high priority.
2.
Analyse the reason for failure (Check if the system is scheduled for downtime)
If we are authorized start the instance and if it could not be started then
look into work directory for logs.
SM50 identifies the process which
are long running.
----
IMPORT ABAP : c:\prog files\sapinst_instdir\erp\system\ora\central\as
Err, Ok, exe.
----
08-Aug-09
TRANSPORT GROUPS

Note:
usr\sap\trans can be on JOD, JOQ, JOP or on separate disk.
Transport Groups with individual transport directories.
|


On JOD >
Perform SICK
SE06
> Standard Installation - Perform Post Installation
DICO
STMS
From Menu Overview > Systems
Extras > Delete TMS
configuration or execute DICO
1. Login to DC (Domain Controller) Development System/ 000 client
with user like DDIC
2. Execute STMS > Will prompt to create a transport Domain.
Domain
name will be Domain<SID>
Save
the Domain.
3. Login to Quality system
Execute
STMS >
As DC is already created from the
above step. We need to include systems in the DC.

Include
System in Domain Pops up
DC
Host/ Target Host : JOMLERTDEV
DC
Sys No/ System No: 00
SAVE
Upon saving the request from
quality system is sent to DC to include in the domain.
4. Similarly perform the to include production into DC
5. Login to the DC

6. From DC
From
Menu Overview > Systems
JOD
JOQ
JOP
Select the system JOP from SAP
System Menu > Click on approve.
Select the system JOQ and click
on Approve from Menu SAP System > Approve
Transport Group
If
each system has their own transport group i.e. they maintain transport groups
themselves i.e. 3 - Transport directories are configured.
Double Click on the system JOD
from Communication Tab
From Transport Group Tab change mode
Provide
Name : Group_JOD
Perform the same for JOQ.
SAVE.
7. Defining the Landscape
From
the DC/ 000/ DDIC > Goto STMS
Click on the icon transport
routes
Click on change
Menu - Configuration
>
Standard configuration > Three systems in group.
>
Continue > SAVE
Three
system configuration - Say YES
Note: In principle there will be
only one client in the production system.
JOQ --- 2 Clients [Test, Training] - UNIT TEST
JOP ---- 1 Client
JOD---- 2 Clients [DEV and Customizing, UNIT Testing]
System Monitoring
SM51
SM50/ SM66
SM13
SM14
SM37
SP01
SM04/ AL08 : Used to identify the number of users logged on to the
instance. Identify the users who are consuming more memory and also identify
the transactions and identify why it is consuming more time. This TCODE is also
used to logoff the user session if required.
AL08

SM04

SM21: System logs specific
to the instance. We can also identify the logs of other instances.
System
log > Remote system
It is used to display the logs
for the following activities.

1. System Startup/ Work process
log
2. All ABAP dumps are documented
3. When we delete SM12 the locks
are logged.
4. All the database related
errors like Space issues, Segment Management, Archive Stuck.
5. Illegal attempts and user
locks
6. Session Termination due to
network failures.
As a part of
monitoring we need to identify the messages with color red.
7. Time out errors
Identify
the error message from the log and search in the market place.
8. It displays the logs based on
date/time, user, t-code & problem class.
ST22 ABAP DUMPS
When ever a SAP Program (ABAP
program) could not be executed due to an error it will be thrown out from the
GUI- Screen and a dump is recorded in ST22.
ST22 recovers the following
1. Divide Error 1/0
2. Update (Lags in Memory)
3. Infinite Loops.
1. TIME_OUT error: The program requires more time than the time
defined in rdisp/max_wprun_time
2. Memory related issues with
error message PXA, SWAP, PAGE, OUT OF MEMORY.
This error requires memory
corrections to the parameters.
3. Program Corrections: The problem is with SAP standard program for
which SAP provides a correction through notes (The correction can be applied
through SNOTE)
4. Customer defined programs ('Y', 'Z') consumes more memory, endless
loops, improper select statements etc. The program need to be corrected by the
developer.
5. Enqueue Table Overflow: SM12
6. Update Deactivation : SM14
7. Database issues like table space over flow, max-extents reached,
archive stuck.
8. Illegal time: (Day light savings) - During day light savings the
system date and time has to be changed. Stop the AS and change the date if not,
the above error occurs.
Note
TSTC - Holds the transaction and the Program name
TSTCT - Holds the description/ text of a T-Code.
09-Aug-09
PERFORMANCE TUNING ST02

This complete journey should be
completed within 600 Milli seconds on an average or goes up to 600 Seconds Max.
1. Front End Time/
GUI Time : Time taken by the user to reach the dispatcher is called
as Front end time. The GUI time should not exceed more than 200 M.Sec. If it
exceeds this consider the following.
1.
User desktop is slow
2.
If this is same with all the users, network might be congested.
3.
The user request is expensive (FI and basis will logon to the central instance.
Rest of all the users are allowed to login to Dialogue instance)
Note:
GUI response time is not considered as a part of the Dialogue response time
because the request is not received by the dispatcher.
2. Wait Time:
The amount of time the user request sits in the queue. Generally it should not
be more than 50 M.Sec or 10% of the response time. If the time exceeds,
consider the following.
1.
The work process are not sufficient to handle the user requests. (1:5)
2.
There are sufficient processes but the existing process are held with expensive
request.
Login/disable_multi_gui_login.
3. Roll in Time:
The work process copies the Roll in User context into WP task handler. The time
taken by the work process to copy the context (Roll In) is referred as Roll in
time. Generally it should not be more than 50 M.Sec. If it is more than this
consider the following.
1.
The user context is heavy to Roll in (User might having more authorizations,
parameters)
2.
Minimize the authorizations.
4. Roll Out Time:
The time taken by the work process to copy the information from its local
memory to Roll Area/ Roll File/ User context/ Roll buffer and it should not be
more than 50 M. Sec.
5. Roll Wait Time:
During the processing when a dialogue process communicates with RFC's and waiting
for the response at this time the user context is copied/ rolled back to
BTC ---- RFC --- Target system.
Roll wait time Sleep
Note: Roll wait time is not considered as a part of response time.
If the roll wait time increases consider there is a bottle next on the RFC
communication.
6. Processing Time:
The time taken by the work process to process the user request using
interpreters. The processing time should not be more than 200 M.Sec. If the
processing time is more we can consider either ABAP program is expensive,
screen is expensive or SQL statements are expensive.
7. CPU Time:
When the request are processed using interpreters an amount of CPU is utilized
to process the request using CPU resources is referred as CPU time.
As CPU time is included in
processing time it is not calculated in the response time.
CPU time should not be more than
(40% of the Dialogue response time -
Wait time). If CPU time is more consider tuning ABAP Programs Refer to ABAP
development team (Also Refer SE30
ABAP Run time Analysis, ST05
Performance Analysis)
8. LG Time:
Load and Generation Time: Time required to load the objects such as source
code, GUI info, screen info from the database and generate these objects.
(Refer LC10 : Live Cache). It should not be more than 200 M.Sec.
Run SGEN tcode after patch application, upgrade, new installation or
when there is a mass change in the programs.
9. Enqueue Time:
The time taken by the process to communicate with enqueue for obtaining the
lock while updating a record is referred as Enqueue time. Enqueue time should
be 5 M.Sec. on a Central instance and 100 M.Sec on a Dialogue instance. If it
exceeds more than this time we can consider that the enqueues are not
sufficient or Enqueue table overflow. or WP waiting for a lock.
10. RFC or CPIC Time:
The time taken by the process to communicate with external interfaces is
referred as RFC time. It should be as minimal as possible. (Communication
between any BW/ CRM/ SCM system). There wont be any threshold value as it
depends on External system.
11. Database Time:
The time taken by the process to reach the database and process the request.
Generally it should not be more than 40% of (Response time - Wait time). It is
similar to the CPU time. IF DB Time is more consider the following.
1.
The DB statistics job is not scheduled in DB13.
2.
The DB resources are stake(CPU and Memory Utilization) i.e. Resource bottle
neck on DB.
3.
The DB Buffers are not sufficient.
4.
Missing indexes in DB02.
12. Dialogue Response time: The time taken by the Dialogue process to
process the request which includes [Wait time ........ To ......... Roll Out
Time]
[Wait time + RI + RO + PI +LG +
RFC + DB +ENT]
Note: Team
Viewer is the Remote Desktop support Software
BOMGAR.
Ф Indicates - Average Time
# Indicates - Total Time
10-Aug-09
WORK LOAD ANALYSIS
ST03
ST03 It is used to calculate the work load
analysis. Select Expert Mode to identify the expensive programs, transactions,
reports and users.
While
calculating the average consider the number of dialogue steps of the
transaction user. If the response time is more and dialogue steps of fewer 1 or
2 then the average response time could not be worked out. The response time
should be worked out only when there are atleast 10,000 dialogue steps.
MEMORY
Physical Memory: The memory that is available or the memory that is
configured on the instance using the parameter PHYS_MEMSIZE.
* PHYS_MEMSIZE: This parameter
restricts the usage of memory by that instance.
Virtual Memory: The physical memory and SWAP memory/ Pagging Memory
on the disk
The physical memory will not be
sufficient to provide the users for temporary work area/ Calculations/ so a
part of the disk which is configured for SWAP is used.
On UNIX during installation
assign atleast 20GB of SWAP. On windows assign atleast 3*RAM size/ 20 GB which
ever is higher.
Shared Memory: The memory that is used by all the applications (OS,
DB, R/3)
Extended Memory: The memory that is used by SAP work processes is
referred as Extended Memory.
Local Memory: The memory that is assigned to work process is
referred as Local Memory
Roll Memory/ Roll Buffer: The memory that is used by work process
to store the user context information is referred as Roll memory.
Private/ Heap Memory: The memory that is used by work process
exclusively by restricting itself.
Memory Allocation
1.
User submits the request.
2.
Dispatcher assigns the WP
3.
WP requires memory to Roll -In the user context.
4.
WP gets memory from local memory which is defined in the parameter ztta/roll_area. It gets only a part of
it which is defined by parameter ztta/roll_first
(20KB)
5.
If the allocated memory is not sufficient then it gets allocated from Extended
memory ztta/roll_extension.
6.
If that is also not sufficient then it uses the remaining ROLL Area.
7.
If that is also not sufficient then it uses HEAP/ PRIVATE Memory and the WP
goes into PRIVATE Mode.
8.
Heap memory is defined by the parameter
Abap/heaplimit=4GB
Abap/heap_area_dia
Transaction ST02
provides the memory utilization
9. Each
dialogue uses abap/heap_area_dia and
non dia uses abap/heap_area_nondia
both process should not exceed abap/heap_area_total.
Memory : RAM is the first Memory. Out of this we don't want to
allow SAP to utilize the whole memory.
Virtual Memory: Pagefile.sys
11-Aug-09

User --->
Dispatcher ---> WP ---> Rolls Its Memory
Requires Memory to
Roll In to the Task Handler
Ztta/roll_first -
20KB
Extended Memory is used by all the Work Processes.
20 KB ztta/roll_first through ztta/roll_area
Extended Memory ztta/roll_extension : 512 MB
Come back to local Memory
If all the memory is consumed it cant come back so goes to
the Heap/ Private Memory.
CASE STUDY
We have configured 20 WP in the Instance and we know pretty
well that each user request consumes a minimum of 25MB of Memory
WP MEMORY 4GB 8GB STATUS
Roll_first Roll_extn Roll_Area Heap
1 20KB 512MB 19.980MB 2GB PRIV
2 20KB 512MB 19.980MB 2GB PRIV
.
.
8
9 20KB 0MB 19.980MB 5MB PRIV
Rdisp/max_priv_time
ST02
When
the process uses Heap Memory it is used in Heap/ Private mode. The processes
which are in PRIV Mode cannot be timed out by
Rdisp/max_wprun_time
Rdisp/max_priv_time
So configure so that the process is timed out after this
time (600 Seconds/ 10 Minutes) when the work process goes into PRIV mode it
will not listen to rdisp/max_wprun_time=600sec. It will be released only after
the task completion or Memory is exhausted(Abap/heap_area_dia)/ timed out by
rdisp/max_priv_time. This situation is referred as Hour Glass Mode or WP
Congestion. At this situation we can use DPMON
or SM04 to terminate the user
session. If not kill the process at OS level based on PID.
Q. The user complains that he could not login to the system
- Hour Glass Mode?
A. 1. WP into
PRIV Mode
2. ARCHIVE
STUCK (The user could not update any record and results in hour glass mode)
BUFFERS
The
frequently used content and less frequently modified is eligible for buffering.
Company Name, GUI, screens, calendars, table definitions, programs etc are eligible
for buffering.
Data such
as Exchange Rates, Transactional Data(PO ,
Sales Order, Invoice, Billing) are not eligible for buffering.
Buffering
is specific to instance. Each buffered element is stored in the memory of the
instance in terms of Directories and
Space.
Eg. Programs can be stored up to 150000 KB, 150 MB in 37,500
directories. If the directories/ size is full then Buffer Swaps occurs in ST02.
When SWAP occurs the content needs to be fetched again from
Database which increases the response time.
12-Aug-09
Raising
a request to SAP for a SAP ROUTER
From the Market Place www.service.sap.com
> click on SAP Support Portal.
> From Help and Support Tab
> click on Report
a Product Error
From Here Provide
Customer : Company
Name
Installation :
System ID : JOD
Next >
Search Term
: SAP
Router
Or Go with
Message
Select the
system & select the component
Raise a request as follows:
Dear SAP,
We have
installed solution manager and 3 ERP systems in the landscape. Before we start
implementation we would like to establish connecting with SAP using SAP Router.
Name of the
Server : JOMLSOLMAN
IP Address : 213.210.213.197
(This is where our SAPRouter is going to be configured)
We are using dedicated public IP Address
SID : JOS
INSTANCE NO : 00
Please send us certificate details.
{ Open the connectivity, How many hours it needs to be
opened; Provide Userid and password/ Client }
Provide
your name R.
Shunmugam
Phone
No:
Hit SEND
Note: from Market
Place > My Profile > Maintain Single Sign on Certificate > Specify
Password.
From Market place > Check the email.
SAP : 213.210.213.197
JOLSOLMAN
194.39.131.34
----------------
Earlier from the Back End system say for eg: SOLMAN system
001/ DDIC > Login to the SOLMAN system
Discontinued from 2006 -
TCODE >
OSS1 (Online SAP Service)
From
Menu Parameter > Technical Settings
Hit
Change
SAPRouter
at SAP
Note: Instance 98 (
Is for SOLMAN Diagnostic Tool), 99(SAP Router)
All kind of services can be acquired from OSS1

Over the web using DIAG protocol. (It is discontinued)
----------------
4 systems in the landscape
SAP Router is a software program which is used to restrict
to access the customer systems using the table SAPROUTTAB.
SAPROUTTAB is a text file with out any extension in the
router directory with prefix P, D and S (Permit, Deny and Secure sometimes)
Steps
to configure SAP Router
1. Create a directory
with name saprouter in usr\ sap\directory.
usr\sap\saprouter
Ensure that the
folder has full (Read + Write permissions)
Note
SAPRouter is an
executable in the kernel directory (usr\sap\SID\sys\exe\uc\NTi386).
Nipping is an
executable to ping to the router. This two executables needs to be copied to
the router directory. However we can also download from market place.
On Windows> Check whether the SAPRouter service is
running or not to make sure whether the SAPRouter is already configured or not.
2. From Market Place > My Company App Components
Look for SAPROUTER700
Windows
server X64
Click on Add
to download basket.
3. Login as <SID>ADM
4. Create a sub directory E:\usr\sap\saprouter
5. From Command Prompt
Change
directory to trans as it is holding the downloaded files
E:\usr\sap\trans>
sapcar -xvf saprouter_12_100004305.sar
6. copy the two uncared files in to the saprouter directory.
7. From market place click on Download Area > SAP
Cryptographic Software
.sar file.

It depends on OS
We can download either CAR or SAR file

Paste the file in usr\sap\saprouter
sapcar -xvf 90000114.car
-----------
Note: Download Manager > Configuration
>
SUSERID and PWD
-----------
8. Create a service called SAPRouter service.
From
Command Prompt > Saprouter>
ntscmgr install
SAPRouter -b E:\usr\sap\saprouter\saprouter.exe - p "JOSADM"
It will create a service.
JOS is the SID
9. Define a file SAPROUTTAB
Create a file SAPROUTTAB in the saprouter dir with
out any extension
10. SNC (Secured Network Connection Needs to be added)
For this
Goto > www.service.sap.com/SAPROUTER-SNCADD
Apply
Copy [ Shows the Distinguished
Name] > Hit Continue
11. Define the Environment Variable.
My Comp
> Properties > Advanced>
Variable : SECUDIR
Path: E:\usr\sap\saprouter
Variable :SNC_LIB
Path: E:\sur\sap\saprouter\nt-X86_64\sapcrypto.dll
Sapcrypt.dll to encrypt and decrypt the messages.
12. Generating certificate from Customers End (SOLMAN
System)
Use the
command
Sapgenpse.exe will be in nt-X86_64 so
goto
Saprouter>
CD nt-X86_64
Saprouter\nt-X86_64>
sapgenpse get_pse -v
-r certreq -p local.pse "Paste the distinguished name"
Prompts for PIN : any password
Twice
Sapgenpse - SAP
Generic Personal Security Encryption
13. Work file certreq
in \nt-X86_64
Open with
notepad
And copy from
BEGIN to END
Paste in the STEP
10 in the text box and hit Continue
Click on request
certificate
It generates a text with BEGIN to END.
Now copy from BEGIN to END from SAP that site/ Screen
Paste it in a notepad file(without extension) with file name
srcert in the folder nt-X86_64
14. Importing the Certificate
Nt-X86_64>
sapgenpse import_own_cert -c srcert -p
local.pse
15. being in nt-X86_64 > sapgenpse seclogin -p local.pse -o JOSADM
Will create
a file cred_v2
16. SAPROUTTAB > open with notepad
>
copy the whole content (from already configured system)
>
provide> SAP IP
> Our IP.
17. TO check the Distinguished name
Sapgenpse get_my_name -v -n issuer
18. Router as Service
Services.msc
> saprouter
From
Logon Tab
Select
This Account : JOSADM
Apply
--------------------------------------------
To Uninstall
Ntscmgr install saprouter -b E:\.........
SAPSR3 - 14
SAPSR2 - 9
SAPSR1 - 6
------------------------------------------
19. Execute SM59
SAPOSS
> Change
IP Address of SAPRouter at Customer Side
And also change at SAP Side Router String
---------------------------------------
Download service connection
Maintain Data > System Data
SOLMAN
Production
System
Goto DB Server
Hostname > SOLMAN
IP Address
: 124.12.124.19
OS : NT/ INtel
Version :
Win2003
DB Release
: 9.2.0.8.0
Router String:> H/220.227.194.202/s/3299
Create New Connection RFC Connection
Logon Security
E1
001
SCO4013677
AISUSER tcode
-------------------------------------
13-Aug-09
SAP ROUTER
Theory
1. Maintain our systems in the Market Place
2. SAP able to connect and we need to provide authentication
3. SAP Router provides the authorization and we need to
provide the authentication.
The
password will be visible [ ].
SAP router side will restrict the user.
Market place > connect to SAP
>
R/3 Support
>
Open connection
Take out the access from SCC4, SE38, SA38...
SAP Router is an executable which is used to restrict the
access to the customer systems over the network. It works like a firewall/
proxy to permit and deny the access to the SAP systems.
It needs to be configure before implementation Part of SAP.
--------------
RMMAIN tcode only in SOLMAN
Implementation
Road Map > Technical Infrastructure Planning
> Order for Remote Connection to SAP
Project Preparation Phase.
-------------
SAP Router
1. Create message to SAP along with your SAP Router
[Hostname], IP Address and Customer Number (SAP Router need not to be installed
on Solution Manager /DEV/ QAS/ PRD. It can be installed on any desktop, but it
is advised to install on SOLMAN system to ensure that it is monitored
periodically.
Cust Number : When we buy SAP we will be provided with the
customer number.
.SAR - SAP Archive
.CAR - Compressed
Archive
Kernel comes with .SAR only
[Global Host] - DB - Central Instance - Dialogue Instance
Usr\sap
2. SAP responds with Distinguished name.
3. Create SAP Router directory and copy the executables from
exe\uc\NTi386 or download from the market place. (www.service.sap.com/swdc)
copy only SAPCAR.exe, SAPROUTER.exe and NIPPING.exe
4. Download the Cryptography files from Market place related
to OS and bit version (Download *.SAR files)
5. Uncar the files into SAPRouter directory
6. sapgenpse......... executable used to generate the
personal security environment.
SAPROUTETAB is a file (without any extension) used to have
ACL (Access Control List) S - Secure; P - Permit; D - Deny; K -SNC (Secure
network connection)
7. Generate the certificate using distinguished
"DN" name with executable SAPGENPSE.
8. Copy and Paste certificate from Begin to End the market
place url
/Saprouter-SNCADD
9. Request a certificate from the market place copy into srcert.
10. Import the certificate into router system using
SAPGENPSE
11. Start the router using command saprouter -r -k "DN"
12. Goto SMP ---- Report Error --- Connect to SAP
Select the
system - Maintain System Data -- Download service connector -- Maintain Router
details ------- Start service connector -- Open connection by selecting the
service---- Specify no of days and hours. Similarly maintain all the other
systems in the landscape. Inform SAP to connect to our systems.
13. On each backend system we need to maintain the RFC
details in OSS1 Transaction. It will update SAPOSS RFC Connection.
SAPOSS, SAP-OSS, SAPSNOTE are created on communicating with
the Market Place.
---------------------------------------------
ST02
continuation.
Used to monitor the buffer swaps on the Application Server/
Instance
LRU - Least Recently used.
Buffer swaps occurs when there are no sufficient directories
or space. When more swaps occur they are displayed on ST02 in swaps column.
Analysis:
Identify
the buffer areas whose swaps/ Database access are more.
Buffer
Swaps indicate the following
1. No Sufficient space or directories
2. The content is frequently modified
3. Mass transportation of objects
4. The configured buffers are small
5. During the restart and when support packages are applied
and when upgrade is performed.
Do no take any decisions based on the readings on a specific
day. Analysis has to be carried out if there are atleast 10,000 requests.
Buffer
Hit Ratio.
SAP recommends this value to be around 98%
{For every 100 request '2' request goes to database and the
remaining should be from the buffers}
Key areas that effect the performance are program buffers,
table buffers and Table and Field definitions. Change the program buffer using ABAP/ buffer_size to a maximum of 600
MB on 32 bit Machines.
Remaining parameters based on SAP recommendation from RZ11.
TABLE Buffering
SAP stores the content in tables (Every data except start
and stop logs is stored in DATABASE, no prog/ no data is available in the file
system)
There are four types of Buffering
1. FULL Buffering
2. Generic Buffering
3. Single Record
Buffering
4. No Buffering
This is maintained for each table SE13 refer USR02 Table.
1. Full Buffering: The
tables which are frequently used and rarely modified are eligible for
buffering. (Also which are small in size)
Eg: T000 have all the clients and required to create a
client copy. (This is fully buffered)
2. Generic Buffering:
Tables which are relatively large, frequently used, rarely modified using a set
of keys (Fields)
Eg: USR02; T001 Company info
3. Single Record Buffering:
The tables which are large in size, frequently used and rarely modified are
buffered using a primary key.
4. No Buffering: The
tables which are large frequently used, and frequently modified are not
eligible for buffering.. VBAK (SALES), EKKO (PURCHASE)
Buffer
Synchronization
When
more than one application server is configured then buffers between different
instances may not be synchronized. In order to synchronize buffers set the
parameter
Rdisp/
buffermode = Send on; exec auto.
Rdisp/
buffertime = 60 Sec.
Mechanism
1. User1 request to APP1 for update Sales order to Rs. 500 @
10:00:01
2. User2 request to APP2 for update the same sales order to
Rs.550 @ 10:00:20
3. User3 request APP1 for display @ 10:00:40
WP will ask DDLOG table to check for recent update within 60
Sec. (DDLOG is a buffer synchronization table).
If there is any change then it will fetch from DB and swap
out the buffer. IF there are no updates fetches the same from APP1 Buffer. If
the content is requested after 60 Seconds, by that time it will be synchronized
between APP1 and APP2.
DDLOG is a
synchronization between instances and maintain TIMESTAMP
Note: DB13, DB02, DB
buffer.
Refer - All the programs are stored in TADIR,
TSTC, T001, EO70, SE01

All the programs is in Uncompiled mode in TADIR table.
SGEN - Compiles
the programs
14-Aug-09
ST04 DB
Performance Monitor
-
SQL server performance analysis. It is used to display the database buffer hit
ratio. It is recommended that it should not be less than 94% i.e. for every
hundred reads only 6 should goes to the database.
-
Database hit ratio comes down below 94% then consider the following.
1. Frequent updates on the database
2. DB Buffer size is not sufficient to hold the content
fetched from the database.
It is calculated by using formulae
[ Logical reads -
Physical Reads]/ Logical Reads * 100
Logical Reads is
the sum of [Physical reads and Buffer
Reads] (Buffer Gets/ Reads)
FROM ST04

Physical Reads:
The reads from the database.
If the buffer hit ratio comes down it effects on the DB
response time.
Ensure that DB Buffers are configured as per the available
memory. Some times complete memory will be dedicated to DB Buffers.
ST06 OSMonitor
It Fetches the data using service SAPOSCOL and it displays
CPU Utilization, Memory Utilization and disk response time.
The CPU idle time should not be less than 30% [For Portal up
to 80% to 85%]
If it is below 30% we can consider the following.
1. The ABAP programs are expensive with multiple conditions
and endless loops.
2. The CPU is not sufficient to handle the load because the
hardware is not procured as per sizing.
Probably the hardware is procured
as per sizing but the number of users grown dynamically (300-600). In this
scenario we advice to deploy additional instances.
3. If the programs are expensive then refer to development
team.
It also
displays the memory installed on the machine, Memory available(Free) along with
the SWAP space. Ensure that physical memory free is available to handle the user requests. If
not memory bottleneck.
It is also
used to start and stop SAPOSCOL (during Upgrades)
Note: OSCOL brings
the operating system information into ST06. If OSCOL is not started ST06 will
be blank.
We can check TOP CPU utilization for the current in the last
24 Hrs.

LAN CHECK BY PING
is used to ping to all the systems in the Network/ Landscape.
If a user complaints that he could not connect to the server
(Ping to the desktop)


Click on Presentation Server


ST07 Used to identify whether the system is optimally designed or not.
Say for Eg: from the below screen.
Users are 9944 and the WP are 27 so each WP serves 5-10
Users so 27*10 = 270
Here users are including Active and Inactive Users.

Ask the customer to provide the list of Active users.
Each work process serves around 5-10 Users. Calculate the
number of Process Vs Users to determine no of Users/ Process.
Based on the number of servers we can also define logon load
balancing. It is also used to identify the memory utilized.
This is also used to identify Response time and Buffers
Utilization.
AL11 : List the
SAP Directories on Application Server.
ST11: It is used
to display the work directory. It displays the log files related to work
process.
ST01 and ST05
Used to trace the following


2. Buffer Trace Available
in ST01 and ST05
3. Enqueue Trace
4. SQL Trace
5. Authorization Trace Only
in ST01
6. Kernel Trace
1. When the RFC/ CPIC time are going beyond threshold value
then switch on RFC Trace.
2. When more buffer swaps occurs in the table buffering ST02. Switch on Buffer Trace.
3. Enqueue Trace:
When the enque or enque wait time is increasing by 5 M.Sec on CI(Central
Instance) 100 M.Sec on Dialogue instance (Consider switching enqueue trace)
4. When there are too many expensive SQL Statements which
are increasing the database response time in ST04 then switch on SQL Trace. (Identify those statements in ST04)
Eg. Select * from can be fine tuned by using select single *
from with appropriate where conditions.
ST04 > Detailed > Oracle Session > SQL Statements.
5. Authorization
Check: Whenever user encounters missing authorizations and could not be
traced in SU53 can be traced out by switching the trace on User.
6. Kernel Trace:
Used to identify the consistency of Kernel. It records all the calls that are
made to kernel when the trace is ON.
Note: Do not switch on the traces when they are not
required. It will populate enormous log files and occupies the complete disk
place and system stands still. As a practice switch on the trace and inform the
user to run the transaction. Switch Off the trace.
RC=0 (Return Code)
Note: Tuning is not
testing we need enormous analysis and data to justify the conclusion.
17-Aug-09
IMPLEMENTATION OF SAP
Pre-Requisites
1. Motivation of SAP for an ERP Software
2. Landscape Deployment Plan
3. Hardware Sizing
4. Hardware and Software Order
5. Installation of the Software
6. Post Installation Steps
7. User management
8. Router ------ Remote connection to SAP
9. Landscape Configuration
10. Transport Management
11. Testing Strategy
12. Go
Live Strategy
14. Parallel Run
15. Go-Live
16. Support - Phase
1. Motivation
of SAP for an ERP
1.1.
Customer wanted to deploy an application that suites to his requirements by
replacing the existing software due to the following reasons.
1. The
existing Hardware is old and the response times are high.
2. The
software is out of maintenance with no updates, or with no company (Company
Bankrupt/ Merger etc.)
3. The
customer could not be competitive in the market due to the legacy methods
deployed
B1
- C++
No
ABAP, BASIS, NW
4. The
existing software is not capable to communicate with other systems
5. The
software is not user friendly to take the user inputs.
6. It
cannot communicate with print, fax, sms, paging devices.
7. Too many
legacy systems, too little integration, manual inputs, monitoring are the
various issues with the current software.
Customer enquires in the market and calls for the Auditors
to identify the software, hardware and the Implementer.
Delloite, Bearing Point, KPBG, PWC (Price Water Coupons) are the
auditors to identify the requirements in the company. They define the pain
points of every business user owner and document them.
Example:
- The software should be installed on all the operating
systems and databases.
- The GUI should be compatible, user friendly, ergonomically
designed, colors, fonts, languages, password change.
- The software should be unicoded language to support all
the languages.
- The software should support (Online, Offline, incremental,
partial, table level backup)
- The software/ Hardware should support mirroring, RAID,
clustering, Disaster Recovery, Restore etc.
- The software should support Mobile
devices, Email, Fax, SMS, Pager, PDA etc.
Note: ATP Server - Available to Promise
-----> Ware House.
Issue --- Description ---- Possible/ Not Possible/
Customizable/ If customizable Amount of effort.
These requirements list will be floated as RFQ feasibility
of software.
SAP is Strong in
Manufacturing, Weak in Retail } Tcode-SFW5(Switch
Framework)
SA38 - GETSYSDEF
- These list will be submitted to Oracle Apps, NAVISION,
Hyperion, Peoplesoft, Seibel (CRM) implementing partners.
Note: Toughly Coupled/ Hardly

- Preparatory costs has to be borne by vendors
TDMS - Test Data Migration Server
QAS
PRE PROD

SAND
DEV/ CUST/ GOLDEN
UNIT TESTING
INTEGRATION
PAYROLL/ TDMS 8
TRAINING
PRE PROD
PROD
- Customer decides software with the help of feasibility
reports and assistance from auditors.
- Customer calls for quotation to implement SAP
This is the first official document released to implement
SAP.
- Support partners like IBM, TCS, WIPRO, MAHINDRA submits
the proposal. They can also raise questions in the form of RFI (Request for Information)
18-Aug-09
------------------
C:\pf\sapinst_instdir\ERP\system\ORA\central\AS
Ensure that there should not be any .bck files while reinstalling the SAP
Refer: sapfans.com;
sapconsultant.com; sapbasis.com
Auditor gather info from - Business partner owners -
Software Vendors.
RFQ - Request for Quotation (Released by customers)
RFI - Request for
information
------------------
It can contain as follows
1. Module specific questions
2. Technical questions related to Hardware, Desktops,
Routing, Access, VPN, Backup, Disaster, Recovery etc.
3. Risk and mitigation
---------------

1. Project Implementation Methodology
2. Process
3. Company Strengths
4. Financial Background and Share Value
5. Past Projects and experience in that area
6. Average man power experience going to be deployed
7. Case studies and customer references
8. Implementation of solution manager (Provides Roadmap,
Business Scenarios, Documentation (Upload, Download) etc.
9. Certifications (CMMI - Capability Maturity Model, SIX
SIGMA, Sap Partnership)
10. Challenges in the project, risks and mitigations
11. Assumptions
Based on the above proposal customer and audit team
shortlist the two or three software vendors (IBM, TCS, WIPRO etc) -
Implementation Partners and call them for Interview (technical discussions) to
exhibit their capabilities.
Based on 4th and 7th vendor will be finalized to implement
SAP
Note:
External Security
Routing
Switching
Proxy
Firewall
Internal Security
Authenticating
Authorized users is Internal Security.
Project Costing:
1. Number of hours required/ No of Man days/ No of Man
Months
2. Cost of the Man
hours/ Man Days/ Man Months
Offshore 20-30$ 160-240$
Onsite 60-100$ 1000$ 20000$
3. Project can be a fixed bid let us say 2,00,000 (i.e. @
Million Dollars for completion all inclusive (Fares, accommodation, staff,
Replacement, Holidays, vacations, sick etc).
Payment will be released in Parts ---- Project Start 10%, Blue print - 20%
Realization - 20%, Final Preparation - 20%, Go-Live - 30%.
4. Let us say the Project Manager is SAP. We need to provide
manpower to SAP to implement @ customer site. Eg. SAP Project bidder is SAP for
28 Crores in Singareni Collories ... They out sourced to Seal Infotech for
training and implementation.
5. Critical Tasks are based on Man days/ Man Hours
Example : Disaster Recovery
1. Fixed
Bid
2. Time and
Material (T&M)
3. Resource
Based
4. Activity
Based (Try to include Wait time)
The scope of work needs to be defined properly before
sign-on. If SOW is not defined properly, it is vendor responsibility.
Risks and mitigations has to be clearly stated in the SOW.
Delay in Software, Hardware requirements from customers are
to be documented.
19-Aug-09
II. LANDSCAPE DEPLOYMENT PLAN
1. RFQ and RFI (Customer and Vendor)
2. RFP (Customer and Vendor)
3. SOW and Project Award (Customer and Vendor)
4. Landscape Deployment......... (Basis Consultant)
Landscape Deployment Plan:
It
consists of the number of systems that are going to be deployed in the customer
data center. It may serve the customer as an overview of the SAP systems. But
exact number of systems will be known only after the Hardware sizing
1 CPU / 2
Parallel Process
By default
3 Parallel Process.

III. HARDWARE SIZING
It is an exercise carried out by Basis consultant with the
help of the customer business process owners, Project Manager and Hardware
vendors (IBM, HP, SUN, DELL). It is used to determine the CPU's, Storage (Hard
disks) and Memory.
SAP Provides quick sizing toll
(http://service.sap.com/sizing)
Goto> Sizing tool > Click on Quick sizer
It will be opened on new window
Provide customer number, Provide Project name and create a
Project for sizing.
1. Provide Customer details to SAP
(Name of the
contact, Email Id, FAX)
2. Platform and communications
3. OS, DB, Mirroring, RAID, CLUSTERING
Standby server or
do you need any suggestions.
Note: Legacy database size (get the details from customer
what amount of data they are planning to migrate into SAP, Example Customer
Database size is 400GB but they want to migrate 250GB into SAP (Customer,
Vendor, Supplier, Material, Address, FI Transactions)
High Availability options (Time of Availability)
These are the general details that are required for sizing.
Load On the System:
Users work on the system on various modules
MM - Logistics
SD - Sales
FI - Financial
40% More to the sizing result.
SAP's - SAP
Application Benchmark for Performance Standards)
It is calculated in terms of Hardware vendors provide CPU in
terms of the CPU's
Eg. IBM P Series
generates 800 SAP's/ CPU.
Note:
----------------------------
IBM - DB2 [AIX O/s - DB2 Database]; I Series V5R4 - DB2]
SAP - MAXDB
Oracle
SQL Server - Microsoft
P Series, X Series (I Series V5R4) is the O/s
Clustering (Mechanism : PING PONG)
DD02L - ALL Sap
tables will be stored
65,611
SQL>Select bname,
mandt from SAPSR3.USR02;
SAPSR3 -
Database schema owner
SAPSR3DB - JAVA
------------------------------
21-Aug-09
Sizing is performed by quick sizer which is proprietary by
quick sizer which is proprietary tool of SAP. Sizing is based on the following.
1. High Availability
2. Type of Users
3. Modules used
1. High Availability
1. RAID1 -
Mirroring (1:1) on disk goes down other should take over.
2. RAID5 -
(5 Disks---- Util -4; 1 Spare/ Parity)

3. SAN - Storage Area Network
4. Backup - SAN
5. If disaster occurs ------ Setup DR Server in a different
geographical location
6. If the connectivity fails ...... buy more leased lines
from different vendors
7. If the existing server collapses -- due to power cable
--- multicables -- UPS -- etc -- Generator
Network Cable --- More than one cable
CPU's -- Multiple CPUS
Memory - Hosted on Multiple slots
DISK - RAID and SAN
8. If the complete system collapses due to hardware failure
use clustering -- Two Parallel systems (Used for failover or Load balancing)
Eg. IBM P-Series

Unless unlocked by
IBM we cannot make use of the additional Hard Disks
Note: For Upgrade -
Sizing
Capacity -
Sizing
Module Selection: Select the modules that are going to be
implemented like
Logistics, Financials, Product life cycle Management
(Currently HR is not going to be implemented but, there is a plan to implement
in future, If it before three years consider HR in sizing if not.
1. User - 480 Dialogue
Steps with the system
- 40 HRS *
60 Mins
1Dialogue Step - 40*60/480 = 5 Min = 300 Sec
2. 480 - 4800 Dialogue Steps - 40 Hrs - 30 Sec
3. 480 - 14400 - 40 Hrs - 10 Secs
Eg. Purchase Order / Week - 200 * 10 Dialogue Steps = 2000.
22-Aug-09
Service Desk >
1.Need to
activate some services
2. SICF
3. Execute
4. Default
Host
-
SAP
-
Public
-
bsp
-
SAP
-
htmlb RT Click > Activate Service
Note: This should be done as Post Installation Steps
SPRO > SAP Solution Manager
>
General Configuration
Activating BC Sets (BC-
Business Configuration)
Tcode: scpr20
> From End user system
If any one stuck @ point executing a command SM59 > Help
>
Create Mssg.
Component BC-MID-RFC
Test
Low
Test --
TKT No: 008000000001
The
Strategy is to migrate/ upgrade the hardware for every three years. The sizing
is based on
1. High Availability
2. Modules and
3. No of users
Along with legacy database and future growth of users
User Low Medium High
FI 50 250 250
CO 50 250 250
The sizing is also called as T-Shirt sizing which determines
your servers as (S, XS, M, L, XL, XXL) Sizing output determines the memory,
storage and CPU in terms of Saps'.
SAPS is ( SAP APPLICATION BENCHMARK FOR PERFORMANCE
STANDARDS)
SAPS are calculated based on Sales module. SAP assumes that
a sales order/ Purchase order consumes around 8-12 Dialogue steps. For every
2000 sales documents that are generated per hour requires 100 SAPS.
CPU cannot
be arrived directly because the process speed depends upon the hardware vendor.
(The hardware vendor determines the CPU Size based on SAPS example an ISeries
machine single CPU generates 800 SAPS.
If the sizing output requires 3200 SAPS then we need 4
CPU's.
The Hardware resources are required for the following which
needs to be considered while sizing
1. OS
2. Database
3. Interfaces (Like Fax, Email, SMS, Pager etc.)
4. Printers
5. Third party communication (Batch processing etc)
So we can consider adding 30-50% to the sizing results.
IV. Hardware Order
1. Customer calls the RFQ from various vendors to supply
hardware.
- Based on companies stability,
consistency, reliability, past experience, case studies, price and support
(warranty)...
- Hardware vendors take 3 weeks to
4 weeks to deliver based on the availability of the hardware.
HP ships from Singapore , Philippines
and Malaysia
IBM ships from US
V. ORDERING SAP SOFTWARE
ISUSER (INDIAN SAP USER FORUM)
ASUSER(AMERICAN SAP USER FORUM)
Communicate with SAP vendor (Channel Partners) and purchase
the license.
License is a single user based. i.e. If we buy one license we
can access ... ERP, SRM, BI, PI, EP, Solution Manager, MI etc.)
SCM. SRM CRM are charged Separately.
If we buy MYSAP business suite then all comes under one
license.
* There is no lock for licensed users in the system. We can
buy 100 Users and used for 10,000 Users.
* Every year we need to run USMM and send the report to SAP.
License Cost varies based on Geographical Location
MySAPFI - Oracle
Apps
MySAPSCM - Peoplesoft
MySAPCRM - Sieble
Each license cost 2000 USD
Each Developer Cost 4000 USD
After negotiation in Indian Market the Single user cost
comes to 40,000 to 1,00,000 depending upon number of users.
For 40,000 we should have atleast 150-200 Users for 10+1
cost 18 Lakhs.
---------------------------
Note:
Heap Memory -
Part of the Physical Memory (RAM Memory)
Physical Memory -
RAM
Virtual Memory -
Part of the Memory from the Hard disk
Buffer
Bin - Points to
the target system
BIN contains default.pfl
SAP_BC_ADMIn
S_Transports
CTS_Admin
Disp+exe ( PING , Etc Entry,
Any Kernel upgrade has been done (DEV_DISP.log)
---------------------------
27-Aug-09
BASIS
- It provides runtime environment for SAP Applications.
- 2.0 is based on two tier which is built on Mainframes.
- 3.0 onwards and upto 3.1I it is based on three tier and
web services are provided by using ITS.
- 4.0; 4.5A, 4.5B
- 4.6 A, B, C and D is kernel versions
(Mining, Textile, Chemical, Oil, Utilities, Real Estates,
baking, Insurance... etc.)
SAP determined to bring all the components on to a common
platform and introduced SAP Web Application Server (WAS)
The first version of WAS is 620 (A direct jump from 4.6D)
On 620 ....... ERP Version is 4.7E
On 620 ........BW version is 3.1C
Owner of the Database
- SAPSR3........... Upto BASIS 4.6C
4.6D is the Kernel Version.
- SAP<SID> ..... from WEBAS 620 to 640
It provides built in ITS to make application server as WEB
Application Server.
- SAPSR3 from WEBAS 700
It is a Netweaver (640...... 700...........710).
Next Level of WAS is 640
ERP - ECC 5.0
BW - 3.5
SCM - 4.0
CRM - 4.0
2.0, 3.0, 3.1 are BW Versions
2.0, 3.0, APO are SCM Versions
2.0, 3.0, SRM are SRM Versions
XI - 3.0
EP - 6.0
Next level of WAS is 700
ERP - ECC6.0
BW - BI7.0
EP - EP7.0
XI - PI7.0
SRM - 5.0
CRM - 5.0
Install ABAP(CI, DBI), JAVA add on. Install Central System
Installation (Select Usage type during Installation)
R/3 Setup is used to install SAP upto Versions Basis 4.6C
SAPINST introduced in WEB Application Server 620-640. Interactive
SAPINST is to modify the inputs move front and back to review the inputs
introduced in WAS700.
BASIS only Non-Unicode
From SAPWEBAS 640 unicode is introduced.
Run directory is used to host executables of kernel upto 640
where as OS version (NTI386, AMD64, IA64) with UC/ NUC is available in version
700.
OLD: The database table spaces are 27 which ends with
D(Data) and I(Index)..[SAPR3] owner.
From 620
The database contains only 6 tablespaces(Physical Location)
in 640 owner is SAP<SID>
PSAP<SID>
PSAP<SID>USR
PSAP<SID>REL
SYSTEM
PSAPROLL(PSAPUNDO)
PSAPTEMP
SQL> Select
tablespace_name from dba_tablespaces.
The database contains only 8 tablespaces in 700. Owner is
SAPSR3 for ABAP engine and SAPSR3DB is for JAVA Engine.
SYSTEM -
Database Related
PSAPUNDO - For Roll
Back
SYSAUX - From
Oracle Log for Administration
PSAPTEMP - Temp
Storage Memory
PSAPSR3 -
Component Specific
PSAPSR3700 - Version
Specific
PSAPSR3USR -
USER RELATED Info
PSAPSR3DB -
JAVA Specific DB
GUI Versions
46C
46D
620
640
700
710
Based on Windows and JAVA
SQL> select username from DBA_USERS;
Database
Users (DDIC and SAP* are SAP Users resides in USR02 Table)
SQL> select count(*) from DBA_USERS where owner =
'SAPSR3';
17476
SQL> select count(*) from SAPSR3.DD02L;
65611
SQL> select count(*) , owner from DBA_USERS group by
owner;
Eg. [CDCLS] Cluster
Table.
The difference is because of --
19,xxx 65xxx
Components: BASIS BASIS+ERP
31-Aug-09
Database
It is a storage. It is used to store the data in the hard
disk.
We can also store the data in terms of file system like
test.txt, test.pdf, test.doc, test.rtf, test.xls, test.ppt, test.pps
Disadvantage of the
file system
1. The data is not in the organized format.
2. There are no indexes to search the data.
3. The data does not follow the LUW concept and so it is not
consistent and reliable.
4. The version management will be difficult and time
consuming to get the required/ identify the file.
5. The backup management and reorganization is not
available.
These are the reasons for the evolution of DB.
Database: Used to store the data in the organized format and
it has to follow RDBMS rules (Relational Database Management System)
- Data is stored in terms of tables (Tables contain rows and
columns). Columns are headers and rows are the data.
- Duplication of data is avoided and uniqueness is obtained
by using primary and
secondary keys.
- Data search is faster by using indexes (based on Keys)
Eg: As in windows we can create as many folders and
subfolders with the same name and the search criteria depends on the search
string.
C:\shawn\shawn\shawn.......
- Database has its own structure to manage the data using
the database specific binaries and libraries.
Oracle/bin;
mssql/bin; db2/bin;
Oracle/lib;
mssql/lib; db2/lib;
- Database provides tools for backup management,
reorganization, restore and recovery
- Databases follow RDBMS rules to achieve consistency,
reliability and transaction LUW.
LUW -
Logic unit of work.
It consists of one or more transactions that are bundled
together which can be committed as a group or rollback without any data loss.
RFQ(Approved) - Sales Order
Purchase Req - FI Dept (Approval) - Purchase Order - Tenders
(Contractors)
(Eg: Purchase Order, Sales Order, Invoice, GR(Goods
Receipt), GI (Goods Issued) AP (Account Payables), AR (Account Receivables)
- Data is normalized and denormalised according to the
requirements of the customer.
Normalization
Process of splitting up the larger tables into smaller
tables using primary keys and secondary keys... ERP(ECC6), SRM.
Databases are normalized.
DENORMALIZATION
Process of grouping smaller tables into larger tables for
having data comprehensively available for analysis and reporting BIW.
[SELECT, INSERT, UPDATE, MODIFY, DELETE]
Scenario
User
requests for weekly status report.
1. User submits the request.
2. Request is handled by dispatcher
3. Keeps the request in Queue
4. Based on the available processes
requests are served based on FIFO.
5. R/3 Work process handles the
user request by interpreting the screen elements, program logic (Insert,
Modify, Delete, Update)
6. The response is fetched from
buffers if they are accessed earlier
7. If the request is not accessed
earlier, the request is converted into Native SQL statements of the respective
database.
8. R/3 Work process communicates
with database process to get the response.
9. Database work process checks
whether the table exists, if table exists then checks for the fields, if the
field and table exists, then asks for the optimized path to go to the database
table and identify the relevant rows based on keys/ Indexes (Five 5 Seconday
Indexes)
10. The data is fetched into
Database buffers before the response is sent to R/3 work process.
11. R/3 Work process keeps a copy
in the R/3 Buffer and response is sent to user.
01-Sep-09
UPDATE COMMAND
1. User request for updating a purchase order/ quotation /
Invoice
2. The request is received by the dispatcher
3. Dispatcher keeps the request in queue based on FIFO
4. R/3 Work process handles the request and update the
document into temporary tables (cannot update the permanent tables because all
the LUW's in the transaction has to be completed)
5. In the process of updating it will communicate with
enqueue and obtain the lock on the document so that no other user updates it.
6. The update request goes to the database.
7. Database process handles the request and checks whether
table, table definitions and execution (Cost based optimizer) path are valid.
8. All the update requests goes to the database and lock the
record in the database so that no user update it.
9. Database process keeps a copy of the record in roll back
segment PSAPROLL/ PSAPUNDO table space to roll back in case of CRASH/ System
Failure.
10. Get the record to database buffer for modification (No
record is modified in the database directly)
11. As the database buffers need to be accessed by user
modifications are not performed in DB Buffers instead in log buffers.
Eg. Consider a pan shop
Customer
- Cigarette Paper - Accounts book
Log buffers are a small area
around 1Mb - 4 Mb. As the log buffer is small the content is moved in to Redo
logs periodically.
Redo logs are duplexed (Mirror
logs and Orig Logs) and ensure that the
data is updated in the database.
12. The committed data is updated
into database
13. The locks are released and
rollback gets invalidated.
Note: Committed data can be
updated or Redo.
14. User gets the response that
the record is updated.
ORACLE
Oracle
is a database that is used by 2/3rd of SAP Customers. In order to support SAP
Customers it is mandatory to know the database management.
Oracle
is provided by Oracle Corporation which owns (PeopleSoft, Seibel, JDEdwards,
and other small software's to compete with SAP.
Oracle
is a proven, well spoken among customers, strong, reliable, consistent, robust
database to handle any amount of data in Terra bytes.
Microsoft
SQL Server from Microsoft, DB2 from IBM and SAPDB(MAXDB) from SAP shares the
remaining 1/3rd of SAP Customers.
Versions
Oracle
has versions of database
SAP License is costlier on Oracle than any other
combinations.
SAP R/3 4.6C 8.1.7
R/3 4.7 and ECC5.0 9.2.0.2; 9.2.0.4; 9.2.0.6;
9.2.0.7
ECC6.0 10.2.0.2.0;
10.2.0.2.4
Linux - SAPDB (MAXDB) is the cheapest combination.
DATABASE
ARCHITECHTURE

Connection Mechanism
(refer
dev_<SID>.old)
1. R/3 Work process loads all the DB Libraries.
2. DB_Connect to connect to database using client version
3. Users OPS$ User to
connect to database and get the password of the SAPSR3 User.
OPS$ Mechanism
It is a
mechanism which is used by operating system users to connect to the database
without any password.
All the
work processes uses OPS$<SID>ADM to connect to the database without any
password.
OPS$<SID>ADM
is the user who owns the table SAPUSER and contains the SCHEMA OWNER SAPSR3
user and password.
SQL>
Select table_name from dba_tables where owner =
'OPS$WILLSYS99\NWDADM';
WP ------> SAPUSER (Table)
USERID
| PWD
OPS$-User | XXX
Relogin with the above user and password
Disconnect from the DB and reconnect using SAPSR3 userid and
password to get complete access.
SAPSR3 is the Schema/ DB Owner
for SAP Database. As the processes are able to access the complete database
related to schema owner, SAP restricts the access by using internal security.
USER Request Flow
1. User uses SAP GUI to perform a transaction.
2. User request is handled by the dispatcher.
3. Dispatcher keeps the request in Queue
4. Based on available resources a process is allocated to
user requests based on FIFO.
5. WP task handler interpret the user request.
6. Check the content is available in R/3 buffers.
7. Communicate with Oracle Client to communicate with DB in
native language.
8. R/3 Work process handovers the task to database shadow
process (1:1 Ratio between R3WP: DBWP)
9. DB Shadow process checks the task contains valid table
and field definitions. IF the table/ Field definition does not exists get a
copy from the database and update the DD Cache/ LIB Cache.
10. DB Shadow checks if any SQL Execution plan exists. If
not it builds the plan based on cost based optimizer and update SQL Cache.
11. DB Shadow checks if the requested content exist in DB
Buffer if not fetch the content from database and updates DB Buffer.
12. The response is handover to R/3 Work Process.
13. R/3 Work process checks if it is eligible for buffering
then keeps a copy in R/3 buffers.
14. Response is sent to the user.
Refer init<SID>.ora
file
System
Global Area is the sum of Shared pool, DB buffers and log buffers
Shared
Pool
It is defined by shared_pool_size
which is a part of SGA (System Global Area)
It contains DDCACHE
and LIBCACHE and they are nothing
but parsed SQL Statements, Authorizations, Table and Field definitions and
packages.
Each query/
request should pass through this area...
DB BUFFER : Used to
store the content that is accessed from the database. It is used to reduce the
hits on the database there by reducing the load on the database. Its quality is
measured by database buffer hit ratio. In general for an optimized database the
ratio should be not less than 94%.
From ST04 - [Logical Reads - Physical Reads/ Logical Reads]
* 100
i.e. Out of 100 request 6 requests goes to the database.
DB Buffer is used to
store the data until its size is full (or) the content gets invalidated by a
change or least recently used. It is defined by a parameter db_block_buffers.
SQL> select
name, bytes/1024/1034 "MB" from V$sgastat where pool....
Its size is defined by multiplying by 8kb because each block
size is 8 kb.
SQL> show SGA
LOG BUFFER: It is
used to perform the data manipulations by database work process. Every request
that needs modification/ update / delete has to be performed only in this area.
It is defined by the parameter log_buffer generally its size varies between 1MB
to 4MB. It should not be too big or too small.
SYSTEM/ SHARED GLOBAL AREA:
IT is a memory area which resides purely on memory and it is lost when the
system is stopped.
SGA is lost the complete cache information is lost. It takes
time to build SGA when system is started that is why the system is slow after a
restart.
ORACLE PROCESSES
1. Shadow Process
2. Background Process/ Server Process
Shadow
Process
These
are used to handle the user requests. They perform the task assigned by an R/3
WP. They called as shadow processes because they perform the task
non-interactively. These are also called as User processes (In Oracle Terms)
The
process are established at the rate of 1:1 during the startup of SAP system.
Background/
Server Process
These
are non-interactive to R/3 Processes. These are initiated by system based on
requirement.
LOG WRITER
Mechanism
a)
R/3 work process submits the request for an update.
b)
Shadow process handles the update by locking in the database
c)
It takes a backup of PSAPROLL/ PSAPUNDO to roll back to the original state if
the update is cancelled or abrupt.
d)
The record is fetched into DB Buffer for allowing selection.
e)
A copy of the record is taken to log buffer for modification
f)
the data/ record is modified in log buffer. This cannot be kept for long in the
log buffer as the log buffer size is small.
LOGWRITE (LGWR) is used to write the committed data into
Redo log files (Origlog A, Origlog B, Mirrorlog A, B) from log buffer.
This is the first place where a record is written to the
disk to ensure that committed changes are not lost. To ensure the disk
consistency log writer writes into Origredolog
and Mirrorredolog files (Both
resides on two different physical disks).
When the data is committed System Change Number is generated
to ensure the faster commit mechanism. Log writer writes the commit into Redo
log files but when the size of Redo log file is full size 50MB. It will perform Log Switch.
Log Switch:
It is a process of switching between RedologA to RedologB
and Mirror Logs A to B
i.e. when RedologA is full it is closed for writing and
RedologB is opened for writing.
There will be only one process.
The log writer process writes data from the redo log buffers
to the redo log files on the disk.
The writer is activated under the following conditions
1. When a transaction is committed
2. Every 3 Seconds
3. When the redo log buffer is 1/3rd full or 1MB of
committed.
4. When DBWR signals the writing of redo records to disk.
The log writer must always be running for an instance.
Comments
Post a Comment