Simplify SAP R/3 development with Excel VBA/VB RFC  
Home> UserExit>MWMIDI04



User Exits for IDOC Setup in WM
You can influence the processing of IDOCs of messge type WMBBIN (block storage bins) that are sent to the SAP System from external systems via MM-MOB or WM-LSR interfaces using this user exit. A customer-specific processing can also be accessed in this case.

General information on IDOC processing during receipt

The IDOCS set up in the external system are passed on to the SAP application. The ALE interface is responsible for receiving this data and for saving it in the SAP System. Using the Customizing tables, you determine how the incoming IDOCs are to be processed. In the case of the MM-MOB and WM-LSR interfaces, the IDOCs are processed immediately by the application as soon as they are received. The IDOCS are processed in a function module that is determined and controlled by ALE via the message type. The processing results are returned to ALE by the application so that the IDOCS can be marked accordingly and error processing can be activated, if required.

Call location and important marginal conditions

The user exit is programmed in the function module which processes the IDOCs of message type WMMBIN and occurs after the IDOC has been taken and checked, but before the direct processing in the application is initiated. This means that the data for the block has already been determined and edited, but, that the function module for the update has not yet been accessed. The standard function module for processing message type WMBBIN is called L_IDOC_INPUT_WMBBIN. The IDOCs are processed online, which means that the source code is also run online.

If an error occurs, messages must not be output because the processing runs in the background and the result of the processing must always be returned to the ALE interface. For this reason, key words such as MESSAGE, COMMIT WORK, LEAVE and so on must not be used. If errors do occur in the user exit and these should be passed on to the ALE interface or influence the result of the processing, you must also use the user exit MWMIDI01 (EXIT_SAPLLIDI_001) since this is the only exit that can take separate errors into account (see the documentation for the user exit).

Parameters and options

The user exit in the program is function module EXIT_SAPLLIDI_004. To be able to use it, you need to create Include zxlidu08 and activate the enhancement with transaction CMOD. You can access the following data as parameters:

  • Data already determined from the received IDOC:
    • Header record of the block IDOC (import parameter X_LBINH).
    • Table of the blocking items (table parameter T_LBINI)
  • Data of the received IDOCs:
    • Control record of the IDOC (import parameter I_IDOC_CONTROL)
    • Data records of the IDOC (table parameter T_IDOC_DATA)

This user exit can basically be used:

  • To influence the data determined for blocking or unblocking.
  • All data can be changed in this case.
  • To analyze and process data which is transferred via user-defined segments.
  • To access additional activities.


Some of the possible applications are represented below.

  • You want to send a repair order after blocking, for example via MAIL.
  • You want to analyze the blocking reason in the form of a text in a separate segment.
  • You want to update your own tables, for example with statistical data.

  • Function/Program:
    • EXIT_SAPLLIDI_004: Customer Exit for IDOC WMBBID01 (Block Storage Bins) on Receipt