User Exits for TO Processing
With this user exit, you can update your own data at the end of the transfer order confirmation.
General information about transfer order processing
Transfer order processing and confirmation in the WM system are divided into the
- SAPML03T Screens, transactions
- SAPLL03A Item creation (TO core)
- SAPLL03B Function modules for external purposes
- SAPLL03T Update tasks
These four programs work together as follows:
SAPML03T contains all the transfer order processing screens. All related transactions are initiated using screens from this program. All corresponding data is read, checked and recorded here (transportation
requirements in transfer order: transportation requirements, transfer order: confirmation, etc.)
Actual creation or confirmation of items occurs via function modules in SAPLL03A , where the transfer orders are first created and recorded internally as the putaway and picking strategies and several
checks are run. Changes in storage location, storage unit or stock that may arise from individual transfer order items are simulated in internal tables.
Item creation and confirmation occurs in two steps. First, the item is generated internally and all checks are carried out. Then, the internal
tables are updated via a second function module and the transfer order items are added internally. You can view this two-step process by running transfer order creation in the foreground (screen SAPML03T 102). First, the system generates the transfer order item, then issues
a warning. If entries are made on the screen, the system regenerates the transfer order item (including all checks) and the previous one is discarded. The internal tables are updated after the warning disappears.
The confirmation process follows a similar procedure.
User action 'post' in SAPML03T is carried out after an item is created or confirmed, which in turn calls up function module SAPLL03A , which then activates the update function modules in SAPLL03T. These function modules are normally processed
asynchronously (supplement IN UPDATE TASK), but can also occur synchronously (see below). All changes in storage location, storage unit, stock, transportation requirements or transfer orders are made in these function modules.
SAPLL03B contains function modules for creating and confirming
transfer orders which can be used instead of transactions. First, the normal screen run of the parameters transmitted is reviewed. Reading, checking and recording of the data and part of the flow logic occurs via external performs in SAPML03T
and in a common data area, to avoid redundant code. Item creation and confirmation takes place in function modules found in SAPLL03A.
Function modules L_TO_CREATE_TR and L_TO_CREATE_DN, for example, are used in collective processing in the SAP standard system. Updating occurs synchronously in this case.
Call transaction and other important requirements
The customer is performed at the end of function module L_TA_QUITTIEREN in SAPLL03T. This means that the source code can run both asynchronously in the update program and online. For this reason, all
error messages must be issued as abend messages to guarantee a correct termination with rollback. Furthermore, you must not use any key words such as COMMIT WORK, ROLLBACK WORK, LEAVE, or the like (neither directly nor indirectly when calling other function modules).
Therefore, you must never start a transfer order creation via a function module. If the call is performed asynchronously, you cannot access data of other user exits of the TO processing there were collected online.
Parameters and options
The user exit in the program is function module EXIT_SAPLL03T_002. In order to be able to use the user exit, you must create Include ZXLTOU02 and activate the enhancement with transaction CMOD. As parameters, you can use the TO header (import parameter I_LTAK_VB) and the items (table
parameter T_LTAP_VB). All database changes due to the transfer order have already been performed. The TO items to be confirmed are confirmed. With the switches PQUIT and PQUIA, you can determine the items that were confirmed because of this update call.
T_LTAP_VB-PQUIT = ' ' => THe item is not yet confirmed.
T_LTAP_VB-PQUIT = 'X' => The item is confirmed.
T_LTAP_VB-PQUIA = ' ' => The item has not yet been confirmed.
T_LTAP_VB-PQUIA = 'X' => The item has already been confirmed
- EXIT_SAPLL03T_002: User Exit at End of TO Confirmation (in Update Task)