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 enter the SAP notes number. 4. Then the sap notes is implemented if its status is new ( click on button
and
)
The uses of using note assistant are 1. 2. 3. 4.
It keeps a track of the processing status of all the SAP notes in the system The notes can be de-implemented It check consistency of SAP notes with the release of SAP system 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 User
System user
Communication User
Service User
Reference User
Logon with SAPGUI possible/ Interactive
Yes
No
No
Yes
No
Multiple logon permitted
yes
NA
yes
yes
yes
Password
Expires or NA initialized
NA
Expires or initialized
----NA---
Password can be changed by
End user
User End User Administrator
User 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. 2. 3. 4.
Is the transaction code valid? (table TSTC check). Is the transaction locked by the system administrator? (tableTSTC check). Is the user authorized to call the transaction? 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