SAP Tips & Tricks
Of course it does not guarantee a successful implementation. It is a great deal of summed up aid, though.
Some special features allow you wide modifications without changing standard SAP R/3 objects. Those techniques are not as widespread as they should be. In fact they are powerful tools.
SAP R/3 Security
Simple changes can rise your system security. Usage of SAProuter is a good choice when correctly implemented. Login through SAP LogonPad (from version 3.0f onwards) improve the access control. SAP profile parameters shall also contain:
SAP R/3 Programming
Indeed these powerful ABAP/4 functions are very interesting and can bring some advantages. Improve your home development easily. They belong to standard objects and should never be changed.
- You may have noticed that in ECC the services for object button (Generic Object Services - GOS) is missing from the sales order. This can be useful to find related IDOCS but was taken off in 4.7 due to performance reasons. If you set user profile/parameter SD_SWU_ACTIVE to X by going to SYSTEM-USERPRFOLE-OWNDATA the button will be available to you again.
- Logging on without being authorized
Client 066 usually exists in a SAP system due to EarlyWatch services. Often this client does not have master users. If it is true, anyone can log into the system using the client 066, user SAP*, and password PASS. Enjoy yourself. - Special copy and paste
Click on the area and press CTRL+Y. It allows you to copy many lines at once and paste them afterwards. - Long messages on footer
Click on the message and hold the mouse button. After moving the mouse to the left side. - Direct input logs
The transaction BMV0 (direct input logs) shows all direct input logs. - Graphics on SAPscript
The program RSTXLDMC can be used to upload graphics (file extension .tif on PC files) into individual standard text. - Adding icons
Check the icon code using transaction ICON. A technical view can be found at the include named «ICON». Sequences of characters begin and finish with the symbol @. Even plain files under operating system can contain those strings. - Filling up an empty date field quickly
Strike the key F4 (or click on matchcode symbol) and press ESCAPE. The current date is automatically set. - Setting up module FI/CO without using IMG
Almost all parameters can be set using the transactions ORFA (Asset Accounting), ORFB (Financial Accounting), and ORKS (Cost Center Accounting). - Displaying check object when not authorized
Soon after the lock try to access the transaction SU53. It reports the last objects verified and also the respective values. - Table analyses between two systems
The contents of a table between two systems can be checked through the transaction OY19. - Correction and transport system
The transaction SE10 provides the easiest way to manage any request/transport and corrections. - General command field formats
/n Skip to the next record if you are processing one batch input session /bend Cancel a batch input foreground process /nend Close all R/3 sessions and logoff /nxxxx Call the transaction xxxx in the same session /o Generate a session list /oxxxx Call the transaction xxxx in an additional session /i Delete the current session /h Turn the debug mode on /$tab Reset all buffers (for System Administrators) /$sync Synchronize instances buffers (for System Administrators) - Report command field formats
%pri Print the current report %pc Download the current report %sc Call the find function p+ Go to the next page p- Go to the previous page p++ Go to the last page p-- Go to the first page - Helpful reports
RSCLTCOP Copy tables across clients RSAVGL00 Table adjustment across clients RSINCL00 Extended program list RSBDCSUB Release batch-input sessions automatically RSTXSCRP Transport SAPscript files across systems RSORAREL Get the Oracle Release RGUGBR00 Substitution/Validation utility RSPARAM Display all instance parameters RSUSR003 Check the passwords of users SAP* and DDIC in all clients RSUSR006 List users last login - Unconditional mode when importing or exporting a request/transport
Run the command R3trans -u under user «SysID»adm. - Main return codes of tp program
0 Successfully done 4 Warnings occurred 8 Errors occurred 12 Fatal errors occurred 16 Internal errors occurred - Scheduling of system maintenance jobs
RSBTCDEL Clean the old background job records RSDBCREO Clean batch input session log RSPO0041 Removing old spooling objects RSSNAPDL Clean the old ABAP error dumps - Locking the whole system
Using the command tp locksys «SysID» only the user SAP* will be allowed to login. The command tp unlocksys «SysID» cancels the lock. - Connection between SAP R/3 and operating system
The command sapevt can be used to trigger an event from the operation system. Thus, a job previously defined within R/3 will be released. - SQL code help
Run the command oerr ora «error number» under user ora«SysID». - Oracle import and export explanations
Run the command imp help=yes under user ora«SysID». This format can also be used with exp, impst, and expst.
Of course it does not guarantee a successful implementation. It is a great deal of summed up aid, though.
- Team integration has to be enhanced
- Set high standards of performance for implementation team
- IT teams and users have to work closely during the implementation
- New ways of thinking and acting must not be discarded
- Do not underestimate the user training needs
- Project management should be on the critical list
- The nearest SAP branch should be your partner
- Consultants are not always the key to succeed
- Consultants are a good source of knowledge. On the other hand, letting them make configuration changes the transfer of knowledge will be harmed
- Foreign consultants usually do not know country-specific details
- Deepening your basis knowledge is always useful
- Avoid changing standard R/3 objects as much as possible
- Always follow the SAP rules to give names to your own objects
- Establish SAP connection as soon as possible
- Exchange information with other companies
- Focus on interfaces with non-R/3 applications
- Plan the whole environment carefully (servers, network, protocols, etc.)
- Development and production environment should be totally independent
Some special features allow you wide modifications without changing standard SAP R/3 objects. Those techniques are not as widespread as they should be. In fact they are powerful tools.
- Field exit
After entering a value in a field, it can be checked through a field exit. The system makes the field value available to be checked and changed in an ABAP/4 function. - User exit
Points previously set in the system that let you evaluate data. The fields available are also previously defined by SAP. All fields value available can be checked in an ABAP/4 program. - Validation
It allows solid data entry regarding special rules. According to previous rules, the system can evaluate an entry and a message can appear on the user's terminal if a check statement is not met. A validation step contains prerequisite statement and check statement. Both of them are defined using Boolean Logic or calling an ABAP/4 form. - Substitution
Fields contents can be changed using substitution. When data are being entered, the data can be substituted by another value regarding rules previously defined. A substitution step contains prerequisite statement, substitution value and substitution exit. All of them are defined using Boolean Logic or calling an ABAP/4 form. - Set
Values or ranges of values are specified under a set name. Sets are easier to create and maintain instead of using tables. They give you more flexibility when maintaining your system. - Key words
It allows changes on field description according to data element. The short key word used on most screen to identify the corresponding field contents can be changed too. - Requirements & formulas
ABAP/4 forms that can be used to handle pricing procedures, rounding rules, copy and data transport Sales activities.
- System gets stuck
It happens mostly when archive area is overloaded. Run the program brarchive with deletion option to release disk space. - Short dump
Not always the problem is technical. Try to create all SAPoffice users through transaction SO32 (create all SAPoffice users) and review your application data carefully. - Field exits are completely ignored
Make sure your SAP profile parameter contains the option abap/fieldexit = yes. - Transaction SE16 (table contents) does not work properly
Make usage of the menu option to regenerate the display program. You can also try changing key words according to field names. Choose Option -> Parameters users. - Rollback segments are too small
Before increasing up the rollback segment size you should verify your programs. Very often the problem belongs to them. - Files for rollback segments are already enormous
Check the rollback segments configuration. It has to match the allocated area on tablespaces. Changes have to be done using Oracle tools. - Extended help under windows does not link correctly
Check the file sapdoccd.ini under your presentation server. It must be present in the main windows directory and should assign to help files directory. - Release procedure with classification does not work
As a matter of fact you are not the only one to notice it. It hardly works. Before using release strategy you should apply all notes on OSS. Pray might be useful too. - Transport area is overloaded
The command tp clearold «SysID» cleans up the transport area according to parameters previously set on the plain file TPPARAM. - Instance does not establish communication
Shutdown the whole system and check the Interprocess Communication Facilities. Any references should be found. Either the command IPCS (UNIX) or showipc «INSTANCE NUMBER» (SAP) show all message queue, semaphore set and shared memory identifier. Before trying again you have to remove them using the command IPCRM (UNIX) or cleanipc «INSTANCE NUMBER» (SAP).
| Note: | Research based on version 3.0f under Unix, Oracle data base and Windows. |
Simple changes can rise your system security. Usage of SAProuter is a good choice when correctly implemented. Login through SAP LogonPad (from version 3.0f onwards) improve the access control. SAP profile parameters shall also contain:
- Rdisp/gui_auto_logout = 1800
The user connection is closed after 30 minutes without usage. - Login/fails_to_session_end = 3
After 3 wrong password the connection is automaticly closed. - Login/fails_to_users_lock = 5
After 5 wrong password the user is locked. - Login/min_password_lng = 6
Password length at least 6 characters. - Login/password_expiration_time = 90
Password expires after 3 months.
| Note: | I do not have to waste my time telling you to change all default passwords. |
| Make sure to have the master user SAP* in all clients otherwise anyone can log into your system. See Tips & Tricks. |
Indeed these powerful ABAP/4 functions are very interesting and can bring some advantages. Improve your home development easily. They belong to standard objects and should never be changed.
- Ws_upload
Transfer files from the frontend to the application server. - Ws_download
Transfer files from the application server to the frontend. - Ws_excel
Download files at the frontend in excel format. - Bp_joblog_read
Fetch job log executions. - Rs_send_mail_for_spoollist
Send message from ABAP/4 program to SAPoffice. - Bp_event_raise
Trigger an event from ABAP/4 program. - So_wind_spool_list
Browse printer spool numbers according to user informed. - So_spool_read
Fetch printer spool according to the spool number informed. - G_set_get_all_values
Fetch values from a set. - Rzl_sleep
Hang the current application from 1 to 5 seconds. - Rzl_submit
Submit a remote report. - Ws_execute
Execute an external program on the presentation server. - Ws_file_delete
Delete file at the frontend. - Ws_volume_get
Get the label from a frontend device. - Ws_msg
Create a dialog box in which you display an one-line message. - Popup_to_display_text
Create a dialog box in which you display a two-line message. - Popup_to_confirm_step
Create a dialog box in which you make a question whether the user wishes to perform the step. - Popup_to_confirm_with_message
Create a dialog box in which you inform the user about a specific decision point during an action. - Popup_to_confirm_with_value
Create a dialog box in which you make a question whether the user wishes to perform a processing step with a particular object. - Popup_to_confirm_loss_of_data
Create a dialog box in which you make a question whether the user wishes to perform a processing step with loss of data. - Popup_to_decide
Create a dialog box in which you require the user between the two processing alternatives, or to cancel the action. - Popup_to_decide_with_message
Create a dialog box in which you inform the user about a specific decision point via a diagnosis text.