Cześć,
U klienta zaimplementowaliśmy rozszerzenie EXIT_SAPLL03A_013, napełniamy prawidłowo T_QMAT. Jednak po wyjściu z user-exit'a QMAT_CUS nie jest napełnione danymi z T_QMAT. Oczekiwałem, że stanie się tak jak w rozszerzeniu 005. Nie używamy partii. Czego nam brakuje?
Pozdrawiam,
Marcin
Own stock removal Strategy Stringent FIFO +++
-
- Posty: 8354
- Rejestracja: wt kwie 03, 2007 4:05 pm
- Has thanked: 1924 times
- Been thanked: 1477 times
- Kontakt:
Re: Own stock removal Strategy Stringent FIFO +++
Z tej dokumentacji wynika, że faktycznie EXIT_SAPLL03A_013 działa inaczej niż EXIT_SAPLL03A_005. W EXIT_SAPLL03A_013 tablica T_QMAT nie jest napełniana przed wywołaniem rozszerzenia. Musisz ją napełnić samemu. Możesz jednak wykorzystać funkcję L_QMAT_SFIFO_CREATE, która to zrobi za Ciebie - nie używałem jej, więc nie podam gotowego rozwiązania.Dokumentacja w SMOD do MWMTO013 pisze:There are no export parameters. The table T_BDBATCH contains the batches
determined by the batch search module for the current material and is
transferred to the customer exit. Table T_QMAT is transferred empty and
must be filled by the user exit. Transfer order items are created from
table T_QMAT, until the requirement quantity is fulfilled. If the batch
search module is active, only T_QMAT entries for which there is an entry
in the batch table T_BDBATCH are processed. Note that the sequence of
the batches from table T_BDBATCH is transferred. The comparison is not
made with the batch table that was passed on to the user exit but with
the batch table that was created during TO processing.
As a utility for setting up table T_QMAT within the user exit, function
module L_QMAT_SFIFO_CREATE is available. This function module has no
import or export parameters. For the current TO item, table
T_QMAT_SFIFO_CUS is set up in accordance with the logic in the stock
removal strategy Stringent FIFO, and then passed back to the caller. If
the batch search module is active, a comparison of table
T_QMAT_SFIFO_CUS with the determined batches takes place. These batches
are passed back to the caller in table T_BDBATCH_CUS.
This function module can only be called up from this user exit.
Jeśli w EXIT_SAPLL03A_013 poprawnie wypełnisz T_QMAT to ta tablica jest na 100% przekazywana dalej do QMAT_CUS. To rozszerzenie jest wywoływane tylko w jednym miejscu w procedurze AUSLAGERSTRATEGIE_USER_SFIFO, include LL03AF8J:
Kod: Zaznacz cały
CALL CUSTOMER-FUNCTION '013'
EXPORTING
I_LTAK = LTAK
I_LTAP = LTAP
I_MLVS = I_MLVS
I_MGEF = I_MGEF
I_T333 = I_T333
I_T340D = IT340D
I_ANFML = I_RL03A-ANFML
I_ANFME = I_RL03A-ANFME
I_VORGA = I_RL03A-VORGA
TABLES
T_QMAT = QMAT_CUS
T_BDBATCH = BDBATCH_CUS
EXCEPTIONS
OTHERS = 0.