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)

 




K
E
R
N
E
L
 
                                                                 SAP

                                                                            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_LocalAdmin
SAP_SOL_GlobalAdmin                             From Computer Management -> Local
SAP_SOL_LocalAdmin                               Users and Computers we can view this

6. It creates Services

            SAP<SID>_00, SAP<SID>_01, SAPOSCOL, SAPCCMSR are created and
            Run with user.

SAP<SID> is used to start the SAP System; if the service is not started SAP will not start.

SAPOSCOL is started first to check whether the resources are available (Operating system collector) It is used to collect the OS Utilization information and pass into SAP system.

SAPCCMSR is an agent to collect JARM (Java Application response time Management) and pass it to ABAP CCMS (Computing Center Monitoring System)
It is only used in JAVA and ABAP stack.


Users
Groups
Services
Creating directories
Executables
                                    - OS Dependent
                                    - DB Dependent

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.

Interface / Screen
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



 

Enterprise Portal


12. SYS Directory

Contains executables and profile parameters to start and stop the system

EXE Directory            - hosts all the executables from netweaver exe dir contains   
                                       UC/ NUC and 32/64, i386/ ia64

In 4.7 we can see only exe directory

13. Work Directory

            This stores the startup and error logs



















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)

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.

Shared Data
 

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

SALE - for assigning the logical system.
              Click on new entries and provide <SID>Clnt900

Default clients : 000, 001, 066
We can create upto 1000 Clients 000 to 999
For the newly created client say in this case 900 a user will be created SAP* with pass as the password.

For the first time we cannot login [SAP* / pass]
So being from another client perform RZ10 - change the parameter to
Login/no_automatic_user_sapstar   to 0 instead 1

After creating a client need to perform client copy [SAP_CUST]
Always need to copy 000 client because it will have all the customized data.066 is for early watch.

Create an new user as SAPUSER copied from SAP*/ DDIC logging in as SAP* user from the newly created client.

Login to the new client with our userid and password and lock the DDIC and SAP*

----- TASKS -----
Setting up a LOGO

Execute SMW0

Select (0) Binary data for WebRFC
                        Click on Find button

Click on execute
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

X + Y (LUW1)                       A + B (LUW1)
Z + M (LUW2)                       X + Y (LUW2)           Dead Lock
Q + R (LUW3)                        R + Q (LUW3)

Enqueue process the locks and unlock the record during an update.

Enqueue server maintains the lock table on the shared memory of the Central Instance (or on the instance where it is installed)

It is recommended to increase the Enqueue processes only on the Central Instance.

Technically the Message and the Enqueue should reside on the same instance (It is not mandatory). If both are installed on the same machine then it will be more comfortable for message server to communicate with Enqueue process to obtain locks for Dialogue process that are coming from other instances.



RFC
 
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.



OUT PUT
REQUEST
 
 

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 A A+B =50
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.

Berkley           UNIX  PRINTER
                        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.


Security
 

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.
            Select Icon > Other Configuration [][]
            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


---------------------------------------
Goto Market Place
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
 

1. RFC Trace
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

Popular posts from this blog

SAP NWA: Net Weaver Administration Tool

Advanced JAVA

SAP BASIS SPOOLING : Printing problems and general issues