SAP BASIS FAQ by ChNagarjuna1

VIEWS: 2,109 PAGES: 87

									What is private mode? When does user switch to user mode?

Private mode is a mode where the heap data is getting exclusively allocated by the user and is
no more shared across the system. This happens when your extended memory is exhausted.

What is osp$ mean? What if user is given with this authorization?

OPS$ is the mechanism the <SID>adm users uses to connect to the database.

Why do you use DDIC user not SAP* for Support Packs and Spam?

Do _NOT_ use neither DDIC nor SAP* for applying support packages. Copy DDIC to a separate
user and use that user to apply them.

Can you kill a Job?

Yes - SM37 - select - kill

If you have a long running Job, how do you analyze?

Use transaction SE30.

How to uncar car/sar files in a single shot?

on Unix:
$ for i in *.SAR; do SAPCAR -xvf $i; done

When we should use Transactional RFC?

A "transactional RFC" means, that either both parties agree that the data was correctly
transferred - or not. There is no "half data transfer".

What is the use of trusted system? I know that there is no need of UID and PWD to
communicate with partner system. In what situation it is good to go for trusted system?

E. g. if you have an R/3 system and a BW system and don't want to maintain passwords. Same
goes for CRM and a lot of other systems/applications.

Let me know if my understanding below is correct:
1) By default the RFC destination is synchronous
2) Asynchronous RFC is used incase if the system initiated the RFC call no need to wait for
the response before it proceeds to something else.

Yes - that's right.

But keep in mind that it's not only a technical issue whether to switch to asynchronous. The
application must also be able to handle that correctly.

Which table contains the details related to Q defined in SPAM? Is there a way to revert back
the Q defined? If yes, How?
There is a "delete" button when you define the queue. If you already started the import it's no
more possible since the system will become inconsistent.

What is a developer key? And how to generate a developer key?

The developer key is a combination of you installation number, your license key (that you get
from and the user name. You need this for each person
that will make changes (Dictionary or programs) in the system.

What is XI3.0 ? EXPLAIN XI = Exchange Infrastructure - Part of Netweaver 2004.

SAP Exchange Infrastructure (SAP XI) is SAP's enterprise application integration (EAI) software,
a component of the NetWeaver product group used to facilitate the exchange of information
among a company's internal software and systems and those of external parties. Like other
NetWeaver components, SAP XI is compatible with software products of other

SAP calls XI an integration broker because it mediates between entities with varying
requirements in terms of connectivity, format, and protocols. According to SAP, XI reduces
integration costs by providing a common repository for interfaces. The central component of
SAP XI is the SAP Integration Server, which facilitates interaction between diverse operating
systems and applications across internal and external networked computer systems.

How to see when were the optimizer stats last time run? We are using win2k, oracle 9,

Assumed DB=Oracle

Select any table lets take MARA here but you should do the same for MSEG and few others to
see whether the dates match or not.Run the following command on the command prompt:-

 select last_analyzed from dba_tables where table_name like '%MARA%';

This gives you a straight answer .Else you can always fish around in DB14 for seeing when the
optimzer stats were updated.
*-- Ankan

What is the use of profile paramater ztta/roll_area?

The value specifies the size of the roll area in bytes. The roll area is one of several memory
areas, which satisfies the user requests of user programs. For technical reasons, however, the
first 250 KB or so of a user context are always stored in the roll area, further data
- up to the roll area limit ztta/roll_first,
- in the extended memory, up to the limit ztta/roll_extension or if extended memory is
exhausted, then
- again in the roll area, until the roll area is full, then
- in the local process area, up to the limit abap/heap_area_dia or abap/heap_area_total or
until the address space or the
  swap space is exhausted.

Followed by termination with errors like STORAGE_PARAMETERS_WRONG_SET an error code,
that points to memory bottleneck Minimum data transfer with context change; however, the
increase helps to avoid problems (address space, swap space, operating system paging).        *--
Anupam Sharma

What is R/3? and what is basis version?

SAP Basis:
- Provides the runtime environment for all SAP applications
- Optimally embeds the application in the system environment
- Defines a stable architecture framework for system enhancements
- Contains the tools for administering the entire system
- Allows the distribution of resources and system components
- Provides interfaces for decentralized system parts and external products.

An R/3 instance is a group of R/3 services that are started and stopped as a unit (by an R/3
dispatcher) and have a common instance profile. The name of an R/3 instance is composed of
letters standing for the relevant services, and an instance number which is unique for each
computer. The services may be D, V, E, B, M, G, or S, which respectively stand for dialogue,
update, enqueue, background, message, gateway, and spool services.

Tips by : Suresh Babu

I would like to know the version or name of SAP that is implemented in real time?

This is a very generic question and really depends on what you are implementing (modules).

The history of the "R/3" is

3.0D Basis 300
3.0E Basis 300
3.0F Basis 300
3.1H Basis 310
3.1I Basis 310
4.0B Basis 400
4.5B Basis 450
4.6C Basis 460
4.71 Basis 6.20
4.72 Basis 6.20
5.00 Basis 6.40 (ECC 5.0 - Enterprise Core components)
6.00 Basis 7.00 (ECC 6.0) - actually in RampUp

All of those have increased business functionality and interfaces to other systems (CRM, BW

What is mysap?

It's a term for all the systems that in a contract (e. g. a MySAP business suite consist of
ERP2005, CRM2005, SRM2005).

What is the systems configuration required to implement SAP.. i.e for
production,development and QAS servers the hard disk space, RAM, Processor

This also depends on what your are implementing, how many users will work on the system,
how many records in what area are created etc.
We need a BIG database system and an even bigger application server for ~ 900 users and 12

What is ASAP?

It's an old term for an implementation strategy. Blueprint -> prototype -> goLive (if you want to
say it in one sentence).

How should I set priority for Printing say like user, teamlead, project manager?

There's nothing like "priority" settings for spool processes. Just define more (profile parameter
rdisp/wp_no_spool) processes so people don't need to wait.

Using Tc SGEN I have generated 74% job and later I have terminated the job. I wish to start
generating from where it stopped I have refreshed but to no chance nothing was done.
How should I further proceed so as to complete the remaining job..

Start SGEN again and select the same you have selected before. It will popup and ask if you
want to start from scratch or generate the just the remaining

When creating a logon group for Logon Load Balancing, which of the following CANNOT be

A.   Maximum allowable response time.
B.   Maximum number of users who may be logged on to the instance.
C.   Name of the instance defined for the logon group.
D.   Maximum number of sessions per user.
E.   Name of the logon group

Which R/3 System user is used for starting external programs using SAP background jobs?

B.   SAP*
C.   SAPR3
E.   <sid>adm

Name the R/3 System transaction used for mointoring a spool requests.

A.   SM50
B.   SM51
D.   SP01
E.    SM37

Which of the following is authorized to maintain R/3 user id parameters?
A.   Only the R/3 system administrator.
B.   All R/3 users having an account in the same R/3 client.
C.   Only the user himself.
D.   Only the R/3 system administrator and the user.

Given a LAN with an R/3 Central Instance with database (Node: host1, Instance
Name:DVEBMGS01, SAPSID:C11), and R/3 Dialog Instance (Node: host2), and several R/3
Frontend PC's what is the name of the profile where the SAPDBHOST parameter is defined?

A.   C11_DVEBMGS00_host1
B.   The SAPDBHOST parameter is defined in the database startup profile.
E.   START_DVEBMGS01_host1

Given and R/3 Central Instance with all services installed, using Instance ID01, and having
the SAP ID of C11. What is the name of the directory where the work process trace files
are written (for Windows NT replace the "/" with "\")?

A.   /usr/sap/C11/DVEBMGS01/data
B.   /usr/sap/C11/DVEBMGS01/log
C.   /usr/sap/C11/DVEBMGS01/work
D.   The trace files are written in internal database tables.
E.   The trace files are written in the home directory of the database.

Which of the following functions is NOT possible using the SAP Online Service System (OSS)?
All are possible

A.   Execute online searches for R/3 Notes.
B.   Register problems with the SAP Hotline.
C.   Lookup SAP training dates and course offerings.
D.   Register changes to SAP objects.
E.   Apply for official Internet address from SAP.

Basis Administration Questions Answers

What is the difference between Sap lock and database lock?

A "SAP lock" is named "enqueue lock", the enqueue is on a much higher level, e. g. a complete
sales document is locked there whereas in the database usually only row locks exist. Since SAP
runs on more database than Oracle (thanx god) one needed to have a mechanism, that is
database independent and on a higher level.

What is the diff between clients 000 and 001?

Client 000 is the SAP source client, client 001 exists only on certain installations (e. g. solution
Manager). *-- Markus

I would like to know is there anyway to transport roles from Production to Development or
Goto PFCG and enter the role which you want to transfer to other system. goto utilities->Mass
download it will ask the path where to download/save that role on local desktop give the
location and save it. Next logon to the system where you want that particular role.
PFCG-> Role -> upload.
Give the path where the role is saved. it accepts and generates successfully. *-- Mahesh

What is the need of having Development system?

To develop and custamize SAP to companies requirement. say if you dont have DEV, after go-
live(started using SAP (PRD}) if you want to do some changes to application, you cannot do
changes directly to PRD server, which may cause problem the PRD server live data. so you do
the required changes on DEV first and test them on QAS, if it works fine
them transport the same to PRD.

Difference between Application server and Central Instance?

AS: Is just a dialog instance.
CI: Is Dialog instance + Database Instance.

What is Transport domain and Domain controller?

TD: is the collection of transport controller, Trans directory and all other systems in the

TC: A system which will have trans directory, and in which the total landscape is designed and
maintained. in stms you can see all these. *-- Suneel

What are SNOTES ? How to apply them in SAP ?

The name of the transaction is SNOTE. A "note" in general is a hint, documentation, error/bug
description and may contain code corrections that are applied with the transaction SNOTE.

What is OSS ?

OSS is the old name of the nowadays "sapnet" which contains everything you need to run SAP a
program, patches, installation/upgrade documentation etc.

What are different modules used like EP, XI, CRM ,BW, etc?

Those are not different modules but different products.

EP = Enterprise Portal
XI = Exchange Infrastructure
CRM = Customer Relationship Management
BW = Business Warehouse (that is the old term), it's now call BI (Business Intelligence)

What is the correct use of SPAM, SAINT, SPAD and SPDD transactions. When should we use

SPAM is for installing support packages, SAINT is used to install new addons. SPAD is for
creating printers (I assume you meant SPAU) and SPDD is for adjusting modification to
dictionary objects.
Is it possible to update Support Release packages from OS level?

No - you can import them but the full process will require additional steps the tools "tp" and
"R3trans" are not aware of. The way is to use SPAM - but SPAM has the possibility to schedule
those imports in the background.

After doing any Support Package update in SPAM, are there any further steps to carry out
for this update to take effect?

No, they are active immediately. *-- Markus

Changing the Title of SAP Transaction

Sometimes, internal user or customer might request you to change the Title of the SAP
Transaction code to a more meaningful one and SAP allows this to be done painlessly.

The steps to change the Title of any SAP transaction code are as follows:

First, goto tcode SE63

On the top left Menu of the screen - Click Translation - Short texts - Transactions

For example, assuming you want to change the title of the tcode FB01 from Post Document to
Post Document for G/L. On the first screen, fill in the following information:

Transaction code - FB01

Source Language - English
Target Languate - English

To change the Title, click the Edit button

On the second line, type in the Title (For e.g. Post Document for G/L) you want for the
transaction code

Click the Save button

Now, called up the transaction code /nFB01 again and you should be able to view the new

Please note that it works for most of the Transaction code except for those new Enjoy
transaction code in 4.6x.

How to get the field descriptions of a table?

I need to get the associated data element descriptions of all the fields in a table. I think
there's a way to do that using the SELECT statement.

Can you please give me in detail, the various steps and methods to find the corresponding
SAP tables and fields for a particular transaction code, for example (CS03).
Do the following 2 steps. Then create your ABAP program accordingly with the SELECT

1. From table DD03L, give your tablename and get all of its field names and corresponding data
element names.

2. From table DD03T, get the description of each data element you have got in step 1.

Then Use Function Module DDIF_FIELDINFO_GET

The sample program will look like this:





    call function 'DDIF_FIELDINFO_GET'
       tabname            = TABLENM
       FIELDNAME           = FIELDNM
       LANGU             = SY-LANGU
*      LFIELDNAME           =''
*      ALL_TYPES           =''
*      X030L_WA            = WATAB
*      DDOBJTYPE            =
*      DFIES_WA           =
*      LINES_DESCR          =
       DFIES_TAB          = INTTAB
*      FIXED_VALUES          =
       NOT_FOUND             =1
       INTERNAL_ERROR          =2
       OTHERS            = 3.

    if sy-subrc <> 0.
       WRITE:/ 'Field name not found'.


*** End of Program
Step 1.
Run the transaction and click on System -> Status. Note the program name shown under the
transaction code.

Step 2.
Run SE49 and enter the program name you identified in step 1 (SAPLCSDI) and then press

This will identify the tables used, however, as you want to know the fields used as well then
you may have to resort to looking at the actual code (get a developer involved if you're not
one) using transaction SE80.

In this case the transaction CS03 is assigned to a screen with a function group so it's a slightly
tricker process, hence the need for a developers service.

For all the tables, descriptions and fields you can refer to these tables:

Find the list of SAP Transaction codes

Where I can find the list of transaction codes and their usage, I heard that there is some
table which contains all the transaction codes with their descriptions.

Does anyone know about the Table that consist all the T-Code?

Listed here are the various ways you can find the list of transaction codes and their usage:

Use transaction SE11 - ABAP Dictionary:

Fill in the Database table name and click the Display button.
- TSTC table will contain all the Tcodes and
- TSTCT table will contain all the Tcodes with Texts.

Once you entered the screen, click in Top Menu - Utilities - Table contents - Display

If you want to display all the transaction code (total - 57,048) you have to change the Fields:
Maximum number of hits to 99999 (default 500).


Simply goto transaction SM01, although this tcode is to Lock/Unlock any transaction code, you
can also view all the tcode available in the R/3 system from here.


Goto transaction SE93

There are two ways where you can find the list of transaction codes in SE93.
Method 1:
You must be familiar with the starting characters strings for each of the R/3 application

Assuming you know that most Materials Management transaction codes start with MM.

In the Fields: Transaction code, type in MM* and press the function key F4

The list of transaction code starting with MM will be displayed.

Method 2:
On the Top Menu, click Utilities - Find - Execute and the first 500 transaction will be display.

If want to display all the tcodes, make sure you remembered to change the Fields: Maximum
no. of hits right at the bottom of the screen.

I know a particular T Code and can enter and work on it. How do I know what is the menu
path for that T Code?

Enter Search_SAP_Menu in the command box and when the pop box appears enter, the Tcode
and it will give the nodes and menu path.

This is helpful only in case of SAP Menu not in case of SPRO - ie IMG.....

Search for SAP Basis Transaciton codes

You can access all the transaction codes by using the transaction code 'SDMO'.

This is the transaction code for the Dynamic Menu.

Based on your search string, you can get all related transaction codes for all the SAP
application modules.

For e.g. the Search text for ADMIN returns the following results:

How to apply OSS notes to my R/3 system?

In order to fix one of the problem in R/3 system, SAP will asked you to download an OSS notes
which is a ".car" file.

To work with a CAR File do the following at OS Level:

Get into OS as <sapsid>adm

Copy the .CAR file to a Temporary Directory.

Uncompress the file with SAPCAR

Copy the the data file generated in the data transport directory
( ej: = /usr/Sap/trans/data).
Copy the the cofile file generated in the cofiles transport directory
( = ej: /usr/Sap/trans/cofiles).

Run transaction STMS

Upload the support package with SPAM transaction and the support package will show "New
support packages".


Examples of CAR command :-

  1) UNIX only:

     Log on as user <sapsid>adm.
     cd /usr/sap/trans
     CAR -xvf tmp/<ARCHIVE_NAME>.CAR -V

  2) Windows NT only:

     Log on as user <SAPSID>ADM.
     cd \USR\SAP\TRANS

This Will create two(2) FILES

After you run SPAM you MUST run STMS and check the transport queues


As per 315963 note you can direct made the changes in the program or you can apply the
support pack.

a) If you want to apply correction then first you need to register the object in SAP, so that you
will get the Access key and then you can make the changes.

b) If you want to import the support pack then you need to down load from SAP market-place.
and this is in CAR file. and then you need extract the same using CAR utility.
ex: CAR -xvf


you can directly apply the patch from SAPGUI, login to 000 client and then you can load the
patch from Presentation server.

Also check what is your current basis patch level?

For example if you want to apply patch 07 and you are having 05 then you need to apply 06
and then apply 07.

Things to take note of:-

It would definitely be better to apply the latest spam/saint spam manager, tp, R3trans and
possibly a new kernel patch.

This is not a simple task to complete on the fly. By applying SAP support packs, you may run
into problems with SPDD and SPAU adjustments. Also include the fact that the support
packages may break one of your transactions. You may want to test this in your sandbox
environment, if you have one, before tackling it.

In most situation when you apply support packages, it can takes about 3 weeks to fully test the
support packages before you can apply them to the production system.

Do test your "golden" transactions to make sure that they are not broken. If you are not
familiar with SPDD and/or SPAU adjustments than do not attempt to load support packages.

You may be better off just to modify the SAP object in question via OSS note

Manually Applying OSS note on SAP Standard Program

In order to apply any OSS note, you have to be authorized by your company and be assigned an
OSS ID and password.

For any SAP standard program modification, you are required to login to OSS and request for a
repair program Access key.

Follow this step to obtain the Program Access key:

Menu Path: System -> Services -> SAP Service (Transaction code OSS1)

Login in with your OSS ID and Password

Click the Registration button

Click Register Object

Double click R/3 Value Contract

Fill in the Object Registration for Installation:

For e.g.
SAP release: 46C

Finished, click the Register button

Select the Key number and use the Copy and Paste short key to copy the Access key

You are now able to modify the SAP standard program.
Finished the modification, do remember to transport it to the production system after all the
necessary testing.

What is mean by OSS how to work on that?

OSS are online sap support notes. These notes are available online for solving critical problems
in sap system.We may use the already existing notes or may add our own quaries.

Upgrading SAP Kernel, Hotpatches and Database Startup

Kernel upgrade is an easy process.

Go to the SAP OSS Site :-
  SAP R/3
    SAP R/3 4.6C
      Binary Patches
          SAP KERNEL 4.6D

Download the kernel programs in a temporary folder.

Create a folder and copy the executables /exe/run/ then uncar the downloaded files and
replace the executables.

It is recommended to shutdown the R/3 database and all services including saposcol.

Then restart your system.

A couple of important points to remember are :-.

a) Always make a copy of the files you're going to replace. For e.g. Create a directory (oldkern)
and copy all the old files
   before replacing them (this helps when sometimes the new Kernel has problems, and you
can revert it)

b) You have to shutdown SAP and the Database using the OLD kernel file. Again it is good
practice to shutdown everything

Refer to this OSS note which is pretty useful :-

102461 - Installation of 4.0B/40B_COM kernel with 4.0A/40B

How do I find out the current patch level in SAP R/3 4.7

You can use either of these two methods:

1: Follow the path
System --> Status --> Component Information (The Magnifying glass button in the SAP System
Data section)

2: Use the Transaction code ---- spam

spam(Support package manager) --> package level

Steps to Start Your Database After Kernel Upgrade

Do these steps to start your database:

1. Open command prompt

2. Give command: SQLPLUS "/as sysdba"
If its giving message connected to idle instance then proceed:

3. Give command: startup open
If its giving error that database is already open, shut it down first. Then first check what
database process is up and running.

4. Try stopping the database: shutdown immediate.

5. Follow step 3 again after shut down the database.

6. Exit from SQLPLUS

7. Run command on command prompt: R3trans -d
Check the results whether its still giving error or if it completed with 000 return code, then try
starting SAP.

Follow the above steps.

Applying SP4 to Windows 2000 Server

You need to download a newer SAP kernel. You will need an OSS ID and password to access And you will need to know what R/3 version, database, and
OS you currently use.

Once you are at the patches website, you will need to click in the navigation tree:
R/3 -> R/3 + ?Release number? -> Binary patches ->
SAP Kernel + ?Release number? + 32-Bit -> NT/I386.

Download everything from the database section and everything from the database independent

One of the files you downloaded should start with SAPCAR and end with a *.exe.
Rename this file to SAPCAR.EXE and place it in the c:\winnt\system32 directory.
Go to \usr\sap\<SID>\SYS\exe\run and backup the entire directory to some other directory -
I usually create a \usr\sap\<SID>\SYS\exe\backup_run directory. Make sure SAP is down, the
database is down, the TNS listener is down, and the SAPOSCOL is down before you do this.
Uncompress all the files you downloaded by opening a DOS box and typing:

SAPCAR -xvf <file name>.CAR

All files ending with .SAR or .CAR must be uncompressed. All the extracted files need to be
moved to the \usr\sap\<SID>\SYS\exe\run AFTER that directory has been completely backed up.

Once everything has been downloaded, uncompressed, and moved into the exe\run directory,
you can start the SAPOSCOL, the listener and the database services again. And then you should
be able to start SAP. If there are any application servers for this database instance, the SAP
software will update those kernels on startup.

If the SAP instance STILL does not come back up, you can take down everything again and
restore the exe\run directory with your backup copy. Nothing will have been damaged.


When you apply a package, a large number of objects are changed.

If you have applied any OSS notes to objects in your system, the hot package may overwrite
these objects.

SPDD is used to identify dictionary objects


SPAU (repository objects), will identify any objects where the hot package is overwriting
changes you have made through OSS notes.

You must check all objects identified in SPAU and decide whether you need to reapply the OSS
note or reset the code to the original SAP Code.

If, for instance, you are applying hot package 34, SPAU identifies an object where you have
applied an OSS note. You must check the OSSs note and see if SAP have fixed that note in a
hot package.

If the OSS note has been fixed in hot package 34, then you should reset the object to its
original source code. This means that there is no repair flag set against this object again and it
is now SAP standard code.

If, however, the object is not fixed until hot package 38, or there is no fix available you have
to reapply the OSS note, otherwise users will encounter the problems they had before the note
was applied.

You must transport all reapplied notes and Reset to SAP Standard objects after you apply your
hot package to your QAS and PRD systems

How to know the kernel version of a SAP R3 system?
From any screen choose System-->Status then click the 'other kernel info' icon (between
Navigate and Cancel).
The same information can be found at OS level in the dispatcher trace file:
/usr/sap/<SID>/<instance name>/work/dev_disp.

Goto transaction sm51, and click (not double click) on the the Database
server and then click on release notes. there you will see the SAP R/3
kernel and patch level etc.

You can use the System ==> Status and then Other
Kernel Info button to get the details about the Kernel
Release, Patch levels etc.

I think an even more convenient way to do this is to use SM51. Highlight
the server you are interested in and click on "Release Information". This
provides you a location to view all servers with out logging on to each
one. The answer below will give you information about the server you are
connected to only.

Also try "disp+work -v" on server.

SAP Transaction code to pre-compile all system program

If I have to run SGEN and have to recycle the server as well for clearing out memory, does
it make sense to run SGEN first and recycle afterwards, because SGEN will sort of litter the
memory or is it inconsequential what runs first.

SGEN is ued to "compile" ABAP programs. Results are put in database.

So, if you restart SAP, compiled results will still be in the database, so, no need to run SGEN

Make use of the transaction 'SGEN' to re-generate all the SAP programs after you change
version of your SAP kernel, upgrade SAP system or apply support packages.

Do take care of the table spaces and use SAPDBA to observe them.

Do it during a weekend which is the best or a period of time with very very low users activity.

It will takes about 5 to 8 hours depending on the type of hardware configuration you are using.

Reporting a Problem to SAP

When I tried to report a problem to SAP using url it provided 4 steps to follow:

1) Choose system
2) Prepare Solution Search
3) Find Solution
4) Enter Message

I could do the step 1 but dont know what to do at steps 2, 3 and 4.
SAP changed the customer message screens so you now have to navigate through a search of
the SAP Notes before being able to create a message.

We usually search the Notes extensively before we create a message, so we just enter a blank
search and then go on to create the message.

Follow the steps, It may solve your problem:

1. Copy following url into web browser :

  It will ask you for your OSS ID and password .
  A Screen which contain a push Button Select System displayed .

2. Push the Button Select System .
   It will open a sub screen in which there will be a hierarchical structue which looks like

  - <Your SAP Customer Number >
      -<SAP Installation number for a specific product1 >
         <radio Button><System SID1 for which you have registered a license>
         <radio Button><System SID2 for which you have registered a license>

     +<SAP Installation number for a specific product2 >
      +<SAP Installation number for a specific product3 >

Here + indicate that you have a sub tree .
     Specific product like SAP R/3 T for Services , SCM , CRM , ERP etc

3. Select the system for which you need to log a message
   It will take you to message screen screen.

4. Select you domain for problem for example Basis problem with Database where dataBASE IS
oracle then Message type will be BC-DB-ORA
5 Select priority of Message

6 . Write Message and send it to SAP

Different methods to Lock or unlock SAP users

I want to lock all the users in SAP during MTP. I know using SU10 we can do it. Any other
alternative ways to lock the users.

Is there a way in SAP to unlock a locked user for a limited time, then automatically after x
time set the user back to lock status?

You can fill in "valid from" and "valid until", but you cannot say from Monday to Friday from 8 -
12:00 for part time workers.

Can we schedule to lock all users?

If users get locked, from SU01 you can unlock them.
Use SU10 to mass lock/unlock the users.

Use address data or authorisation data to get a list of users - select the ones you want and

click transfer.

Once this is done click on lock or unlock.

You can also use transaction code EWZ5 to mass lock/unlock the users


Execute program EWULKUSR in SE38


Set a profile parameter (login/failed_user_auto_unlock) to unlock at midnight the locked


Here's an ABAP code, short and simple, isn't it?

REPORT zreusrlock.

DATA: time_limit TYPE sy-datum.
DATA: days TYPE i VALUE 40.

time_limit = sy-datum - days.
UPDATE usr02 SET uflag = 64 WHERE trdat < time_limit.

If you don't want to specify the time in the program, you can use SE38 to schedule it as a daily
background job with the date and time.


Probably the easiest way would be to write a sqlplus SQL script that sets all the UFLAG fields in
table USR02 to 64 EXCEPT for the BNAMEs you don't want locked. When you are done, you can
do the same again but change the UFLAG field to 0.

The SQL statement would look like:

update SAPR3.USR02 set UFLAG = 64 where MANDT = <client number> and BNAME != <don't lock
user 1>
AND BNAME != <don't lock user 2>;

You can replace != with <> if you want. To run this from an OS command line, you would type:

Unix/Oracle 8---> sqlplus internal @<SQLpath+SQLname>
NT/Oracle 8.0---> plus80 internal @<SQLpath+SQLname>
NT/Oracle 8.1---> sqlplus internal @s<SQLpath+SQLname>
Unix/Oracle 9:--> sqlplus /nolog @<SQLpath+SQLname>
NT/Oracle 9-----> sqlplus /nolog @<SQLpath+SQLname>

In UNIX you can cron the script to schedule it. In NT you can schedule it as a task.


This is another method to UNLOCK ALL users.

Start Oracle Server manager (I assume you are on Oracle)
connect internal
update sapr3.usr02 set uflag='0' where mandt='399';

When users are locked, the uflag is set to 64.

Finish, just query to check.

select bname, uflag from sapr3.usr02 where mandt='399';

Please note that unlocking users from low level (like Oracle sqlplus) should be used as last
resort. Frequent use of low level access may tempt you to use on other things. Highly
dangerous and your IS auditors will not be too happy.

Is there a way to set a list of users that cannot be locked, even if we try to lock them
manually, and even if they fail connection ( wrong password )?

Increase this parameter in SAP Instance profile:

login/fails_to_user_lock = 6 (max is 99 wrong attempts, i.e, value 99). Currently you have a
value of 3.

login/failed_user_auto_unlock (for your midnight unlocking).

Ask users to remember passwords!! If someone is deliberately login-in with different
username/password (thereby blocking legitimate access of that user), check hostname from

This is considered as DoS (Denial of Service)

Changing the default password for sap* user

You are trying to change the password for sap* user, however when you go into su01 and enter
sap* as the user name, the following message is displayed, user sap* does not exist.

You can delete the SAP* user using ABAP code :-
Delete from usr02 where bname = 'SAP*' and mandt = '***';

Where '***' means your client no.

Then login to your client using password SAP* and password PASS
However, if you delete it, then it will automatically created once again with password PASS

The userid, SAP*, is delivered with SAP and is available in clients 000 and 001 after the initial
installation. In these 2 clients, the default password is 07061992 (which is, by the way, the
initial date when R/3 came into being...). It is given the SAP_ALL user profile and is assigned to
the Super user group. When I say it is "delivered" with SAP, I mean that the userid resides in the
SAP database; there are actually rows in the user tables used to define userids.

If you delete the userid, SAP*, from the database, SAP has this userid defined in its kernel (the
SAP executable code that sits at the operating system level, i.e., disp+work). When this
situation exists, the password defined in the SAP code for SAP* is PASS. This is necessary when
you are performing client copies for example, as the user information is copied at the end of
the process. You can sign into the client you are creating while a client copy is processing using
SAP* with password PASS (but you should have a good reason to do this - don't change anything
while it's running).

Anyway, if the SAP* userid is missing, you can sign in to the client you want and simply define it
using transaction SU01 and, as I stated above, assign it to the SUPER user group and give it the
SAP_ALL profile. You define its initial password at this point. If you've forgotten its password
and don't have a userid with sufficient authorization to create/change/delete userid,
then you can use the SQL statements to delete it from the database and then you can use SAP*
with PASS to sign back into the client you want to define it in and recreate it.

There is also a profile parameter which can override the use of SAP* with PASS to close this
security hole in SAP (login/no_automatic_user_sapstar). When this parameter is defined either
in your DEFAULT.PFL profile or the instance-specific profile and is set to a value of '1', then the
automatic use of SAP* is deactivated. The only way to reactivate the kernel-defined SAP* userid
at this point would be to stop SAP, change this parameter to a value of 0 (zero), and then
restart SAP.

The default password for SAP* is 06071992. (DDIC has 19920706)

Mass Maintenance of Users Profiles

Goto transaction code SU10

Select your SAP User by Address data or Authorization data.

With the users you want to change selected, click :-

User -> Change -> Profiles

Filled in the Profiles and click save.

How can I create multiple User Id at Random

We usually created Id though SU01, it only one by one.
Can I create multiple user id having same profile at once.

Yes you can, use tcode SCAT. First, make sure your client setting (SCC4) is enabled with ' X
eCATT and CATT allowed'. Just in case your Production disabled this.
- Then, you need to create a simulation (test case) of creating new user id by calling tcode
  SU01 later.
- Test case must start with Z, example ZCREATE_NEW_USER. Create this case, put title and
   choose component as BC (basis components).
- Save and choose Local if you dont want to transport it or choose a dev. class (example ZDEV)
   if you want to transport it later.
- Go back and click Change button. Then key -in Object as example SU01, and choose Record
   button on top. When it prompts to enter Transaction code, key in SU01 (if for roles,
   key-in PFCG) and begin recording. As usual in SU01 create 1 user id, dept field, password,
   roles, group and so on.
- Make sure you press Enter on each field because we want to capture the value/object and
   SCAT is a bit stupid if you become familiar later....but still useful...indeed.
- You will see a clock on the bottom which means the recording process is on going.
   Once done, click Back button and press End button to end the recording.

Note - I noticed you said the profiles are all the same. Then this is much need to
enter the roles/profiles, just duplicate this ID and change the name, dept and password only.

Okay..first stage has finished. Then double click the Object to begin inserting parameters.
Then you will see an object for each fields that you run from SU01. Choose the right field
example user id (BNAME) and choose button 'Insert Import Parameter (F6)' and you may click
Next Screen to 'watch' what have been recorded and proceed to choose several other objects
like password field (PASSWORD1, PASSWORD2), roles field (AGR_NAME), group field etc. If you
happen to choose the wrong object, then you can reset back (Edit -> Reset Parameterization).
You may see so many junk fields captured and this is because SCAT records every

Once done, choose Back and save this case. Then you need to click 'Goto -> Variant -> Export'
and save it. After that use Ms Excel to open it and begin inserting all other user ids. Save and
close. Remember to close this file because SCAT will use it.

Then last one, get back to SCAT and click button execute, processing mode chose Background,
choose external file 'the one you created with Excel' and execute. At this moment don't use
tcode SU01 bcoz you may interrupt the simulation. Wait for the logs. If you see reds then error

Hoping this will help you. I have done (Sap 4.6C) this to create thousands of user ids and also
thousands of roles/profiles (pfcg). I heard with Sap 4.7, the SCAT has so many extra

Correct me if i'm wrong elsewhere.....just shared my experience.

How to delete expired roles?

Here are 3 notes you may want to review to see if there is any helpful info, plus some
documentation that may be helpful for others....we are going from 40B to 47 and have had a
few issues with role deletion

Notes: 312943 504412 & 313587

Additional info
First, the report PFCG_TIME_DEPENDENCY is functioning as designed. It was not designed to
remove activity groups.

Second, in transaction SU10 you must have the valid from and valid to fields filled in with the
actual dates, 04/08/2002, in order to remove the invalid activity group. You need to be sure
that the remove user radio button set in the role tab. But in the profile tab, the add user radio
button is selected by default. What you have to do is go to profile tab and select the remove
user radio button. You have to make sure both role and profile has the same radio button
selected, i.e. remove from users. Only then when you click save, it will allow you to delete the
role from user.

In transaction SU10, you need to complete the following steps:

1. Click on the Authorization data button.
2. Entry the users name, latimerc
3. Click on the execute button.
4. Put a check in front of the users name.
5. Click on the transfer button.
6. Now highlight the user.
7. Click on the pencil button.
8. Click on the Activity Groups tab.
9. Enter the profile name (PM_NOTIFICATION_PROCESSOR).
10. Enter the valid from and valid to dates (04/08/2002).
11. Change the radio buttons to remove user from both the Activity Group and Profile Tabs.
12. Click on the trash can.

In another customer message the following was provided by developement:

We don't have a regular functionality for mass deletion of roles. But if you want to avoid the
deletion by hand or with an own created report, I would suggest the following:

The attached note 324962 includes the report ZDELETE_RY_T_AGRS which could delete all roles
with names like 'T_....' or 'RY....'. The report gives you a list of all these roles and deletes then
the selected ones. You can modify the report to get all your roles in the selection list.
Therefore you have to change the following:

            WHERE FLAG_TYPE = 'COLL_AGR'
            AND FLAG_VALUE = 'X'.
      ( AGR_NAME(2) = 'T_' OR AGR_NAME(2) = 'RY' ). <<< delete

               BINARY SEARCH.

Text from an additional customer message as further help:
- go on role tab
- select remove from user
- enter ZR.PRD.GENERIC and date : 06/04/2002 12/31/9999
- go to profile tab
- select remove from user
- save
- do the same for ZR:HR:ESS from 01/01/2002 to 12/31/9999 and worked
  from date for testid was 01/01/2002 and testid2 02/01/2002 and the 2 assignement were
deleted And the roles were
  removed from the 2 UMR.

So it works as designed.

What are user groups and how can we use them?

Your auditer asked you to implement user groups in SAP, but you have no idea what are
user group.

Transaction SUGR - have a look. Purpose for example is to give certain system admin rights to
unlock / change password only to a given user group. You assign user group to an user id via

User group can be used for different reasons and in different way.

In the latest versions of SAP, actually two types of usergroup exist, the authorization user
group and the general user groups.

Naturally the main reason of user groups is to categorize user into a common denominator.

The authorization user group is used in conjunction with S_USER_GROUP authorization object.
It allows to create security management authorization by user group. e.g. you can have a local
security administrator only able to manage users in his groups, Help-Desk to reset password for
all users except users in group SUPER, etc...

The general user group can be used in conjunction with SUIM and SU10, to select all the users
in a specific group. User can only be member of one authorization user group but several
general user group.

One of the Primary uses of user groups is to sort users into logical groups.

This allows users to be categorised in a method that is not dependent on
roles/AG's/Responsibilities/Profiles etc.

User Groups also allow segregation of user maintenance, this is especially useful in a large
organisation as you can control who your user admin team can maintain - an example would be
giving a team leader the authority to change passwords for users in their team.

The most important factor identified is that the lack of user groups is an indication that there
may be problems with the user build process. This is very "fuzzy" but is a bit of a warning flag.

The Auditors job is to provide assurance that SAP is set up and administered in a way that
minimises risks to the financial data produced. If the only thing they have picked up on is the
lack of usergroups then you will be fine.

If you are in any doubt whatsoever ASK THE AUDITOR. They would have produced a report
listing why they feel there is a risk by not having User Groups implemented. If you feel that the
risk is mitigated by other measures then let them know. It works best as a 2 way process and
both parties can learn something.

Hide the User Menu

Is there a way of masking or hiding the User Menus as we are using SAP Standard Menu
instead of User Based Menus?

To put it simple, when the user logs on to the system he should have only the SAP Standard

You have two ways to control this :

1. Default hide for all the SAP users.

Goto SM30 and edit the table SSM_CUST and set ALL_USER_MENUS_OFF = YES and transport
the same in production server.


2. Hide based on individual SAP users.

you can also try SM30 and maintain table USERS_SSM for individual users.

Function and Role of User Types

In "USER MAINTENANCE- SU01" --> in the "logon tab" there are 5 different "user type"

1. dialog
2. system
3. communication
4. service
5. reference

Kindly mention the function and role of all the above mentioned user types specifically and
hows is one user type different from another.

These are as follows:-

1. Dialogue:-
 For this kind of users:-
 GUI login is possible.
 Initial password and expiration of passowrd are checked.
 Multi GUI logins are checked.
 Usage:- These are used for GUI logins.

2. System
 For this kind of users:-
 GUI login is not possible.
 Initial password and expiration of passowrd are not checked.
 Usage:- These are used for internal use in system like background jobs.
3. Communication
 For this kind of users:-
 GUI login is not possible.
 Users are allowed to change password through some software in middle tier.
 Usage:- These are used for login to system through external systems like web application

4. Service
 For this kind of users:-
 GUI login is possible.
 Initial password and expiration of passowrd are not checked.
 Multiple logins are allowed.
 Users are not allowed to change the password. Only admin can change the password
 Usage:- These are used for anonymous users. This type of users should be given minimum

5. Reference
 For this kind of users:-
 GUI login is not ible.
 Initial password and expiration of passowrd are not checked.
 Usage:- These are special kind of users which are used to give authorization to other users

Meaning behind those unconditional tp command mode

Content Author: PrakashP

Can anyone tell me what's the meaning behind all those unconditional mode U1 or U126 or
U148 or anything?
tp import transportrequest <sid> clientxxx U1
tp import transportrequest <sid> clientxxx U126
tp import transportrequest <sid> clientxxx U148

The u stands for unconditional force ( how hard you want to force the request into the system -
do you want to overwrite without warnings, or softly try to load the objects).

0: Called a overtaker; change request can be imported from buffer without deleting it and then
uncoditional mode 1 is used to allow another import in the correct location.

1: If U1 is used with the export then it ignores the correct status of the command file; and if it
is used with import then it lets the user import the same change request again.

2: When used with tp export, it dictates the program to not to expand the selection with TRDIR
brackets. If used in tp import phase, it overwrites the originals.

3: When used with tp import, it overwrites the system-dependant objects.

5: During the import to the consolidation system it permits the source systems other than the
integration system.

6: When used in import phase, it helps to overwrite objects in unconfirmed repairs.

8: During import phase it ignores the limitations caused by the table classification.

9: During import it ignores that the system is locked for this kind of transport.
u128 is combination of 128 OF THE above points.

Transport guide Tips for Different SAP Objects

You may be wondering if you can transport certain SAP objects, and if possible, how?

Here are tips for different objects:

1   LSMW There are 2 ways for transporting LSMW data from a system to another.

1.1 Export/import This method gives you the opportunity to select the subprojects or objects
you want to transfer. Hence you don't transfer the object a colleague might have created and
that should stay in development system. LSMW -> Extras -> Export project

1.2 Transport request With this method, you can transport a LSMW project in full (you can not
select the objects you want). With this method, the project will be transported as any other
SAP object in a transport order.
LSMW -> Extras -> Create change request

2 Program variants
If you have several program variants in a development system that you want to transport, use
the following method to transport them:
Execute program RSTRANSP (via se38) and inform the program and/or variant names (you can
transport variant of several programs in one shot).

3 Layout In some transactions, one can save layout of the screen (sort, filter, ... criteria).
These layouts can be transported: In the required transaction, when your layouts have been
saved, go to Settings -> Layout -> Layout Management. Select the desired layouts and go to
Layout -> Transport… There you can add your layouts in existing TO or create a new one.

DB data
In some unusual cases, you might have to transport data of a SAP table.
Go to transaction SE16, select your entries and go to Table entry -> Transport entries. It's only
possible for some tables...
If you cannot do it that way, you have to create a Workbench transport order with transaction
SE10. When created, click on it, go in menu Request/task -> Object list -> Display object list.

Go in modification mode and add a new line with:

PgmID = R3TR
Obj = TABU
Object name = Name of your table

Double-click on the created line and, depending on your need, put '*' in the key field or double-
click on it and select the key you need to transport.

4 Queries
Queries, datasets and user groups can be exported/imported between the systems thanks to
the program RSAQR3TR.

5 Standard texts
Standard texts used in SAPScript (created with transaction SO10) can be included in transport
orders. You have to create a Workbench transport order with transaction SE10. When created,
click on it, go in menu Request/task -> Object list -> Display object list. Go in modification
mode and add a new line with:

PgmID = R3TR
Obj = TEXT
Object name = TEXT,,ST,

Example :

You can also copy a Sapscript object (like standard text) with the program RSTXCPFS.

Transport Request within same Server Different Clients

I have 3 clients under one SID (dev 130,140,150).
And we have more than 400+ transport requests in client 130. How can we transport these
requests to other clients of 140 & 150. If I want to use tcode SCC1, that can be done only
one tran. request at one time.
Do I need to write a script within unix?

SAP 4.6C
Oracle 9.2
AIX 5.2

Mohd Zainizam

Click on the "import overview"
Double click on your target system
Click "refresh"
Click on "import all request" or ctrl+F9
Specify the target client
Execute the transport

Ronald Ramos

But this will import all request.....thousands of them...

Mohd Zainizam

You can use Extended Transport Control.

Extended Transport Control is another way to set up the Transport Route so that the route is
system and CLIENT specific.

In other words, when you release a change request in DEV Client 0XX it will not only
automatically be added to the Import Queue for QAS but also 0X1, 0X2, of DEV.

To set this up requires the steps below:
1) Open the file TP_DOMAIN_DEV.PFL (located on your transport domain controller such as the
DEV box. The file will be in usrsaptrans/bin)

Edit with notepad for each parameter on each system:


Change to =1

2) Next you need to create Target Group before creating the transport route.

Create a Target Group:
Access the initial screen of the graphical or the hierarchical editor in change mode. STMS >
Overview > Transport Routes (the default editor will appear, either Hierarchical or Graphical,
to change the default editor : STMS > Extras > Settings > Transport Routes. You can also switch
to one or the other from Goto > Graphical Editor.)

> Configuration > Display Change > (or change icon or F5)

Edit > Transport Target Groups > Create

In the dialog box, Create Target Group:
Enter a name for the target group /GR_QA/ (The name must begin and end with a forward
slash /)

...and a description Targets for Consolidation route

Choose "Insert line"
Enter the required target system/client combinations
Use a separate line for each client.

Target System
Target Client
Client Name



Quality Assurance System

The idea is that we want to include the clients that will get an addition to their import queue
when we release a change request from DEV.
Choose Transfer
Now you have to change the transport route to include the Target Group you created.
STMS > Overview > Transport Routes > F5 (change mode) Edit > Transport Routes > Delete
Now create a Transport Route with Extented Transport Control:

STMS > Overview > Transport Routes > F5 (change mode) Edit > Transport Routes > Create >
Extended Transport Control icon at lower left of dialog box. > Consolidation route, enter
integration system and transport layer. In Target system/client enter the SID of either an R/3
System and a client or an existing Target Group.

Each System must be specified by System and Client. The Target Group can be used for the
consolidation system.

Distribute and activate the changes as usual by choosing Configuration > Distribute and

NOTE: After you set up Extended Transport Control there might be requests in an import queue
that will show a red status in the CTL column. This is because these change requests need a
client specified before they can be imported. These are old requests that were already in the

From Import Queue Screen Mark the change request

Choose Request > Target Client > Set

Enter the Target Client ID and choose Enter.

To change a target client before starting an import:
Import Queue Screen > mark Change request > target client > change > enter target client id
and choose enter.

Upgrade SAP or Installation of SAP R/3 and ECC

What is ECC? Where to find the installation steps of ECC 5/6.0 with SQL as database and
on windows platform with the steps including Solution Manager installation?

ECC means Enterprise Central Component.

There are all the relevant installation guides. You NEED SAPNet access because without a
registered and licensed SolMan installation number you will not be able to generate the SolMan
key for the ECC installation.

Upgrade to 4.7

Have you gone through an upgrade to 4.7?
What are the difference or changes associated with 4.7.
If you are currently on 4.6C and are inching forward to upgrading to 4.7 then this
information might be useful to you.
There is very little difference between 4.6 and 4.7, the only "steps" you should need are steps
in SU25 ( skip step 1) Then go through all your role and perform a merge old new to bring in the
new authorization objects

Just to forewarn you of a potential problem which have been encounter at the point of writing.

After updating/ modifying roles in step 2C, when going back into 2C to make sure all roles are
now green, 70% have gone back to red!

The maintenance done is ok, but there seems to be a problem while trying to go back into the
roles again to re-generate.

SAP recognizes them as needing "adjustment", so you cannot pick them up in mass generate in
PFCG as they do not come in, even though the authorizations tab is red.

This problem is currently with SAP and it is confirmed that nothing have been done wrongly.

Generally, the work is quite manageable in the upgrade, but don't be surprised at how big the
upgrade is when compared to upgrading from 46b to 46c.

If we have full software of 46c and 47E is it possible to upgrade 46c to 47E or there is a
seperate 47E upgrade software need to be requested from SAP?

Where I can get the document with upgrade steps on the service market place?

It is of course possible and supported:

--> SAP Components
--> SAP R/3 Enterprise
--> (choose your version)
at the bottom there is an "Upgrade guide" for Windows and Unix.

For Upgrades it is recommended to read ALL the notes mentioned in the
upgrade guide and to make sure one is using

- the correct version of the "tp" program
- the correct version of the "R3trans" program
- the correct version of the "R3up" program

All that is explained in the upgrade guide and in the corresponding notes.

If this is your first upgrade you should take a person, that has some experience on doing that
for the first time.

Installation of SAP R/3

Currently we are going to install SAP on a new IBM server from the existing COMPAQ server.
Where can I get the steps for that.
Configuration is :
  OS - windows 2003 server
  DB - Oracle 9i
  SAP 4.7

-->   SAP Components
-->   SAP R/3 Enterprise
-->   SAP R/3 Enterprise Core 4.70 / Ext. Set 2.00 (SR1)
-->   Inst. Guide - R/3 Enterprise 4.7 x 2.00 SR1 on Win: Oracle

The above url is the SAP Service Marketplace with all the information you need to install,
configure and run system. You need to be a valid licensed customer with a user ID and
PASSWORD to use that.

Without access you won't be able to successfully run any SAP systems because it has notes,
patches etc.

Transport of ABAP Query

I am involved in this upgrade project to 4.7
The users are not able to find any reports (in QA System) which were there before the
upgrade in SQ01. But they can see them in production which is not yet upgraded. They
want me to copy all the reports to the QA system now....I dont have any idea how to do

I remember a similar problem upgrading to 4.6C from 4.5B ......
Take a look at OOS note 672784.

You can transport queries between systems in SQ02 (hit the lorry button) or run program
You download the infosets, queries etc into a file and load them into whichever system you

Just wanted to share my experience of transporting queries:
I needed to move a user group, 2 infosets and 3 queries from a 4.6 system to a 4.7 system.
When I tried doing this via the SQ* transactions I did not get the import/export option, so
instead ran RSAQR3TR.

Step 1. Run RSAQR3TR in 'old' system. Select EXPORT and specify the objects to be
(System includes these in an automatically created transport request)

Step 2. Release this transport and request it be transported to 'new' system.
(This results in the entries being populated in transport table AQTDB in 'new' system).

Step 3. Run RSAQR3TR in 'new' system. Select IMPORT and tick the Overwrite checkbox. Specify
the transport number in the field labelled 'dataset with imports'.
(RSAQR3TR gives the message that stuff has been imported OK).

Step 4. In my example I still couldn't find the queries, so ran RSAQR3TR one more time, this
time specifying 'Copy Standard Area -> Global Area'.
(Now my queries etc were available in new system).

Perhaps there are better ways, but after 1.5 days of struggling I was glad to get this far.


Using spam, trying to import SPAM UPDATE, I get the above message together with
1. tp works fine when I am doing transports (tp import devk90000 qas client=400 u1 or
2. niping -t SELFTEST works fine

I worked through notes 44946 and 96907, but could not resolve the issue.

The support packages have been uploaded from the DEV box into the QAS queue. The DEV
and QAS boxes are in the same centre on the network, by fibre. I am working on QAS.

I get this message in QAS:-
"SAP system is waiting for the inclus. in transport domain"

When trying to update the config from DEV client 000, I get this message:-

System DEV is unknown in the Transport Management System

An error occurred in the TMS communication layer.

System: QAS.DOMAIN_DEV(000)

System Response
The function terminates.

Log this system on to the Transport Management System.

If this error occurs in the function TMS_CI_CHECK_ACCESSTOKEN, then the TMS configuration
was deleted in the R/3 System QAS.DOMAIN_DEV(000).

Configure the TMS in this R/3 System again.

You need to:

1. logon to the transport domain controller with admin user in client 000.
2. Run STMS
3. System overview
4. select QAS
5. Menu line option "SAP system" --> "Approve"
6. Distribute configuration
When you are logged on the transport domain server and run STMS --> System Overview. Is QAS
listed? If so, select it and perform the checks under "SAP Systems" in menu line.

If they are not successful you might want to try the following to configure the TMS on QAS from

First delete QAS from system overview on the domain server.

Then do the following steps...

In your QAS system in client 000.
Run tcode SE06 --> Database copy or Database migration --> Perform post-installation actions.
Then confirm that you want to delete all old CTS/TMS config and type in QAS as source system
for the database copy.

Then run STMS again and type in the correct data for the transport domain controller.
Logon to the transport domain controller in client 000. Run STMS. Open system overview.
Choose the SID of the QAS system and click on "SAP System" in the menu and choose Approve.
This will add the QAS system to your TMS config again.
Perform the checks from menu line "SAP Systems" again.

It seems like a lot maybe, but it only takes a couple of minutes to perform

Guideline to upgrade from 3.1 to 4.6 with HW upgrade at the same time

1. Do a system copy of the 3.1 instance to the new box.

2. Bring up 3.1 instance in new box.

3. Upgrade the Development/Staging instance and resolve all errors and issues. Create
SPAU/SPDD modifications, if any.

4. Timing the upgrade processes - to determine how long the whole processes take.
   Your managers will like to know how long it takes to complete the upgrade.

5. Do a system copy of the 3.1 instance to the new box again

6. Bring up 3.1 instance in new box.

7. Make the 3.1 instance in new box as the Production instance.

8. Make the 3.1 instance in the old box as the Development/Staging instance or a standby
Production Box in case
   the upgrade fail.

9. Upgrade the Production instance as planned (i.e. 3 full working days).

10. Acceptance testing.

Restrict The Transport Access In Production
How to restrict the transport access in Production?

You can control by 2 way :

1. Limit the authorization object that can limit your transport activity, please use
authorization object S_TRANSP and remove the value 60 (import) at your production server

2. Remove the STMS from the role.

List of transports that have been transported over a period

I need to know how we can get a list of transports transported over a period of time. I tried
SCC3 but I'm not able to pull up the data. Is there any other way?
Example: List of transport request that have beem transported during Jan, Feb 20xx to

System Landscape: Dev-->Test--> Production
DB:--Oracle Machine--SUN
Appln Servers: AIX
SAP version: 4.6C

Goto STMS --> Import overview --> select the system which you want to see the log of import
queue --> select goto--> import history --> there select the data coloum and set the filter as
per your requirement.

You can also execute SE03, Requests/Tasks, Find Requests, in the production system or use
SE16 to query table E070.

How to import mass transport request using SCC1 in local client?

We have 3 clients in development system , we need to import multiple requests at a time using
SCC1 in another client. Using SCC1 I am able to select mass request at a time but not able to
see mass transport menu.

How to do mass transport steps using SCC1 in local clients.

You could try using SCCL and select "Customising" Profile.

What is Role Transportation from development server to Production server. I have also
create New role, but how to bring out the role to production server. We have installed
IDES 4.7 Server.

In Development:


- Enter the Role to be transported in the text box.
- Click on truck symbol left corner of options bar
- then series of screens will appear.
- In one of the screen don't select user assignment.

It will also ask you the change request no.

After that go to TCD SE10 and release the request.

NOW go to stms and select Quality system and import the request into it. After testing you can
import the request in PRD system.

Basis - Changing Parameters for the Transport Control Program

Remove the import all request (big truck) button from STMS

To change the automatically generated profile parameters for the transport control program:

Log onto the SAP System functioning as the transport domain controller (the QA or PROD

Call Transaction STMS.

Choose Overview -> Systems.

The system overview appears.

Double click on the SAP System you want to change.

In the SAP System, click Configuration -> Change.

The screen Change TMS Configuration: System <System name> appears.

Choose the tab Transport tool.

First, all the global parameters are displayed and then all the local parameters.

The global parameters are identical for all SAP Systems in the domain.

To change a global parameter to a local parameter, you must delete the global parameter and
enter the new local parameter.

The operating system is only displayed if values exist for this field.

Finally to remove the import all request (big truck) button from STMS

       click the Insert Line (button)
       Tick Global
       Fill in Parameter = NO_IMPORT_ALL, Value = 1.

Save your entries.
If you enter a parameter unknown to the transport control program, or a value that is not
permitted, the transport control program ignores this entry in the transport profile.

Find transports imported into system by search criteria

Content Author: Ryan Fernandez

To find transports imported in a particlar system log into it,

1. Use transaction se16

2. Table name is E070

3. Table contents

4. Enter your search criteria, by Name, Date, Time, etc.

Good to use if you suspect a problem in your system and want to trace back transports that
went in that possibly could have caused the fault.

Transporting a Request From OS

To import a transport request from OS .

# cd /usr/sap/trans
# tp addtobuffer <transport request> <SID> pf=<transport profile> # tp import <transport
request> <SID> pf=<transport profile>

Find your SAP transport request number even if you forgot

If you happend to be one of those who forgot the transport request number of your abap

You can easily find it via the Versions Management.

Steps :-

Transaction SE38

Filled in your ABAP program name.

Then click Utilities -> Versions -> Version Management

SAP system will display this sample list :-

Versions: Report source ZPROGRAM

Version Cat Fla SAP Rel. Arch Request           Date       Time   Author

Version(s) in the development database:
X activ       X 46X                            01.08.9999 15:21:56 SAP

Version(s) in the version database:

X 00002         46X      ABCD123456      01.08.9999 15:52:43 SAP
X 00001 S    X 46X                         00.00.0000 00:00:00

Comparing SAP Objects

You can compare the IMG setting between two systems using OY19.

Comparison can be made for individual application components or all the application

Comparing two SAP clients

Compares Customizing objects in two logical systems with transaction SCU0.
(clients in either the same R/3 System or different ones).

To compare objects, start the Customizing Cross-System Viewer in the logon client
(client of the system in which you are logged on) and then logon in the compare client
(client to be compared).

The Customizing Cross-System Viewer compares Customizing objects by the following criteria:

- Project IMG
  This option shows changes in your project.

- Application components
  This option compares Customizing objects in specified application areas.

- Business Configuration Sets
  This option concentrates on Customizing settings which are of particular importance for
  the processes in your company.

- Transport requests
  This option shows the objects which would be overwritten by a transport.

- Manual selection
  In this option, you specify which objects are compared.

The compare client security level must be:

0 (unrestricted), or
1 (no overwriting)

You can set this in the client maintenance SCC4.

You must also create a Remote Function Call link in SM59
SAP Language Error when logging in after Upgrade to 40B

-----Original Message-----
Subject: Language Error when logging in after Upgrade to 40B

Dear all,
we have recently upgraded our system from 3.1H/Oracle 7.3.3/HP-UX
10.20/CIN 2.1A to 4.0B/Oracle 8.0.4/HP-UX 10.20/CIN 2.2A.

Upgrade went fine without any major hassles.
After upgrade when I am logging in it is giving a message in an
information dialogue box "Specified Language has not been installed completely".

How to correct the error ? Everything is fine other than this.


-----Reply Message-----
Subject: Language Error when logging in after Upgrade to 40B

I also got the same error for the same situation. Here is the solution:

The reason for this is that table TCPDB was not maintained in your
system before the upgrade and the upgrade process was unable to import
the special texts as it couldn/t find the correct codepage ( in TCPDB ).
This can be rectified by the following:

Logon to 000 client

1) Run program rscp0004 in transaction se38 and this will give u
options to insert a codepage. Look for codepage 1100 in the list and
press F2 on this line as suggested, to insert the codepage.

2) In transaction SMLT check the 'status' of the installed languages.
You will probably find that its the 'special texts' that were not
imported successfully ( because the codepage could not be found in TCPDB
at the time of the upgrade )

3) Schedule a 'full' import of the 'special texts' for the languages
that are affected. Plsease note that when scheduling these imports, the
options for Customizing and Documentation are automatically ticked for
selection. Please remove these to leave only the Special Text selected.

You can observe the progress of the imports with sm37. After successful
completion, you can logon again and there should no longer be an error.

Information on how the OPS$ Users Work

Content Author: Sachin D. J.

Does anyone have information or a good understanding of how the OPS$ users work and
operate under an Oracle SAP environment.
I would greatly appreciate some assistance as I have problems with my Brconnect and
Brbackup within DB13 due to the OPS$ users.

I need info on how to permanently delete the OPS$ users and then recreate it, due to the
fact that I have incorrect OPS$ users in some of the tables affected by the OPS$ users.

Below is the document I have prepared on recreating the OPS$ machanism. It helped me solve
all my problem on DB13 and also on Schema owner connecting to database.

Hope this could help you.

Also refer to the following sapnotes:
1. 400241 : Problem withe ops$ or sapr3 connect to oracle
2. 134592 : Importing the SAPDBA role (sapdba_role.sql)
3. 361641 : Creating OPS$ users on UNIX
4. 50088 : Creating OPS$ users on Windows NT/Oracle
5. 437648 : DB13: External program terminated with exit code 1/2


select owner from dba_tables where table_name='SAPUSER';

## If owner is not the sid you require, then drop the table SAPUSER

Drop table "<owner>".SAPUSER;
Drop table "domain\OPS$SIDadm".SAPUSER;


# Check whether OPS$<SID>adm user exist, if no then create it

create user OPS$SIDadm default tablespace psapuser1d temporary tablespace psaptemp


# if exist then drop it;


# Grant connect & resource roll to OPS$<SID>ADM;

grant connect, resource to OPS$SIDADM;

# Creat table SAPUSER


# update "OPS$<SID>ADM.SAPUSER with the follwoing command
insert into "OPS$SIDADM".SAPUSER values ('SAPR3', 'sap'); #sap = <password>

# Under NT it is required that user sapservice<sid> can also access the SAPUSER table. In order

to avoid problems with the data consistency, it does not make sense to create an additional

SAPUSER table having the same contents. You should rather define a synonym. Check if a

synonym exists by using the following call:



create public synonym sapuser for OPS$SIDADM.SAPSUER;

# if synonym already exists drop the existing synonym by the following command

drop public synonym sapuser;

#If another name <name> is returned as first value:


# AND CREAT it again with above command

# To allow access to the synonym (or the associated table), a grant
        needs to be executed. The authorization for this has only the
        ops$ user who is the owner of the actual table - that is
        ops$<sid>adm. Therefore, you need to log on with the
        corresponding operating system user (<sid>adm) and execute the
        following commands:

        CONNECT /

# Now you can recreate the synonym (not PUBLIC, if possible):



# COMMIT AFTER COMPLETION of the activity & restart the DB

How To Do the TMS Configuration?

We have two systems with version ECC 5.0
The SID is XY1 - Development & Quality
           XY6 - Production

Now we need to configure TMS between these two systems by assigning XY1 as domain
controller. I beleive we also need to establish an RFC Connection for this. Also explain how
to update the local files of this systems?

How can I make thro it?

First decide which system you would like to define DOMIAN controller. Configure the Domain
Controller Steps to configure
1. Login to the system with sap* in client 000
2. Goto SE06.
3. Click Post installation activities
4. Goto STMS
5. It will ask for Domain controller name.
6. Enter DOMAIN_<SID> as domain controller name and enter the description.
7. Click Save button

Steps to add the other system with Domain controller
1. Login to system with sap* in client 000
2. Goto SE06
3. Click Post installation activities
4. Goto STMS
5. It will ask for Domain controller name.
6. Enter System ID of the Domain controller
7. Enter DOMAIN_<SID> as domain controller name and enter the description.
8. Click Save button
9. Login to Domain controller system
10. Approve the added system.

Post Installation Steps For ECC 5.0

What are the post installation steps after I have installed the Central Instance and Database

Initial Consistency Check
1.     Logon to the newly refreshed SAP system and run transaction SM28
2.     Ensure that no errors are reported. Otherwise, take the necessary steps to correct the

Edit Batch Jobs
1.    Set the fields as follows
Job name: RDDIMPDP*
User name: *
Job Status: Released and Ready checked off, all others unchecked
Fr: 01/01/0001
To: 12/31/9999
Or after event: *
2.    Press <F8> to execute the query
3.    Highlight the first job in the list and press the <CTRL>+<F11> to change the job.
4.   Examine the Exec Target field.
a.   If the box is empty, press <F3> to exit
b.   If the box is not empty, then clear out the contents so the field is blank and press
<CTRL>+<S> to save
5.   Repeat Steps 3 and 4 *for* each additonal job listed.

Workbench Organizer Reconfiguration
1.   Logon on to client 000 of the newly refreshed system with DDIC.

1.    Select the Database Copy or migration option
2.    Press the Post-installation Processing button.
3.    When prompted Do you want to re-install the CTS?, press the Yes button
4.    When prompted *for* the Source System of Database Copy?, make sure that the <SID> of
the production system is selected. Press the checkmark button to continue.
5.    When prompted Change originals from PRD to QUA?, press the Yes button
6.    When prompted Delete TMS Configuration?, press the Yes button
7.    When prompted Delete old TMS configuration?, press the Yes button
8.    When prompted Delete Old Versions of transport routes?, press the No button

TMS Configuration
1.   Logon on to client 000 of the newly refreshed system.

1.    Upon starting STMS, a windows with the title TMS: Include System in Transport Domain
should be displayed
2.    The information on *this* screen is automatically filled out from information provided
during the SAP installation and should be correct. If it correct, then enter a description *for*
the system and press <CTRL>+S to save. Otherwise, press the Other configuration button and
manually configure.
3.    From the Overview menu, select Transport Routes
4.    From the Configuration menu, select Adjust with Controller
5.    Press the Yes button when prompted *if* you want copy the transport routes from the

Import Printers
1.   Logon on to the production client of the newly refreshed system.

2.    Press <F5> to go to the *import* Overview.
3.    Double click on the <SID> of the newly refresh system
4.    From the Extras menu select Other Requests, then Add.
5.    In the Transp. Request box, enter the transport number containing the printer definitions
that was exported. Press <Enter> to save.
6.    Select the transport that was just added to the queue and press <CTRL>+<F11> to start
the import.
7.    In the Target client box, enter the productive client of the newly created system. Press
<Enter> to save.
8.    Press the <Yes> button to start the transport.

Client Configuration
1.    From the Table view menu, select Display -> Change
2.    When warned that the table is cross-client, press the checkmark button.
3.    Double click on one of the non-system clients (i.e. not client 000, 001 or 066)
4.    Define client as follows:
Client role: Test
Changes and transports *for* client-specific object: Changes without automatic recording
Client-independent object changes: Changes to repository and cross-client customizing
Protection: Client copier and comparison tool: Protection level 0
Restrictions when starting CATT and eCATT: eCATT and CATT allowed
5.    Press <CTRL>+S to save.
6.    Repeat steps 4 through 6 *for* any additional clients

Set System Change Option
1.    Press the System Change Option button.
2.    Set the global setting to Modifiable
3.    From the Edit menu, select Software Components Modifiable
4.    From the Edit menu, select Namespaces Modifiable
5.    Press <CTRL>+S to save.

Import Users
1.     Press <F5> to go to the Import overview
2.     Double click on the <SID> of the newly refreshed system.
3.     Press <F5> to refresh the list of transports
4.     Locate the transport in the list containing the user exports done before the start of the
If the transport is NOT in the list, then from the Extras menu, select Other requests then Add.
Enter the transport number and press <Enter>. Then press the Yes button to add the transport.
5.     Highlight the transport and press the Import request icon .
6.     At the client *import* screen, enter the target client and then press the Import button
7.     Press <Enter> to confirm that the *import* will proceed

1.    Run the Post Client Import Processing
2.    The transport number should be the same as that of the transport started in STMS
3.    Schedule the job to run in the background. Do NOT schedule it to run immediately. We
need to modify the job before it can be released.
4.    Press <CTRL>+S to save.

1.    Set the fields as follows
User name: *
Job Status: All options checked
Fr: 01/01/0001
To: 12/31/9999
Or after event: *
2.    Highlight the job that was created by SCC7 and press <CTRL>+<F11> to modify the job.
3.    Press the Step button.
4.    Select the RSCLXCOP line and press <CTRL>+<SHIFT>+<F7> to modify that step.
5.    In the User box, enter the background user *for* that particular system (i.e BGDUSER,
6.    Press <CTRL>+S to save the changes
7.    Press <F3> to go back to the main job screen.
8.    Press the Start condition button.
9.    Press the Immediate button.
10.    Press <CTRL>+S to save the changes
11.    Press <CTRL>+S again to save all the changes to the job.
12.    Job will start immediately once saved. Press <F8> to refresh the list of jobs
13.    Continue to press <F8> every once in a *while* to update the status of the job. Do not
*continue* until the job is completed sucessfully.

1.     From the Table view menu, select Display -> Change
2.     When warned that the table is cross-client, press the checkmark button.
3.     Double click on one of the non-system clients (i.e. not client 000, 001 or 066)
4.     Set the Protection to Protection level 1
5.     Press <CTRL>+S to save.
6.     Repeat steps 3 through 5 *for* any additional clients

Deleting Source System Profiles
1.    From the Utilities menu, select Import Profiles then Of Active Servers.
(Note: All application servers of the target system must be started)
2.    If the Display Profile Check Log screen is displayed, press <F3> to leave *this* screen.
3.    Select the Profile field and press <F4> to bring up a list of profiles.
4.    From the list select one of the profiles associated with the source production system.
5.    From the Profile menu, select Delete, then All versions, then of a profile.
6.    When prompted, press the Yes button to delete all version of the profile
7.    When prompted to delete the file at the operating system level, press the No button.
8.    Repeat steps 3 through 7 *for* all additional profiles associated with the source system

Reconfigure Operation Modes
1.    From the Operation Mode menu, select Timetable
2.    Select Normal Operation and press the Change button.
3.    Highlight 00:00 in the left hand column and press the Delete Assignment button
4.    If all the assignments are not deleted, then highlight the start time of the outstanding
assignment and press the Delete Assignment button.
5.    Once all the assignments are deleted, press <CTRL>+S to save.
6.    If warned about an empty timetable, press the checkmark button and then press Yes to
save the empty timetable.
7.    Press <F3> to go back to the main RZ04 screen.
8.    Right click on one of the listed Operation modes and select Delete
9.    Press the Yes button to confirm the deletion.
10.    Repeat steps 8 through 9 *for* any additional operation modes
11.    Press <F5> to create a *new* operation mode.
12.    Enter a name and *short* description *for* the operation mode
13.    Press <CTRL>+S to save.
14.    Press <F6> to create a *new* Instance
15.    From the Settings menu, select Based on current settings, then New Instances, then Set
16.    Press <F3> to go back to the main RZ04 screen.
17.    Press the Yes button to save
18.    From the Operation Mode menu, select Timetable
19.    Select Normal Operation and press the Change button.
20.    Highlight the 00:00 at the top and press <F2>
21.    Highlight the 00:00 at the bottom and press <F2>
22.    Press the Assign button.
23.    Press <F4> to select the operation mode created above.
24.    Press <CTRL>+S to save.

Delete Update Failures
1.     Set the fields as follows
Client: *
User: *
From data: 01/01/0001
From time: 00:00:00
2.    Press <Enter> to display the list of outstanding update requests
3.    If ALL the outstanding update requests have a status of ERR, then it is safe to delete
these requests by pressing <F5> to select all records, then selecting the Update Records menu,
then Delete.
4.    Press the Continue button to confirm the deletion.

Delete Batch Input Sessions
1.    From the Edit menu, select Select All
2.    Press <Shift>+<F2> to delete all the batch input sessions.
3.    Press the checkmark button to confirm
4.    Press the Yes button to start the delete.

Reorganize Spool
1.   From the Administration menu select Clean-up Spool
2.   Check all check boxes and enter 0 *for* minimum age
3.   Press the Execute button
4.   Once complete, press <F3> twice to get back to the main SPAD screen
5.   From the Administration menu select Check Consistency
6.   Press the Delete All button.

1.   From the TemSe database menu, select Consistency check
2.   When the check is complete, press the Delete All button.

Delete Invalid Background Control Objects
1.    Press <F8> to *switch* in to change mode
2.    Press the Cleanup List button.

Restrict Outgoing Email and Faxes

1.     Double click on the green Fax entry
2.     From the Supported Address Types area, press the Set button that is beside Fax
3.     In the Address area, ADJUST AS NECESSARY
4.     Double click on the green SMTP entry
5.     From the Supported Address Types area, press the Set button that is beside Internet
6.     In the Address area, ADJUST AS NECESSARY

Adjust RFC connections.
1.    Expand the TCP/IP connections section
2.   Double click on the first entry listed
3.   Check the gateway host and gateway server to make sure it points to the appropriate

Make   changes as necessary.
4.     Press the Test Connection button to test the connection
5.     Press Press <CTRL>+S and then <F3> to save and *return* to the list of RFCs.
6.     Repeat steps 1 through 5 *for* each additional RFC connection

Convert Logical Systems
Under no circumstances perform *this* procedure on a Production system
1.     When warned to read the documentation, press the checkmark button.
2.     In the Old logical system name box, press <F4>.
3.     Select one of the production Logical System names that needs be changed (i.e.
4.     In the New logical system name, enter what that logical system name should be called on
*this* newly refreshed system (i.e.WIITRN400) Note: Ignore Error/Warning about duplicate
system by clicking on the check mark.
5.     De-select the Test Run and Existence check on *new* names in tables options
6.     From the Program menu, select Execute in background
7.     Press the checkmark button when asked to select a spool device
8.     Press the Immediate button when asked *for* the schedule
9.     Press <Ctrl>+S to save
10.     Use SM37 to monitor the job
11.     When job is complete, repeat steps 2 through 10 *for* any additional logical system
names that need to be changed.

Adjust Logical Systems names
1.    Expand Sending and Receiving Systems, then Logical Systems
2.    Click on the execute icon beside Define Logical System
3.    Press the checkmark button to confirm that the change is cross client
4.    …

Allow Certains Settings to be modifiable
(Refer to Note 356483 *for* more Details)
1.    Enter V_T001B in the Table/View box.
2.    Select the Generated Objects option.
3.    Press the Create/Change button.
4.    Enter any access keys *if* requested
5.    Change the Recording routine to no, or user, recording routine.
6.    Press <Ctrl>+S to save
7.    Press <Enter> *if* warned that you are changing a function group that doesn't belong to
8.    You are prompted *for* transport. Create a *new* local transport.
9.    Repeat steps 1 through 8 *for* the following objects. You can specify the same transport
you created above.
BSI Configuration (R3 HR Systems only)
1.    Expand TCP/IP Connections
2.    Highlight BSI70-US-TAX and press the Change button
3.    Change the program field to \\<hostname>\sapmnt\<SID>\SYS\EXE\RUN\TF60SERVER.EXE
4.    Double check the target host and gateway point to the correct server
5.    Press <CTRL>+S to save
6.    Press the Test connection button to test. If the connect is not successful, take the
necessary steps to resolve the issue.

1.    In the Program field, enter RPUBTCU0
2.    Press <F8> to execute
3.    Select option BSI version 7.0
4.    Press <F8> to execute
5.    BSI should *return* tax calculations. If there are errors, take the necessary steps to

Reconfigure DB13 schedule
1.   Using the print out created before the refresh, recreate the DB13 calendar.

Client Configuration
1.    From the Table view menu, select Display -> Change
2.    When warned that the table is cross-client, press the checkmark button.
3.    Double click on one of the non-system clients (i.e. not client 000, 001 or 066)
4.    Define clients as follows depending on client role

Client role: Customizing
Changes and transports *for* client-specific object: Automatic recording of changes
Client-independent object changes: Changes to repository and cross-client customizing
Protection: Client copier and comparison tool: Protection level 0
Restrictions when starting CATT and eCATT: eCATT and CATT allowed

Quality Assurance
Client role: Test
Changes and transports *for* client-specific object: No changes allowed
Client-independent object changes: No Changes to repository and cross-client customizing
Protection: Client copier and comparison tool: Protection level 0
Restrictions when starting CATT and eCATT: eCATT and CATT allowed

Client role: Education
Changes and transports *for* client-specific object: No changes allowed
Client-independent object changes: No Changes to repository and cross-client customizing
Protection: Client copier and comparison tool: Protection level 0
Restrictions when starting CATT and eCATT: eCATT and CATT allowed
Client role: Test
Changes and transports *for* client-specific object: Changes without automatic recording
Client-independent object changes: Changes to repository and cross-client customizing
Protection: Client copier and comparison tool: Protection level 0
Restrictions when starting CATT and eCATT: eCATT and CATT allowed

5.     Press <CTRL>+S to save.
6.     Repeat steps 4 through 6 *for* any additional clients
Set System Change Option
Skip *this* section of the system is a Development or Sandbox System.

1.   Press the System Change Option button.
2.   Set the global setting to Not Modifiable
3.   Press <CTRL>+S to save.

Release Background Jobs
Currently, all background jobs, except *for* system standard jobs have been placed on hold
(status scheduled).

Statistics of SAP Application Modules

The transaction ST07 provide information such as the numbers of users logged on into each of
the SAP Application modules.

Double click on the application modules for more information breakdown.

If there are no analysis data is available for the history in ST07, it is because the program
RSAMON40, which generates snapshots of the application monitor data and saves them to the
database, has not started yet. If RSAMON40 runs regularly, the data may sometimes be deleted
again by a reorganization program.

For releases lower than 31I, schedule the program RSAMON40 periodically (hourly) as a
background job.

As of Release 31I, this report is automatically carried out by the performance collector
(RSCOLL00). Check the scheduling of RSAMON40 in table TCOLL as described in note 12103.

To prevent the data from being deleted again by a reorganization program, you must still make
the following entry in the SAPWLREORG table:

MONIKEY = --<DATE__>+++++++

Statistical Logs for all the R/3 System

To check the workload statistics for all the R/3 System, go to transaction STAD.

Why data was not showing in ST03?
Last one month I face this problem when I am taking full system o/s backup of production
server stopping all the oracle automatic serveice with SAPOSCOL & SAPPRD_00 , STOP
SAPMMC. When backup was completed, I started all the service. However, after some time
data was not showing in ST03. When I stop & start this sap services SAPOSCOL & SAPPRD_00,
then data will start showing for some time but after 2 day same problme comes again.

All sap pjobs are running well. What could be the problem in SAP.
Details of server:
O/S : Windows 2003
SAP : 4.7 EE
Oracle : 9i

1. Ensure that the job COLLECTOR_FOR_PERFORMANCEMONITOR executes the report RSCOLL00
hourly. Furthermore, the report RSSTAT80 should be executed every hour. You achieve this by
maintaining the table TCOLL with transaction SM31. Enter "X" in every hour for the report
RSSTAT80 (column "Time of day").

2. The report RSSTAT80 should be executed every hour. You achieve this by maintaining the
table TCOLL with transaction SM31. Enter "X" in every hour for the report RSSTAT80 (column
"Time of day"). You should then increase the maximum number of statistics records read in
each run of RSSTAT80. You can set this value with transaction ST03, Goto -> Parameters ->
Performance database. Press "Modify parameters" and enter at least 10,000 for the value "Max.
number of records cumulated per call". You must then save the settings.

3. Using transaction ST03, Goto -> Parameters -> Performance database, pushbutton "Modify
parameters", increase the value of "Max. number of records cumulated per call" to at least
10,000 and save the change. If this or a larger value is already set, please proceed as in point

Finding the SAP Statistics for transactions and programs

When was a program, transaction last used?
How to know which users are using which transaction or executing which program?
Which are the most frequently used programs or transaction?

To know how many users are viewing and maintaining a particular transaction use
transaction 'ST03', in3.0x :-

       Performance database
       Select instance
       Select desired period
       Choose Transaction profile

To find the Frequently Used Programs or Transactions in 4.6x :-
ST03 ---> Detail analysis Button --> Under Global - One recent period then select day or week
or month ---> Transaction profile Button

In 4.6x, you can also try the new Workload Analysis tcode 'ST03N'.
The SAP standard retention period is 3 months. You can change the Standard Statistics via
clicking :-
Goto -> Parameters -> Perfomance Database

To analyze the Statistics by users for transactions and programs use transaction STAT

STAT looks at the STAT file created by each SAP Instance.

It is by default 100 MB. Every hour there is a COLLECTOR_FOR_PERFORMANCE job RSCOLL00
aggregating this data into MONI table. It will truncate STAT file once the specified limit is

So, you can see details for however many days in this 100 MB using STAT, or ST03 to see the
MONI aggregated data.

To change the 100 MB limit, ST03 -> Goto -> Parameters -> Performance Database.

If you wish to extract the Statistics by ABAP program, you can refer to this program :-
ABAP retrieve statistical data from the STAT file

List of Inactive Users Logs

To list out all the users who are inactive for the last 6 months, which means they have not
logged into the SAP server.

If you have lots of affiliates to your main company, this will result in lots of users. Out of them,
there might be lots of inactive users who have left the company.

You may wish to delete those inactive users.

Use SA38 to run RSUSR200.

This report is part of the AIS (Audit Information System) and will report users who have not
logged on for a specified period of time.

Incorrect SAP login logs

With report RSUSR006, you can check those users that have been locked.

For those that are not locked, the report will list down the number of wrong login that the
users have done.

How to Find How Much Allocated Memory

What tcode can I used to find out how much memory is allocated to R/3 in total? I know for
Oracle I can get the SGA memory. I am using SAP 4.7 / Oracle 9i on Unix AIX.

Go to ST02 --> Detailed analysis --> Sap memory. This will let you know memory allocated for
that app server. You can also find out memory allocated for user (mode list) and Quotas.
You can also use report RSMEMORY to find out how sap alloctes memory to Dia and Non Dia
work processes.

I'm afraid that is incorrect. The question is also not a simple answer.

Go to ST02 --> Detailed analysis --> Storage is the correct path. The Virtual memory allocated
line shows SAP's allocated memory.

This memory does not include what the DB uses or the OS or other things running on the server.
More importantly it does not include heap (private memory) allocated by WP's. It also does not
include the executable size of the GW, the ICM and the dispatcher but it does include most of
their memory in the shared memory areas.
It also does not allow for additional memory that a Windows system may dynamically allocate
to extended memory if the users use it all up.

Question on Shared Memory and IMODE

Can someone tell me about Shared memory (Code Definition) and IMODE?
I have never heard these terms in SAP R/3, Shared momey sounds like its related to
Operating System.

All memory is OS memory I'm afraid there is little distinction in that regard.

Shared memory is memory that can be addressed by different processes as opposed to private
memory that can only be addressed by the process that creates it. A good examlpe would be
the Program Buffer (PXA) this buffer hold the recently used programs in memory for fast access
and needs to be read by all work processes. A more impotrant shared memory area is extended
memory. In 32 bit processing you need to keep shared memory areas at a minimum because
otherwise you limit the amount of space in the address space that your program can use for its
own data. I won't get into a sad chat about all this bat thats hared memory.


An IMODE is an internal mode. An example may be best, log onto a SAP system, create a new
session and leave one at the main menu and with the other go to ST02. In ST02 near the
bottom of the screen double click on the extended memory line. In the next screen click on the
Mode List button. You will see you have the ST02 session marked with an X for being attached
and another session in IMODE 0.

With the other session got to SM36 then swap back to ST02, press enter and you will see the
session has an IMODE 0 and an IMODE 1 use. Now from the SM36 screen click on the button Job
Selection and jump back to St02 and press enter, you will see the session has an imode 0 1 and
2 active.

Imode 0 is not really an IMOde but the main mode that all your information relevant in any
transaction is available. As you call transactions inside transactions you need new memory and
the old stuff needs to be save for when you green arrow back. This is why you have imodes so
that when you green arrow back from the job selection screen above (I mode2) it is no longer
the active mode and imode 1 is reactivated.
What is the Maximum Memory a good Program Should Request

There is no thumb rule for maximum memory a good program can consume in the system
but based on your experience can you please let me know at least the range ?

I came across with a situation that there is program which is fetching about 2 million
records of total size around 190MB. But system could not allocate this much memory so the
program aborted. I suggested them to process only 50,000 records at a time which worked
fine. But I want to know if my suggestion was good enough. Can't the system with below
configuration allocate 190MB for a program. There was no much load on the system at that

Our configuration:
SAP 46c on Win 2K
Virtual memory: 8GB.

Do you guys know what are all the things to be done to enable ZERO MEMORY MANAGEMENT
in 46C ?

You can get an overall estimate by looking in SM04 and switching on the MB size beside the
users so so you will see how much memory the current transactions are using. Take into
consideration that there is a big difference between dialog transactions (with several steps)
and mass processing or lists. The latter two consume usually a lot more memory.

190 MB is not much, our usercontextes can become as big as 2 GB per user (which is the limit
on 32bit platforms) several times a day. This is not uncommon on systems that have a lot of
data in them, however, it's impossible to give a general advise here since this is VERY different
on what applications you are running, how many systems are connected (BW,
CRM, APO etc.) and so on.

Start with note 88416, there is explained in depth what it is and how it works.

For Windows you also should look in note 129813 which will describe the rebasing process since
M$ has the start addresses of their DLLs loaded into the PXA. This is one reason why we
switched to a non M$ operating system because after each IE patch (in fact after each patch)
you need to check if the new DLLs will fragment your PXA/shared memory.

Note 546361 can also be helpfull. If you have "hangs" in the system read note 530871 which will
describe the problem (and finally recommend upgrading to Windows 2003).

What is Zero Administration Memory Management?

The zero administration memory management on Windows requires no manual settings and
adapts itself dynamically to the memory requirements of the users. Even hardware changes (for
example memory enhancement) are detected and the parameters set correspondingly.

The basis for zero administration memory management on Windows is the dynamically self-
extending extended memory. An "infinitely" large memory resource is made available with this
method. The extended memory is initially set to the size of the profile parameter
PHYS_MEMSIZE ([PM]). If more memory is required by the user, the extended memory extends
itself in steps of "[PM] / 2" up to the set limit of the profile parameter em/max_size_MB or
until the address space in the Windows pagefile is used up.

By setting the standard value for em/max_size_MB to 20000 MB (100000 MB for 64 bit), it is the
size of the Windows pagefile that finally represents the actual limit for the extension of the
extended memory. The profile parameter PHYS_MEMSIZE determines how much of the entire
main memory is to be used by SAP. The parameter is entered during installation in accordance
with the entry. The standard valuefor PHYS_MEMSIZE is the size of the main memory [HS]. Even
with zero administration management, the Windows system should be configured in such a way
that it keeps the file cache to a minimum size. Therefore, make sure that indicator "Maximize
Throughput for Network Application" is activated under 'Control Panel' -> 'Network' -> 'Services'
-> 'Server' -> 'Properties'

Archiving and Reorganization are totally different issues

Archiving is a process when you archive old master/transactional records which are not in use
any more from long time. You archive those records keep on some backup device. These
records can be displayed, and only Display, can never be reloaded in tables again physically.
This will free up the space in tables from those records which are not in use any more but exist
in tables physically.

Reorganization basically removes deleted data from tables. During different transactions you
delete some records, which are deleted virtually but not physically. Even Archive process
delete those records virtually.
So you run Reorganization to free up the space consumed by deleted records.

This make the difference between the two clear.

Now about reorganization.

It depends on which OS and DB you are using.

If Oracle, SAPDBA is best tool to reorganise.

In addition to above, you can reorganise the whole database, but it takes time depending upon
your database. Some times it can be more than a day or you can reorganise a table suggested
in Early Watch system.

It all depends on you.

Archiving the Material Master

Transaction SARA contains all the SAP archiving objects for all the SAP R/3 applications
modules. All the SAP archive functions are shown in SARA. Choose the corresponding SAP
archive object, hit enter and the archive administration menu will be shown. Provided here
will be an example on how to archive the SAP Material Master.

Archive a Material Master Record

When a material is no longer required in a company or plant, you can archive and delete the
material master record.
You have to Flag the material master record for deletion. This is known as logical deletion.

Before a material master record can be archived and deleted, other objects (such as
purchasing documents) that refer to this material must themselves be archived. You can see
which objects these are and the dependencies between them in the network graphic.

If a material master record cannot be archived and deleted at a given organizational level, the
reason is given in the log (for example, a purchase order exists for the material). The log also
contains technical data such as the number of material master records read and the number

Some of the archive error log message :-

       Costing data exists
       Use in routing
       Use in sales and distribution
       Use in bill of material
       Delivery exists
       Costing data exists
       Info record exists
       Purchase order exists

The Archiving steps :-

Archiving object MM_MATNR for archiving material master records.

You can display the archived data, but not reload it.

To archive the material master, first goto transaction MM71.

Type in a variant name and click Maintain. (Tick the Test Mode for archive simulation).

Save the variant.

Maintain the Start date and Spool parameters and click execute.

Click Goto Job Overview to check the archive status.

To do a permanent delete, goto transaction SARA and click Delete button.

Maintain the Archive Selection, Start date and Spool parameters.

Click Test Session for testing or click execute to start the deletion program.

Click Goto Job Overview to check the delete status.

Now, if you goto MM02/MM03, you will not be able to find the record in the material master.

Deletion of Vendor Consignment Records
Steps for Deletion of Consignment Records:
To delete the Consignment Record, use transaction MSK2 or menu-path:
Logistics - Materials Management - Material Master - Special Stock - Vendor Consignment -
Change and select the data of the record you want to be deleted.

To start the archiving:
Process, follow the menu path:
Logistics - Materials Management –Material - Master - Other - Reorganization - Special Stock –
Choose to select the records to delete and
Logistics - Materials Management - Material Master - Other - Reorganization - Special Stock -
Reorganize to create archive file.

Create Archive File: Consignment Record: Data selection
a) Select Action: Archive and enter a new Variant, for example: Z_CONS_SELE_01, press
b) On selection screen enter the data range (Vendor, Material, etc.) you want to archive.
c) Select the 'Create Output File' if you want the selected records outputted
d) Press the green back-arrow and enter the description of this new variantt on the screen
which follows.
e) Save the variantt which brings you again to the selection screen. Press green the back arrow
f) To start archiving process (batch-job), press the 'Start Date' button and select the time when
you want to start this process. Select 'Immediate' for instant processing and press the 'Save'
button on the bottom of the 'Start Time' window.
g) Select the 'Spool Parameter' button and save entries. Eventually enter a valid printer to have
the result outputted.
h) You are ready now to start the process. Press the 'Start' button and monitor the success with
the 'Job Overview' button
You can also go the 'fast path' by using transaction SE38, program MMREO002 for selecting the
data to archive. For large data archiving, use the background jobs and run those during off-
peak times. Create Archive File: Consignment Record:

Archiving process:
a) Select Action: Archive and enter a new Variant, for example: Z_CONS_ARCH_01, press
b) On selection screen, select the 'Sequential Dataset' if you selected data as described in the
Data Selection step, otherwise enter the material number and plant for the deletion of a single
c) Select the fields 'Consignment' and 'Special Stock' and Test mode, if you want to try out first.
** This applies for SAP systems prior to release 3.1H: Select also the flag called 'BATCHES'. The
SAP program MMREO020 has a bug which can be worked around with this selection. Without
selecting 'BATCHES', the archived records cannot be deleted. For systems with applied
Hotpackages for 3.1H this workaround is not necessary
d) Press the green back-arrow and enter the description of this new variantt on the screen
which follows.
e) Save the variantt which brings you again to the selection screen. Press green back arrow
f) To start archiving process (batch-job), press the 'Start Date' button and select the time when
you want to start this process. Select 'Immediate' for instant processing and press the 'Save'
button on the bottom of the 'Start Time' window.
g) Select the 'Spool Parameter' button and save entries. Eventually enter a valid printer to have
the result outputted.
h) You are ready now to start the process. Press the 'Start' button and monitor the success with
the 'Job Overview' button
You can also go the 'fast path' by using transaction SE38, program MMREO020 for selecting the
data to archive. For large data archiving, use the background jobs and run those during off-
peak times. If you run the program online, you will see a confirmation on the status bar telling
'New Archive file created:....'

Delete Archived Records: Info Record
a) Follow the menu path: Tools - Administration - Administration - Archiving
b) Select the Object Name MM_SPSTOCK for consignment / Special Stock
c) Select the menu button 'Delete'
d) Select the menu button: 'Archive Selection'
e) Click the archive created in previous step
f) Select Start Date for process and Spool Parameters for output
g) Submit selection.
h) Check status by pressing the Job Overview button

Reasons For Archiving Financial Accounting Data

What is financial archiving? Where it is used? Why? Where is it configured in IMG?

There are both technical and legal reasons for archiving Financial Accounting data.

1) Reduces storage and runtime problems caused by the constant growth of transaction data.
2) Makes master data easier to manage and to keep up to date.
3) Enables data to be accessed at a later date.

You can archive data no longer required in the online system using certain standard functions.
This data is then stored in archive files and deleted from the online system. For legal and
commercial reasons, it is important that you are able to access archived data files online again,
and the reloading function allows you to do this.

Data must meet certain conditions before it can be archived. Some of these controls are
already defined in the system, for instance the fact that you cannot archive documents that
contain open items. Certain other controls are user-defined.
Every archiving function can be accessed from archive management (SARA).

To reach archive management, choose:
Tools --> Administration --> Archiving or from the Accounting --> Financial Accounting -->
General Ledger, Accounts
Receivable, Accounts Payable or Banks menus --> Periodic processing Archiving <Archiving
object> .

When you access archive management from these menus, the archiving object is defaulted by
the system in the field Object name. Otherwise you must enter the name of the archiving
object manually.

The Step required to Audit at the User Level

The followings will help you to Understand how to Audit at the Users level:

Creating a User Audit Profile
1. Log on to any client in the appropriate SAP system.
2. Go to transaction SM19.
3. From the top-most menu bar on the Security Audit: Administer Audit Profile screen, click
Profile -> Create.
4. On the Create new profile popup, type in a new Profile name and click the green Enter
5. On the Filter 1 tab of the Security Audit: Administer Audit Profile screen, click the BOX to
the left of Filter active to place a TICK in the box. In the Selection criteria section, select the
Clients and User names to be traced. In the Audit classes section, click "on" all the auditing
functions you need for this profile. In the Events section, click the radio button to the left of
the level of auditing you need. Once you have entered all your trace information, click the
Save picture-icon. You will receive an Audit profile saved in the status bar at the bottom of
the screen.
6. Please note that while the user trace profile has been saved, it is not yet active. To activate
the user trace, see the next section Activating a User Audit Profile.
7. You may now leave the SM19 transaction.

Activating a User Audit Profile
1. Log on to any client in the appropriate SAP system.
2. Go to transaction SM19.
3. On the Security Audit: Administer Audit Profile screen, select the audit profile to be
activated from the Profile dropdown. Click the lit match picture-icon to activate it. You will
receive an Audit profile activated for next system start in the status bar at the bottom of the
screen. The audit will not begin until after the SAP instance has been recycled.
4. You may now leave the SM19 transaction.

Viewing the Audit Analysis Report
1. Log on to any client in the appropriate SAP system.
2. Go to transaction SM20.
3. In the Selection, Audit classes, and Events to select sections of the Security Audit Log: Local
Analysis screen, provide your information to filter the audit information. If you need to trace
the activities of a specific user, be sure to include that user's ID. Click the Re-read audit log
4. The resulting list is displayed. This list can be printed using the usual methods.
5. You may now leave the SM20 transaction.

Audit of SAP multiple logons

When a user logs onto SAP multiple times a selection screen pops up.

If the user wants to continue with the multiple logon the following message is part of the

"If you continue with this logon without ending any existing logons to system, this will be
logged in the system. SAP reserves the right to view this information."

If you have users who are logging in with other users login and need to view where this
information is stored, check the table 'USR41_MLD' via transaction code 'SE16'.

The field 'Counter' tells you how many times the user have done a multiple logon.

SAP Security and Authorization Concepts

R/3 audit review questions.
Here is a list of items most commonly reviewed by internal/external auditors when reviewing
your R/3 system.

It is always a good idea to review this list a couple times a year and to take the appropriate
steps to tighten your security.

Review the following :-

* System security file parameters (TU02) (e.g. password length/format, forced password
sessions, user failures to end
   session etc.) have been set to ensure confidentiality and integrity of password.


* Setup and modification of user master records follows a specific procedure and is properly
approved by management.

* Setup and modification of authorizations and profiles follows a specific procedure and is
performed by someone
   independent of the person responsible for user master record maintenance.

* An appropriate naming convention for profiles, authorizations and authorization objects has
been developed to help
  security maintenance and to comply with required SAP R/3 naming conventions.

* A user master record is created for each user defining a user ID and password. Each user is
assigned to a user group, in
  the user master record, commensurate with their job responsibilities.

* Check objects (SU24) have been assigned to key transactions) to restrict access to those

* Authorization objects and authorizations have been assigned to users based on their job

* Authorization objects and authorizations have been assigned to users ensuring segregation of

* Users can maintain only system tables commensurate with their job responsibilities.

* Validity periods are set for user master records assigned to temporary staff.

* All in-house developed programs contain authority check statements to ensure that access to
the programs are properly

Select a sample of :-

* Changes to user master records, profiles and authorizations and ensure the changes were
properly approved.
  (The changes can be viewed with transaction (SECR).
* Ensure that security administration is properly segregated. At a minimum there should be
separate administrators
  responsible for:

 - User master maintenance. (This process can be further segregated by user group.)

 - User profile development and profile activation. (These processes can be further

* Verify that a naming convention has been developed for profiles, authorizations and in-house
developed authorization
  objects to ensure:

 - They can be easily managed.

 - They will not be overwritten by a subsequent release upgrade (for Release 2.2 should begin
with Y_ or Z_ and for
   Release 3.0 by Z_ only.)

* Assess through audit information system (SECR) or through a review of table USR02, whether
user master records have
  been properly established and in particular:

 - The SAP_ALL profile is not assigned to any user master records.

 - The SAP_NEW profile is not signed to any user master records. Verify that procedures exist
for assigning new
    authorization objects from this profile to users following installation of new SAP releases.

* Assess and review of the use of the authorization object S_TABU_DIS and review of table
authorization classes
  (TDDAT) whether :-

 - All system tables are assigned an appropriate authorization class.

 - Users are assigned system table maintenance access (Through S_TABU_DIS) based on
authorization classes
   commensurate with their job responsibilities.

* Assess and review of the use of the authorization objects S_Program and S_Editor and the
review of program classes
  (TRDIR) whether:

 - All programs are assigned the appropriate program class.

 - Users are assigned program classes commensurate with their job responsibilities.

* Ensure through a review of a sample of :-

 - In-house developed programs that the program, code either:
 - Contains an Authority-Check statement referring to an appropriate authorization object and
valid set of values;


 - Contains a program Include statement, where the referred program contains an Authority-
Check statement referring to
   an appropriate authorization object and valid set of values.

I think an auditor would want to know what methods you are using to approve who gets what
profile and what method you are using to document it so that if you review your documentation
you could compare it with what authorization the user currently has and determine if the user
has more authorizations (roles) than he has been approved for by the approval system in place.

SAP Load Balancing and Work Processes Troubleshoot

The benefit of segregating user groups by line-of-business (using logon groups) is related to the
point that groups of users (like SD users or HR users, for example) tend to use the same sets of
data. They (generally) work with the same groups of tables and hit the same indexes using the
same programs (transactions).

So, if you can group all of the users hitting the same tables, onto (or one set of) App server(s),
then you can tune the App server buffers to a much greater extent. If the FI users (generally)
never hit against the HR tables then the App servers in the FI group don't (generally) have to
buffer any HR data. That leaves you free to make memory and buffer adjustments to a more
drastic extent, because you don't have to worry (as much) about screwing the HR users (as an
example), when you're adjusting the FI server group.

So, (in opinion only) you should start with a buffer hit ratio analysis / DB table & index access
analysis (by user group) to see where you would get the best benefit from this kind of setup. If
you don't have this kind of info, then creating logon groups by line-of-business may have no
benefit (or worst case, may make performance degrade for the group with the highest load %).
You need some historical information to base your decision on, for how to best split the users

You may find that 50% of the load is from the SD users and so you may need one group for them
(with 3 App servers in it) and one other group for everyone else (with the other 3).

The logon group(s) will have to be referenced by SAP GUI, so SAP GUI (or saplogon.ini + maybe
the services file, only) will have to change to accomodate any new groups you create in SMLG.
Also consider that there's variables for time-of-day (load varies by time-of-day) and op-mode
switches (resources vary by op-mode).

All Work process are running? What will be our action?

Are all the work processes (dia,btc,enq,upd,up2,spo) running or just all the dialog work

If all the work processes are running, then you may want to look at SM12 (or is SM13?) and see
if updates are disabled. If they are, look at the alert log (if it's an Oracle database) and see if
you have any space related errors (e.g. ORA-01653 or ORA-01654). If you do, add a datafile or
raw device file to the applicable tablespace and then, re-enable updates in SM12.
If only all the dialog work processes are running, there are several possible causes. First, look
to see if there's a number in the Semaphore column in SM50 or dpmon. If there is, click once
on one of the numbers in the Semaphore column to select it and then, press F1 (help) to get a
list of Semaphores. Then, search OSS notes and, hopefully, you'll find a note that will tell you
how to fix the problem.

If it's not a semaphore (or sometimes if it is), use vmstat on UNIX or task manager on Windows
to see if the operating system is running short on memory which would cause it to swap. In
vmstat, the free column (which is in 4k pages on most UNIX derivatives) will be consistently
5MB or so and the pi and/or po columns will have a non- zero value. The %idle column in the
cpu or proc section will be 0 or a very low single digit while the sys column will be a very high
double-digit number because the operating system is having to swap programs out to disk and
in from disk before it can execute them.

In task manager, look at free memory in the physical memory section under the performance
tab. If it's 10MB or 15MB (I think), then the operating system will be swapping.

Usually, when all the dialog work processes are running, you won't be able to log in via SAPgui
and will need to execute the dpmon utility at the commandline level. The procedure is
basically the same on UNIX and Windows.


telnet to server and login as sidadm user.
cd to /sapmnt/SID/profile directory
execute "dpmon pf=SID_hostname_SYSNR" (e.g. PRD_hercules_DVEGMS00) select option "m" and
then, option "l"

On Windows:

Click on START, then RUN
Type "cmd" and press enter
change to drive where profile directory resides (e.g. f:)
cd to \sapmnt\SID\profile
execute "dpmon pf=SID_hostname_SYSNR" (e.g. PRD_zeus_DVEGMS00) select option "m" and
then, option "l"

On both operating systems, you'll see a screen that looks like what you see in SM50. Depending
on what you see here, will depend on what you do next, but checking the developer trace files
(e.g. dev_disp) in the work directory (e.g. /usr/sap/SID/DVEGMS00/work) is never a bad idea.

SAP System Performance Issues

My server becomes slow when more users login.
What could be the reason? Is it because of less hardware resource?

Server configuration is 104GB HDD, 2GB Ram.
OS:Win 2003 server.

I manage SAP R/3 4.6C systems on Risc 6000 machines, under Oracle 9.2.
The overall performance problem for me is to know if SAP response time is acceptable ; if not,
do this :
- at AIX level : utilities are topas, to catch what's wrong : Disk I/O ? CPU bottleneck ? Too much
swap ?
- at Oracle level : tkprof but don't know much about this.
- at SAP level : you can manage SAP memory, Oracle and OS too.

If SAP response time is acceptable, then try this :

Try to have a look at OS response time : ST06 : look at CPU, Memory, Swap, Disk and Lan
response time.

Try to have a look at buffer quality : ST02, if many fields are red, investigate each fields
dependant parameters.

Try to have a look at DB response time : ST04N, databuffer quality (SGA zone), how much
physical reads / logical reads Ratio, wait times, number of user calls, Shared Pool cache hit
ratio should be >96%, Sort usage, Redo logging.

I use this kind of procedure to manage my systems.

SAP Tips by: Christophe Rabeau

It depends how much you allocated for SGA (database buffers, shared pool buffer, redo log
buffers), how much you allocated for SAP buffers esp. Program buffers and whether the server
have any other external processes/programs running.

How many Dialog Work Processes you allocated…I think your problem most likely is you don’t
have enough of these Dialog processes. Also maybe users running inefficient reports/programs
which are holding the Dialog processes, goto SM50 & check all DIA (Dialog) with status
“waiting”…if ALL are “running” then you have wait time (problems !) for other users wanting to
process transactions .

To troubleshoot performance, you need these tcode tools:-

ST04 – Database ß in here, check especially for Expensive SQLs (Detail Analysis à SQL Request)

ST02 – SAP buffers

ST06 – OS stats

ST05 – SQL trace

SE30 – Abap runtime analysis

SAP Tips by: Derek Phung

A few step which you can exercise to sort/identify performance issues.

* ST03, ST02, ST04 are the tcode for workload, tuning and DB Performance Monitoring codes.

* ST06 FOR Operation System Monitoring.
** SM51 OR SM50 is process overview which tells you the workprocess sequence. ( Ideally 10-15
process with OLTP and batch process scheduled at peak and off peak times respectively) say 8-
17 hrs and 17-8 hrs for Batch Process)

Operation Mode can be configured in RZ04 tcode.

** Check for top CPU in ST06 tcode. CPU should not exceed more than 60% for long time for
any process.

** Based of No. of instances ( Application Servers ) should have adequately sized.

** Most resources intensive process have to be scheduled in Batch Process ( in Background in
Non Peak Hours )

** Look for unnecessary Jobs Active During Prime Time
** Look for Parameters Set To Your Business Process.
   ( RZ10, RZ11 ) Check Snote:0124361

** Refer Early Watch Alert Periodically for Overall System Performance.. ( Tcode SDCC )

Tuning Summary In Transaction ST02

My current system is SAP R/3 Enterprise 4.70. I have some questions about tuning
summary in transaction ST02 :

To the best of my knowledge I am answering your questions. Ok

1. Do we have to increase every profile parameter value which is displayed in red alert in
transaction ST02 ?

Ans: Ofcourse it shoud be, since each buffer holds different values, wherever the red alert is
there change the parameter value.

2. Why do the swapped objects always increase after a few days of tuning (in RZ10) &
system restart?

Ans: Since more data had been fed into the server, it needs more space to hold in buffer while
retrieving the data. Since buffer is shot in space, swap memory will be used. It is not enough to
increase the buffer and that does not mean tuning, tuning in the sense full analysis of the
problem and working in that particular area to resolve the issue. For example, creation of
index, data archival, availability of statistics, alotting of no. of work process, etc.

3. Is there any standard in tuning ST02 to hold up the increasing value of swapped objects?

Ans: No. It depends on requirement.

4. After analysing ST02, how can we calculate the value of the parameter profile to be
increased (in RZ10) ?

Ans: yes, use the command:
sappfpar check pf=\\usr\sap\trans\tpparam
sappfpar check pf=\\usr\sap\trans\tp_domain_<sid>

Troubleshooting SAP Performance Issues

Is there a document that will help me troubleshoot system performance? What are the
steps on how to troubleshoot?

Troubleshooting is a BIG task of itself, there is no single reference document because there are
too many reasons why a system can appear "slow" to the user:

- Different Databases

Every database has its own mechanism for optimizing access, even more, each database has
BOOKS on performance optimization. This can start from parameters to database layout to
operating system configuration, used filesystems, mount parameters...

- Different Operating System

The same goes for operating systems, a standard Windows 2000 (or 2003) isn´t configured for
optimal throughput, there is a LOT to tune, e. g. enable "background process priorities", stop
non-needed services, network configurations (TCP window sizes) etc. Also the connection
between application and database servers can be an issue

- SAP Itself

Almost for each and every long running program there are optimizations, be it on ABAP layer or
on selection layer. Out of my experience, most self developed programs (Z*-programs) are the
main issue, because developers program "quick-and-dirty"
doing "select *" and other things.

For e.g.:
If CPU is 100% Busy, what action should be taken to keep CPU idle?

This can't be answered generally. One need to check what process is using so much CPU - then
one can start digging deeper. To add info regarding this issue, you may use:

st06->details analysis menu->snapshot analysis->top CPU from there, start to narrow down.

As you see there is not a quick button to press on and everything will be well.

SAP Administrator Daily Activities


1] Check that all the application servers are up:
 sm51        SAP Servers
 sm04/al08 Logon Users

2] Check that daily backup are executed without errors
 db12 Backup logs: overview
3] SAP standard background jobs are running successfully. Review for cancelled and critical
 sm37 Background jobs--- Check for successful completion of jobs. Enter * in user-id field and
verify that all critical successful jobs and review any cancelled jobs.

4] Operating system Monitoring

5] Extents monitoring
 db02 Database monitoring--Check for max-extents reached

6] Check work-processes(started from sm51)
 sm50 Process overview-- All work processes with a running or waiting status.

7] Check system log
 sm21 System log-- Set date and time to before the last log review. Check for errors ,warning,
security, message-bends, database events.

8] Review workload statistics
 st03 Workload analysis of <sid>
 sto2 tune summary instance

9] Look for any failed updates
 sm13 update records

10] check for old locks
 sm12 lock entry list

11] Check for spool problems
 sp01 spool request screen-- check for spool that are in request for over an hour.

12] Review and resolve dumps
 st22 ABAP Dump analysis

13] Checking .trc file in SAP trace directory for block corruption on daily basis.

14] Archive backup
 brarchive -f force -cds -c
 Insert the archive backup tape

15] Review NT system logs for problem
 -> NT system log- look 4 errors or failures
 -> NT security log- failed logon 2 sap servers
 -> NT Application log -look 4 errors or failures

Tcodes used for Daily System Monitoring

After running daily system monitoring transaction, what should we check for:

In st22 look for the core dumps if any and report to the respective consultants and try to know
why it happened.
In sm21 try to check for errors.

In sp01 try to see if any spool jobs have failed.

In st02 look if any swaps are happening, swaps are not good for performance.

In st04 look for Database alert logs and Performance.

In st03 look for ratio hits.

In sm59 look for connectivety tesing if there are other systems also connected to your SAP R/3

In db13 look if the jobs have run successfully.

In sm37 look for any cancelled scheduled job and take action appropriately.

In sm12 look for any pending locks from the previous days.

In sm13 look for any hanged updates, or updates pending for long or updates in PRIV mode.

Monitor and Administrate 4 SAP Systems

If there are 4 systems installed SAP, how should I connect all of them in one network so
that I can administrate the 4 systems with one among them as main server.

This should help you:

After installing an R/3 System, you can use transaction RZ20 to monitor the system. To monitor
all systems of your system landscape centrally from one system, first customize the alert
monitor by choosing Tools > CCMS > Configuration > Alert monitor or calling transaction RZ21.

Then, to specify the remote systems by System ID and RFC destination (which must have been
created beforehand), choose Technical infrastructure > Create remote monitoring entry.

Next, to change your monitor definitions (you can only change your own monitors), choose
Tools > CCMS > Control/Monitoring > Alert monitor or call transaction RZ20.

Activate the maintenance function by choosing Extras > Activate maintenance function.
Then, double click on the monitor and choose Monitoring change.
Parameter R3system defines which systems can be monitored by an alert monitor. Change
parameter R3system from <CURRENT> (only the current R/3 System can be monitored) to <ALL>
(all R/3 Systems defined in RZ21 can be monitored). Save the changes.

It will help you monitor & use spome other activities centrally.

Brief Description About SAP Basis Implementation

Please give a brief description about implementation process carried out.
There is no standard Implementation process, it purely depends on which methodology person
have adopted for implementation. I will give you broad view of implementation project... I am
just starting from sizing of the servers ...

1. Identify the no of users and type of users

2. Design the technical system landscape of servers

3. Do the sizing based on users, documents created.

4. Convert your sizing requirement in to Hardware requiremnet

5. Consider the backup procedure also

6. Then start with the setup of development landscape

7. Define client strategy, transport strategy, User management.

8. Fix the support package levels.

9. Tune the system for performence

10. set up the QA systems

11. Define client copy strategy

12. Setup the PROD systems

13. Apply for Pre Golive report

14. Monitor system of db load

15. Apply post golive report

Basis - Message Class - System Message

Configure System Messages

For example, when a user blocks himself out and receives a message :

"User blocked. Contact system administrator"

You can open a repair and change the message in Message class 00.

This can be done in transaction SE91 - Message Maintenance.

Messages allow you to communicate with the users from your programs.
They are mainly used when the user has made an invalid entry on a screen.

To send messages from a program, you must link it to a message class.

Each message class has an ID, and usually contains a whole set of message. Each message has a
single line of text, and may contain placeholders for variables (e.g. & & & - three variables).

All messages are stored in table T100.

Once you have created a message, you can use it in the MESSAGE statement in a program.

How to test the sending of documents from R/3 applications via fax, paging or Internet

What are the system requirements? What do you have to configure?

The sending of documents via external communications services like fax, paging (radio call
services, SMS), Internet mail, X.400, and so on is carried out with the components SAPoffice
and SAPconnect. For an 'actual' sending via the corresponding communications services you still
need R/3-external additional components ("SAPconnect node") which are delivered either by
SAP (for example SAP Internet Mail Gateway or SAP Exchange Connector) or by external
manufacturers (for example, fax servers).

.                           .
. R/3                          .
.                           .
. +----------------------+ .
. !       Application         ! .
. +----------------------+ .
.             |              .
.             | <------- Business Communication Interface
.             v              .
. +----------------------+ .
. !       SAPoffice          ! .
. +----------------------+ .
.             |              .
.             | <------- SAPoffice/SAPconnect send queue
.             v              .
. +----------------------+ .
. !       SAPconnect           ! .
. +----------------------+ .
.             |              .
. . . . . . . .|. . . . . . . . .
             | <------- RFC Interface BC-CON
    ! Communication system !
    ! ="SAPconnect node" !
      Data transfer network
You can check the correct sending of documents from applications with two different tests:

1. 'Actual' test
Documents are actually transferred via the communications services. Precondition is the
installation of an external communication system and its connection to the data transfer
networks (telephone line, Intra/Internet...).
This way, the documents can be transferred to any participant of the corresponding
communications service (fax machines, mailboxes...).

2. 'Loop-back' test
The documents are returned here to the own R/3 System which functions like a SAPconnect
node and are stored in the SAPoffice inbox of an R/3 user. The operation of an external
communications system is nonrequired in this case.
In general, all points relevant for application can be checked during this test: Contents and
structure of the documents, entry of sender and receiver addresses, format of the documents
for transmission, handling of status confirmations and so on

.                        .
. +-------------+            .
. ! Application !              .
. +-------------+            .
.     |                   .
.     v                  .
. +-------------+--------+ .
. ! SAPoffice ! Inbox ! .
. +-------------+--------+ .
.     |          ^         .
.     v          |         .
. +----------------------+ .
. !    SAPconnect           ! .
. +----------------------+ .
.     |          ^         .
      |          |

For both tests, proceed as follows:

1. 'Actual' test
Contact the R/3 System administration to set up the R/3-external infrastructure necessary for
the required communication service and to carry out the R/3 internal configuration.

2. 'Loop-back' test

a) Address management
All R/3 users who want to send documents via a communication service need an address of the
respective communication service type which is used as a sender specification.
All users also need an address of this type to receive documents in the R/3 System via a
communications service and under which they are attainable as receivers.
If documents are to be sent to the own R/3 user during the loop-back test, a single address of
the corresponding communication service suffices for this user. This is then used both as sender
and as receiver specification.

Create addresses
The address maintenance of R/3 users is carried out either via the R/3 User Maintenance
(Transaction SU01) or the Private office settings (Transaction SO12):
Address --> Other communication...
Selection of the required communication service.
Enter address.
Copy or save.

b) Configuration of SAPconnect (Transaction SCOT)
Set communication method
4.0 + 4.5: Goto --> Customizing --> Communication methods
as of 4.6: Settings --> Communication methods
Set the method of the required communication service to the value 'SAPCONNECT' and save the

Create node
View --> Nodes, node --> Create
Nodes = for example system name/client "ALR003"
For example, Description = "ALR client R/3 System 003"
RFC destination = 'NONE'
Address type = Selection of the required communication service.
Address area = for example '*'
Format = 'PDF' for fax, 'RAW' for paging and Internet mail
Device type = 'POST2' for fax, 'ASCIPRI' for paging and Internet mail
Restrict send time = do not flag
Country = 'DE' (only for fax)
Flag Node-specific fax number changes... = (only for fax)
Enter two entries in the table: (only for fax)
Begin. no Substitute Comment
00 + foreign country
0 +49 home country
Set further address type = 'no'
Maximum waiting time... = enter nothing
Node can resolve path references = do not flag
Node is to be monitored by the alert monitor = do not flag
Node in use = mark

Schedule send process
View --> Jobs, job --> Dispatch
Job name = for example 'SAPconnect'
--> place cursor on variant SAP&CONNECTALL Schedule job (F6)
Schedule periodically, for example 5 minutes.

After sending a document from an R/3 application this is displayed in the outbox of the sender
(if requested SAPoffice interface). After the next SAPconnect transmission process (according
to the period chosen when scheduling the job) the document is displayed in the inbox of the

Creating a SAP mail distribution lists
Transaction code SO23

X Shared distribution lists

Name : ZXXXX

Title : XXXXX Mail Distribution

Don't enter anything in the Folder field.

Folder : Click the down arrow

Next screen :

Folder Name : ZXXXX

Folder Title : Mailing address

Folder Area : Shared

Click Create Folder

Next screen :

Indexing : Tick

Specify the 'Retention period of a document in this folder (days)'.

Choose the 'Folder access authorization'.

Finish, click the Enter button.

Click the tabstrips 'Distri. list content' to type in your mailing list.

Save your entries.

Finally, test it by sending a mail via the distribution list ZXXXX.

No System name and transaction code in SM04

If you have more than one application server, use AL08 instead of SM04.


It is because they are at the logon screen which has established a connection.

You will notice that the transaction code shown when there is no user name is
This shows you which workstations out there have the login screen up but have not yet entered
a user name and password.

The transaction column shows the Last executed transaction code.

Sometimes your users will have multiple sessions open. If they do, to the system, it is the same
as multiple logins as it relates to the resources used etc.

So the user name will show up more than once in AL08.

Under the application server they are logged into, each instance of that user name on that
application server represents a session open.

For instance if you run AL08, you will have your name show up at least twice on the
application server you are logged into.

One will show AL08 and the other will not have a transaction next to it.

Then you will notice your user name showing up on all other application servers with no
transaction. This is because you are using AL08.

Suspend/UnSuspend Released ABAP Jobs

BTCTRNS1 - Suspend all Released Jobs
              Released Jobs will have the status Released/Susp. in transaction SM37.

BTCTRNS2 - Reverse Suspend for all Released Jobs

What Is The Job Name EU_REORG Meant?

OSS is your friend - see note 18023:

1. When starting Transaction SE80 for the first time, the three EU jobs are scheduled
automatically: EU_INIT (single start), EU_REORG (periodically each night), and EU_PUT
(periodically each night).

Alternatively,those three EU jobs can also be scheduled by manually executing program

Shortdescription of the individual jobs:


EU_INIT serves for completely rebuilding the indices and therefore has a correspondingly long
runtime. It starts program SAPRSEUI. All customer-defined programs (selection according to the
name ranges) are analyzed, and an index is created that is used in the DW for the where-used
lists for function modules, error messages, reports, etc.

Starting in Release 2.1, this index is automatically updated online. The job can be repeated at
any time. After a termination, the job is automatically scheduled for the next day; it then
starts at the point oftermination. (EU_INIT can therefore be terminated deliberately, if it
disturbsother activities in the system.)

As mentioned above, the indices are automatically updated online by the tools. To keep the
effort for updating these indices as low as possible, only the changes are logged, which means
a reorganization of the complete index for each program is required from time to time. To
avoid having this reorganization interfere with online work, job EU_REORG runs every night and
performs this task. If job EU_REORG did not run one night, this simply means that
thereorganization takes place more often online.

Reorganization of Single Object

You have ARCHIVED the BSIS table (because of old data etc) and now this BSIS table has "holes"
in physical structure and it's quite a large table.

Here are the steps to reorg. a single object:

1. Take a backup of your Oracle database.
2. Shutdown SAP
3. Start Oracle Database with Rollback Segment PSAPROLLBIG (all other smaller segments not
started). Remember, the size of PSAPROLLBIG should be equal or larger than your BSIS table.
4. Ensure sapreorg directory has enough space for taking BSIS Oracle Export dump. The Oracle
Export utility compresses the file to some extent.
5. Fire your SAPDBA from Unix level.
6. Go into SAPDBA "reorganisation" menu.
7. Select "Reorganize Single Table / Index"
8. Give BSIS as table name.
9. Start.
10. Don't Forget, first upgrade your SAPDBA tools first from OSS/SAPNet.
These include: 1. sapdba 2. brtools 3. brarchive 4. brbackup 5. brrestore 6. brconnect.

How to Increase the Tablespace free space?
Your tablespace PSAPBTABD is 92% used. How to increase the free space?

            SAPDBA V3.1I - SAP Database Administration


              ORACLE version :
              ORACLE_SID    : ALD
              ORACLE_HOME : /oracle/ALD
              DATABASE     : open
              SAPR3      : 31H, 23 times connected

      a - Startup/Shutdown instance h - Backup database
      b - Instance information      i - Backup archive logs
      c - Tablespace administration j - Check (and repair) database
      d - Reorganization          k - Restore/Recovery
      e - Export/import           l - Show/Cleanup
      f - Archive mode            m - User and Security
      g - Additional functions     n - Help
      q - Quit

      Please select ==> c


                   Tablespace administration


                                  Current value
 a - Tablespace:
 b - Log checks:                       no

 c - Free space and fragmentation of all tablespaces
 d - Check free space of objects in all tablespaces
 e - Check free space of objects in tablespace

 f - Alter tablespace Add Datafile
 g - Create/drop tablespace

 h - Display all tablespaces and datafiles
 i - Display raw device drivers in /dev

 q - Return

 Please select ==> a

 Enter tablespace name [%] ==> psapbtabd


                   Tablespace administration


                                  Current value
 a - Tablespace:                       PSAPBTABD
 b - Log checks:                       no

 c - Free space and fragmentation of all tablespaces
 d - Check free space of objects in all tablespaces
 e - Check free space of objects in tablespace PSAPBTABD

 f - Alter tablespace PSAPBTABD Add Datafile
 g - Drop tablespace PSAPBTABD

 h - Display all tablespaces and datafiles
 i - Display raw device drivers in /dev

 q - Return
 Please select ==> f


             Alter tablespace PSAPBTABD add datafile


                            Current value

    a   File system or raw device: file system
    b   File size:
        -                      2088960 K (larger than free space)
    c   Select path:
        -                        /oracle/ALD/sapdata5
    d   Alter suggested path:
        -                           /oracle/ALD/sapdata5
                            free space: 3608 K
    e - Display current files:     10 files, total (in DB): 77

    s - Start (Add datafile)

    q - Return

    Please select ==> s

How to activate the IMG Change Log?

SCU3 transaction is used to see the IMG change logs for modified objects.

If your table change log is not active, it will gives you a message that :-
...table logging is switched off...

This particular setting can be changed in the following path :-
IMG--> Basis Components --> System Administration --> Tables changes recording

You can log changes made to the following tables:

- Control tables (system logic control)
- Customizing tables
What is recorded is always in the form of complete "before" images, that is, all entries as they
appear before the changes.
The recorded data is compressed without buffering, and this is not an appropriate method for
recording and managing large amounts of data. Activating logging impacts on performance as
it entails twice as many database updates as would otherwise be the case, and the database
storage load is also increased substantially.
It is recommend that you use logging for your production clients and Customizing clients so
that you can see exactly where Customizing tables have been changed. Other than the reasons
above, it is not recommended that you use this tool for application tables.

Two conditions have to be met for a table to be logged:

1. The table has to be selected for logging in the Dictionary (see Dictionary -> Table
maintenance -> Technical configuration).

2. Logging also has to be set in the system profile
Set the rec/client (note the use of lowercase characters) profile parameter to one of the
following values :-
- OFF: no logging at all (effectively a central system switch)
- nnn: logs client-specific tables in client nnn only
- mmm,nnn,ppp,...: logs client-specific tables in the named clients
- ALL: logs all client-specific tables in all clients.

Caution: Only in exceptional circumstances is it appropriate to use the 'ALL' setting. If, for
example, the profile parameter is set to 'ALL' when you upgrade all test clients (including 000,
the SAP client), these changes are recorded in the system log file. This reduces performance
and requires a lot of database space.

The default setting is OFF (no changes are logged).

If logging is set in the ABAP Dictionary, changes to client-indepedent tables are always logged
unless rec/client is set to 'OFF'

Use the ABAP programs RSTBHIST or RSVTPROT to analyze table changes. RSVTPROT allows
you to analyze change logs both at table level and with reference to Customizing objects. To
access the program, select an executable Customizing activity in IMG and choose Goto ->
Change log.

Basis - Edit, create, delete or adjust your database table

Edit, create, delete or adjust your database table

The database utility is the interface between the ABAP Dictionary and the relational database
underlying the R/3 System.

This tools allows you to delete all the data in the tables.

You can call the database utility from the initial screen of the ABAP Dictionary with

Utilities -> Database utility (Transaction SE14).

You can use the database utility to edit all the database objects that are generated from
objects of the ABAP Dictionary.

These are database tables that are generated from transparent tables or physical table pools or
table clusters, indexes, database views and matchcode pooled tables or matchcode views.

If you want to use the database utility, you need authorization for authorization object

Finding any of the SAP tables that have been changed

During the production run of the SAP system, additional fields might have been added and you
might have lost tracks of the SAP tables changes.

Transaction code SPDD have been created to help you to find all the SAP tables that have been

Other ABAP Dictionary objects such as lock objects, matchcodes, and views, for which
modification would not result in data loss, are not processed during the upgrade with
transaction SPDD, but only after the upgrade is complete with transaction SPAU.

Transport Tables between Clients

Use report RSCLCCOP to transport user master records, profiles and authorizatons between
clients in an R/3 system.

Start RSCLCCOP from the target client which the users and authorizations should be copied.

Do not use this report if the target client contains some users and authorizations you want to

Copying table entries from client 000

I need to copy table entries from client 000.
I have identified which entries I need to copy through running RPULCP00 but I don't know
how to move the entries.

The simplest way is to go into the table through SM31
Then in your top row of buttons there should be one called 'utilities' from here select 'adjust',
Then select the client that you want to compare/copy from (you need to have an RFC
destination set up).
This will then show you the contents of the table in both clients and identify the status of each
record, they will fall into the following categories:
ML Differences, logon client entry
MR Differences, comparison client entry
L Entry only exists in logon client
R Entry only exists in comparison client
Identical entries
(M) Differences only in hidden fields

You should be able to scroll down the table, select the entries that you want to import, then
hit the 'adjust' button, then hit the 'copy all' button, then back out with the green arrow, and
save your table.

That should do the job.

SAP Transaction Table

TSTC - SAP Transaction Codes
Used SE12 to display the tables.

Mass Lock All Printers with SPAD

If you have lots of printers (50 or more) and need to lock them for maintenance, you can
used this mass locked printers tips to locked or unlocked all the SAP printers at one go.

To mass Lock all the printer in SAP:

Go to transaction code SPAD

On top of the screen menu click Utilities -> For output devices -> Export devices

On the screen Import and Export of Device Descriptions:

Export/Import file name: c:\temp\printer.txt

Frontend computer: Tick

Export: Tick

Export Export: Tick

Output device: Choose the Selection options Pattern and type a *
               (* for all or a* for all printers starting with a)

Click the Execute button

Open the text file do a replace all of PADISABLED = "" to PADISABLED = "X"

Then import the same file.


Another way is to go through each output device in SPAD and click on 'Lock Printer in SAP
System' which is in the DeviceAttributes tab

Print to an USB printer from SAP

Is printing to a USB-printer using LOCL from SAP possible?

Yes, as long as this printer is defined on local workstation, it will work.

SAPLPD doesn't care on how the printer is connected, as long as Windows can print to it,
SAPLPD will do its work.

Define one new device, also consider giving :

Device type as SAPWIN

Host Printer __default (yes, two underscores default)
Access Method : F

Make sure your desktop/PC Windows default printer is set to this USB printer.

Parallel printing to all the SAP device printers

If you have a situation where reports need to be send to multiple printers, you can configure a
pool device type. A pool device type contain a list of SAP printers which the reports will be
directed to.

Do this in transaction code SPAD for spool administration.

For example, in SPAD, type ZXXX next to the field 'Output devices',

Click the button Output devices.

In change mode, click the Create button.

Specify the Device type of your printer.

Click the tabstrips 'HostSpoolAccMethod'.

In the field "Host spool access method" set to "P: Device Pool".

Click the tabstrips 'DevicePool'

Click the options "Send to all devices in pool".

Type in the list of the SAP printers device you want the report to go to in this pool under the
section 'Pool Device List'.

Now, when the users send a print to the new device for e.g. ZXXX, it will print to all the spool
device you have specify.

The above step is done using SAP 4.6c

Contributed by:
SAP Basis, ABAP Programming and Other IMG Stuff

How can I print A3 format in SAP

My printer is HP LaserJet 5100

Note I can print ms word document in A3 format but I can't print A3 format in SAP

My output device setting are:

Device Type = THSAPWIN: MS-Windows-Printer via SAPLPD
Device Class = Standard printer
Access Method:
Host Spool Access Method = S: Print Using SAP Protocol

When I print SM50 output and select format X_65_255, it can print successfully but its
format is A4.

What may I do wrong? Please help me how to set up for A3 printing in SAP.

Ps. Do I need to assign A3 format to be default format in that printer?

Is this task for BASIS or ABAP?


In printer settings - SPAD - tray info - you can give the Page format for that tray .
did you try setting that ? Try setting DINA3.


Go to START --> SETTINGS ---> Printers

Right click on HP LaserJet 5100 ... Properties..
General Tab --> Printing Preferences --> Advanced --> Paper Size -->
Change it to 14x11 or A3


hplaserjet 5100 --> Properties --> Advanced Tab
Printing Defaults --> Advanced --> Paper Size -> change it to 14x11
or A3

hplaserjet 5100 --> Properties --> Device Settings tab -> Autoselect -
-> A3 or 14x11...


Our ABAPer already changed some attributes(ex. font name & size) in print control of SPAD
followed by SAP Notes 21738.

Like this ->
# THSAPWIN Z_65_255

# SAPWIN indicatior makes it possible to send via berkeley protocol
# change WinCharSet to 222 (Thai)
# set orientation(LANDSCAPE)
# set font name
\eFAngsana New;
# set font size(5.5ponits)->8p->5.5
# set vertical spacing(8.7LPI)
# set horizontal spacing(24.0CPI)->20->18 (255/11) ->23
# set top/left margin(1.0cm=568.5)

However, it take moderately time to change font size and test report printing for A3 format.

Thank you for your recommend.


I follow by your instruction. It's work well.

Note It doesn't need to setup these config at all.

Tab "Output Attributes"
Paper tray = "Paper tray 3"

Tab "Tray Info"
Tray 3 = "DINA3"

Key points of this solution, If the SAP spool server and the Microsoft Windows spool system are
not on the same host, you must create a remote PC connection to the printer and force paper
size to be A3 (Prakash's instruction)

By the way, I also adjust HP Laserjet 5100 from "EXEC" to "A3" in Tray 3 physically too. After
that I can print ABAP List in A3 Format successfully.

Thank you again for the solution.

Bankly Delete multiple spool request

The program are RSPO0041 or RSPO1041.

This is handy whenever you encounter a user who managed to create a lot of spool requests
which are choking your system.

Deleting them with SP01 will be too slow and you will get time out if it exceed the online time
limit specify by your basis people.

Printing ABAP Report over LAN and WAN

For the LAN setup for local printer you can defined it as device LOCL

Device type: SAPWIN
Host printer: __DEFAULT
Host spool access method: F (Printing on front end computer)

This printer will works fine on your LAN.
For the WAN, assuming that you have 2 office connected over the internet and they work fine
with the printer LOCL.

Now, you need to have a Print Server where you have installed many of the printer, some of
them over WAN and they will work fine if you do this :-

The server must have SAPLPD installed.

Output device: LPFP
Device type: SAPWIN
Destination host: sapdev
Host printer: HP_HP1 (printer name on the Printer Server)
Host spool access method: S (Print on LPDHOST via SAP protocol)

Sending faxes from SAP

Some guidelines how to you can setup faxing from SAP :-

You will need an additional software to be installed.

The best way to do this is to get a standard desktop PC with a modem attached. Buy a copy of
Winfax 10 (its only about $100 to buy.)

When you have Winfax setup and working locally, install SAPLPD (put it in the startup group so
its loads on startup).

WinFax will create a shared fax on the PC (For e.g. IFAX).

When this is done create a printer/Fax in transaction SPAD.
Device type = SAPWIN Rel.4.x/SAPlpd
Device class = Fax
Host Spool access method = S;print using SAP protocol
Dest. host = PC IP address
Host printer = Shared fax name on PC(i.e IFAX)

Make sure you have all the lasted SAPLPD + dll's

After that is done create the locations in transaction SCOM, they are self explainitory from

See from which network IP address and host name a user has logged on

To see the network IP address from which a user has logged on,

perform the following steps:

Call transaction OS01,

click "Presentation Server" button, "Change View" button.
If you are using Citrix, you will not be able to view the user individual IP address as it will be
the same Citrix IP address.

To check the speed and quality of the user's network connection,

select the desired presentation server and click "10 X Ping" button.

Automatic CTS

Even though SAP does not recommend automatic imports, it is the most practical way of
moving transports from a development system to a QA environment or to a special
development system (although I wouldn't recommend auto imports to a production system for
obvious reasons).

There are various methods for doing this. The most effective and simple method is using an OS
script (shell/perl etc.) scheduled using cron for user sidadm. There are a couple of steps you
need to take before setting up automatic imports.

    1. Your entire project team should agree upon the overall strategy, frequency of imports
    2. Resolve any issues with transport approvals (many shops don't care about traffic
       between DEV and QA)
    3. Who is responsible for watching for errors and corrective actions (an email to the
       developer works in this case)

Configuring outbound SAP to Internet mail Gateway (R/3 4.0 and above)

Logon to your <DB_SERVER> as sidadm
Change directory to /sapmnt/SID/global (or any directory globally available across all
application servers)
Create the following entries in file and save the file
/sapmnt/SID/exe/mlunxsnd $*
Execute the command: mlosmadm SAP_EMAIL_GATEWAY.cfg (enter the following information)
System name : SID
Client     : 200
Username : MAILADM
Password : initpass
Language : E
Loadbalancing : Y
Message Server : <central_instance_host_
Group name : LOGON GROUP1
Trace Level (inBoound) : 0
Sendmail Command : <accept default>
Codepage : <accept default
Trace Level (Outbound) : 0
Update file : Y
Step 2 (SAP SETUP)

Transaction SU01, create user MAILADM and password initpass, usertype CPIC
Transaction SM59, Click Create

Connection Type : T
Enter /sapmnt/P21/global/
Save your entries
Transaction SCOT, click Edit--> CREATE NODES
Node : EMAIL
Description : SAP CONNECT NODE FOR EMAIL (continue)
RFC DESTINATION: (choose SAP 4.5 INTERNET MAIL GATEWAY from the pull down menu)
Choose radio button Internet
Address area : *DOMAIN (your intranet domain)
Format : DOC, DAT, R3F, TXT, RAW,PPT,XLS (continue)
Set further address types : N
Minimum waiting : 5 minutes
Check both Node is in use', Node can resolve path references
Choose Goto--> Schedule Background Job
Enter name for the job & save

Configuring outbound SAP to Internet mail Gateway (Upto R/3 3.1I)

SAP can be configured to send and receive emails from different sources. This section explains
how to integrate SAPOffice with an external email system. This is in no way supplementing the
online documentation available on the online documentation CD supplied by SAP but simplyfies
the process to the bare Internet email must be configured and running prior to this. Email from
SAP is forwarded to the users external email client such as Eudora, Outlook etc.

You can configure inbound and outbound forwarding. Outbound flow forwards a SAP message
(eg:update termination) via UNIX sendmail to the intended recepient. Inbound accepts a
message from sendmail and places it in the users SAPOffice inbox. Many SAP shops prefer to
configure outbound only.

Configuring outbound forwarding

SAP configuration

   1. Create your RFC destination for outbound email using transaction SM59
RFC Destination         : SAP_INTERNET_GATEWAY
Connection Type          :T
Description          : SAP internet mail gateway
Click on 'Explicit Host' if you want on demand gateway dameon invocation.
Program              : /sapmnt/SID/exe/mlunxsnd
Target Host           : Enter hostname that runs your central instance.
Click 'Test Connection' and you should see a successfull message.

        Choose menu Tools-->Administration-->Management-->Process Technology-->Office--
         >Office Settings

        Click Internet Gateway

Gateway Destination            : SAP_INTERNET_GATEWAY
Path for configuration file    : /sapmnt/SID/exe/sap_mailSID.cfg
Return Address              : <your company domain>.com

   5.    Click Internet Settings and fill in the following fields
   6.    Save the settings
   7.    Click Back
   8.    Choose menu Office-->Addresses-->Communication Types
   9.    Type in INT over the Comm. type and Internet Mail over description.
   10.   . Check Maintain and Send checkboxes and Save your entries.

         UNIX configuration

   11. . cd /sapmnt/SID/exe
   12. .mlosadm sap_mailSID.cfg
   13. Client 000
   14. Username : MAILADM
   15. Password : MAILADM
   16. Language : E
   17. System name : SID
   18. System number : <instance_number>
   19. Hostname : <hostname>
   20. Gateway hostname: <central_instance_hostname>
   21. Gateway server sapgw<instance number>
   22. Sendmail Command : <path_to_sendmail_command>
   23. Update file : Y

   1. Logon to SAP
   2. Execute transaction SO01
   3. Write a message and send it to <your_internet_email_address>

         If you don't see the mail in your internet mailbox, go back and review steps 1-12

There are 2 ways of executing FTP from an ABAP (online or batch mode),

Initiated from the operating system. A script is available in the utility repository that explains
how to do this very easily.
Initiated from the ABAP itself An example is given below.

    1. Create a logical OS command 'zftp' using transaction SM69. Make sure that you enable
       'comand line parameter allowed' checkbox
    2. Create a shell script called 'zftp' with the following lines

RMTHOST=`echo $2 | tr '[A-Z]' '[a-z]'`
ftp -v $RMTHOST << EOF > /out/zftp.$$ 2>&1
lcd /out
put $1

    3. Use the SXPG_COMMAND_EXECUTE function module to call this script (zftp) with the
       filename you want to transfer as the parameter. Eg:

call function 'SXPG_COMMAND_EXECUTE'
commandname =
exec_protocol =
no_permission = 1
command_not_found = 2
parameters_too_long = 3

Enable web based online documentaion (R/3 4.0 or above)

    1. Install Netscape webserver or use an existing web server (requires administrators
    2. Create a directory called SAPDOCS4 under your web server document root.
    3. Mount the CDROM containing online documentation on your PC or your UNIX server.
    4. Recursively copy all files under /cdrom/docs/ to the SAPDOC4 directory under the web
       server root.
    5. Create the following entries in your /usr/sap/SID/SYS/profile/DEFAULT.PFL

eu/iwb/installed_languages = EN

       Restart your SAP system

How to access an external database from ABAP via DBLINK (ORACLE)
      1. Using transaction SE11, create a table (ZTABLE) with the same fields as the table in
         the external database, make sure that the type and lengths of the fields are identical.
      2. Using transaction SE11, create a view (ZTABLE_VIEW, projection view) using BASIS table
      3. Using SVRMGRL>

create dblink REMOTE_DB as connect to remote_user identified by password; (database link
drop table ZTABLE; (table dropped)
create synonym ZTABLE for ZTABLE@REMOTE_DB; (synonym created)

         Using transaction SE16 , type in ZTABLE_VIEW and hit RETURN

         Enter value in key fields and hit execute. (displays rows from the remote table)

Tips and Tricks

      1. To see the complete text of an error/warning message on the SAPGUI status bar, right
         click on the message and drag left.
      2. To prevent your spool requests getting deleted from the BASIS cleanup jobs, you need
         to uncheck the Delete after print checkbox in the print control screen, execute
         transaction SP01, find your spool#, click on Attributes and change the Delete After
      3. Short cuts using the OK-code box.

                      Search in
                      Download do local
p+                    Page up
p-                    Page down
p++                   Top of page
                      End of

         Use transaction AL11 to browse the application servers directory structure.

To top