SAP ABAP Troubleshooting Notes by pcherukumalla

VIEWS: 339 PAGES: 22

									 SAP
NOTES
  #
  1

        1
Some of our users are not able to execute some transaction codes, even though the required roles are
granted. How to troubleshoot?

Follow the below mentioned steps to identify the root cause:

   •   Check if there is a user comparison issue. (The role name will be suffixed with Red light, instead of
       green)
   •   Check the object S_TCODE existence in the authorization object of that particular profile.
   •   Check SU56 to know the objects/values available for the user.

If there is an issue with the 1st mentioned point, simply go to Profile Generator and perform a user comparison,
which will adjust the user master record. If the issue is with 2nd, you need to regenerate the profile.

Incase, if you find that some of the objects are not loaded properly in SU56, you need to identify the # of
profiles assigned and ensure that they are below 312, as you can’t assign more than 312 profiles to a SAP User
ID.

If the issue happens even with very few profiles, verify the Number of authorizations in User Buffers value in
the Instance profile. The value for Auth/auth_number_in_userbuffer parameter can be increased.

The size of the buffer must always exceed the maximum number of authorizations as authorization checks are
made only against those in the buffer.

The default value is 800, but this can be set to a value which is between 1–2000.

I am unable to login to SAP using SAP* user ID in the newly created client. What is the problem?

This issue happens if the login/no_automatic_user_sapstar parameter value is set to “1” in the Instance
profile.

Change the value to “0” to enable SAP* login.

Prior to version 4.0 this parameter was login/no_automatic_user_sap*.

How to restrict the users from opening more SAP sessions?

rdisp/max_alt_modes parameter should be added in the Instance profile. The default value of this parameter is
6 and restriction should be done based on the performance of the system, number of users etc.

How do you change the default SAP GUI client number in the initial screen?

login/system_client parameter should be added in the Instance profile. The default value is 000.You need to
make the change, save the instance profile and activate it.




                                                                                                                 2
How to restrict users from logging in to SAP from multiple systems?

login/disable_multi_gui_login parameter should be added in the Instance profile and the value should be set to
1. By default it is set to 0, which will allows logging in from multiple systems.

This parameter is set to 1 in most of the Production environments. You can see the current settings in RZ11.




What is GuiXT?

GuiXT is a standard R/3 tool used to personalize SAP screens using scripts, without changing the underlying
ABAP or business logic. GuiXT is compatible with R/3 releases from 3.0 to 4.7, SAP ERP Central Component
(ECC), and SAP NetWeaver Portal. You can apply GuiXT scripts to all SAP transactions and implement
company-wide or user-specific settings on your system. Traditional IMG customization (transaction SPRO) is
not required; you configure GuiXT settings in the SAPGUI installation screen, which resides in your front end.

What are Homogeneous and Heterogeneous system copy?

Homogeneous system copy means a system copy with all the database tables from one system to another
system of same kind, like same os/db on both the systems.

A Heterogenous System copy is a copy from one system to another system of a different kind, like different
os/db in either of those.

How do delete an add-on from the SAP system?

To delete any add-on, you can use the transaction SEPS. Goto Inbox, and delete the add-on that you don't want
to use any more.
Go to transaction SEPS --> Inbox and delete the unwanted add-on.


                                                                                                                 3
How to import new language into the sap system?

Use transactions SMLT to import new Language into the system. SAP supports 17 languages. However, you can
use the same transaction to change any settings also.

How to change the system wide initial user menu for a SAP system?

Using the transaction code SSM2, you can change the system wide User Menu, i.e., this change will applied to
all the users. If they are using their personalized menu, it will not be modified.

How to reset all the sap buffers?

To reset the SAP buffers, you can use the command $SYNC.

What is CTS?

The Change and Transport System (CTS) is a tool that helps you to organize development projects in the ABAP
Workbench and in Customizing, and then transport the changes between the SAP Systems and clients in your
system landscape. This documentation provides you with an overview of how to manage changes with the CTS
and essential information on setting up your system and client landscape and deciding on a transport strategy.
Read and follow this documentation when planning your development project.

What are the various system profiles, and how to set the parameter values?

SAP has 3 system profiles:

   •   Start profile
   •   Default profile
   •   Instance profile

Transaction RZ10 can be used to edit any of these profiles. Start profile defines which SAP services are started,
for e.g.: Message server, Dialog, Gateway or enqueue process.
Default profile will be used incase if the instance has multiple application servers. Mostly the global parameters
will be defined in this profile such as buffer values, etc., Instance profile is where we can define additional
configuration parameters such as authorization, login, memory, etc.,

Many of our users are experiencing CALL_C_FUNCTION_NO_AUTHORITY ABAP dump. How can
we resolve this issue?

The AUTHORITY_CHECK_C_FUNCTION is a function module which can be used to check the
authorizations required to execute an ABAP program. This is mainly used by the ABAPers while coding
programs that require critical authorizations to identify the access required by the users to execute the program.

The CALL_C_FUNCTION_NO_AUTHORITY ABAP dump occurs if there is an issue with the
authorization. Verify the ABAP dump to identify the exact program and function module where the error is
generated. Following is an example error:


                                                                                                                 4
The termination occurred in the ABAP/4 program "SAPLXTRK " in
"GET_APPLICATION_TIMEZONE".



How can I give access to a group of printers?

The authorization object S_SPO_DEV can be used to give authorization to a group of printers. In the SAP User
menu, access to only 1 printer can be provided to the users. However, if multiple printers access is required, the
authorization object S_SPO_DEV can be included in a role and mentioning the values.

For example, if A* is mentioned, user will get access to only A* printers in the SAP environment. If access to
B* printers needs to be given to a seperate set of people, another role can be created with this limitation.

How can I lock/unlock all the printers in SAP at a time?

To lock/unlock a group (or all) the printers, follow the steps mentioned below:

1. Call tcode SPAD
2. Click Utilities, For output devices, Export devices
3. Goto Import and Export of Device Descriptions and export the file to a local folder.

Check (Tick mark) the following:

Frontend computer: Select
Export: Select
Export: Select
Output device: Give * for all the printers. If you want only the printers that start with S, you should give s*

4. Click the Execute button
5. Open the saved text file and replace all the PADISABLED values with = “X” (It should be displayed as -
PADISABLED = "X")

6. Follow the same process and Import the file.
7. Save.

This will lock all the printers. To unlock, follow the same process and change the PADISABLED value to "".

What is the difference between V1 and V2 update?

In SAP, the update process will be performed in several steps. The time-critical part of an update is called a V1
update, and the non-time-critical part is called as V2 update.

The V1 update will be handled by the UPD work processes (UPD: Update process for making V1 (time-critical)
database changes) and the V2 will be handled by the UP2 work process (UP2: Update process for executing V2
(not time-critical) database changes).

To view the status of these updates, use transaction SM13. However, if you see any failed updates, find out the
root cause and advise the users to perform the task again rather than posting it back from SM13.



                                                                                                                    5
What is SNOTE? How to import the OSS notes?

SNOTE (SAP Notes Assistant) is available in SAP 4.6c after a plug-in and is by default from SAP 4.7EE. Using
SNOTE transaction code, you can directly install the Recommended Code changes in SAP system. It creates a
transport request which can be imported later on in the Quality and Production systems.

The advantage of SNOTE is that you need not get the notes added in the individual systems and can have the
change moved in to all the systems as per the guidelines.

There are two ways to import the OSS Note (SAP Notes).

Download the Correction to your system and import it.
2. Directly download from SNOTE transaction code (Only available from SAP 4.6c)

How to find if SAP is able to connect to Database?

To find out the status of connectivity, you can use the R3TRANS.EXE program. From the command prompt,
execute "R3Trans –d". If you see a return code “000”, it means that the database connection for the application
is good. R3trans will create an output file called trans.log which can help to diagnose if the return code is any
other value than 000.

How to find out if the client is able to reach the SAP server perfectly?

This can be diagnoised using NIPING.EXE command, which is available in Exe -> Run directory. To test the
connectivity between SAP and front end computer, do the following:

First start the NIPING server on computer:

Nipping –s –I 0

Then start the same on the client. Use the following command:

Nipping –c –h

The SAPOSCOL service in Windows has been deleted some how? How can I restore it back?

The “ntscmgr.exe” program located in the Exe -> Run directory can be used to reinstall the SAPOSCOL as a
service.

Execute the following command:

ntscmgr.exe install SAPOsCol -b saposcol.exe –p

How to administrate the work processes from operating system?

The DPMON.EXE program can be used to adminster the work processes from the operating system. It is
located in the Exe -> Run directory. It is equivalent to SM50 transaction.


                                                                                                                    6
This will be very useful, when you have issues at SAP Level, and cant use SM50 to terminate any processes.



How can you differentiate the Central Instance from a Database Instance?

The Central Instance will have Enqueue work processes and the database instance will not. You can find the
available work processes information in SM51 (SAP Servers) transaction code.




How do you check the work process status in different Operating systems?

Windows:

Go to Windows Task manager and you can see the processes listed. All the disp+work.exe processes are SAP
work processes.

Right-click Start bar and click Task Manager to invoke it.
Unix:

The following Process Status command can be used to know the work processes status.

ps -ef | grep SAP

Also, irrespective or the operating system we can use dpmon.exe executable, which is located in the Kernel
(usr\sap\\sys\exe\run) directory.

Dialog work process Multiplexing

Generally large number of users log into SAP sytem. The dialog work processes (wp) available to the users are
limited due to performance & system limits. The objective of a dialog work process is to handle the user
requests quickly and display the results. Dialog work process also takes large resources relatively to background
processes for display purposes. So it is not wise to have a dialog work process running for each user logged in.
A dialog work process is not assigned to a single user for longer time. When a dialog user fires a request, the
dispatcher assigns a dialog WP to handle the request. When the request is processed, it relieves the work process
from that user so that other users can use it. This helps in handling requests from a large no of users with small
no of dialog work process and optimum use of resources.

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.

                                                                                                                7
The steps are as follows:
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 t-code su10 from user maintenance: Mass changes
Initial Screen to Mass User changes . On the first screen, fill in the following information:
Transaction code - SU10
Source Language - English
Target Language - English
To change the Title, click the Edit button. On the second line (the one in dark yellow), type in the Title (For e.g.
Mass User changes) you want for the transaction code. Click the Save button




Now, call up the transaction code /nSU10 again and you should be able to view the new Title.
Please note that it works for most of the Transaction codes. The t-code is available from from version 4.6x.


Remote Function Call (RFC) in SAP

RFC is an SAP protocol to handle communications between systems which simplifies the programming. A
remote function call (RFC) is the call of a function module that runs in a different system to the calling
program. It is also possible to call a function module in the same system as an RFC; normally RFCs are used
when the caller and the called function module run in different systems. In the SAP system, these functions are
provided by the RFC interface system. The RFC interface system enables function calls between two SAP
systems, or between an SAP system and an external system. RFCs manage

1) Communication process

2) Parameter transfer

3) Errors.

RFC describes an interface to call the function. In RFC communications between two SAP systems, the calling
system uses an RFC definition in the target system to access a specific function. The destination of an rfc call
might be R/2 connection, R/3 connection, internal connections, logical connections (like to logical systems) or
TCP/IP (external systems) connections.

   There are five types of RFCs in SAP

   1) Synchronous RFC (sRFC)

             It requires that the target system is active when the RFC is made. This type of rfc is used for
             communication between different systems and between SAP Web AS and SAP GUI.

   2) Asynchronous RFC (aRFC)



                                                                                                                   8
     It doesn’t require the target system to be active when RFC is made. This is used for parallel processing
           jobs and for communication between different systems.




     3) Transactional RFC (tRFC)

           This is a variation of aRFC. The transactions are divided into steps and are processes step by step.
           This is an asynchronous transaction. This is helpful in scenarios where there is probability of
           network failure between the systems.

     4) Queued RFC (qRFC)

           This is a variation of tRFC. Here the individual steps are executed sequentially.

     5) FastRFC

     This is used for system internal communications. Interactions between J2ee engine in sap & the abap
        runtime environment in the same instance are done using these RFC. This type of RFC is possible only
        if both the source & target are on the same system.

     The RFCs are managed using t-code sm59

Use t-code SMT1 to manage trusted systems

How to view Locked Transaction codes

Goto transaction se11 or se16 and view the table TSTC, the field is CINFO. Enter "A0" as the "HEX01 data
element for SYST" starting value and "A9" as the ending value. Instead of doing such cumbersome viewing of
table, you can run ABAP report rsauditc to view locked transactions. Use t-code sm01 to lock/unlock the codes

Can you manually switch and operation mode in sap

Yes! You can trigger an operation mode switch from a program that you have written yourself using a function
module (RZL_PERFORM_BA_SWITCH).

How to move the favorites from one user to another

If you want to move the favorites menu from one user to another user, easiest way would be using function
modules. They make your work easy. The steps to be followed are




                                                                                                                  9
1) goto transaction code SE37,
   2) Enter the function module name MENU_FAVORITES_DOWNLOAD , test run the module,
   3) The enter the source user name in the field that appears & execute. You will be prompted for a local path
   or directory to save the file. Just give the file name as some user_source.mnu and save the file
   4) Now enter run a function module MENU_FAVORITES_UPLOAD test run the modules
   5) Enter the name username in which you want upload the menu favorites. It will prompt you for the file.
   6) This operation require user login details

How do you find the size of a client

Goto transaction SCCL
give the source client (which you have to find size)
and the target client
then check test run
at the end you will see the size of client

How to check if CUA is used

   1) How do we know if Central User Administration (CUA) is used in a system?
      You can quickly run transaction SU01 and see if the "Systems" tab is available. If it is then CUA has
      been configured. Well there is another way to see whether CUA is used. Run transaction code SCUA to
      see if there are any distribution models defined. Run transaction code SCUL to see to view logs that are
      generated by CUA & if you have logged into a child system, then goto transaction code SU01 and see,
      there will be no CREATE activity.


       2) How to find derived roles under the master roles

       1) Goto transaction SE16
       2) Enter the table name : agr_define
       3) Enter the master role in the second role field ( this field is in the second row) and execute
       4) Then you will see the derived roles based on the master roles

Delete multiple spool requests

Deleting multiple spool request with sp01 is a cumbersome process and one might get Time-Out if it exceed the
online time limit specify for application server. Use programs RSPO0041 or RSPO1041 when you have a large
no of old spool requests to be deleted

SAP Notes Assistant

                                                                                                             10
SAP notes assistant is a tool with which you implement or import a sap note. Sap notes are released to correct
known problems in SAP systems with a specific support package level. Some times they are also released to
include added functionalities in the system. SAP notes include a description of the symptoms, the cause of the
error, and the SAP Release and Support Package level in which the error occurs. SAP notes may also contain
attached files which has ABAP programs. They can be imported into the system using TMS. Depending on the
type of error, an SAP Note may also include descriptions of how to correct the source cod e which are called
correction instructions.

The steps to be followed are

   1. Login to the SAP service market place and download the SAP notes containing correction instructions to
      the front-end.
   2. Upload the notes from the frontend to the system using SAP notes assistant (Transaction SNOTE)
   3. If you know the sap notes number you can download it by using assistant. Click on the button          and
      enter the SAP notes number.
   4. Then the sap notes is implemented if its status is new ( click on button         )

The uses of using note assistant are

   1.   It keeps a track of the processing status of all the SAP notes in the system
   2.   The notes can be de-implemented
   3.   It check consistency of SAP notes with the release of SAP system
   4.   It maintains the processing status of SAP notes

The notes assistant is an add-on. One has to import it from SAP service market place and install it in the system
by using SAINT.

Note: When implemented SAP notes changes the ABAP code only. The ABAP dictionary objects are not
changed. This has to be done manually before implementing SAP notes so that the pre-requisites are met.

How to send popup message to a specific user in sap

How do you do that? By running a function module!!
SM02 sends messages to all users, not a specific one
So use function module TH_POPUP
goto Transaction code SE37 enter the function module name & test run it
the the resulting screen is shown below, type the details and execute




The the user will see message like this ( System name is blurred for privacy reasons)



                                                                                                               11
The user must be logged into the system to receive the message




How to Determine the optimum No of Work Process

IF you want to find out the optimum no of work processes there are two ways
1) Goto transaction sm50 and click CPU as shown in figure




or press ctrl+shift+f6 . You will see the cpu total times of the work processes . If you have WPs whose CPU
time is very less (Say less than 0:20), you can decrease the number of WPS of that type . If the CPU time of
certain type of work process is high, you may decide to increase their no.

2) Another method is to go for transaction Al12 then click all servers as shown




Then you will see the total no of requests for each work process. If all the dialog work process have large no of
requests then you can add additional dia wps. If you have less dia wps with less requests , then you can decrease
the no of dia wps.
This method is useful in deciding which operation mode to be used at a particular time.

how you can assign a Background work process as a Class A Background Work process

Go to transaction code rz04 then button Operation Modes / Instances. Then select the Operation mode and
double click on it. Then you will see a window with no of Background work process. In the field named Class A
                                                                                                               12
increase the no to 1 (use the + button to increase that). Default value is zero. Then click on the save button to
save the configuration




How to Lock or Unlock a client In sap

To lock or unlock a client in R/3 System, run the following function modules in transaction se37

1. SSCR_LOCK_CLIENT ( to lock the client)
2. SSCR_UNLOCK_CLIENT (to unlock the client)

Run these functions with a client input which is to be locked/unlocked. This function set flag '' Client is locked
temporarily for client copy" in client maintenance menu.The client will be available for users DDIC and SAP*.
If any other user tries to login, system gives message that ' Client locked temporarily'.


To unlock the client

1. Run transaction SE37
2. Enter the function module as SSCR_UNLOCK_CLIENT
3. press F8 or test run (single run).
4. Specify the client and execute(F8).

Follow similar procedure for locking the client

How to find an Operation mode Switch

How do you find that an operation mode switch occurred? There are many ways
1) Go to sm50. If the no of dialog work processes or background work processes changes then a operation mode
switch took place.
2) Go to transaction sm63. Here you can see the time when the operation mode is set. You can guess when the
operation mode switch occurs.
3) Go to transaction RZ04, here you can see the list of operation modes and their time. You can guess that from
here
4) Go to transaction rz03 , here you can see the current operation mode in which the server is running.
                                                                                                              13
5) Call transaction Code sm62. Then view system events. If there is an event called SAP_OPMODE_SWITCH
then operation mode switch occurred at that time. If you click on activity log you can see the time and date
when the event was triggered. It is time and date of operation mode switch



How to Reset Different Buffers in Sap

You can reset the buffers using following commands
Just run the following in SAP command field.
Note: Resetting of the buffers could change the performance of the entire system
/$DYNP - To reset the screen buffer of the application server
/$SYNC - This command resets the buffers of the application server
/$CUA - This resets the CUA buffer of the application server
/$TAB - This resets the TABLE buffers of the application server
/$NAM - To reset the nametab buffer of the application server

Types of Work Process in Sap

There are five types of work process in sap

Dialog Work process: The Dialog work process fulfill all requests for the execution of dialog steps triggered
by an active user. The dialog work process are not used for request which take long time and which use more
cpu. Every dispatcher requires at least two dialog work processes. The dialog work process default time is 300
secs. If the dialog work process does not respond in this time, it will be terminated. Also dialog work process
are multiplexed to handle large no of user request. Learn more about multiplexing here . You can set the
maximum response time of dialog work process from transaction rz11 & set the parameter
rdisp/max_wprun_time to time you need. The no of dialog work process can be changed by changing the
parameter rdisp/wp_no_dia.

Background Work process: The background work processes execute programs that run without user
interaction. At least two background work processes are required per SAP system. More than one background
work processes can be configured per dispatcher. Usually the background work process are used for carrying
jobs that take long time to finish, like client copy, client transport etc.., Then no of background work process
can be changed by changing the parameter rdisp/wp_no_btc . There are two types of background work process.
They are A type and B type. A type background work process are used for mission critical jobs. Background
jobs of priority a have high priority than B type back ground jobs.

Update Work Process: Update work processes execute update requests. You need at least one update work
process per SAP system and you can have more than one per dispatcher. The profile parameter rdisp/wp_no_vb
is used to control the no of update work process and rdisp/wp_no_vb2 for not of update work process of type
v2. There are two types of update work process. They are v1 and v2. v1 update jobs have higher priority than v2
jobs. v1 jobs are used for critical jobs. There must be at least one V1 update work process in the SAP System.
However there can be more than than one.V2 modules describe less critical secondary changes. These are pure
statistical updates, for example, such as result calculations.

Spool work process: The Spool work process pass sequential data flows on to printers. Every SAP system
requires at least one Spool work process. However, there can be more than one per dispatcher. The parameter to
set the no of spool work process is rdisp/wp_no_spo.

Enqueue Work Process: The Enqueue work process administers the lock table in the shared memory. The lock
table contains the logical database locks of the ABAP stack. Only one enqueue work process is needed for each
                                                                                                              14
SAP system. This is present on the central instance. You can determine or find an central instance by looking the
the various work process present in it. For example, only the central instance contains enqueue and message
work process. rdisp/wp_no_enq. It is not dynamically switchable. You can see an overview of all work
processes in the application server by calling transaction sm50.



How to view locked Users in Sap

To view locked users in sap

1) Call transaction su10
Click on authorization data and scroll down
check the locked users only field as shown in figure and execute (F8).




2) Call transaction sa38 and run the program RSUSR006 . You will get a list of locked users.
3) Goto transaction ewz5 you will get users with locked status
4) Run report EWULKUSR in transaction sa38 to get the list.
5) Call transaction SUIM , goto
a) authorizations > User > User by complex search criteria >List of User Master
Records Locked Due to Incorrect Logon
or
b) user > unsuccessful logons
6) Call transaction S_BCE_68001402

How to find sap transaction codes




                                                                                                              15
Goto transction search_sap_menu enter the context or the purpose of the t-code like profile, or user, or




                                                              You will see the out put as




How to view recently accessed transactions by users

There are two ways to do that
1) Turn the audit log on by using SM19 and SM20 and analyze the audit logs.Put filters while setting up these
logs so that you can see the specific data.

2) In ST03N / ST03, you can analyze the transactions run by users by selecting the "User Profile" under the
"Analysis Views" section.

Note: ST03N keeps limited data

How the check the work process at os level in UNIX

Use these commands to check the work process and other SAP process at os level in unix

To check all the work processes:
ps -ef | grep | grep dw

To check the sap os collector
ps -ef | grep sapos

To check the message server
ps -ef | grep | grep ms



How to execute and External OS command in SAP

Use transaction SA38 to run the following report RSBDCOS0
Then enter the command you want to execute. In this example i am using command DIR
                                                                                                                16
Then press enter key , you will see the output as




What is the difference Between External Commands And External Programs in SAP

External commands are predefined commands for end users. They are operating-system independent and are
protected by authorizations, so that normal end users can schedule only those commands that the system
administrator permits them to.Like ls in unix or dir in windows. Refer to this post for information on how to run
a external command. External programs are unrestricted commands that are neither pre-defined nor restricted by
authorizations. A user with administrator authorization can enter any of these in a job step. For example ,
programs like java or other exe files

Type of Users in SAP :There are five types of users in sap

Dialog users (A)A normal dialog user is used for all logon types by exactly one person. This is used to logon
using SAP GUI. During a dialog logon, the system checks for expired/initial passwords. The user can change
his or her own password. Multiple dialog logons are checked and, if appropriate, logged. These users are used
                                                                                                                17
for carrying out normal transactions. This is an interactive type of logon. The initial multiple logons are 6. They
are set according to companies policy.

System Users (B)These are non interactive users. They are used for background processing and internal
communication in the system (such as RFC users for ALE, Workflow, TMS, and CUA). Their passwords cannot
be changed by the end users. Only the user administrator can change their passwords. Multiple logon is
permitted in these type of users. Dialog logon is not possible for these type of users.

Communication Users (C)Used for dialog-free communication between systems. It is not possible to use this
type of user for a dialog logon. Their passwords are valid for certain period of time so they expire. The users
have option to change their own passwords.

Service User (S)Dialog user available to a larger, anonymous group of users. The system does not check for
expired/initial passwords during logon. Only the user administrator can change the passwords. Generally, highly
restricted authorizations are given to this type of users.

Reference User (L)A reference user is, like the service user, a general non-person-related user. Dialog logon is
not possible with this kind of user. A reference user is used only to assign additional authorizations. To assign a
reference user to a dialog user, specify it when maintaining the dialog user on the Roles tab page


                                  Dialog          System user         Communication            Service User           Reference
                                  User                                User                                            User


Logon with SAPGUI
possible/ Interactive             Yes             No                  No                       Yes                    No
Multiple logon permitted          yes             NA                  yes                      yes                    yes
Password                          Expires or NA                       NA                       Expires or             ----NA---
                                  initialized                                                  initialized



Password can be changed           End user        User          End User                       User
by                                                Administrator                                Administrator

Derived Roles

As the name indications are derived from already existing roles.
There are two scenarios when we derive roles.

    •   The role menus are identical but the authorizations for the menu actions are different in the derived role.
    •   The menu and authorizations of the derived role are identical, but the organizational levels are different
        in the derived role.

The derived roles inherit the menu structure and functions (including transactions etc...) of the referred role.

The default authorization values of the derived role are that of the inherited role. The organizational values are
to be maintained in the derived role.
The organization level data is only copied the first time the authorization data is adjusted for the derived role. If
organization level data is maintained in the derived role, it is not overwritten by subsequent adjustments.
                                                                                                                   18
Roles derived from another cannot have any additional menu entries. The menu is maintained in the referred
role which take effect immediately in all derived roles.


To change the menu of the derived role without changing the menu of referred role you have to break the
inheritance relationship. Once the relationship breaks, the derived role is dealt as a normal role and the
inheritance relation ship cannot be re established

S_Develop Object

S_DEVELOP This is the general authorization object for ABAP/4 Development Workbench objects. It is used
to grant access authorizations for all ABAP/4 Development Workbench components.
These include:

   •    ABAP/4 development tools
   •    ABAP/4 Dictionary and Data Modeler
   •    Screen Painter and Menu Painter
   •    Function library

Object Browser and Info System This is not given to any user in the production system. If given, one can do
development activities in the production system. This is given to ABAP/4 developers only in development
systems.

What are the checks Done When a Tcode is Called in SAP

When a transaction is called, a system program makes various checks to
ensure that the user has the appropriate authorization.

   1. Is the transaction code valid? (table TSTC check).
   2. Is the transaction locked by the system administrator? (tableTSTC check).
   3. Is the user authorized to call the transaction?
   4. The authorization object S_TCODE (call transaction) contains the
      field TCD (transaction code).
   5. The user must have an authorization with a value for the selected
      transaction code.
   6. Does the transaction code have an authorization object? If so, a
      check is made that the user has authorization for this authorization
      object.

Then there are check at ABAP program level and if these checks
are succesful the the authorization checks are successful. If any one
of the checks fail, the user cannot execute the tcode.

Changing the Right Hand Side Logo

Consider a following situation:-

Transaction code - SMW0
X - Binary data for WebRFC application
Hit Enter
Click Execute
                                                                                                              19
Click Settings -> Maintain MIME types
Click the Create button
Fill in :- TYPE : image/gif EXTENSION : .GIF
Click Save
Click Back to the Binary data for WebRFC
Click Create
Fill in :- Obj. name : ZXXXX.GIF Description : Company Logo
Click Import and specify the filename where your GIF file is located.File type is BIN. Finish press the Transfer
button.
If successful, your logo will be shown in the Binary data for WebRFC.
Transaction codeSM30 - Table/View - SSM_CUST
Click Maintain
Click New Entries

Name              Value to be set
START_IMAGE ZXXXX.GIF
RESIZE_IMAGE NO
 Logoff and Login again



What is the difference between Sequential Read and Direct Read

It is a very common misconception that "sequential reads in SM50 means that a full table scan is executed and
an index is not used". The correct definition/concept is:

Direct read
The term "Direct read" refers to accesses in which a maximum of one line is returned by the database. This
includes summarization queries such as SELECT COUNT and fully-qualified primary key accesses.

Sequential Read
A "Sequential Read" refers to all other read database accesses, in which there may be more than one line
returned. It is true that the term "Sequential read" is a little deceptive since it implies that blocks are always read
sequentially (as in a full table scan). In reality, however, when you perform a trace on these queries you will see
that index is used in most cases.

So, "Direct read" and "Sequential read" in SM50 are worthless for a performance analysis. It only shows that
the processes are running and processing one of the queries directed at the database interface.

For expensive SQL statements analysis, "Reads/User Calls" value (TCODE BACOCKPIT or ST04OLD) is an
indication. If this value is above 15, the SQL statements should be checked in detail.

What is the difference between V1 and V2 update?

In SAP, the update process will be performed in several steps. The time-critical part of an update is called a V1
update, and the non-time-critical part is called as V2 update.

The V1 update will be handled by the UPD work processes (UPD: Update process for making V1 (time-critical)
database changes) and the V2 will be handled by the UP2 work process (UP2: Update process for executing V2
(not time-critical) database changes).

                                                                                                                    20
To view the status of these updates, use transaction SM13. However, if you see any failed updates, find out the
root cause and advise the users to perform the task again rather than posting it back from SM13.

What is the function of ARCH?

Archive (ARCH) copies the on-line redo log files to archival storage when they are full. ARCH is active only
when a database redo log is used in ARCHIVELOG mode.

What is the function of Redo Log and Redo Log buffer?

The primary function of the redo log is to record all the changes made to data. Changes made to entries are
written to the on-line redo log files. So that they can be used in roll forward operations during database
recovery.

When a change has happened, the entry will be first stored in the SGA. SGA has the following components:

1. Shared pool
2. Database buffer cache (DB cache)
3. Redolog Buffer


4. Large pool
5. Java Pool


Shared pool, consists of shared SQL area and shared PL/SQL area. DB cache will have the most recently used
blocks & the blocks that needs to be written to the datafile. Redolog Buffer contains the changed/redo data and
Large pool is used only in parallel sever environment.

The SGA may also use a Java pool, if java stored procedures are used.

When a SQL statement is executed, the output (data) will be stored in these DB cache as dirty blocks, and then
moved into redo log buffers, which will be updated at a later stage.

What is the difference between Open SQL & Native SQL?

Open SQL allows you to access all database tables known to the SAP system, regardless of the database
manufacturer. Sometimes, however, we may want to use database-specific SQL statements called Native SQL in
the ABAP/4 program.
To avoid incompatibilities between different database tables and also to make ABAP/4 programs independent of
the database system in use, SAP has created a set of separate SQL statements called Open SQL. Open SQL
contains a subset of standard SQL statements as well as some enhancements which are specific to SAP.
A database interface translates SAP's Open SQL statements into SQL commands specific to the database in use.
Native SQL statements access the database directly.

What is the difference among “dropping a table”, “truncating a table” and “deleting all records” from a
table.

Drop Table - will remove the existance of the table from the database along with its data and structure and all
the constraints. The table will be no longer available. This is an DDL Statement.


                                                                                                                  21
Truncate Table - will remove all the rows from a table. It will not delete the table. Its a DDL statement that
means the deleted rows cannot be reverted back by ROLLBACK statement. It will only be used if users needs
to delete the entire rows from a tabls. No conditions will be applied in Truncate.

Delete Table - is a DML statement which will delete rows from a table according to the matching criteria
mentions in the ‘where’ clause and these rows can be reverted back by ‘ROLLBACK’ statement if ‘COMMIT’
is not fired. Delete statement will used in both the cases, eitehr selected rows or entire rows from tables.

What are indexes?

Indexes are described as a copy of a database table reduced to specific fields. This data exists in sorted form.
This sorting form ease fast access to the field of the tables. In order that other fields are also read, a pointer to
the associated record of the actual table are included in the index. Yhe indexes are activated along with the table
and are created automatically with it in the database.

Explain the terms Primary index, and Secondary index?

Primary Index: The primary index contains key fields of a table and a pointer to non-key fields of the table. The
primary index is created automatically when a table is created in database and moreover you can further define
reference to the primary index which are known as Secondary index.




                                                                                                                  22

								
To top