Own stock removal Strategy Stringent FIFO +++

A tu dla odmiany podyskutować możesz na tematy logistyczne SAP. Jeśli pojawią się jakieś pytania, nie zwlekaj, zadaj je natychmiast.
ODPOWIEDZ
Yeti
Posty: 203
Rejestracja: śr sty 05, 2011 5:14 pm
Has thanked: 74 times
Been thanked: 13 times

Own stock removal Strategy Stringent FIFO +++

Post autor: Yeti »

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
dominik.tylczynski
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 +++

Post autor: dominik.tylczynski »

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.
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.

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.
Nie ma tutaj żadnych czarów, to co podasz w T_QMAT jest przejmowane do QMAT_CUS.
ODPOWIEDZ