WM tworzenie zlecenia transportowego L_TO_CREATE_DN

A tu dla odmiany podyskutować możesz na tematy logistyczne SAP. Jeśli pojawią się jakieś pytania, nie zwlekaj, zadaj je natychmiast.
ODPOWIEDZ
wojtas7
Posty: 1061
Rejestracja: pt mar 14, 2008 12:51 pm
Has thanked: 71 times
Been thanked: 315 times

WM tworzenie zlecenia transportowego L_TO_CREATE_DN

Post autor: wojtas7 »

Dzień dobry,

Poproszę o nakierowanie czy tok rozumowania jest prawidłowy.

Scenariusz biznesowy wydania jest z miejscem pośredniczącym i w momencie potwierdzania zlecenia transportowego na to miejsce, w user exit MWMTO002 (User Exit at End of TO Confirmation (in Update Task)) EXIT_SAPLL03T_002 - uruchamiam moduł funkcyjny L_TO_CREATE_DN do stworzenia kolejnego zlecenia transportowego do dalszego kroku z miejsca pośredniczącego:

Kod: Zaznacz cały


LOOP AT t_ltap_vb TRANSPORTING NO FIELDS WHERE vorga NE 'LF'.   " at least one item not with Quitieren
ENDLOOP.
IF sy-subrc IS NOT INITIAL AND i_ltak_vb-l2ska EQ '1'.          " Entnahme der kumulativen Mengen

  CALL FUNCTION 'L_TO_CREATE_DN'
    IN BACKGROUND TASK
    AS SEPARATE UNIT
    EXPORTING
      i_lgnum                    = i_ltak_vb-lgnum
      i_vbeln                    = i_ltak_vb-benum
      i_refnr                    = i_ltak_vb-refnr
*     I_SQUIT                    = ' '
*     I_NIDRU                    = ' '
*     I_DRUKZ                    = ' '
*     I_LDEST                    = ' '
*     I_KOMIM                    = ' '
*     I_EINLM                    = ' '
*     I_EINTA                    = ' '
*     I_NOSPL                    = ' '
*     I_UPDATE_TASK              = ' '
*     I_COMMIT_WORK              = 'X'
*     I_BNAME                    = SY-UNAME
*     I_TEILK                    = ' '
*     I_SOLEX                    = 0
*     I_PERNR                    = 0
*     IT_DELIT                   =
* IMPORTING
*     E_TANUM                    =
*     E_TEILK                    =
* TABLES
*     T_LTAK                     =
*     T_LTAP_VB                  =
*     T_WMGRP_MSG                =
    EXCEPTIONS
      foreign_lock               = 1
      dn_completed               = 2
      partial_delivery_forbidden = 3
      xfeld_wrong                = 4
      ldest_wrong                = 5
      drukz_wrong                = 6
      dn_wrong                   = 7
      squit_forbidden            = 8
      no_to_created              = 9
      teilk_wrong                = 10
      update_without_commit      = 11
      no_authority               = 12
      no_picking_allowed         = 13
      dn_hu_not_choosable        = 14
      input_error                = 15
      OTHERS                     = 16.
  IF sy-subrc <> 0.
* Implement suitable error handling here
  ENDIF.

ENDIF.
Problem jest taki, że tworzone zlecenie nie pobiera dokładnie tego materiału, który został przekazany do miejsca pośredniego, sądzę że powinienem wypełnić w tym miejscu też parametry TABLES T_LTAK oraz T_LTAP_VB i wypełnić tutaj materiał, ilość i miejsce źródłowe (miejsce pośredniczące).

Czy to ma sens i jest to prawidłowe podejście? Czy ewentualnie źle myślę i np. w tabelach T_LTAK i T_LTAP_VB tylko są zwracane informacje o nowo utworzonym zleceniu transportowym bez szans wpłynięcia skąd ma być kolejne pobranie i raczej należałoby użyć kolejnych user exitów do podmiany miejsca źródłowego do pobrania?

dziękuję.
dominik.tylczynski
Posty: 8354
Rejestracja: wt kwie 03, 2007 4:05 pm
Has thanked: 1924 times
Been thanked: 1477 times
Kontakt:

Re: WM tworzenie zlecenia transportowego L_TO_CREATE_DN

Post autor: dominik.tylczynski »

Spróbuj skorzystać z parametru IT_DELIT.
wojtas7
Posty: 1061
Rejestracja: pt mar 14, 2008 12:51 pm
Has thanked: 71 times
Been thanked: 315 times

Re: WM tworzenie zlecenia transportowego L_TO_CREATE_DN

Post autor: wojtas7 »

dzięki, dobra wskazówka, działa.

Kolejny krok to potrzeba zidentyfikować pozycję dostawy - rozumiem że tego nie ma w tabelach LTAK/TAP i pomysł, żeby identyfikować pozycję deliverki po materiale jest całkiem sensowne?
dominik.tylczynski
Posty: 8354
Rejestracja: wt kwie 03, 2007 4:05 pm
Has thanked: 1924 times
Been thanked: 1477 times
Kontakt:

Re: WM tworzenie zlecenia transportowego L_TO_CREATE_DN

Post autor: dominik.tylczynski »

Moim zdaniem określenie pozycji dostaw wg numerów materiałów do utworzenia drugiego zlecenia przeniesienia jest bardzo sensowne.
inspir
Posty: 40
Rejestracja: czw paź 26, 2017 2:08 pm
Has thanked: 3 times
Been thanked: 12 times

Re: WM tworzenie zlecenia transportowego L_TO_CREATE_DN

Post autor: inspir »

Nie wiem czy do końca rozumiem, ale chcesz na podstawie materiału sprawdzić jaki jest to numer pozycji na deliverce? Co jak na deliverce będą dwa takie same materiały na dwóch różnych pozycjach? Jak dla mnie sam materiał nie wystarczy - no chyba, że biznesowo Ci to pasuje i nie ma opcji, żeby ten sam materiał pojawił się na dwóch pozycjach. Ja pewnie poszedłbym w document flow i sprawdził, który materiał do którego TO referuje i tak wyciągnąłbym numer pozycji
wojtas7
Posty: 1061
Rejestracja: pt mar 14, 2008 12:51 pm
Has thanked: 71 times
Been thanked: 315 times

Re: WM tworzenie zlecenia transportowego L_TO_CREATE_DN

Post autor: wojtas7 »

Dokładnie tak jak mówisz, jest ryzyko że będą dwie pozycje z tym samym materiałem i wtedy klops, ale biznesowo/biznesowo powinno to być wykluczone. A całe moje pytanie stąd że właśnie nie mogę znaleźć nigdzie w document flow referencji do pozycji w deliverce. VBFA i LTAP nie zawierają tego pola.
inspir
Posty: 40
Rejestracja: czw paź 26, 2017 2:08 pm
Has thanked: 3 times
Been thanked: 12 times

Re: WM tworzenie zlecenia transportowego L_TO_CREATE_DN

Post autor: inspir »

Może to kwestia konfiguracji, albo S/4 - do ECC nie mam teraz dostępu, ale w LTAP pod polem posnr jest referencja do pozycji z deliverki.
A w VBFA też można wyciągnąć pozycję jako follow-on Doc ustawiasz numer TO i subsequent item pozycję z PO - w polach vbelv and posnv powinieneś dostać info do której deliverki i pozycji TO referuje
dominik.tylczynski
Posty: 8354
Rejestracja: wt kwie 03, 2007 4:05 pm
Has thanked: 1924 times
Been thanked: 1477 times
Kontakt:

Re: WM tworzenie zlecenia transportowego L_TO_CREATE_DN

Post autor: dominik.tylczynski »

O ile dobrze zrozumiałem początkowe pytanie, to temat dotyczy dwuetapowego pobrania dostaw wychodzących - SAP Help Two-Step Picking i automatyzacji tworzenia zleceń przeniesienia dla drugiego etapu.

W tym procesie dostawy są łączone w grupę dostaw. Pobranie jest wykonywane dwukrokowo, przy pomocy dwóch zleceń przeniesienia.
Najpierw pobierane są zbiorcze ilości poszczególnych materiałów z grupy dostaw. Ten ruch jest robiony do tymczasowego typu magazynu, w standardzie typ 200. Siłą rzeczy pozycje zlecenia przeniesienia w tym kroku nie mogą referować bezpośrednio do pozycji dostawy.
W drugim kroku, ilości zbiorczo przesunięte do tymczasowego typu magazynu są rozdzielane pod poszczególne dostawy. Tutaj pozycje zlecenia przeniesienia już referują do pozycji dostawy.

Po zrealizowaniu pierwszego kroku, nie można jednoznacznie określić, które pozycje dostaw zostały w tym kroku obsłużone. Teoretycznie powinny zostać obsłużone wszystkie, jeśli pierwszy krok pobrania został zrealizowany w całości, ale w rzeczywistości nie zawsze tak musi być.
W momencie tworzenia zleceń dla drugiego etapu, w tymczasowym typie magazynu mamy po prostu zapas. W standardowej konfiguracji jest on przypisany do grupy dostaw poprzez dynamiczny numer miejsca składowania w tymczasowym typie magazynu. Jednak ten zapas nie jest przypisany w żaden inny sposób do poszczególnych pozycji dostaw.
ODPOWIEDZ