Function Modules and Customer Exits in WMS 

Use

You can use function modules and customer exits (enhancements) to replace many existing batch input processes that are used in WM. Additionally, you can use these modules to combine several transactions into one simple screen or to enhance the current functionality of your system to meet the specific requirements of your organization.

Processing TRs using Function Modules

It is possible to create and change transfer requirements in Warehouse Management using function modules. You can and should use these function modules instead of existing batch input processes. This will significantly simplify and improve the performance in comparison with batch processing. All plausibility checks are carried out in the same manner as with the creation of transfer requirements using batch input.

The following function modules are available for WM:

Function Modules for Transfer Requirements

Use...

to...

L_TR_CREATE_CHECK

perform plausibility checks

L_TR_CREATE_UPDATE

perform database updates according to plausibility checks

L_TR_CREATE

perform plausibility checks and database updates

L_TR_CANCEL

cancel plausibility checks and database updates

Processing TOs using Function Modules

You can create, confirm, and change transfer orders in Warehouse Management using the function modules listed below.

The online transfer order processing is divided into three reports.

Reports

Description

SAPML03T

Report SAPML03T contains all the screens and tasks necessary to process external documents.

Function group

Description

L03A

Function group L03A contains essential internal data for creating and confirming transfer orders and calls up the update program. The function modules from group L03A are for internal use only, and are therefore not released to customers.

L03B

Function group L03B contains function modules that you should use instead of batch input or CALL TRANSACTION USING, since they are considerably easier to manage.

Function Modules for Transfer Orders

Use...

to...

L_TO_CREATE_SINGLE

Create a transfer order with one item

L_TO_CREATE_MULTIPLE

Create a transfer order with two or more items

L_TO_CREATE_MOVE_SU

Create a transfer order to move a storage unit

L_TO_CREATE_MOVE_LSR

Initiate a stock transfer of storage units from an external system

L_TO_CREATE_TR

Create a transfer order for a transfer requirement

L_TO_CREATE_DN

Create a transfer order for a delivery

L_TO_CONFIRM

Confirm a transfer order

L_TO_CONFIRM_SU

Confirm a transfer order for a storage unit

L_TO_CANCEL

Cancel a transfer order

L_TO_CANCEL_SU

Cancel a transfer order for a storage unit

L_REF_CREATE

Create transfer orders using multiple processing

L_TO_CREATE_2_STEP_PICKING

Create transfer orders for 2-step picking

L_TO_CREATE_POSTING_CHANGE

Create transfer orders for posting changes

Customer Exits for TR Selection

The following customer exits permit you to create customer-specific projects for use in selecting transfer requirements for the automatic creation of transfer orders.

Customer exit

Text

Description

MWMTOAU1

Selection of TRs for automatic TO creation

This task allows you to influence the selection of transfer requirements for the automatic creation of transfer orders.

MWMTOAU2

Selection of TRs for automatic TO creation via groups

This task allows you to influence the selection of transfer requirements for the automatic creation of multiple transfer orders using groups.

Customer Exits for Creating and Confirming TOs

Using customer-specified logic, the following customer exits permit you to become involved in the storage bin search process and, afterwards, to update customer data when creating and confirming transfer orders.

While creating customer-specific projects using this function, you can display additional SAP information about each individual customer exit.

The following customer exits related to transfer orders are available for use in WM:

Customer exit

Description

MWMTO001

Update own data after creating transfer orders

MWMTO002

Update own data after confirming transfer orders

MWMTO003

Customer-defined putaway strategy

This task allows you to create and implement your own putaway strategy.

MWMTO004

Customer-defined picking strategy

This customer exit allows you to create and implement your own picking strategy.

MWMTO005

MWMTO006

TO-related underdelivery (shortage)

Storage-bin-related overdelivery

MWMTO007

Palletization and storage type search for putaway

MWMTO008

Storage type search for picking

This task allows you to create your own storage type search strategy for stock picking.

MWMTO009

Prevents deletion of TO items

This task makes it possible to prevent the deletion of transfer order items.

 

All customer exits are in the same function group and can communicate with each other via global data with some limitations (for example, asynchronous updates).

Creating/Confirming TOs Online or Through Update Programs

For the Warehouse Management function modules, the update program for creating and confirming transfer orders can be controlled via a separate parameter.

Updates for normal transactions are carried out via the update program. However, you can set this especially for creating and confirming transfer orders. To do this, you must change the program ML03TPAR.

Constants

Description

DEF_VERBU_CREATE

Default value for creating transfer orders with the values "X" for update via the update program and " " (blank) for update without changing the online process.

DEF_VERBU_CONFIRM

Default value for confirming transfer orders with the values "X" for update via the update program and " " (blank) for updates without changing the online process.

If you want to work without a connection, you should update the statistics via the V2 link.

Further Instructions

It is possible to post data in the system without running COMMIT WORK from the function module.

The system posts the data using synchronous data updates via SET UPDATE TASK LOCAL. This means that the data is not posted and the system also cannot read from your own follow-on programs until the program reaches COMMIT WORK. A database COMMIT is not sufficient for initiating the update. You also need to use the ABAP command COMMIT WORK.

Due to the resulting delayed posting, you cannot call up several function modules from the group L03B without having a COMMIT between them. This could result in data inconsistencies, for example, because the same empty storage bin or the same stock might be used in consecutive transfer orders.

For a list of the customer exits for the ALE interface, refer to the documentation in Cross-Application Functions under MM-MOB and WM-LSR Interfaces..