all USER EXIT's (4.6c version)
- OVERVIEW by SAP:
This transaction consists of various components (including
function exits, menu options and subscreens).
For example, an SAP enhancement may comprise a subscreen
and the function exits for data transfer. Customers
simply select the components they wish to edit, combine
them together in enhancement projects, edit the components
and activate the projects.
Creating a project
First, you must give the project a name. In order to
be able to locate projects easily, you are recommended
to choose names which contain the name of the transaction
or module pool. When you press the function key Create,
you go to an attributes screen where you can enter a
short description of the project. If you choose a project
name that already exists, you get an error message.
If you enter * as the project name, you get a list of
all projects created so far. When you save with F11,
you have to enter a correction number (see Corrections/Transport).
Assigning SAP enhancements to a project
On the initial screen, select SAP enhancements and then
Change (or Goto -> Components on the attributes screen).
On the next screen, you can specify SAP enhancements
by name. By selecting SAP enhancements -> Find enhancements
(and, if required, after restricting selection in the
next dialog box, or with components), you can display
a list of existing SAP enhancements you want to include
in the project. When you choose enhancements from this
list to assign to a project, they cannot be used by
Editing enhancement components
To edit SAP enhancement components, select Enhancement
components and then Change. If you place the cursor
on a function exit, you go into the ABAP/4 Editor where
you can enter the appropriate code. If the cursor is
on a menu enhancement, you can change the menu text.
If it is on a screen enhancement and you press the Edit
component key, you can create and design the screen
(subscreen) you want to include. To find out what
you can do with each component, refer to the SAP documentation.
When editing function exits and screen enhancements,
you should be aware of the following:
Although you can create screens, text elements and such
like for the main program SAPLXyyy, you cannot change
the program itself, since it is created by SAP. The
program contains the includes LXyyyTOP, LXyyyUXX, LXyyyUnn
and LXyyyXXX, which also cannot be modified, as well
as the include ZXyyyZZZ, which is created and edited
by the customer. The includes LXyyyTOP and LXyyyUnn
contain the includes ZXyyyTOP and ZXyyyUnn; these are
also created and edited by the customer and do not exist
for SAP. Since you have to define the message ID in
the FUNCTION-POOL statement in the include LXyyyTOP,
you must specify it when outputting a message:
The include LXyyyUnn contains the function exit source
code, which you can only display. It also contains
the include ZXyyyUnn. If you double-click on the include
name, you can display the source code of ZXyyyUnn and
then use a pushbutton to switch to change mode and enter
code. Of course, you can edit these includes "directly"
using Transaction SE38. Since they appear within a function
modules, they cannot contain events (subroutines, modules...).
If you want to define global data, the include LXyyyTOP
contains the include ZXyyyTOP, which you can use to
make data declarations. When you create global data
while navigating through the transaction, it is automatically
defined in the include ZXyyyTOP. You may require global
data when editing the screen areas: if the function
exit interfaces for data transfer are not global, then
the fields required must firstly be copied to global
fields, in order to make them known to the complete
When creating your own includes, ensure that you observe
the naming convention properly (the first 5 characters
are ZXyyy) and that you store them in the include ZXyyyXXX,
not in the main program SAPLXyyy. This is automatic
if you are navigating through the transaction.
Sometimes example code from SAP is included with function
modules. If desired, this can be incorporated into the
include ZXyyyUnn belonging to the function module using
CMOD (Change enhancement components --> move cursor
to function module --> function ???). If this file already
contains customer code, the SAP code is added at the
end of the file. The function group can also contain
subroutines written by SAP, which can be called if required.
The customer cannot make changes to these subroutines.
Refer to the SAP documentation for information on whether
example code or subroutines exist, and how they may
In the case of screen areas, note that when the relevant
screen is created the screen type "subscreen" is selected
in the screen attributes.
Since a project is generally inactive during editing,
the SAP transactions affected are not changed.
Activating a project
When you activate a project, all its components are
activated and the project status is set to "active".
At the same time, all the programs, screens and menu
interfaces associated with the project are regenerated
(in the case of programs, only when they are started).
When you start the enhanced transactions, you see the
enhancements. If you use the Deactivate function to
reverse activation of a project, the status is reset
to "inactive". If the (de)activation process terminates,
the project status does not change but may contain both
active and inactive components. To restore the project
to a consistent state, restart the (de)activation process.
When you create/change a project, you must create a
correction. This correction contains only the attributes
and the SAP enhancements associated with a project,
as well as a program that is automatically started with
the transport and activates the project in the target
system. Corrections for individual components are created
only when you edit the relevant component. This allows
several users to edit different components from the
same project at the same time without the use of a network.
Since activating a project affects all components, you
should transport all components associated with a project
at the same time, in other words with the same transport
request. To ensure that the project is activated automatically
in the target system, the correction that contains the
program concerned must also be in the same transport
request. If this is not the case, or the project has
not been activated in the target system for other reaons,
you can also activate it by manually starting the program
Information on User Exit