You are on page 1of 174

1 15-jul-09 SAP BASIS Consider the following example [ EMAIL or RAILWAY] For Email - It requires a PC and an Application installed

in it.

Yahoo/ Google

1. Client requests 2. The request is processed by an interface 3. The request reaches server 4. The server process the request 5. Response back to the user either {Ticket/ Email} This environment is called as a Client/ Server Architecture.

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 are 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 2. SAP GUI for JAVA 3. SAPGUI for HTML (On Windows OS) (On all OS where JAVA is supported) (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 ORACLE 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 11.23 9.2.0.6 / 10.2.0.4

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 16-jul-09

BASIS 1. It provides runtime to SAP Applications 2. Basis is a layer where all the applications reside 3. Basis provides the infrastructure to manage, monitor, 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

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

9 Execute SU01 - Edit the user - From Parameters Tab - Provide PID and VKO

Value 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

10 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; Select BNAME from SAPSR3.USR02; (database users) (Sap Users)

SAP
K E R N E L

DB OS

Kernel Provides communication between SAP, DB and the OS.

11 Usr\sap\sol\sys\exe\uc\NT1386

Installation Logs Sapinst.log Sapinst_dev.log - Specifies the installation success / failure - 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

12 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 <SID>ADM UNIX App Server <SID>ADM Database ORA<SID> Database <SID>ADM

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

From Computer Management -> Local Users and Computers we can view this

13 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"

14

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: SAPMNT: SAPLOC: \\willsys\sapmnt ~ d:\usr\sap

Both in Win and UNIX 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) - These are also populated from JAVA Engine (Generic Request Message Generator GRMG) - is used during upgrade - the complete SAP Application Server. - is used to host the Developments

PRFCLOG

PUT SID Hosts Trans

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.

15

[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,

16 LoadDB, Updated Stats, RFC's DEFAULT USERS <SID>ADM -- SAP start ORA<SID> -- For UNIX SAP SERVICE <SID> (OS Level Access Related to SAP)

Sys system J2ee_ADMIN SAP* DDIC SAPSR3 SAPSR3DB

Master Database

Java Web SAP R/3

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

17 \USR directory is created with a shared folder SAP with shared SAPMNT & SAPLOC Eg: SAPMNT: SAPLOC: \\willsys\sapmnt ~ d:\usr\sap

Both in Win and UNIX Only in Windows not in UNIX

These are shared between systems and accessed locally and globally

CCMS PRFCLOG PUT SID HOSTS Trans CCMS PRFCLOG PUT SID Hosts Trans - Used for alert logs that is populated by the service SAPCCMSR (Java Stack Only) - These are also populated from JAVA Engine (Generic Request Message Generator GRMG) - is used during upgrade - the complete SAP Application Server. - 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 2. SAP<SID>_00 3. Listener - Used to collect the OS Resources - Which is mandatory to start SAP - 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"

18

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; 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 SAPOSCOL_01 - ABAP Instance - JAVA Instance Checks the DB Status

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> EP BI JAVA ABAP

ERP<SID2> EP BI JAVA 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

19 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 Suppliers - PI 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

20 17-jul-09 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

21 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 Modify/ Insert - from the buffer area. - 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.

22 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 V E B M G S - Dialogue - Update - Enqueue - Back ground - Message - Gateway - Spool

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

24 7. SPOOL 'S' It is used to print the documents to a printer or output to a fax machine etc. There should be atleast 1 Spool process in the entire system. It is also possible to configure more spool process depending on the print/ spool volume.

18-jul-09 DVEBMGS00 Dialogue Update Enqueue - Interactive - 2 Per instance - Initiate update, spool and btc (background) - Non-Interactive - 1 Per system - Initiated by dialogue - 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. - It provides an interface to communicate between SAP and NON-SAP Systems. 1 Gateway per instance. - 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.

Gateway

Spool

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 2000 Adv. Server Or 2008 - MS SQL Server

- Oracle - MaxDB

25 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 ERP 2004

- ECC6 - ECC5

26 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 20-jul-09 INSTALLATION 1. Central Instance 2. Database Instance 3. Dialogue Instance

27

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.

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

29 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, and JDI), SCM, SRM, and 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.

30 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, and PRE-PRD are set to not-modifiable i.e. no object can be modified in these systems. The changes are only transported to the not modifiable systems.

21-jul-09

1. SICK/ SM28 - SAP Initial Consistency Check Checks for the Incompatibility between R/3 Patch Levels, Kernel Levels, OS levels and Database patch levels.

2. SLICENSE SAP Issues two licenses, one is the permanent key valid upto [31129999] The other one is Maintenance Certificate which is valid upto 3 Months. This Maintenance certificate is introduced from JAN/ 2009 onwards. It locks SPAM so that no upgrades are allowed without a valid Maintenance certificate.

31

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.

32

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.

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

34 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. 22-jul-09 Practicals CONFIGURING STMS

Perform DICO to delete the STMS configured earlier if necessary and the RFC connection from the external system.

35 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

36 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

37

Document class : General text From document tab NAME - ZLOGIN_SCREEN_INFO create Type the text - Welcome SAVE. 23-jul-09 Roles granted for me in the SAND BOX for Capgemini

POST INSTALLATION ACTIVITIES 1. SICK 2. SE06 3. SE03 4. STMS 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 4.1 SALE

38 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:

39

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

40

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 SAPHELP PLATFORM WINNT AREA IWBHelp PATH 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)

41

Note: Create users in SU01 and assign SAP_ALL to the functional and technical team as the security is not implemented. 24-jul-09 STRUCTURE OF APPLICATION SERVER Dispatcher Workprocess User Context Task Handler Buffers - DPMON - SM50/ SM66 - SU56 - from Work Directory - 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.

42 * 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

43

LICENSING Standard License Maintenance License - till 9999(YYYY) - 3 Months

Each user license cost - 4000 USD In India tag is 2000 USD for min number of users Eg: 10 + 1 is minimum Developers are charged differently 10 + Users 1 Developer 48000 * 50 = 12, 00,000 4% VAT 17% Maintenance /Year 48,000 2, 04,000 ------------------------14,04, 000 2,04, 000 20, 000 ------ --14, 68, 000 - 40000 USD - 8000 USD

10.3% Service Tax

+ Customs 22% Maintenance cost across the globe except INDIA 5 22% Eg: 1 24% Telco Bajaj ARAMCO 2 26% - 5000 - 270 -50000

44 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) 25-jul-09 Dialogue handles the requests and process only reports with out any assistance. If the reports are long running, time consuming, expensive then they can be scheduled to run in the 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

45 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 - Type of Process - Process PID : Starts with 0 (DEV_W0) in work directory : (DVEBS) Message and Gateway are not displayed : 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

46 -status Waiting Stopped Running On Hold Shutdown 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) : Waiting, Stopper, Running : The process is waiting "Available" to serve the user request. : The process is stopped due to an error. : The process is executing the task (SM50 running with our Userid should not be considered) : The user request is on hold by process for waiting certain Resources on the other systems (RFC, CPIC) : The process is killed/ shutdown but restart mode set to NO

- Restart YES/ NO

: if the process is terminated and it will restart automatically (Yes), not restart (NO) : No of times the process is restarted : The block that hold at OS Level (DISK) : The amount of time WP spends utilising CPU resources : The amount of time the process spends on the user request. : The name of the program/ report the WP is executing : The client number logged in : Name of the user : Select, Update, insert i.e. action on the database. : Name of the table. 26-jul-09

- Error - Semaphore - CPU - Runtime - Report - Client - User name - Action - 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

47 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)

48 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: 2. Released: 3. Ready: 4. Active: 5. Cancelled: 6. Completed: The job is defined but time to execute is not specified. The time to execute is specified The Time to run the job is reached BWP processing the task The job is cancelled 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:

49

Name : Specify the name of the program and the parameters. Specify the name of the target host. Specify the start condition Immediate/ Periodic/ Jobstart, Event (SM62)/ Operation. Modes. Job Started: When dependent job started this gets triggered. Event: When an event triggered in SAP it also triggers the job as well. OPERATION MODES RZ04 SM63

It is the process of switching DIA to BTC and vice versa during the peak hours as we need more dialogue process and during off peak we need more BWP to run the BTC jobs. RZ04 > Define 1. Instance 2. Operation Modes (Peak and Off Peak) 3. Specify the processes for modes Goto SM63 to define timing for the modes RZ04 > click on Create [Instance Operation Mode] Peak_mode Peak_mode operations Default SAVE Off peak Off peak Mode Create new Instance willsys28 Start profile Save. 27-jul-09 BACKGROUND JOB MONITORING SM37

rdisp/wp_no_btc = 2 rdisp/btctime = 10

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

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

52 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"

53

And schedule the BTC jobs with default time. 1. RSBTCDEL - Used to delete the background jobs Reporting structure "BTC" "DEL" - Delete the old ABAP Dumps - Delete the old spool logs and files - Delete old update requests/ logs - Collects performance info in transaction ST03. - Spool Reorganization

2. RSSNAPDL 3. RSPO1041 4. RSMO13002 5. RSCOLL00 6. RSPO1043 Eg: from SA38

Click on Execute And Specify the Days ...

54

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

55

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.

28-jul-09 There are Third Party BTC Job Schedulers 1. CONTROL-M Scheduler 2. RED WOOD Scheduler 3. TIDEL Scheduler 4. SAP Job Scheduler 5. MAESTRO Scheduler / IBM These Third party schedulers are not specific to SAP but we can customise these to SAP These job schedulers are intelligent to work based on the status of Predecessors. The tool defines when to trigger, how to handle various statuses and alert users accordingly. Eg. KODAK Runs 14,000 Jobs/ day HP Runs 20,000 Jobs/day

56 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

57 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

58 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 VBDATA VBMOD VBERR - To store update header information - To store data that needs to be updated - The modules through which the data is updated - Update Error Table

59

And gets a transaction ID from Number Range Buffer (Transaction SNRO and Table NRIV Number Range Interval Table) SNRO

NRIV

60 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) 29-jul-09 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.

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

62 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

63 Logon Groups SMLG SMLG > Create Provide GROUP: INSTANCE: Now from SAP Logon Screen Click on Groups > and Provide SID and Message Server. For Eg: MARKETING dewall36_R3I_00

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>

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

65 There will be 1 One Enqueue process installed during installation. It is also possible to increase Enqueue processes to more than one depending upon the updates but most of the customer environments there will be only 1 One enqueue process. It is configured by the parameter rdisp/ wp_no_enq = 1 30-jul-09 DEAD LOCK SAP TRANS ------ MULTIPLE LUWS

MM Dept X + Y (LUW1) Z + M (LUW2) Q + R (LUW3)

Sales Dept A + B (LUW1) X + Y (LUW2) R + Q (LUW3)

Dead Lock

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

66 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 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 SM12

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

67 1. Lock table is overflow and the locks are held in SM12 2. Update is deactivate (SM14) due to any of the issues in DB. If the update gets deactivated then the locks are not released. 3. If the Enqueue time increases i.e. there could be RFC issue or Enque wait time is increasing then consider increasing Enqueue work processes. 4. Dead locks (Usually never occurs, but there is a collision between PP, Manufacturing and Material Module, so highlight this issue to SAP) In some instances we may need to release the locks but we need to follow certain process. Do not release the lock in SM12 (Even though there is an option) Lock deletion is recorded in SM21. 1. Users complaint that he could not update a record and message pop up stating that the record is locked by user XYZ. 2. Check the period of lock (if it is older than 1 hour inform to the escalation manager) 3. Get the written B&W approval from the user and terminate the session of that user using SM04. (Only Terminate or End that session) All the transaction activities are recorded in CDHDR Note: Initially 20Kb Mem is given from ztta_roll_first. We may need to allow some locks for more than one hour or days (Eg. Payroll update processing) consumes lot of time. We need to ensure that dialogue process should not held for longer time, but however BTC is allowed.

31-jul-09 SPOOL PROCESSING User request - DIA - (Tables TBT*) BTC---- (TST01, TST03)--SPOOL -- PRINT User request - DIA-- (TST01, TST03) --- SPOOL ------ PRINT PROCESS/ FLOW: 1. User request to print a purchase order (or) user schedule to print dunning reports (LEGAL Notices, Credits, LOANS etc)

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

69 DB [DB] 1. Consumes more time than Temse at OS when there are less no of records. but shows the performance by using Indexes when the user grows (Temse can handle 90000 Requests) 2. Backup is a regular activity on database so the Temse is secured. As it is stored in tables. Temse is a part of Normal Database (TST01 and TST03) no separate memory is required.

DIALOGUE - BTC request - Spool Process DIALOGUE - [TST01, TST02] - Spool Process

OUT PUT REQUEST

FRONT END > Spool process comes at our Desktop Default setting is DB RZ11 : rspo_location : rdisp/ btctime 3. The Spool process reads from TST01 and TST03 i.e. the name of the author (USER), Name of the Printer, No of copies are procured from TST01 and Printable data from TST03 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.

70 We can configure as many as we can depending upon the available resources. It is also possible to have dedicated instances which will provide only spool processes PROGRAM[ RSPO1041] to maintain TEMSE. Refer: From SE12 TPFYPROPTY Flag for changes Obj_name = parameter Rdisp/time Type T denotes Dynamic X - Whether Changeable or not. 01-Aug-09 SAP System

Note: We should not touch the Repository data of name space 'A' to 'X'. SE11 > table name : /* (/ is a customer name space) 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)

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

72 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

73

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.

74

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 Select C for UNIX based system (Local Print Method) for Windows (which uses direct operating system call)

75

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 For FRONT END

> Needs the printer models > SAPWIN

76 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 (Stores in Temse) Output Requests

77 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. Spool request is being generated (Stored in Spool system) Waiting for processing by spool The spool WP is formatting the output for 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) 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. 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.

2. Status '+' 3. Waiting 4. In Process 5. Printing

: : : :

6. Completed

7. Error

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.

78 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

79 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

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

81 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

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

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

84 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

85

* 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,

86 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 Hero Honda Non SAP XML Dealers SM59

RFC: REMOTE FUNCTION CALL

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.

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

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

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

90 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 -------------------

91 Refer SM12 SM13 SM14 SM36 SM37 SM21 ST22 RZ04 SM63 SP01 - Select Lock Entries - Update requests - Update program Administration (Deactivate) - To define the Back ground Job - JOB monitor - System Log - ABAP Dumps/ Runtime Error - Maintain Operation Modes - Display/ Maintain Operation Mode Set - 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 SM50 SM51 SM66 WE05 SMQ1 SMQ2 SM04 - RFC Destination - Process Overview - Active SAP Servers - Global Work Process overview - IDOC List - QRFC (outbound) queue - QRFC (Inbound) queue - 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 ]

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

93

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

94

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]

95

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

96

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.

97

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 TSTCT - Holds the transaction and the Program name - Holds the description/ text of a T-Code.

98

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.

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

100

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.

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

102 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 1 2 . . 8 MEMORY Roll_first 20KB 20KB 4GB Roll_extn 512MB 512MB 8GB Heap 2GB 2GB STATUS PRIV PRIV

Roll_Area 19.980MB 19.980MB

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

104

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 Installation System ID 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 IP Address : JOMLSOLMAN : 213.210.213.197

: : :

Company Name JOD

(This is where our SAPRouter is going to be configured) We are using dedicated public IP Address SID INSTANCE NO : JOS : 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 Hit SEND R. Shunmugam Phone No:

105 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)

106

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

107

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>

108 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

109 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

110 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

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

112 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).

113 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

114

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.

115

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)

116

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.

117

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 3. Enqueue Trace 4. SQL Trace 5. Authorization Trace 6. Kernel Trace

Available in ST01 and ST05

Only in ST01

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.

118

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. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Motivation of SAP for an ERP Software Landscape Deployment Plan Hardware Sizing Hardware and Software Order Installation of the Software Post Installation Steps User management Router ------ Remote connection to SAP Landscape Configuration Transport Management Testing Strategy Go Live Strategy

119 14. 15. 16. Parallel Run Go-Live 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.

120

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

121 -----------------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

122 2. Cost of the Offshore Onsite Man hours/ 20-30$ 60-100$ Man Days/ 160-240$ 1000$ Man Months 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.

123

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:

124 ---------------------------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)

125

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.

126 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 FI CO Low 50 50 Medium 250 250 High 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)

127 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

128 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 Physical Memory Virtual Memory - Part of the Physical Memory (RAM Memory) - RAM - 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

129 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 BW EP XI SRM CRM - ECC6.0 - BI7.0 - EP7.0 - PI7.0 - 5.0 - 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

130 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)

131

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 Components: BASIS 65xxx 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

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

133

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.

134 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 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. and

135 SAP R/3 R/3 ECC6.0 4.6C 4.7 and ECC5.0 8.1.7 9.2.0.2; 9.2.0.4; 9.2.0.6; 9.2.0.7 10.2.0.2.0; 10.2.0.2.4

Linux - SAPDB (MAXDB) is the cheapest combination.

DATABASE ARCHITECHTURE

136

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.

137

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 DB 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

138

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

139 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

140 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. 02-Sep-09 SHARED POOL It is defined by shared_pool_size which is a part of SGA?(System Global Area). It contains DDCACHE and LIBCACHE. They are nothing but parsed SQL Statements, Authorization table and filed definitions and packages. Refer (init<SID>.ora) System Global Area is the sum of shared pool, DB Buffers and Log Buffer 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 Hit Ration - [Logical Reads - Physical Reads/ Logical Reads] * 100 i.e. out of every hundred requests 6 requests go 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. Db_block_buffers SQL> select name, bytes/1024/1024 "MB" from v$sgastat where pool.... Its size is defined by multiplying by 8KB because each block size is 8KB. SQL> show SGA LOG BUFFER It is used to perform the data manipulations by database work processes. 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.

141 (Note: If the buffer size is more no updates will happen. The DB WP waits till the buffer total memory gets utilized and then updates the DB) SYSTEM/ SHARED GLOBAL AREA It is a memory area which resides purely on memory and it is lost when the system is stopped. i.e. 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 PROCESSESS 1. Shadow Processes 2. Background/ Server Process Shadow Processes These are used to handle the user requests. They perform the task assigned by an R/3 WP. They are called as Shadow Processes because they perform the task noninteractively. These are called as User Processes (In Oracle Terms). Background or Server Processes These are non-interactive to R/3 Processes. These are initiated by system based on the requirement. 1. LOG WRITER Mechanism 1. R/3 Work process submits request for an update. 2. Shadow process handles the update by locking in the database 3. It takes a backup of PSAPROLL/ PSAPUNDO to roll back to the original if the update is cancelled or abrupt. 4. The record is fetched into DB Buffer for allowing selection. 5. A copy of the record is taken to log buffer for modification 6. 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. * Log Writer is used to write the committed data into Redolog files (OriglogA, OriglogB, MirrorlogA, 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).

142

When the data is committed SYS Change number is generated to ensure the faster commit mechanism log writer (LGWR) writes the commits in to Redolog files but when the Redolog file is full) size 50MB. It will perform log switch. LOG SWITCH It is a process of switching between Redolog A to Redolog B and Mirror Logs A and B i.e. When Redolog A is full it is closed for writing and Redolog B is opened for writing. There will be only one process. The Log writer process writes data from the redolog buffers to the redolog 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 redolog buffer is 1/3 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.

03-Sep-09 The Content of OriglogA, OriglogB, MirrorlogA, MirrorlogB ... (Redolog files) gets filled and need to move to other location. If it is not moved. 1. Redolog files gets filled and does not have space to write the content from log buffer. When log buffer cannot write the content then log buffer gets filled and subsequently the update mechanism gets halted. so, the redo log files needs to write to an alternative location immediately once they get filled.

When Redologs are full ARCH Process

143

During the log switch OriglogA gets filled for writing and OriglogB is opened for writing. The contents of OriglogA will be written to ORAARCH directory (Provided archieve_log_mode is set to true). The contents are written by ARCH from RedologA to ORAARCH and RedologA is ready to be written by LOGWR. Similarly RedologB. DBWR (Database Writer) The content that needs to be updated is fetched into DB Buffer for selection. A copy is made to LOG Buffer for updation. Once the content is updated in Log Buffer it marks the content in Database Buffer as Dirty buffers and not eligible for selection. DBWR is triggered in the following circumstances [ORACLE RAM] = SGA 1. When the request comes to access the dirty buffer content. 2. When ever a check point occurs (It writes based on system change number SCN) Note: Every select statement hits the database and brings the data to DB Buffers. All the updates will be done from Logbuffers. SQL> select sequence # from V$ARCHIVED_LOG; CKPT - Check Point It is used to ensure that system is consistent. download.oracle.com/docs/cd/310501_01/server.920/a96524/C09procs.htm#21919 It updates the headers of all datafiles to record the details of the checkpoint. It triggers DBWR/ LGWR

SMON

SYSTEM MONITOR

Used to ensure the Oracle database is consistent and reliable. In case of system crash/ abnormal termination SMON reads the online redologs and redo the changes to database and also reads the PSAPUNDO to roll back the changes. The system monitor process (SMON) performs recovery, if necessary at instance startup. It triggers during the system startup and ensure that system is started.

PMON

PROCESS MONITOR

144 Used to monitor the process recovery when a user process (Shadow process) fails. PMON is responsible for cleaning up the database buffer cache and freeing resources that the user process is using and release the locks. PMON periodically checks the status of dispatcher and server processes and restarts any that have stopped. - Used to monitor the process (PMON) - Used to start the processes if they are stopped - Release locks - Freeing the resources that were used by user processes. PHYSICAL FILE SYSTEM 1. Datafiles : These files are with extension (.dbf). These are used to store the data in the Oracle specific RDBMS format. 2. Control Files: These are used to display the structure of the database into Six different locations. It is the most important file (Cntrl<SID>.DBF) The location is specified by a parameter control_file. Do not modify the control file manually, the system modifies by itself when ever there are any changes. 3. Initialization Files: INIT<SID>.ORA is used to provide the startup parameters for Oracle. init<sid>.sap us used to provide the database backup/ restore (brbackup, brarchive, brconnect, brrestore) control parameters. Init<sid>.dba is used to provide authorization to SAPDBA/ BRTOOLS. These are located in Oracle_home/ database(windows) DBS on UNIX. 4. Network/ Admin Listener.ora Tnsnames.ora Sqlnet.ora Provide Port and the Host Name. Provide port and the hostname .....

04-Sep-09 Special Parameterization files (SPFILE) All the changes that are made requires a reboot of Oracle database. In order to change certain parameters SPFILE is maintained.

We need to explicitly create SP file this SP File cannot be edited manually E:\ORACLE\QAS\I02\ADMIN

145

Oracle Startup When Oracle is started the database available for users. Commands Startup open Startup mount Startup no mount. Oracle contains 3 Modes (4 Including Restrict) 1. Startup Nomount : This phase is used to create control files and database. No datafiles are mounted. 2. Startup Mount: We can start a DB and mount a database without opening it, allowing us to perform specific maintenance operation. a) Change the archive log mode status 3. Startup Restrict: a) Perform an export or import of database data. b) Perform a data load (With SQL * Loader) c) Temporarily prevent typical users from using data d) During certain migration and upgrade operations e) Used during patch applications the database is opened but not allowed i.e. restricted to the above operations. End uses cannot perform any tasks. 4. Startup Open: When DB is started using startup cmd. It reads the init parameters in the following sequence. 1) SPFILE<SID>.ORA 2) SPFILE.ORA 3) INIT<SID>.ORA 4) INIT.ORA Oracle Shutdown 1. Shutdown Immediate

05-Sep-09 Shutdown Modes

146

1. Shutdown Abort The database is forcibly shuts down and may not be consistent and requires recovery during startup. SMON ensures that the database is consistent (REDO/ UNDO) All the users who are working on the system gets terminated abruptly and the intermediate data is lost. (Which is committed) Not Consistent.

2. Shutdown Immediate The database is shutdown immediately but all the committed transaction are updated in the database and opened transactions are rolled back. No new connections are allowed. Consistent. 3. Shutdown Transactional. The database does not allow any new connections, all the committed data is updated In the database and opened transactions are only allowed to complete, no new transactions are allowed. Consistent 4. Shutdown Normal It allows the users to complete all the transactions and shut down the database. No new connections are allowed but time consuming to stop the database. STORAGE The database uses file system but organized in the RDBMS concept. The data is stored in terms of Database block size in terms of Datablocks. Each block size is 8KB(8192 Bytes) Block size is determined by parameter DB_BLOCK_SIZE (refer inti<sid>.ora) The two parameters DB_NAME and DB_BLOCK_SIZE should never be modified. Data files are physical files on the file system where data is stored in Datablocks.

EXTENTS

147

These are used to allocate space to a table/ segment to control the growth 1. Initial Extents 2. Minimum Extents 3. Next Extents 4. Max Extents Segment means (table or Index) Group the blocks to Extent Reorganizing - Utilizing the fragmented space. ............ Eg: Req: 150 Given 200 Next 50 Max 500

These table/ Indexes are grouped logically into a tablespace/ Container Tablespace [ Logical which will have a name and holds Extents, Blocks and Segments Logical which holds Ext1, Ext2...... Extents Extent Holds the Blocks Physical (OS Level) holds data/ datablocks Physical (OS, Oracle Blocks) ]

Segment Extent Datafile Blocks

[ [ [ [

] ] ] ]

Tablespace is a logical entity which contains related tables/indexes. Oracle provides default tablespace "SYSTEM to manage the database". SAP provides the other tablespaces that starts with naming convention PSAP 1. PSAP<SCHEMAID> 2. PSAP<SID>RELEASE 3. PSAP<SID>USR 4. PSAPTEMP 5. PSAPROLL/ PSAPUNDO 6. SYSAUX PSAPDEV PSAPDEV640/ 700 PSAPDEVUSR Temporary Table Space UNDO Table Space

SYSAUX is a new tablespace available from version 10g.

148 Tablespace is pointed to physical datafiles. Each Tablespace can have one or more datafiles to store the table data/ Index data. Note: Each datafile is assigned to only one tablespace. Eg: Users are creating purchase orders extensively into the tables EKPO, EKKO and other child tables. These tables are assigned to a tablespace PSAP<SID>. This tablespace is pointing to two datafiles of size 4GB each. User encountered an error ORA-1653/ ORA-1654 tablespace over flown and the user could not update/ create any more PO's

The user could not update the data because the datafiles are filled (or) there is no enough space to allocate for extents. Resolution Use BRTOOLS (Backup Recovery Tool) to resize the datafile (or) add a datafile. (Alternatively we can add using SQL Command) SQL> Alter tablespace (Tablespace Name/ PSAP<SID>) add datafile location and size; EXTENT MANAGEMENT When a table or Index is created they are assigned with Min Extent, Init, Next, Max along with the Percentage of Increase. CAP is Max. DMTS - Dictionary Managed Tablespaces When ever a table is growing it increase it extents i.e. it uses next extents. The free space in the existing extents is not used there by Fragmentation. It requires database Reorganization. Users encounters an error ORA-1631 and ORA-1632 Max Extents Reached, but there is a tablespace. Use BRTOOLS or SE14 to increase the Extents.

149 Locally Managed Table Spaces Default table spaces from 10g which manage the extents locally instead of dictionary management.. It collase the space that is left in all the extents before allocating an extent. It reduces the fragmentation there by reorganization is not required. SAP recommends to migrate all the dictionary managed tablespaces to locally managed before 10g upgrade (Oracle). Similarly PSAPROLL should be migrated to PSAPUNDO before upgrade. 06-Sep-09 SQL> select * from dba_tablespace; Select * from dba_users; Select * from dba_tables where table_name like dba%; SAP Tables are stored in DD02L Users are used to login to the database with various privileges. Select * from dba_users; Select username from dba_users; ops$willsys99\saservicesr3 ops$willsys99\saservice<SID> ops$willsys99\<sid>adm sys - The complete or absolute owner of oracle database server to perform the activities. System SAPSR3 SAPSR3DB Administrative user but cannot be used to create modify the DB Perform backup, recovery, restore etc.

DATABASE MONITORING As a part of the routine SAP basis checks the following database tasks can also included. Note: Oracle writes all startup logs into alrt<SID>.log which resides in SAPTRACE directory. It is the only log which can gives us the complete history of database activities. 1. Monitor the size of the database to have a detailed capacity planning. Login to SAP system and log the database growth on daily basis.

For Eg. Size in GB

150

1 200

2 210

3 220

4 230

5 230

6 230

7 250

8 280

9 300

10 350

Conclusion The database is growing at an average of 15GB per/ day. Have a storage of 1 TB = 1024 GB At the current growth rate the database can use the storage up to 30 days approximately. We need to check the abnormal growth of the database. Inform the inventory department to order more disks if there is really a DB growth. If we consider 2 Months duration the graph will be like this

DB02 is used to monitor the disk space, critical objects based on Table spaces. Tables and Indexes Monitor SQL> Select tablespace_name, block_size from dba_tablespace. System 8192 ----SQL> select tablespace_name, segment_space_management from dba_tablespace; Segment is nothing but a table or index. BRTOOLS BACKUP RESTORE RECOVERY TOOL

These tools are provided by SAP for Oracle Database. - Login as SIDADM on windows or ORASID on UNIX - command BRTOOLS Type option 2 for Space management. Option 7 for additional space function. Option 1 show tablespaces Continue 3 times to display the list of table spaces and their growth.

151

DB13 - Tablespace Particular (DBA Planning Calendar) DB12 - Overview for a Database Identify the tablespaces which are grown more than 90% and add datafiles. Enter choice - 1 (For which tablespace we need to increase the size of datafile) PSAPSR3700 - Press Enter E:\oracle\SID\sapdata3\sr3700_16 In this path 16 datafiles are there if we increase the tablespace size one more data file is created called sr3700_17 SQL> select tablespace_name, blocksize from dba_tablespaces;

- Add the datafile or resize datafile before its gets an error message "Tablespace overflow" MISSING INDEXES Identify the missing indexes in DB02 (which will reduce the performance without proper indexes) Goto DB02 > Diagnostics > Missing Tables and Index

Check the objects that are missing - For each table we can create 1 Primary Index and 4 Secondary Indexes these are predefined because of the huge table growth indexes are missed. - Recreate them

152 - SAP Provides all the indexes (Predefined one(Primary Index) + Four (Secondary Index), we need to check if there are any missing indexes and recreate them if required in DB02/SE - Objects which are missing are displayed in Red, select them and create in the database. 2. Select the database buffer hit ratio, transaction ST04 - The buffer hit ratio should not be less than 94% - It is calculated based on reads Logical Reads : The number of reads that are made to Database buffer. Physical Reads: The number of reads that are made to Physical Database. Hit Ratio = ((Logical Reads - Physical Reads)/ Logical Reads) * 100

Physical reads are increasing conclude that the database hits are more. If the ratio is reduced we can conclude that DB_BLOCK_BUFFERS size is not sufficient or there are frequent updates on the system. DB13 We need to check 1. DB backup is performed successfully or not 2. DB Housekeeping Jobs are running successfully or not (DB Check, Update stats, clear old log files, adapt extents) 3. Archive directory is having space 4. Offline to Oraarch are scheduled periodically and running fine. SCHEDULE DB BACKUP Init<SID>.sap ---------- Open it Change the parameter values Backup_type = disk 07-Sep-09 BRTOOLS These tools are used to manage or monitor the oracle database which are specifically provided by SAP. BRTOOLS reads the parameters from init<SID>.sap It resides in Oracle_Home\database (Windows) In UNIX DBS directory It controls the runtime behavior of BRTOOLS.

153

BRTOOLS contains the following Options 1. BRCONNECT It is used to connect to the database and performs various administrative tasks. BRCONNECT - f check ... it is used to check the database and writes the logs into sapcheck directory. Check conditions are described in transaction DB17 which in turn stores the details in DBMSGORA Open Command Prompt > brconnect -f check > brconnect -u system -p <pwd> -f check

brconnect -f stats Used to run the database statistics. It identifies the tables whose statistics are outdated and updates them. We need to run the DB optimizer once a week. So that all the tables and Indexes where there are stored will be known to DB Optimizer. It is updated periodically (Weekly). Optimizer is used to collect the statistics for the tables whose statistics are outdated. Running update statistics improves the performance of the system. (Eg. Friend comes to India from America after 5 years) Cleaning up OLD log files brconnect -f cleanup It is used to clean the old log files from saptrace and sapcheck directory brconnect -f next It is used to adopt the next extents (i.e. Next extents can be increased automatically) These jobs can be scheduled using DBCALENDER (DB13). How ever when these jobs are scheduled BRCONNECT runs in the background. BR-BACKUP BR Backup is used to take backup of the database (Datafiles). When ever a backup is triggered BR Backup is initialized.

154

There are various types of backups 1. Offline Backup 2. Online Backup 3. Incremental Backup 4. Partial Backup 1. Offline Backup (Cold Backup) The database is down during backup and no transaction is allowed as it is down. It is consistent and reliable. Whole Offline Backup: The backup taken fully and a catalog is opened to start the incremental backup. Eg: A database is of 2000 GB Which is not possible to take a daily full offline backup with a backup speed of 150GB/ Hour. Full Offline Backup: It is a complete database backup without any Catalog. Catalog (SUNDAY - The rest will be taken)

2. Online Backup The DB is up and running with out effecting the user transactions. It is consistent and reliable with redo logs that are generating during backup. Whole Online Backup: The backup is taken fully and a catalog is opened to start the online incremental backup. Full Online Backup: It is complete database backup with out any catalogs. Online Backup: It is consistent always with redo logs.

3. Incremental Backup It is initiated from level0 backup and used when the database size is too big. It can be online or offline. 4. Partial Backup It is taken for a specific table during a patch (Especially HR Patches)

155

Backup type is defined by a parameter Backup_mode = all Backup_type = offline Backup_dev_type = Tape or Disk Backup_root_dir = H:\oracle\SID\sapbackup All the above backups are performed by using brbackup. BR ARCHIVE (initSID.sap) It is used to backup the offline redolog file to tape or disk i.e. from ORAARCH directory to tape or disk. Archive_function = SAVE/ COPY/ DELETE Archive_copy_dir = H:\Oracle\NWD Tape_size= 100G Volume_archive=NWDA01...... NWDA30...

Reads content from Log Buffer. Log writer writes to OrigLogA and OrigLog B, Mirror Log A, Mirror Log B. When OrigLog A is full it is moved to OrigLog B When OraArch is full it is backed up to a tape or disk. - Archive function means the saving mechanism of log files. - Log writer logs into OriglogA, OriglogB, MirrorLogA, MirrorLogB -When online redo logs are full then Arch writes contents to Oraarch i.e (Offline redologs) the content of oraarch is referred as offline redo logs.

156 - If Oraarch is full the archive gets stuck and the complete update mechanism stuck and users encounter congestion. - So the Oraarch content needs to be moved to alternative location on hourly, bi-hourly for every 4 hours or daily depending upon the frequency of updates. - While copying Oracle provides various means of log save because we don't want the corruption of logs.

The data transfer from Oraarch to disk is done by BRArchive.

08-Sep-09 BRTOOLS It uses BRConnect, BRBackup, BRRestore, BRRecover with various options. We can do the following with BRTools. - Start and stop the database - Database backup - Redolog Backup - Restore Database - from database backup - Recover Database from Redolog Backup - Extend the tablespace by adding datafile or resizing datafile. Max datafiles are 250 in SAP. Each datafile size is 1% of the Whole database (100-200) 2 GB 200-400 4GB... - Tablespace management (Create drop alter. mostly create and drop are not used) - Reorganisation (Create, Rebuild, Indexes Export and Import tables) - Database standard house keeping jobs (DBStatistics, cleanup logs, dbcheck, adapt next extents) - Display profiles, change schema password etc.

157

SYSTEM COPY/ HOMOGENEOUS COPY/ HETEROGENEOUS COPY, DB REFRESH 1. System Copy/ Homogeneous Copy It is used to setup a system similar to a PRD, QAS etc. i.e. the system is completely build from OS, Database and R3 without changing OS or DB. 2. Heterogeneous Copy When ever there is a change in OS or DB then it is said to be heterogeneous. 3. DB Refresh It is the process of refreshing the data of one system by another system data. (OS, DB, R3) remains the same but only database is refreshed. THE REASONS FOR SYSTEM COPY Unicode Migration or Code Page Conversion 1. To setup a new system in the landscape (Only DEV and PRD exists, now we need to deploy QAS as a copy of PRD) 2. To change the hardware. 3. To move out from one OS to another or One DB to another DB which is called as OS/ DB Migration which needs to be carried under the guidance of Certified consultant. 4. While applying patches, Kernel Upgrade to test the objects with Production data. 5. System Copy is performed using export and import of the database. STEPS for SYSTEM COPY 1. Source System 2. Use Installation Master DVD - Use Additional Tasks - System Copy - Source System - select database instance export - specify typical - specify Profile directory e:\usr\sap\sid\sys\profile - specify the password if <sid>adm

158 - Specify the export location for Import. Review the inputs and continue the import. DATABASE REFRESH Let us say there are three systems DEV, QAS and PRD existing in the landscape. The objects which are developed in DEV needs to be transported to QAS and PRD the objects behave differently in DEV, QAS and PRD. Eg. A Small report which fetches monthly sales executes 1 Sec in DEV and in QAS where as in PRD it is consuming 30Min. PRD DB Size 1TB 2TB. The report is good in DEV and QAS but bad in PRD that means quality checks are failed. So we need to copy the PRD (DATA files) system to QAS system from time to time to get proper quality done. Similarly I need to apply patches, Kernel , add-ons in the landscape. I don't want any issues that crops up on the production system. So I will take a copy in QAS and apply before PRD. Process 1. PRE STEPS 2. DB REFRESH 3. POST STEPS Pre steps Pre Steps on the Target system. It is required to keep the dependencies of the target system to restore them later i.e. after refresh. Eg. After Refresh the target system QAS behaves like production System. Se we need to delete the source dependencies and restore the target dependencies, Users, RFC Connections, Batch Jobs, License, Printers, Roles etc. 1. Take a copy of them using transport requests, screen shots etc. 2. Generate the control file from source system. Delete the entire SAPDATA files. 3. Restore the database from Tape or Disk. 4. Create Control file with new database structure of QAS 5. Make the BTC Processes to 0, so that no background job is triggered 6. Start the system and restore the target dependencies Pre-Steps for DB Refresh 1. Create the transport of copies by using SE01 and specify the following objects/ tables USR01, USR02, RFCDES and TBDLS And then we need to release the Transport of Copies.

159

- Copy the cofiles & datafiles in usr\sap\sid\trans - Take the screen shots of SM59, BD54, DB13, SM37, AL11(All the SAP Directories), WE20 (IDOCS), SMLG, RZ12 (RFC SERVER GROUPS), RZ70 (Inorder to populate the backend system details to SLD), RZ04 (Operation Modes) SCC4, SPAM. 4. And then We need to delete all the datafiles related to QAS system. data1, data2 etc. First we need to stop the oracle services the structure should remain same. Directories like sapdata1.... sapdata..n, MirrorlogA, B, OriglogA, B 5. First Activity After taking the backup of PRD server we need to generate control file. > Alter database backup controlfile to Trace. It will generate the Cntrl File under usertrace directory. Copy the cntrl file to quality system and rename it as with .sql extension. If it is offline backup the foldernames offline b.afd online b.and

08-Sep-09 BRTOOLS ERRORS 1. Tablespace over flow (ORA-1653, 1654) 2. Max Extents reached (ORA-1631, 1632) 3. Archive Stuck (ORA-255, ORA-272) 4. Datablock corruption (ORA-1578)... restore from old backup 5. Missing end backup while performing a backup 6. stats out dated - run brconnect -f stats 7. Oracle listener, Tnsnames port issues 8. Oracle DLL Compatibility issues (Patch Oracle) 9. International hardware errors ORA-600 (Refer to SAP and Oracle) 10. OPS$ issues related to authentication while logging 11. Connection issues between R/3 WP: Oracle Shadow with error ORA-12560 12. Oracle is corrupted or Disk corrupted, External disk not available, datafile missing, Space issues. 13. Missing Indexes in DB02 14. Database backup not successful due to space issues, tapes issues 15. Control file missing - Recreate control file Note: All Oracle errors refer to Oracle/ SAP (ORA-XXXX) 16. Oracle shared memory not available issue with SGA 17. If buffer hit ration below 94% (Increase block buffer size)

160

09-Sep-09 IMPLEMENTATION Installation of SAP System 1. Download the Installation Guide from the Market Place. www.service.sap.com/instguide 2. No of users/ Load on the system 3. Perform Sizing 4. Download the software www.service.sap.com/sizing www.service.sap.com/swdc

32 Bit means I386 cmd> memsize/ memlimit 5. Entry in etc\services PORTS Dispatcher Port Message server Port Gateway Port Secured Dispatcher Port Secured Gateway : : : : : 3200 3600 3300 4700 4800 to to to to to 3299 3699 3399 4799 4899

6. Make sure that Installation Ports 21212, 21213 are not used 7. Kernel depends on O/S 32-64, Database, UC/ NUC Exports are OS/ DB Dependent 8. All the entries are stored in control.xml and installation progress is stored in keydb.xml If the installation is aborted/ cancelled then the above two files will help us to start from the point where it stopped earlier. 9. An installation directory sapinst_dir is created which host the log files of the installation Note: SMSY > System Landscape > Other object > create sap* : 06071992 ddic : 19920706

161 10-Sep-09 TADIR - Stores all the repository objects

Repository consists of your ABAP objects like programs, function modules. ABAP data dictionary consists of tables, domains etc. Data dictionary is like a part of repository only. From SE11 these are database objects Database tables views datatype Lock objects Searchhelp. Type group Domain. Note: Instance No 00: Port No: 3200 Database O/S R/3 sap* : 06071992 ddic : 19920706

Users

DIFFERENCES BETWEEN EARLIER VERSIONS OF SAP AND CURRENT NETWEAVER INSTALLATION 1. No Solman Key 2. Pre requisite checker 3. Passwords are default and OS/SB passwords need to be provided in the input screen

162 4. Central instance and database are installed separately (Central system is introduced with combination of CI and DBI) --------------------------------------NTI386 - Intel Pentium IA64 - Intel Itanium X64 - AMD64 AIX_64 - IBM --------------------------------------5. Kernel used to reside in RUN directory and in current versions in sys\exe\UC\NT\I386 6. No screen to review the inputs and change them if required. 7. No interactive / colorful screens 8. Up to 4.6C r3setup is used to install SAP. sapinst is introduced from 4.7 version. 9. Tablespaces are 27 up to 4.6c from 4.7e onwards they are reduced to 6 Tablespaces. 10. SAPDBA is replaced by BRTOOLS in newer versions 11. MMC passwords are required to start SAP in newer versions cmd> startsap name=DEV nr=00 SAPDIAHOST=HOME ---------------------------------------------------------OS = SIDADM SAPSERVICE<SID> ST06 - gets for SAPOSCOLL service Trans - EPS (Electronic Parcel Service) - All the developments are hosted. ---------------------------------------------------------PROFILE MANAGEMENT Usr\sap\SID\sys\profile There are three 3 profiles which are available by default 1. Default 2. start_DVEBMGS00_<HOSTNAME>.pfl 3. <SID>_DVEBMGS00_<HOSTNAME>.pfl Installation Questions 1. Installation Pre-Requisites 2. Installation Inputs 3. Difference between earlier and Current Versions 4. Installation Checks 5. Starting of SAP System.

163 Installation Pre-Requisites 1. Download the Installation Guide www.service.sap.com/Instguide 2. Sizing 3. Download the Software from www.service.sap.com/swdc 4. Install JAVA j2sdk_1_4_2_12 5. Set the Environment Variables JAVA_HOME PATH 6. Set the Virtual Memory 7. Install ORACEL 10g 10.2.0.2 Execute OUI.exe (Oracle Universal Installer) (.) Install Database Software Only 8. Install Patch Installation Inputs Sapinst.exe from InstMaster Folder SAP Netweaver 2004s Support Release2 > SAP Systems > Oracle > Central System Administration Select (.) Typical Prompts to logoff to get some privileges Login as Administrator Select the Usage Types AS ABAP AS JAVA BI JAVA DI EPCORE EP MI PI Browse for Java Components Browse for JCE Policy (JAVA Cryptographic Encryption) Prompts for SID and the Installation Drive [E:] Prompts for Master Password OUI.exe

164

Prompts for DBSID and Database Host Prompts for Installation Exports path (Actual Content lies in Exports) Exports varies from Component to Component Prompts for Kernel and Oracle Client paths System Landscape Directory (.) Configure Local SLD IF Local SLD then Object Server Name [Hostname] Parameter Summary If required change the MirrorLogA and OrigLogA, B to different directories Requires SOLMAN Key from Solman System [SMSY] Task Progress.....~~~~~~~~~~~~~~~~~~~ Install SAPGUI (Setupall.exe)

Installation Checks 1. Users: Two users are created <SID>ADM SAPSERVICE<SID>

<SID>ADM is used to start the SAP system and Administration of SAP SAPSERVICE<SID> is a service user used to run the services. Verify from My Comp> Manage > Users and Groups SAPOSCOL is an operating system collector ensure that sufficient resources are available to start SAP system. SAP<SID>_INSTANCENO used to start the SAP system.

165 2. Groups: Following groups are created to work on Oracle Database and R/3 Executables. ORA_<SID>_DBA ORA_<SID>_OPER SAP_<SID>_GLOBALADMIN SAP_<SID>_LOCALADMIN SAP_LOCALADMIN 3. usr\sap\trans is created to host the transports. It is a common transport directory where the changes of development are stored as transport requests, provides EPS\in for patching the system. 4. Kernel executables are extracted into usr\sap\SID\sys\exe directory Used to start and manage the runtime of the SAP System. 5. Profiles are created in usr\sap\SID\sys\profiles Which governs the startup parameters, runtime parameters of SAP System. 6. SAPDATA1 is created with datafiles saparch, oraarch, sapcheck, saptrace, sapreorg and redolog files (OriglogA, OriglogB, MirrorlogA, MirrorlogB) Database specific file system. 7. On Windows MMC(Gui based) is created to start and stop the SAP System To start and stop the SAP System 8. On UNIX startup scripts are created on <SID>ADM in Home Directory (startsap, stopsap) 9. Work directory is created in usr\sap\SID\DVEBMGS00\work used to host the trace files(Logs) which are generated during SAP system startup. 10. Oracle database uses (ORASID on UNIX other users like OPS$ Users, SAPSR3, SAPSR3DB) ORA<SID> is the owner of the database in UNIX <SID>ADM is the owner(Administrative Privileges) of the database in Windows Starting up of SAP System 1. On Windows use SAPMMC/ Startsap to start the SAP System 2. On UNIX login as <SID>ADM - Open Terminal - Startsap (Scripts) 3. When engine is started it reads the startup profile which is located in usr\sap\sid\sys\profile\start_DVEBMGS00_<hostname>.pfl

166 Startup Profile consists of a) Starting the database using command strdbs.cmd this command starts the database and writes the log files to stderr1.log which is in the work directory strdbs.cmd - consists of a entry - V9start.sql (From here we can find whether the database is up or not) b) Starts the Message server using executable msg_server.exe and writes the log into work directory dev_ms.log if it is not started it writes the log into stderr.log c) Starts the Dispatcher using executable disp+work and write the log file into work\dev_disp and stderr.log All the log files resides in Work Directory. 4. When the process are started they read properties from Instance Profile SID_DVEBMGS00_HOSTNAME.pfl Such as number of work processes, memory, buffers etc and writes the logs into dev_w0, dev_w1, dev_w2 ... dev_wn-1 11-Sep-09 192/ 172/ 10 Global IP Address (ARPANET) If we assign other than this the system are considered to be public. In future there is possibility for address conflict. We need to buy public IP addresses from ISP's. The IP addresses from 192/ 172/ 10 are private IP Addresses which can be used internally in the companies. 202.65.136.146 NAT - Network Address Translation All the servers are managed with Private IP but , they are available externally by using Public IP. Whenever a request comes from Internet to a public IP. It is translated to Private IP or Routed to PVT IP. EPSIBIC - Extended Binary Code. PAM - Product Availability Matrix 32 Bit - Supports - 2GB 64 Bit - Allocates upto 4 GB Virtual Memory (Hard Disk) - Physical Memory (RAM)

167 The Internet communication Manager ICMON started by using icom.exe All the startup logs are stored in Work directory. It is also called as Trace directory or Developer traces. Q. System not started? 1. Check the database is up and running by Start > run > sqlplus "as sysdba" 2. If the database is not started then start the database and look into the log files alert<SID>.log which resides in saptrace\ background directory Oracle\SID\saptrace\background Identify for Oracle errors that start with "ORA" Example 1033 .... DB_Connect Issues. i.e. The work process is unable to connect to the database. Check the connectivity, listener status, listener.log, listener ports, listener hostnames, database startup statuses etc. cmd> lsnrctl

14-Sep-09 POST INSTALLATION ACTIVITIES 1. SICK : Initial Consistency Check

Used to display the inconsistencies between OS, DB and R3 Kernels. If there are any inconsistencies, they need to be fixed before proceeding to other activities. a) Apply fixpack (AIX), patches, ptf (ISERIES), Service packs. b) Apply Database patches (10.2.0.1 doesn't support SAP) c) Upgrade database kernel (Upgrade database kernel 700.59 is not supported download atleast 75 Version) 2. SE06 : Perform Post Installation Activities Select (.) Standard Installation Click on perform post installation action Popup box prompts to reset the CTS (Correction Transport System) i.e. It is used to initialize the change management and transport objects across the landscape. Now it displays a message to configure STMS (SAP Transport Management system). It is used to setup the Transport Management System. Login to the client 000 using user like DDIC and execute tcode STMS

168 SYSTEM LANDSCAPE SAP recommends atleast three 3 system in the Landscape (DEV, QAS and PRD) DEV: It is used to develop the objects as per the customer requirements. The changes are recorded and transported to other systems in the landscape. QAS: It is used to test the objects that are developed in DEV system. No object is developed or modified in the QAS system. DEV TST PRD Repair Shop-------- Furniture Showroom ------------ End user Develop Objects Test the Objects Use the Objects

E.g.

PRD: Used by EU of the company to use the system for Productivity Transport Domain Controller It is used to configure on only one system which manages all the systems in the landscape. Generally will TDC be configured on DEVELOPMENT system but later can be moved to other systems. Child Systems These systems are configured as members of the domain which will be used to be a part of the system landscape (QAS and PRD are configured as child systems)

3. STMS : A pop-window is displayed to configure (Must be configured from 000) Configure TMS configuration SAVE Message You are logged on to Domain Controller is displayed * Use DICO tcode to delete the existing TMS Virtual Systems As the real system doesn't exist in the landscape Virtual systems are created. Entire development is performed pointing to QAS and PRD Systems as they doesn't exist in real we are creating virtual systems where all the developments will be addressed. STMS - Overview - Systems SAP System > Create > Virtual Systems Sys: QAS Desc: Quality Hit Back Over View > Transport Routes

169 Change Mode Select Configuration > Standard Configuration Three Systems in Group DEV QAS PRD SAVE

4. SE03 : System Settings These are the global settings for the system with two options 1. Globally Modified 2. Globally not-modifiable. 1. Globally Modifiable : The system is allowed for changes and it is set for development system. SE03 - Set system change option 2. Globally not-modifiable: The system is not allowed for changes and it is set for Quality and Production It can also be set from SE06 [System Change Option]

5. RZ10 : Importing Profiles Utilities > Import Profiles of Active Servers Importing Profiles from OS level to DB so that it will prompt the messages while changing at DB Level

6. SLICENSE : It is used to apply the license so that runtime systems get support from SAP. License keys are obtained from the Market place. www.service.sap.com/keys License keys are based on hardware key. We can get the hardware key by using cmd> usr\sap\SID\sys\exe\uc\NTI386> saplicense -get

TCode : SLICENSE and click on Earlier License key is a 24 Characters but current license key is text based which contains encrypted keys. 7. SU01 : Crete users as per the requirement

170 8. SPAM : Applying Patches 9. SR13 : Library configuration 10. SMLT : Language Transport 11. Kernel Upgrade 12. SM37 : Scheduled Background Jobs 13. DB13 : Database backup and Standard Jobs 15-Sep-09 SAP is for Manufacturing 1. Users are created 2. Groups are generated 3. Services are created 4. usr\sap\trans\profile\exe, work directories are created 5. Oracle is installed 6. JAVA is installed 7. SAP MMC (Startup scripts in UNIX) 8. Oracle SAPDATA1,............... n SAP directories are created SAP GUI is a front end to login to the SAP System Inputs : Client Number; Userid and Password, Logon Language

171 Eg. Template - Shirt - Collar, Pocket, Buttons SAP Provides three 3 default clients 000, 001 and 066 to login to the system. 000 Client : It is the default client (Template Client) which is used to setup new clients for business. (000 is only a template and cannot be used for business) Used to apply patches and continuously updated. 001 Client : (Eg. Suite for Hire and return without any damage). It is a backup client for 000 which is not used as a template or used productively, only used when 000 is corrupted. 001 is no more backup client for 000 because 000 is continuously updated by applying patches, add-ons, languages, notes etc. So 001 is considered as outdated client and recommended to use for productive purpose. 066 Client : 066 is an SAP Early Watch alert client which is used by SAP for administration, Monitoring and performance. It is used as a preventive alerts client. SAP ensures that the customer data is not available to support staff by login to 066. 100, 200, 300 are custom clients created by customer (000-999) a total of thousand clients can be created in an SAP system SAP GUI first field of input is CLIENT

Eg. Staying in a lodge in a Particular Room (Client No) Accessing Reception Room and Accessing TV ( Cross Client Customizing) Accessing Water, News paper, Aquarium is (Repository Objects) - Client consists of User Master Data, Application Data, Customizing Data - Client is a data separator. - Client is a field in the database MANDT - The tables with field MANDT are called Client specific table except T000.

172 - T000 is a table which contains MANDT field which is cross client and holds all the clients. - (Client is something like an additional room on the existing foundation) Sqlplus "as sysdba" SQL> select mandt, bname from SAPSR3.USR02; SQL> select mandt, count(*) from SAPSR3.USR02 group by mandt; CREATING A CLIENT Clients are created using Tcode - SCC4 Pre-Requisites of a client creation and copy 1. Create a client between 000 to 999 2. Ensure that enough space is available in the database 3. Client profile is required to copy the specific data 4. Always perform a client copy from source system only 5. When the client is created you can login with user SAP* and password pass provided Login/no_automatic_user_sapstar is set to 0 from RZ10. 6. Create a logical system name in SALE with naming convention <SID>CLNT<CLIENTNO> eg. DEVCLNT200 7. Perform local client copy using SCCL 8. Remote client copy using SCC9 9. Client export and import using SCC7 and SCC8 10. Define RFC Connection between two clients in Remote Client Copy 11. Ensure that STMS is configured properly 12. Client copy logs are logged and displayed using SCC3 13. Local Transports with in the system are performed using SCC1 14. There should be enough space in usr\sap\trans for client Export. 16-Sep-09 CLIENT Client is an Independent business unit which represents a company. It is denoted by a three digit number 000-999. It consists of its own User Master Record, Application data and Customizing data. CLIENT CREATION SCC - SAP Client Copy

Use SCC4 to create a client Specify client no Description............................ Customizing/ Development Logical System Name It is used to identify the system/ client uniquely in the landscape

173 DEV - 000 - 001 - 066 DEVCLNT000; PRDCLNT000 PRD - 000 - 001 - 066

These are created in the transaction SALE (SAP Application Link Enabling) _______________________________ SALE > Logical System > Define Logical System New Entries : Log System QASCLNT300 | Name | Customizing Client

SAVE Prompts for the Workbench Request Create a request SAVE hit back Assign a logical System Client300 | QAS Logical System [QASCLNT300] Client Role: QUALITY _________________________________ Role of the Client SAP defines the following client roles. 1. CUST: This is only client in the landscape which is allowed for changes. The changes are recorded and forwarded to other systems in the landscape.

Client Change Options (Changes and Transports) Eg: Recording Theater DEV (Customizing Client) | Testing Theater QAS | Released PRD

Automatic Recording of changes The changes are allowed and recorded to change requests. Cross client and repository objects are allowed to change.

174

Protection Level 0 - No Restriction 1 - No Over writing ....... This client is not allowed for overwriting through comparison and client copy 2 - No External Availability - This client is not allowed for client copy, no overwriting. ECATT - Electronic computer Aided Test tools are allowed or not ECATT and SECATT transactions are used to upload data. In Production system they are not allowed. Protection Against Upgrade No

SI.No Client

Role

Client CCC & Protection Ecatt Specific Repository Level No YES Only for Patches No 0 No

000

Template

001

Backup Client Early Watch Customizing

No

No

No

066

No

No

No

No

300 CUST SAND Test QTST

Yes

Yes

Yes

No

5 6 7

Sandbox Testing Quality Testing Training Clnt Migration Production

Yes No No

No No No

0 2 2

Yes No No

No No No

8 9 10

TRNG MIGR PRD

No No No

No No No

2 2 2

No No No

No No No