Useful Troubleshooting Tips

Download as pdf or txt
Download as pdf or txt
You are on page 1of 81

Useful Troubleshooting Tips:

1. How to avoid TIME_OUT dumps in SAP system ?

 How to avoid TIME_OUT dumps in SAP system ?


 There are lot of TIME_OUT dumps in ST22 transaction. How to avoid these dumps ?

-----------------------------------------------------------------------------------------
These TIME_OUT dumps usually occur if the program has exceeded the maximum permitted runtime
without interruption. After this program will get terminated and in ST22 a dump will get generated.

Usually SAP system will terminate the program after permitted runtime to make the work area
available to other users who may waiting and to prevent a work area being blocked unnecessarily
long time like
Eg: Database accesses without a suitable index (Full table scan)
      Database access with a large result set
     Endless loops (DO, WHILE) etc

In SAP, there is a parameter rdisp/max_wprun_time which limits the maximum permitted runtime
without interruption.

By default this value is set to 600 seconds. However, if you are frequently encountering more dumps
in SAP system due  to this, you can consider increasing this value to 3600 seconds to avoid this issue.
2. Troubleshooting long running transport

 How to troubleshoot when a transport is running for unusually long duration and not getting
completed or terminated ?
 How to troubleshoot when a transport is in truck status for a long duration of time ?
 How to cancel a transport request which is in truck status or running status ?
 How to terminate a long running transport request to re-import again ?
 Transport is not getting terminated. How to do terminate?

How to troubleshoot when a transport is running for unusually long duration and not getting
completed or terminated ?

Go to transaction STMS_IMPORT and identify the transport which is running since a long duration.

In the below screenshot, transport with the truck symbol is the long running one

Issue could be due to following reasons :

1)    Non availability of space to perform the operation (i.e filesystem or tablespace is 100% full)

Solution :

 Check out if any of the filesystems (like sapmnt, oraarch etc) of the Central Instance,
Database and  application servers  is 100% full. If so, please add necessary space, which
resolves the issue automatically and completes the import of transport.
 Also, check out tablespaces fill levels. If autoextend is off and tablespace is 100% full then
add sufficient datafiles, which resolves the issue

2)   RD* jobs are not running in SAP system

Solution :

Check out in SM37 whether RDD* jobs(RDDIMPDP, RDDIC3L, RDDVERSL etc) are running or not. If
not, please make sure they are scheduled and perform the import of the transport again

3)   Update got deactivated

Solution :

Checkout in SM13 whether update is active or not. If it is not active, activate it and import the
Transported to Production System.

4)   There are no free background workprocesses

Solution :

Check in SM50 whether all background workprocesses are in running status. If so, you will need to
wait for the free background workprocess to run RDD* jobs to complete the   import of the
transport. To avoid this issue in future you may increase the number of background workprocesses

Transport is not getting terminated. How to do terminate?

1) If you are unable to terminate a transport which is running, goto SM50 and identify the pid of the
transport process. Try to cancel the process with core or without core as shown below.
2) If it is not getting terminated from SAP level, then goto Oslevel and kill.

Command for the same in AIX or HP-UX is  kill -9 <PID>  

If it is not getting killed from oslevel also, try to search for processes related to tp or R3trans and kill
them as well

Eg in AIX or HP-UX :    ps –ef |grep tp

                                                 Or

                                             ps –ef |grep r3trans

3) If it is not getting terminated from that level, you may try to kill as shown below at SAP level :

Goto Import monitor and

Navigate as below and right click and delete entry to delete the transport which is being imported
By any one of the above 3 methods, transport will surely get terminated. So then you can add to
queue again and re-import
3. How to troubleshoot a background job running for long duration in sap?

--------------------------------------------------------------------------------------------

1) First of all identify the job that is long running and identify details like job class, work process that
is executing the job

How to identify long running background jobs

2) Click on the job to view the display job screen. In the screen, click on job log to understand what is
being performed by the job currently. This may give details like job is currently extracting some data
packages or processing data packages etc

3) Identify the executing server and process id of the job from the step 1 and goto transaction SM50
of the respective executing server to view more details about the background job running.

Figure out the status of the job like On Hold or running from the process overview. If the job is On
Hold, find out the reason for On Hold by examing the "Reason" column of SM50 transaction. Reason
for On Hold could be due to CPIC/RFC/DEBUG/ENQ/PRIV/UPD etc.

Double click on the reason column for detailed information on the same and troubleshoot
accordingly. If reason is RFC, check out which RFC it is referring to and cross check whether
destination system is up or not and any other problems with that system.

 If it is ENQ, check out any lock issues like lock overflow etc
 If it is PRIV, check out for memory bottlenecks
 If it is UPD, check out whether any update issues
 If it is CPIC, check out for any network , gateway, message server and other communication
problems

4) After performing step3, if you figure out job is not on Hold and it is in running state, then examine
report column to identify what report/program is being executed by the job. Once you got the
report/program details, figure whether it sap program or custom program and take actions
accordingly.

5) Also examine Action and table columns in SM50 transaction of respective executing server to
identify what is the action( roll in/roll out /Sequential read/Physical read/insert/update/delete etc)
being carried out by the job currently and what is the table on which action is being carried out.

If it is sequential read, figure out the cost of that sequential etc and consider for indexing etc. If it is
physical read, check out whether there are too many swaps and consider resizing buffers
accordingly. If you observed delay is due to high roll in/roll out, identify reasons for the same
and tune buffer/memory parameters accordingly.

6) Once you get the table details on which action is being carried out, figure out        

     How many records are existing in the table ?


     Is this taking long time due to volume of records ?
     Are there proper indexes on the table ?(If no proper index, consider index creation  by
taking help of DBA )
     Is the table having upto date statistics ? (If statistics are out of date,

              consider updating statistics of that table)

7) Consider debugging the process in SM50 ( Program/Session -> Program ->   Debugging ) to
figureout the issue

8) Using ST05 or ST12, a trace can be taken for background job to figure out where exactly time is
being consumed and to identify various cpu/memory bottlenecks or any buffer issues.

9) STAT/STAD transcation can be used to figure out what is the reason for high response time and
actions can be taken accordingly

10) By taking help of ABAP er, even ABAP run time analysis can be done using SE30 transaction

By following the above steps, you can pin point the issue and take actions accordingly to
minimize runtime of long running background jobs.
4. What is spool overflow ? How to troubleshoot spool overflow issue ?

This article answers the following queries :

 What is spool overflow ?


 How to troubleshoot spool overflow ?
 How to delete old spool requests ?
 How to avoid spool overflow issue ?
 How to check spool numbers?
 How to set the spool number in SAP ?
 How to define storage location (Temse) of spool requests ?

----------------------------------------------------------------------------------------

What is spool overflow ? :

Spool request that got generated are stored in a temporary sequential file called Temse. Please note
that these are stored in Temse because these are not stored permanently. The size of the Temse is
limited by the parameter definition.
The default size of Temse is 32,000 and it can be increased till 2 billion. However, defining very high
value can effect the database performance. Due to limited storage capacity of Temse, when this file
got full, this throws an SAP spool overflow error.

If this happens, customers could not print from SAP. If you check in SM21 and ST22 transactions, you
may encounter some error log or dumps like

 ERROR IN SPOOL call : SPOOL OVERFLOW


 SPOOL_INTERNAL_ERROR
 System internal error in the spool system

How to troubleshoot spool overflow ?

To resolve this spool issue, some of the old spools can be deleted from the sap system. Goto
transaction SPAD. From the initial screen, navigate to Administration -> Clean_up_spool. Once you
click this, Spool Administration : Delete old spool requests screen will be displayed.
In that screen, you will be prompted to choose requests for deletion like

 Old spool requests older than the maximum set age


 Requests already printed
 All spool requests

and enter value for minimum age (in days) text box.
Select the check boxes as per the requirement (eg:  delete all requests already printed and minimum
age in days equal to 30 days) and execute to delete old spool requests, which will clear Temse and
will resolve spool over flow issue.

Apart from this there are others ways of resolving spool overflow issue. They are

1) Run the report RSPO0041 from SE38 transaction to delete old spool requests
2) Run the report RSPO0043 from SE38 transaction, which checks the Temse/spool consistency and
reorganizes the spool
a

How to avoid spool overflow issue ?

 These reports RSPO0041 and RSPO0043 should be scheduled as background jobs with
proper variants on a periodic basis which avoids spool overflow issue.

 You can try to increase the spool numbers from default 32000 to a bit higher value but
please note donot set this too high as it may impact database performance

 Proactive monitoring check can be made in RZ20 transaction to see how much is the fill level
of spool numbers.

          How to check spool numbers ?


          To check spool numbers : Goto RZ20 transaction, navigate to SAP CCMS Monitor Templates ->
Spool System.

Here you can check the status of spool servers and the used numbers percentage of spool numbers.
If you find that used numbers is greater than 80%, you can manually run above mentioned reports or
delete old spool requests from SPAD tcode as mentioned earlier.
How to set the spool number in SAP ?

Using Transaction SNRO (Number range object maintenance) and object SPO_NUM, you can set the
spool number in an SAP system.
Once you provide object as SPO_NUM, click on change icon. It displays another screen. In that
screen, click on Number Ranges push button. It displays another screen "Number range for spooler
numbers". Click on change icon here and set the value of spooler(from number and to number).
Please note that a change request may be generated here based on the client settings(if automatic
recording of changes is set in SCC4 transaction of the client)

How to define storage location (Temse) of spool requests ?

Every Temse object contains a header in TST01 table and the actual object. This can be either stored
in table TST03 or in file system. You can set a parameter rspo/store_location in RZ10 to define
whether to store Temse objects  TST03 table or in filesystem.

If value G is set to this parameter, it will be stored in filesystem and if it is db it is stored in TST03
table.
5. JAVA Monitoring

Contents :

1.       Checking the java stack/portal accessibility

2.       Actioning, in case portal not accessible

3.       User load analysis

4.       Java Reports – Navigation and usability

5.       Memory consumption and Threads report

6.       Session Monitoring

7.       Logs and Traces (Default trace, Server0 log etc)

8.       Accessing Management Console

9.       Checking System availability using Management Console(SDM, Msg server, Enqueue server, Java
nodes etc)

10.   Check various logs(work directory logs, jcontrol, default trace, application log etc)

Java Monitoring :

Place the link of the respective java application in the browser and check whether the java
application is opening:
For example:
http://baakaprd.company.com:50000/irj/portal

If java is up and running, a screen similar to below will open.


If the page did not open,
i)  Check  whether there are network issues
ii) Check tablespaces occupancy levels at Oslevel and make sure sufficient 
    space is there and  if any tablespace is  100% full, action the same
iii) Check the default trace for any critical errors
iv) Check application log to determine any memory related issues
v)  Check server node status at oslevel or through management console and 
     action and bring up the java again.
To estimate the user load and to check the number of users logged onto the java portal :
Navigate to User Administration ->  Activity Reports

i)   Check “Number of users in the last 3 hours” report


   ii)   To figure out most active users, check the 10Most active users report
Java Reports :

Java Memory Consumption Report and Threads Reports :


These reports includes a chart of the memory usage of a cluster node and a chart related to the
system and application thread pool.
To check this report login to nwa of the respective java stack :

Then  navigate to Monitoring -> Java System Reports :

Here following reports can be taken by selecting the respective report from the drop down provided:

  Capacity Planning : This report includes a chart representing the requests sent to J2EE Engine, a chart
for the number of http and security sessions, and a chart of the communication between J2EE nodes
  Resource Consumption : This report includes a chart of the memory usage of a cluster node, and a
chart related to the system and application thread pool
  Error Statistics:  This report includes a chart representing a collection of counters useful for
investigating problems. There are also charts that give an overview of timeouts and the size of log
files

  Application Activities : This report includes a chart that represents the history of the activities of
deployed applications

        Slowest requests in detail


        Slowest requests
        Slowest components
        User activities
        Current activities
        Monitor Browser
However from monitoring perspective, resource consumption report is most important to analyse
the memory consumption.

Select resource consumption from the dropdown to view the memory statistics as below:

Click on Go to Detailed Chart link of the respective report to view detailed chart as below
Click Hint on charts link to analyse the report better.
Select the respective Instance, Cluster node and Time period from the provided dropdown boxes to
view the reports belonging to the same

Table view for Threads report:


There are 2 types of views: Chart view and Table view. You can change the view by selecting the
respective radio button.
Please find below table view for Memory Consumption report
Session Monitoring:
To monitor sessions, navigate to Monitoring -> Session Monitoring
6. SAP Java Monitoring Check list 2

--------------------------------------------------------------------
To check “Logs and Traces”, navigate to System Management -> Monitoring -> Logs and Traces
From the drop down box, different logs can be checked
Process list – List of processes that are currently running can  be viewed here and any long running
process can be identified and actioned accordingly.

Using Management Console for monitoring Java System :


To open management console for SAP systems based on Unix operating system, add 13 for the port
of the portal as mentioned below
http://faqsa6.comapn.com:50013

A screen similar to below screen will appear :


You can drill down further on SID of the system to view database, Central and SCS instance details as
below :
Please note that Management Console can be accessed even when java is down for a sap system.
You can check database status as below :
You can check the javanode status as below:

Status should be running here if java is up

Process list – List of processes that are currently running can  be viewed here and any long running
process can be identified and actioned accordingly.

SDM, Dispatcher, Server0 and server1 node status can be checked here:
Various work directory logs, availability log, application log and default trace can be checked here :
Availability log :

Sapstart log:

Dev_jcontrol log :
Dev_server0 log :
To check the status of message and enqueue servers, check the process list under scs instance as
mentioned below :

To check various logs related to message server, enqueue server, jcmon check the logs under SCS
instance as mentioned below :
7. How to delete an SAP lock ?

This article answers following queries :

 What is a SAP lock ?


 Different types of SAP locks ?
 Difference between Write lock(E) and Enhanced write lock(X) ?
 How to monitor SAP locks ?
 How to delete SAP locks ?

****************************************************************

SAP lock is set by the executing workprocess when a user/job wants a change access to data.

Whenever a lock to be set the respective workprocess checks in the locktable whether a respective
lock conflicts the existing entries in the locktable. If so, a lock is refused. If there is no conflict, then a
lock is set.

There are different types of locks :

Write locks (E) : This is also known as exclusive lock mode as the lock data can be edited by only one
user. Any other requests from workprocesses to set another write lock or read lock are rejected. A
cumulate lock can be applied on the lock data by the same lock owner again.

Read locks (S) : This is also known as shared lock mode as several users can have read access to the
locked data at the same time. Additional read lock requests are entertained even if they are from
different users. However a write lock is rejected.

Enhanced write locks (X) : This is also known as exclusive non-cumulative lock mode. An enhanced
write lock can be requested only once even if it is by the same transaction.

Difference between write locks(E) and Enhanced write lock(X) is write locks  can be set and released
by the same transaction several times but X type locks can also be set once even by the same
transaction.

Optimistic locks (O) : These locks are set up when the users displays the data in change mode.
Several optimistic locks can be setup on the same data. Optimistic locks are read locks(S) at first and
converted to write lock (E) when the users wants to save the data. If an optimistic locks on a data is
changed to write lock(E), all other optimistic locks on that data will be deleted.

Locks that are set by an application program are released by the program itself or they are released
by the update program once the database has been changed.

Transaction code SM12 can be used to monitor SAP locks.


Here you have option of selecting locks based on following parameters

 tablename
 lock argument
 client
 username
In case, as part of monitoring, if you encounter some old sap locks and after thorough analysis, you
would like to delete these, it can be done in the following ways :

 Select the locks and delete the lock from SM12


 Identify the user who has set the respective lock and end the user session using SM04
transaction code
8. What is lock table over flow ? How to resolve lock table overflow issue ?

This article answers the below queries ?

 What is lock table overflow ?


 How to identify lock table over flow issue ?
 What is the parameter to be changed to increase lock table size in SAP ?
 What is the reason for lock table overflow ?
 How to resolve lock table overflow ?

-----------------------------------------------------------------------------------------

What is lock table overflow ?

SAP manages locks using lock table. The lock table contains all of the informaton related to locks like
who is holding the lock and which locks are currently held etc. The size of the lock table can be
specified by the SAP parameter enque/table_size. The size of the lock table limits the number of
locks, lock owners and lock names. If this size is exceeded, then the lock table overflow occurs.

How to identify lock table overflow issue ?

In SM21 transaction log and ST22 dumps, if you find any error messages like
LOCK_TABLE_OVERFLOW, Lock table overflow, Internal lock administration error it means there is a
lock table overflow issue.

What is the parameter to be changed to increase lock table size in SAP ?

Parameter enque/table_size to be changed to increase or decrease lock table size using RZ10
transaction. Default value of this parameter is 32768. The min value that can be set is 4096 and max
value is 102400. The unit for this parameter is KB.

How to change SAP parameter ?

As this is not dynamic parameter, for the new value to take effect, a system restart is required after
modifying the parameter.

What is the reason for lock table overflow ?

A lock table overflow can occur due to

 The lock table is configured too small (i.e value set to enque/table_size parameter is very
low)

 Due to improper design of application which sets a large number of locks


 Number of enqueue worprocesses configured in a sap system are less and update is very
slow/hanging due to which lots of locks are accumulated in lock table

 Running a custom report with improper selection criteria (like very long time periods data
pull) which sets so many locks & eventually lock table overflow occurs

 How to resolve lock table overflow ?

 Increase the size of lock table i.e increase the parameter enque/table_size value using RZ10
transaction.

          To determine the optimal value for this parameter, you can check the maximum locks set so far
in the history and the current number of locks set from SM12 -> Extras -> Statistics

 Increase the number of enqueue workprocesses


9. How to activate automatic sap* user in ABAP stack of sap?

This article answers the following queries:

 Forgot sap login password for ABAP stack . Do not have any other password for any other
user id. How to login to sap? 
 How to activate automatic sap* user in ABAP stack of SAP?
 Unable to login to newly created client with sap* and default password. How to login now ? 
 Sap* user got locked for ABAP stack. Donot have any other user id to unlock the same. How
to login to system again?

-----------------------------------------------------------------------------------------
  In SAP, there is a parameter login/no_automatic_user_sapstar whose default value is 1. If the value
is set to 1, automatic login of sap* into SAP system using password PASS won’t be allowed.
In all of the above scenarios,
Pls set the value of parameter login/no_automatic_user_sapstar to 0 in both the default profile and
the instance profile and restart the instance. So automatic login of sap* with default password will
be enabled.

How to change SAP parameter ?


Afterwards, connect to the database and execute the following command :
In the following example am considering, oracle as the database.
sqlplus “/ as sysdba”
SQL > Delete from SAPSR3.USR02 where MANDT=’000’ and BNAME=’SAP*’;
In the above command, SAPSR3 is the schema of the database and USR02 is the table name and
MANDT is the client and BNAME is the user id.
In case you would like to activate sap* in client 500 and your schema name is SAPBPW then the
command would be as below :
SQL > Delete from SAPBPW.USR02 where MANDT=’500’ and BNAME=’SAP*’;
Once you successfully executed this command, you can login to sap system with SAP* user id and
default password PASS
10. Activating emergency user in java only system

This article answers the following queries:

 How to unlock, if administrator user id got locked in a standalone java  alone system?
 How to activate emergency user in java only system?
 How to handle, if administrator user id got locked in dual stack system?

What are the scenarios in which emergency user SAP* to be activated?


In some cases, you might have configured user management incorrectly and can no longer logon to
any application or all administrator users got locked. In these cases, you can activate emergency user
SAP* which enables you to logon to application.

Process to be followed to activate emergency user SAP*

Start the config tool


Set the following User Management Engine(UME) properties

Property Value Remarks


ume.superadmin.activated True This activates SAP* user
ume.superadmin.password <password> Enter the new password for
SAP* user. This option is
provided by SAP to ensure
more security so that system is
not accessible with default
password

Restart the AS Java


The SAP* user will now get activated and all others user will get deactivated. You can log on with the
SAP* user and fix your configuration as per the requirement in cases of incorrect user management
configuration.
After that, go to identity management to unlock all the locked users.
After fixing the configuration issue, SAP* user should be deactivated again as mentioned below:

 Start the config tool


 Set the property ume.superadmin.activated to false
 Restart the AS Java.

Please note all the above process to activate emergency user is for standalone java system.

How to handle, if administrator user id got locked in dual stack system?


In case of dual stack installation i.e. ABAP + JAVA stack it is very easy. Please proceed as mentioned
below to resolve the issue:
i) Logon to ABAP system with any administrator user or the SAP* user
ii) Either create a new administrator user for java stack or unlock the locked administrator user using
SUo1
11. How to start or stop live cache in SCM or APO SAP systems?

This article answers following queries:

 How to start or stop live cache in SCM or APO SAP systems?


 What is the transaction used to administer livecache in SCM or APO systems?
 How to monitor livecache in SCM or APO systems?
 How to check operational state of livecache in SCM systems?
 How to check when was the last date on which live cache started in SCM system?
 How to check live cache related alerts in SCM systems?
 What is the database on which livecache runs on SCM systems?
 What is the start/stop sequence of livecache?
 How to check the live cache version?

-------------------------------------------------------------------------------------------

STOP sequence of livecache in SCM or APO system:


Sometimes to perform any maintenance it is required for basis administrator to shut down the SAP
system. If an SAP system consists of livecache then it is required to know the sequence in which
system to be bought down to avoid issues

Shutdown sequence:

 First of all shutdown livecache (Process explained below)


 Shut down ABAP system (as per the standard process of shutting down any SAP system)
 Shut down Database system ( as per the standard process)

START sequence of livecache in SCM or APO System:


Start sequence of livecache system is exactly reverse order of shutting down process.

Start sequence:

 Start Database of the SAP SCM system (As per standard process)
 Start the ABAP stack (As per standard process)
 Start the live cache (process explained below)

How to Check the live cache Operational State :


Login to SAP system and goto transaction LC10.
Systems displays screen similar to below. Please select name of database connection as LCA and click
on "Livecache: Monitoring" tab to proceed further. 
After this, you will be redirected to the below screen. Here you can check the operational state of
the live cache. It is green currently. It means live cache is up and running.

 From the below screen, we can determine

 live cache version


 live cache operational state
 Database server version
 Operating system
 What was the date/time at which livecache started in this system
 When was the last livecache start/stop activity done
 Automatic log backup is on or off
 Database Trace/Command monitor/Resource monitor on/off status
 Different directories/files belonging to livecache
Note : By clicking on the Alert monitor link (as shown in above screen), we can check various alerts
that are belonging to livecache.

Once you click Alert monitor, it opens another screen as below. From here you can click on "open
alerts" pushbutton to view all the alerts related to livecache. In addition to that, we can drill down
on various parameters in the below screen and we can identify problematic areas.

If there is an issue in any area, that will be highlighted in red as shown in screen below
How to Stop LiveCache:

To stop the livecache, In this screen, navigate to Administration -> Operating and click on "Stop
livecache" pushbutton  (as shown in the below screen). 
 Once the livecache got stopped, the operational state button which is green earlier will turn to red
confirming that the live cache is down.

How to Start LiveCache:

To start the live cache again, navigate to Administration -> Operating and please click "Start
Livecache" pushbutton in the above screen.

Once the livecache started successfully, its operational state turns into green color indicating that
livecache is up and running.

Please note that live cache runs on a MAXDB database.


12. How to open Oss connection to SAP system?

This article answers the following queries:

 What is the need to open remote service or OSS connection to an SAP system?
 How to open Oss connection to SAP system?
 How to check SAP router status?
 How to modify existing oss connections of an SAP system?
 How to delete existing oss connection of an SAP system?
 How to set up and to open a Remote Service connection to an SAP system?

In real time scenarios, there will be cases like Basis administrator or functional teams could not
resolve   some issues and have raised an Oss message. In those cases, SAP would like to troubleshoot
the issue by connecting to the respective SAP system. So, SAP will request you to open an Oss
connection to SAP system so that they can remotely login and check. In these cases, you need to
open Oss connection (as explained below) and respond to SAP in Oss message to login to system and
check.

Process to open an Oss connection:

In this article, am explaining how to open an Oss connection to an SAP system VE1.
Please login to the SAP service market place and navigate to Help & Support -> Connect to SAP.  This
leads you to the below screen:
In the above screen, please click on “Maintain Connections” tab which is highlighted in the above
figure.
It then lists all the systems recently used and gives an option to perform system search. Please look,
if the system to which you would like to open oss connection is in recently used systems list. If it is
exists, please click and open the same.
Otherwise, please perform system search by providing system id and by clicking “Search systems”
button. In the above example, am performing system search for VE1, as I would like to open oss
connection for this system. If that system is present it displays the system. Once displayed, please
click on that system which results in below screen
In this screen, please make sure SAP router status is connected (highlighted in red). Otherwise,
please click on connect button (highlighted in blue) and make sure sap router is in connected status.
After that, please click on “Systemdata” button (highlighted in green) which results in below screen.
Please click on “Maintain Access Data” button as shown in above figure.
This results in secure area screen as shown below. In this screen, if there are already oss connections
opened to this system earlier, you can view those details. It displays the client, user id, password,
expiration date, last changed on date and changed by user.

If you click on Modify button in the above screen, it results in the below screen.
From this screen, either we can modify existing oss connection or open new oss connection
If you would like to modify existing oss connection, select the respective line (figure highlighted with
orange color) and click on “Change selected entry” and modify. You can do modification to an
existing oss connection in the cases like you would like to change the password mentioned in the
secure area or you would like to extend the expiration date/time of the existing oss connections.

 If you would like to delete oss connection details, select that entry and click on “Delete selected
entry” tab to delete. We can delete this entry, if we feel that oss connection is no longer required.

If you would like to create a new oss connection, please provide the client, user id, password and
expiration date details (as highlighted in the green color) and click save button.
Please note, user id   maintained here should exist in SAP system (in this example VE1 system) and
password is the respective password of the same in the respective client.

Before maintaining credentials in secure area, please duly cross check by logging into respective SAP
system and make sure they are working fine. By default oss connection will be opened for 14 days. If
you wish, you can even extend the expiration date/time.

This is the process to open Oss connection for an SAP system


13. What is the difference between homogeneous system copy and heterogoneous system
copy?

This article answers the following queries:

 What is System refresh?


 What is the difference between homogeneous system copy and heterogeneous system
copy?
 What is the difference between System refresh and System copy?
 What is the need of System refresh?

----------------------------------------------------------------------------------------

System Refresh:

System refresh is nothing but copying an SAP system to another.


Let us say the system from which copy is being done is called as source system and system in which
data to be copied as target system.
If the target SAP system already exists then this is known as system refresh.

Difference between homogeneous system copy and heterogeneous system copy:

 If the target SAP system doesn’t exist and you are building a new SAP system on the same o/s and
database then this process is called as homogenous system copy.  In case the o/s and database are
different in your source and target SAP systems, then that process is called heterogeneous system
copy or migration.

What is the need of System refresh?

In real time scenarios,

i)               If Quality system data is outdated with Production system, testing may succeed in quality
system but may fail in Production system. So, it is required that Quality system should have  same
data as Production system, so that better testing can be done in Quality system whose data is similar
to production. So, it is suggested to refresh quality system with production system data periodically.

ii)            There might be a requirement to perform a production system upgrade (like support pack / version
upgrade.) Instead of performing upgrade directly on actual production system, it is better idea to
setup a mock / test system similar to production system with the actual data and perform the
upgrade there first. After performing upgrade on mock system, some details related to errors likely
to occur, actual time it took for upgrade, major issue if any can be identified so that necessary
precautions can be taken while performing the upgrade on the actual production system.

iii)      In case a newly inducted team should be given training, instead of providing training to them on the
actual system( DEV/QA/PRD), a system refresh can be done and a test/training system can be setup
and access can be given to those systems. This makes sure that no damage is done to DEV/QA/PRD
systems.
14. Logon group configuration in SAP

This article answers following questions:

 How to configure/setup logon groups in SAP?


 What are logon groups in SAP?
 What transaction code is used for logon group configuration?
 How to perform work load distribution in SAP system?
 Explain the benefits of logon groups in SAP?
 What are the advantages of creating logon groups?
 What are the guidelines for creating logon groups in SAP?
 What is the default logon group in SAP?
 How to delete logon group in SAP?
 How to check logon load distribution in SAP?

--------------------------------------------------------------------------

Logon Groups:

Logon groups (or work groups) are configured to dynamically distribute the load being
processed by the dialog work processes.

In many cases, SAP systems will have 2 or more sap abap instances. In these cases, logon
groups can be configured to achieve dynamic distribution of dialog users on the ABAP instances.

Setting up logon groups helps in uniform distribution of the work load across the available
instances. While logging on using a logon group, the ABAP message server is contacted to identify
the instance with best performance statistics within the selected logon group. A report runs in SAP
every 5minutes which determines the load across each server and updates in the memory area of
the message server. This information will be used by SAP GUI to determine the best instance to
distribute the next user.

SPACE is the default logon group. By default, every instance of an SAP system (including
central instance) is assigned to the logon group SPACE. This performs uniform distribution of the
dialog workload.
However, if you want to distribute users on some other criteria as following, you can create
additional logon groups using SMLG transaction code.

Other criteria:

Logon groups according to SAP application / module:  Separate logon groups can be setup
for applications/modules such as HR, FI/CO, SD, MM etc. It means HR module users will be restricted
to logon to identified instances, similarly other module users are allowed to login to their respective
identified instances.  The advantages of this method, is only the programs of the respective module
are loaded into the program buffer of the particular instances of that logon group. Due to this,
program buffer requires less memory and this helps to avoid buffer displacements thus improving
system performance.

Logon groups according to language, country or company division: 

 If your SAP system is operating across multiple countries or languages, in that case it is good
idea to create logon groups specific to a country or language. By this way the data and text related
to specific country or language will be loaded into the buffers of the respective instances. 

This minimizes buffer displacements and improves system performance. Also less memory is
required for the table buffer.

         Logon groups for certain user groups:

i)             We can setup separate logon groups for some department like sales whose work is performance
critical. For that logon groups we assign  instances which operates with high level of performance
(e.g: high speed processors, less users per server, no background or update workprocesses
configured or a dedicated network etc)
ii)            Some department users may take time-consuming reports in dialog mode. For these type of users,
you may have to create separate logon group and assign an sap instance where profile parameter
rdisp/max_wprun_time is set to very high
In this way we can separate performance critical/resource intensive applications from others.

Logon groups for the SAP Web Dispatcher:

 For direct ABAP web service requests, we can setup logon groups that the SAP Web Dispatcher can
use. If logon groups are not configured for web dispatcher, the load is distributed to all ABAP
instances on which ICM is configured.  Also, based on URLs we can distribute certain group of
requests to dedicated logon groups.

Logon groups for ALE/RFC:

Asynchronous RFCs are used to process in parallel. However if the parallel processes are not limited
properly, they can occupy all the available processes which impacts dialog users and can bring down
the application. So, it is good idea to create separate logon groups for incoming RFC calls so that
RFCs are kept separate from workprocesses of online users and thus avoids impact to dialog users.

Guide lines:

After assigning instances to logon groups


   

  We need to verify whether the instances of logon groups are evenly distributed or
not
 If an instance hangs or temporarily got disconnected, you should be able to
redistribute the users. So, you need to setup at least 2 sap instances for each logon
group.
 Setting up logon groups involves extra administration and monitoring. So,
unnecessarily large number of logon groups shouldn’t be setup
How to setup logon groups?

SMLG transaction code is used for creating logon groups.

Logon to SAP system and goto SMLG transaction as shown below:

In the above example there are 2 instances (00 and 09) in this SAP system. These are not yet
assigned to any logon group.

We can create a new logon group by clicking on highlighted create icon on the above screen. It
results in below screen.
In the above screen, either select logon group from dropdown or provide its name if you are newly
creating. After that assign instance for that logon group and click on copy to save the assignment.

In this example iam creating two logon groups hr and fico and assigning instances 00 and 09
respectively. Please find below screenshots which explains the same.
Repeat the same step and create logon group fico and assign instance 09 for it as shown above.

After doing this, you can see following logon groups in SMLG
Once you are done with logon group setup, please log off from SAP system and goto SAPGUI of the
respective SAP system.

Click on properties of the respective GUI entry and goto to connection tab as shown below.
Please select Group/Server selection option from the drop down of Connection Type as shown
above and maintain description and system id of the instance as shown above.

Now, you should be able to view the newly created logon groups as shown in below figure:
Also, please note you are able to view logon group SPACE also which gets created by default

Now, you can configure any desired logon group to the users as shown below:

For example in the above screen fico group is assigned to the end users in his GUI so that now
onwards, he will login into instance number 09 only.
How to delete logon group or assignment?

If you no longer require any logon group, you can delete by proceeding as shown below:

i)Goto SMLG transaction

ii) Select the respective row and click on delete assignment which deletes the assignment of an
instance to a logon group (highlighted in green color in below screen)
Click on delete icon above which confirms deletion of assignment
iii)If you wish to delete logon group itself, then select the respective logon group and click on “delete
group” in the above screen highlighted in red color (please refer screen 1 of point ii above). This
deletes the logon group itself and removes all assignments related to this group.

How to check logon load distribution in SAP?

Goto transaction code SMLG as shown below and click on highlighted icon below to view the load
distribution across instances

Alternatively, you can view this by navigating to Goto -> Load Distribution or  by pressing F5 key in
the above screen
15. What are the functions of SAPOSCOL ?

This article answers following queries :

 What is SAPOSCOL ?
 What are the functions of SAPOSCOL ?

SAPOSCOL is an operating system collector. It is a standalone program that runs in operating system
background.

SAPOSCOL collects data about operating system resources like

 CPU Utilization
 Usage of Physical Memory
 Usage of Virtual Memory
 Usage of filesytems
 Usage of Physical disks
 Usage of running processes

SAPOSCOL runs exactly once per host and runs independently of the sap system.

By default, SAPOSCOL collects data every 10seconds and records it. It also records the hourly
average statistics for the last 24hours in shared memory. This data will be fetched by background job
“SAP_COLLECTOR_FOR_PERFORMANCE” and writes it to the MONI performance database table.
16. What are the important differences between SUM tool and SPAM/SAINT?

This article answers following queries:

 What are the tools used to apply ABAP support packs?


 Software Update Manager (SUM tool) is available from which Netweaver version?
 What are the rules to use SUM or SPAM/SAINT to apply Support pack stacks or Support
packs for ABAP stacks?
 When to use SUM tool and when to use SPAM/SAINT?
 Can SPAM/SAINT switch the kernel and restart the system?
 Can SUM tool switch the kernel and restart the system?
 To minimize maintenance downtime while applying support packs which tool to be used?
 Which is the best mode in SUM tool to reduce the downtime drastically?
 What are the important differences between SUM tool and SPAM/SAINT?

---------------------------------------------------------------------------------

Software Update Manager tool is available from 2011 onwards and can be used for applying ABAP
support packs if the system is SAP Netweaver server ABAP 7.0 or higher

As of now, (SPAM/SAINT) and Software Update Manger (SUM) are the 2 tools used for applying
ABAP support packs.

However, we should know which tool is preferred choice under given circumstance.
The main criteria is

i)             Number of SP stack to be applied


ii)            System is downtime critical

If more number of support packages or Support package stacks to be applied, Software Update
Manager is the preferred tool.

We should choose “SINGLE” mode in SUM, if the overall runtime of the maintenance activity should
be as short as possible. We should choose “STANDARD” or “ADVANCED” mode in SUM, if less
downtime is the main criteria for the maintenance.

In standard and advanced modes, most of the maintenance activities are done on a shadow instance
created and used by SUM in parallel to the productive system. This allows to prepare and execute
the majority of patch implementation steps during normal system operations without impacting
end-users.

Especially in advanced mode, downtime is drastically reduced. However, please note that usage of
additional shadow instance requires more hardware resources like CPU, memory, disk etc
For SAP Netweaver AS ABAP 7.40, when specific support pack versions are part of import queue,
only SUM tool can be used for implementing them. SPAM cannot be used for that.
It is better to use SPAM/SAINT tool, when not more than 3 support pack stacks or 70 support packs
to be applied.

Other important differences between SUM tool and SPAM/SAINT:

 SUM can switch the kernel and restart the system but SPAM/SAINT cannot do this
 SUM shows the point-of-no-return with reset option that can withdraw all the changes but
SPAM/SAINT doesnot show clear point of no return
 SPAM/SAINT offers a test mode, with modification preview. SUM tool doesn’t offer the same
17. How to lock or unlock transaction code (tcode) in SAP system?

This article answers following queries:

 How to lock transaction code (tcode) in SAP system?


 How to unlock transaction code (tcode) in SAP system?
 How to view list of tcodes that are locked in SAP system?
 Which tcode is used to lock or unlock tcodes in SAP system?
 How to identify whether a tcode is locked or not in SAP system?
 While trying to execute a tcode in SAP system, it says “Transaction is locked”. What’s the
reason?
 What is the report to identify locked transactions in SAP system?

-------------------------------------------------------------------------------------

Sometimes, there might be a business requirement to lock a particular transaction in SAP system (for
a particular period) so that no one is allowed to execute those transactions

For eg: Lock SE38 so that users are not allowed to execute reports
           Lock STMS_IMPORT so that users are not allowed to import transport requests etc.

Which tcode is used to lock or unlock tcodes in SAP system?

SM01 tcode is used for locking transactions or tcodes.

Locking Procedure:

Login to SAP system and go to transaction SM01. It will result in screen as shown below:

For example, I am demonstrating process to lock tcode SM02.

Type the tcode you would like to lock in the above screen and press search icon which displays that
particular transaction.
If you would like to lock that tcode, tick that checkbox next to that transaction and click on save
button to reflect the change.

After that, if locked tcode is executed by any user, it won’t get executed. It will display a message
mentioning “Transaction SM02 is locked” (as shown below).

Unlock Procedure:

In case, you would like to unlock this transaction, go to SM01, select the tcode, and untick the
checkbox and press save button.

It unlocks the transaction and everyone would be able to execute that transaction.

Note:

 In some versions of SAP systems, lock/unlock toggle button will be there to lock or unlock
transactions( as shown below). So, instead of simply clicking Save button, you may have to
click "lock/unlock" button. 

Please note the difference and act accordingly


 If you lock / unlock a tcode in a particular client, it is applicable for all the clients of that SAP
system. It means, if you locked a tcode in 100 client of an SAP system, this tcode will get
locked in all other clients of that SAP system. So, this is system wide change and not client
specific

How can we find if a tcode is locked or not?

In SM01 transaction, if you find tick mark enabled for a tcode, it means that specific transaction is
locked.

Or

If you try to execute that tcode “Transaction xxxx is locked” message will be displayed

How to view list of tcodes that are locked in SAP system?

If you would like to view all transactions or tcodes that were locked in that SAP system, you can find
out by navigating to SM01  Transaction Code  Press F6 or select Display Locked Transactions (as
shown below)

Once it is selected, it displays list of locked transactions as shown below:


RSAUDITC report can be executed through SE38 or SA38 to find out list of locked transactions in SAP
18. How to identify recent parameter changes in SAP system?

This article answers following queries:

 How to identify recent parameter changes in SAP system?


 Which tcode is used to identify recent parameter changes of SAP system?
 How to identify changes done to sap parameters after a given period?
 How to view active parameters of SAP system?
 How to determine the date on which sap parameter values were recently changed?

==================================================

Sometimes, while troubleshooting, we may have requirement to identify SAP parameters that were
modified recently.

 Example Scenario: Customers might be encountering performance issues (or any other accessibility
issue) in SAP system. In those cases, we can check with customers from which date/time they are
encountering this issue and we can check in system if any SAP parameters were modified during that
time resulting in this issue.

1) To identify recent parameter(s) changes, TU02 tcode can be used.

Login to SAP ABAP system and execute transaction code TU02 which results in below screen

Screen 1:
In above screen, we can identify the date of most recent SAPSYSTEM parameter changes.

For example: In the above screenshot, we can determine that most recent SAP parameter changes
were done on 02/12/2016 on mentioned host (highlighted in red)

2)  If you would like to know what SAP parameters were modified after a given date, click on “Select
Period” push button in the above screen (highlighted in blue)

This results in below screen. Please enter date from which you want to know modifications done to
SAP parameters and click on tick button

Screen 2:

This results in screen, similar to below, which lists date on which parameters were changed,
parameter that was changed and new parameter value.

Screen 3:
3)   If you would like to know SAP active parameters, please click on “Active Parameters” pushbutton
on Screen1 (highlighted in yellow). This will result in below screen, which shows parameter and its
current (or active) value

Screen 4:
4) If you would like to know history of SAP parameters, please click on “History of File” pushbutton
on Screen1 (highlighted in white). This will result in below screen, which shows parameter name,
latest modified date and its new value

Screen 5:
19. SAP Buffer types

This article answers following questions:

ü  What are different SAP Buffer types?

ü  What are the functions of various buffers in SAP?

===========================================
There are following seven main groups of buffers found in shared memory.

v  Repository Buffers

v  Table Buffers

v  Program Buffer

v  SAPgui Buffers

v  Roll and Paging Buffers

v  SAP Calendar Buffer

v  SAP Cursor Cache

 
1)   Repository Buffers:

The Repository buffer is mainly known as the nametab buffer (NTAB), but it is also known as the
ABAP Dictionary buffer.

 This buffer contains the table and field definitions that are activated in the SAP System. An entry is
made in the Repository buffer when a mass activator or a user (using the ABAP Dictionary,
Transaction SE11) requests to activate a table. The corresponding name table is then generated from
the information that is managed in the Repository.

 The description of a table in the Repository is distributed among several tables (for field definition,
data element definition and domain definition). This information is summarized in the name table.
The name table is saved in the following database tables:

·         DDNTT (table definitions)

·         DDNTF (field descriptions)


The Repository buffer consists of four buffers in shared memory, one for each of the following:
 
Table definitions TTAB buffer Table DDNTT
Field descriptions FTAB buffer Table DDNTF
Initial record layouts IREC buffer Contains the record layout initialized depending on the field type
Short Nametab SNTAB buffer A short summary of TTAB and FTAB buffers

 
The Short nametab and Initial record layouts are not saved in the database. Instead, they are derived
from the contents of tables DDNTT and DDNTF.

 When access to a table is requested, the database access agent embedded in each work process
first reads the Short nametab buffer for information about the table. If the information is insufficient
(for example, the SELECT statement uses a non-primary key) it accesses the Table definitions buffer
and then the Field descriptions buffer. By reading the Repository buffers, the database access agent
knows whether the table is buffered or not. Using this information, it accesses the table buffers
(partial buffer or generic buffer) or the database.

The IREC buffer is read:

·         When a REFRESH command is executed in an ABAP program

·         At an INSERT command, when a record is created in the buffers before the data is inserted and the
fields are initialized with the values found in IREC buffer

You can set the buffers mentioned above by editing the parameters in the instance profile.

 2)   Table Buffers


There are two kinds of table buffers

·         Partial table buffers: Stores single table entries, that is, one record with its field values

·         Generic table buffers: Stores a range of table entries, that is, a range of records with their field
values. The generic table buffer can also store all the entries (records) in a table. This is known as
resident (or full) buffering

 Whether a table is partially buffered, generically buffered, or fully buffered depends on its attribute
settings. You can change the buffer attributes of a table using Transaction SE13

3)   Program Buffer:


It is also known as SAP Executable buffer or ABAP buffer or PXA (Program Execution Area). Stores the
compiled executable versions of ABAP programs (loads).The contents of this buffer are stored in
tables D010L (ABAP loads), D010T (texts) and D010Y (symbol table).The program buffer has a hash
structure and supports LRU (Least Recently Used) displacement.

4)   SAPgui Buffers:


There are two kinds of SAPgui buffers
 ·         Presentation buffers: Also known as Screen buffer or Dynpro buffer. Stores the generated
screens (DYNPRO loads).The presentation buffer is adjusted by changing its instance
profile parameters

·         Menu buffers: Also called as CUA buffer. Stores objects from the SAPgui. For example, menus,
pushbutton definitions. These objects are from tables D345T (CUA texts) and D342L (CUA loads). The
buffer has directory structure and supports LRU displacement. The menu buffer is adjusted by
amending its instance profile parameters

5)   Roll and Paging Buffers

The roll and paging buffers are the preferred working area of the roll and paging areas for an
instance (application server). The remaining area is located on disk as roll and paging files. The user
context is stored in the extended memory and the roll area (when the job is "rolled out" of a work
process). The paging area stores special data for the ABAP processor, while the extended memory
stores a large portion of the internal tables of a program.

You set the roll and paging buffers, as well as the extended memory using the parameters in the
instance profile

6)   SAP Calendar Buffer


The SAP calendar buffer stores all defined factory and public holiday calendars. Calendars are stored
in the database tables TFACS and THOCS. The buffer has a directory structure. This means that if the
shared memory is configured too small, only the required data is loaded; there is no LRU
displacement of the contents of the buffer. You can change the calendar buffer by editing the
parameter in the instance profile 

7)   SAP Cursor Cache


The SAP cursor cache helps to improve system performance by reducing the number of parsing of
SQL statements; it is database-dependent. The SAP cursor cache is only slightly different for Oracle,
Informix and SAP DB. It is totally different for AS/400 and MS SQL Server.

There are two types of cursor caches:

·         Statement ID cache


·         Statement cache

Changing the SAP cursor cache parameter value in the default profile will affect other areas as well.
You are therefore advised not to tune it without the recommendation of a qualified SAP expert

You might also like