Sap Abap Tactics
Sap Abap Tactics
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.
/n
/bend
/nend
/nxxxx
/o
/oxxxx
/i
/h
/$tab
/$sync
Skip to the next record if you are processing one batch input session
Cancel a batch input foreground process
Close all R/3 sessions and logoff
Call the transaction xxxx in the same session
Generate a session list
Call the transaction xxxx in an additional session
Delete the current session
Turn the debug mode on
Reset all buffers (for System Administrators)
Synchronize instances buffers (for System Administrators)
Helpful reports
RSCLTCOP
RSAVGL00
RSINCL00
RSBDCSUB
RSTXSCRP
RSORAREL
RGUGBR00
RSPARAM
RSUSR003
RSUSR006
Successfully done
Warnings occurred
Errors occurred
Fatal errors occurred
Internal errors occurred
TOP
Of course it does not guarantee a successful implementation. It is a great deal of summed up aid, though.
Consultants are a good source of knowledge. On the other hand, letting them make configuration
changes the transfer of knowledge will be harmed
Always follow the SAP rules to give names to your own objects
TOP
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.
TOP
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.
Note: Research based on version 3.0f under Unix, Oracle data base and Windows.
TOP
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.
TOP
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.
Note: These functions have been used and have worked as well as they were supposed to
do.
TOP
Information Technology has many key words and SAP R/3 has introduced many others. In order to
understand even better this field you should keep in mind those terms.
Application server
The application server is used to run the business application programs in the R/3 client/server
concept. The application modules are loaded from the data base server to the application server as
required. Thus the application server requires only storage capacity to accommodate UNIX,
Swapping and the SAP runtime environment.
Batch Input
A technique to input data safely. It ensures application data integrity for background interfaces. It
pretends to be someone typing. See also direct input.
Central System
In an R/3 central system, both application and data base software are run on one computer.
Client
In commercial, organizational and technical terms, a self-contained unit in an R/3 system with
separate master records and its owns set of tables.
Client/Server System
Client/server systems are structured modularly, with components working in a sender/receiver
relationship. Software components can also be used in a client/server relationship.
Communication Server
It provides the connection between local area and wide area networks and may be either a router,
a bridge or a gateway. In R/3 installations, the communication server must support the TCP/IP
protocol over wide area networks.
Company code
The smallest organizational unit for which a complete self-contained set of accounts can be drawn
up for purposes of external reporting. This involves recording all relevant transactions and
generating all supporting documents for legally-required financial statements, such as balance
sheets and profit and loss statements.
Computer type
The R/3 system supports various computer types of SAP's platform partners, such as Bull, DEC,
IBM and HP. The suitability of a particular computer type depends on sufficient CPU
performance.
Correction
It contains all the objects that a developer has changed or created. It also controls customizing
that has been maintained.
CSP
A system to help SAP employees to give comprehensive support to their clients.
Direct Input
A recent technique to input data safely. It ensures application data integrity for background
interfaces. See also batch input.
Dispatcher
The system R/3 agent that identifies the type of task (on-line, update, batch, etc.) and sends the
job to an idle work process.
EarlyWatch
It is a service that entails having your R/3 installation regularly inspected by SAP employees, in
other to ensure high system availability and high data throughput at all time.
Ethernet
It is a LAN architecture using bus topology. The transmission speed is 10 MBit/s.
Field status
Indicator that specifies whether a field can take an entry in the entry screen or if it must be filled.
Firewall
It is a means of controlling access through a public network to a private network.
Instance
It means application server and each one has its own set of work processes.
Kernel
It means a standard core previously configured. A set of default parameters delivered with the
system.
Matchcode
A tool for finding specific record. It is made up of search terms. It is used to find possible entries
for an input field.
Number range
A range of numbers that are laid down per file for the assignment of document numbers. It can be
internal (carried out automatically by the system) or external (carried out manually by the user).
OLE
It is a technique introduced by Microsoft to incorporate objects of one application into another.
Repair
It contains all the objects that a developer has changed but the originals of the objects are located
in another system.
RFC
A way to implement communication between application programs via Abap/4 function call.
Semaphores
When a work process locks a resource, it sets a semaphore. Another work process that also wants
to access it must then wait.
SysID
A set of three letters or number that identify a system. Some sets are not allowed because they are
used by SAP. They are informed when the system is installed.
TCP/IP
It is the most widely used transport protocol for open systems. R/3 clients and servers
communicate using TCP/IP.
Telnet
It provides terminal access to hosts using TCP/IP protocol. It is a well-known command among
Systems Administrators.
Token Ring
It is a LAN architecture with ring topology. The transmission speed is 4 MBit/s or 16 MBit/s.
This involves a 'free token' which circles the loop picking up transmissions. The receiver station
places a confirmation bit into the busy token. As soon as the busy token reaches the sender station
again, it is converted back to a free token and sent on to the next station.
Transport
It is a request to transport objects from the software development environment, identified as the
source system, to the specified target system.
Work process
Work processes perform the bulk of the processing carried out by SAP systems. They perform
dialog steps in user transactions and carry out updates, lock management, printing services, and
so on.
Workbench
The ABAP/4 Workbench, a graphical programming environment, is used to create application
programs. The programming tools are accessed using buttons, dialogs and windows.
Workflow
It consists of time and logical sequence of work items, which are precessed by human agents or
mechanical processing units.
X.25
It is a standardized network access protocol for the packet switching network. The maximum
transmission speed is 64 KBit/s.
E070 Transport
header
The table E070 stores the names of all transport requests in the
system, both the released and open ones. Tasks are treated as
transport requests with a link to the parent transport.
The table contains the master entry for all orders ever since created in
the development system along with the status
E071 object list
E071K Keys for
TABU
objects
E070 Transport
header View with
texts
E070CRE
ATE Creation
Informati
on
Annotating texts will be stored in E070T. E070 and E07T (sic! ) are
combined in view E070V.
The table E070CREATE contains the creation information of nonreleased transport orders. If the TO is released the entry is removed
from E070CREATE. Thus E070CREATE contains and only contains those
TOs which are open for current work.
E070C Client
informati
on
Erroneous
Transport
s
Transport
Status
Retrieval
E070 Transport
header
E070 Transport
header
E070 Transport
header
The table has a field INT_STATUS that determines the actual state the
tarnsport is in. The list of stati is taken from the report RDDPROTL:
When SAP imports a transport request in a target system it will also try
to generate the objects. It happens that objects cannot be generated
because another object is not ready yet. If you created a new field in a
table with a new data element, then the new table can only be
generated when you also imported and generated the data element
before. SAP checks thoroughly for those dependencies and sorts and
generates the objects in its correct sequence.
If you transport an ABAP that uses a newly created function module,
you should always put the function group into the same request as the
ABAP. Do not split it up, because the purpose of transport request is to
remind you, that the ABAP needs the function. That is what transport
requests are made for. If you forget to transport the function the ABAP
will compile correctly but will eventually get a run-time error, maybe
long after you transported and have already forgotten about it.
If you also use the new field in an Function Module, the Function
Module will only compile successfully, if the table is generated correctly
before. If you transport a modified table and the Function Module in
one request and the data element in another, the Function Module
generation will fail, because the table does not generate. If you then
transport the data element in a second request, the table will
automatically be generated, not so the Function Module, because it is
not informed about the modification of the table.
Transport requests are log files, that record all the modifications in a system.
These log files can then be used to copy the modifications to a master system.
Transport request
logs all
modifications
TP-Utility
The created file can then imported in the target system. This is
done by the TP-Utility which is a program, that
1. reads the file,
2. replaces or inserts all the objects in the target system by
the ones found in the transport file
3. generates all modifies objects and their dependent
objects in the proper order
ABAPs can be
triggered
automatically from
a transport
SAP's Transport and repair Management System (TMS) provides a unique facility, which allows
to easily remember all modifications, a developer or customizer made in a development system.
Any modification is recorded in a transport request, which are structured into transport tasks.
After finishing a section of work, the transport tasks are released and the request is exported
into a UNIX file.
What Happens
When a Transport
Request Is
Exported?
As the TMS records only what you touch and not what you did,
What Do I Do, if I the solution is straight forward. You must delete the undesired
Created An Object object in your development system. When the transport request
By Mistake
is exported, the TMS will realize, that the object does no longer
exist. However, it cannot know, if it has been eventually
transported to the target system before. It will export thus the
information, that the object has been deleted, and try to delete
the object in the target system as well. If the object never
existed in the target, there is actually no problem. It is simply
trying to kill a phantom.
Make it local. Every repository object belongs to a development
What, If I Do not class (Entwicklungsklasse). Every development class is marked
Want To Transport as either local or transportable. There is one default local
An Object
development class, called $TMP. This class is automatically
assigned, if you press the local object button, when being ask for
a transport request, the first time you try to save a modified
object.