[EWM] - cross delivery handling units

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

Re: [EWM] - cross delivery handling units

Post autor: wojtas7 »

Walka trwa ale wygląda na to że założyłem już czwarty obóz i atak szczytowy powiódł się, teraz tylko do bazy trzeba zejść:

Tak naprawdę trudność polega na dwóch tematach - u nas wymyślili sobie żeby wysyłać HUsy do ERPa, ale bez Goods Issue. Więc deliverki dostają HUsy z EWM, Job przypisuje je do transportu (Shipment VT02N), i tu druga trudność - magazynier na skanerze RFUI po stronie ERPa skanuje tego HUsa (na kartonie), skanuje numer SSCC palety na którą kładzie karton i powstaje nowy HU transportowy nadrzędny do HUsów z deliverek. Tu mi SAP odpisał, że nie tylko SAP nie wspiera w ogóle Husów X w ERP, ale w mojej sytuacji jest przepakowany HU na transportowy HU (szacun dla nich że ogarnęli i zalogowali się do naszego systemu testowego!), i takiej konfiguracji to w ogóle nie support ;-)

Ale, - dzięki Twoim wskazówkom:

- ziutki na magazynie pakują ostatnią deliverkę do kartonu, zetowe webdynpro odpala BAPI_CONFIRM_DEC w ERP (bez flagi POST_GI) Dodałem w kodzie że jak jest więcej deliverek to wypełniam strukturkę CROSS_DELIVERY_HU (można to gdzieś w tabeli z HUsami znaleźć po stronie EWM?), i TU UWAGA już w tym momencie, dla każdej odpalonej deliverki dla tego jednego HUsa, trzeba przesłać ten sam HANDLE (który poleci do VEKP-HANDLE).

- w ten sposób mam pięknie w VEKP jeden wpis jak u Ciebie, VPOBJ = 21, w VPOBJKEY = ostatnia zaraportowana deliverka, i dwa wpisy w VEPO. Niestety ale na razie nijak nie jestem w stanie wyświetlić HUsa w VL03N, co ciekawe z obiegu dokumentów widać podpiętego HUsa, ale w przycisku Pakowanie - nie ma nic dla obu deliverek (to mogę dopracować już później, kwestia wizualna)

- teraz magazynierzy skanują paletę SSCC i "budują transport" tak że jest HU nadrzędny.
- następnie ktoś z biura magazynu klika na transporcie poszczególne statusy i przy Transport Begin odpala się zetowo Goods Issue.
- EWM przysyła już ze standardu odpalenie BAPI_CONFIRM_DEC, z wypełnioną strukturą HEADER_HU_CROSS i w polu HEADER_HU_CROSS-HANDLE jest nowy HANDLE już - standard nie przewiduje że odpaliliśmy to już wcześniej a teraz chcemy tylko wyksięgować. W Debugerze podstawiłem poprzednie HANDLE które sobie wygenerowałem modułem, no i wszystko wygląda pięknie, wyksięgowały się i co najlepsze od tego momentu VL03N pokazuje Husy.

Żeby ostatnie komunikaty z WA przeszły prawidłowo, musiałem w dwóch miejscach zmienić standard :-) Pierwszy raz od 2004 roku mi się to zdarza.
Po stronie ERPa, jak SAP twierdzi, X HU nie jest wspierany jak jest struktura Hu z transportowym HU, w jednym miejscu trzeba wyczyścić w pamięci VEKP-UNVEL, w drugim podobnie, i działa. Udokumentuję i przy upgrade czekam na niusy z basisa ;-)

Chciałem enhancementami to zrobić, na początku modułu funkcyjnego wpłynąć na jego działanie, ale jakoś niefartownie chyba się nie da - zastąpić całego modułu funkcyjnego kopią nie chciałem bo stracą się dane globalne z grupy funkcyjnej.

Myślę że utrzymanie Handle to też poradzę sobie tak że już po stronie ERPa, wyczaję w VEKP czy ten HUs z 21 już jest i stamtąd wyczytam HANDLE i podmienię w interfejsie. Ciekawi mnie tylko jak standard EWM generuje ten HANDLE - modułem funkcyjnym po prostu tak jak po stronie ERPa? Bo chyba nie łączy się jakoś do ERPa, bo i po co, ten Handle jest zawsze unikalny.

No i status pozostaje 0020, jak u Ciebie, no ale to już chyba trudno - to u nas są kartony więc do nas nie wrócą nigdy.

Dzięki

wojtas7
Posty: 816
Rejestracja: pt mar 14, 2008 12:51 pm
Has thanked: 55 times
Been thanked: 176 times

Re: [EWM] - cross delivery handling units

Post autor: wojtas7 »

Uzyskałem od Ciebie niesamowitą pomoc, a wygląda na to że się udało osiągnąć cel, i wygląda to tak:

- odpowiedź z SAPa na zgłoszony błąd w komunikatach z EWM - nieźle że zalogował się do systemu testowego i że sprawdził proces:
Dear customer,

I am Stephan from SAP development support and I am taking over your ticket.
I've logged into your WGQ system to check the situation.

I regret to inform you that the issue you reported is due to using unsupported scenario.

CrossHU is packed into transportation HU
LE-TRA note 1830146 ==> Your deliveries contain Cross delivery handling units (xHUs) as they can be created in an EWM.
Cross delivery handling units are not supported by the LE-TRA module.

The function you try to use is not included in the SAP standard system
Please also find more useful information in the attached SAP note 11.

Best regards
Stephan
SAP Labs Development Support
No i ma rację. Nie dość że przysyłamy nielegalnie HUsy z EWM bez flagi Goods Issue, to jeszcze w międzyczasie pakujemy na HU transportowe (na paletę).

Żeby to jednak działało w tym scenariuszu z Cross Delivery Hus, poanalizowałem kod standardu po stronie ERPa i trzeba było zmodyfikować (tak, zmodyfikować, nie dałem rady enhancementami na początku modułu bo to dwa moduły funkcyjne, i straciłbym dane w danych globalnych grupy funkcyjnej, których standard używa namiętnie.

Tak naprawdę zmiany są tylko dwie i na logikę wygląda na to że to dokładnie trzeba by zrobić żeby działało:

/SPE/HU_X_DLVRY_DELETE_HUITEM :

Od linii 123 - sam kod bez komentarzy:

Kod: Zaznacz cały

      lv_venum = <fs_header>-uevel.
*{   INSERT         WGTK9A0CTB                                        1
[b]   if <fs_header>-vpobj eq '21'.
     clear: <fs_header>-uevel, lv_venum.
   endif.
[/b]*}   INSERT
      IF <fs_header>-vpobj = gc_obj_21 OR "Cross Outbound Delivery HU
         <fs_header>-vpobj = gc_obj_23.   "Cross Inbound Delivery HU

        IF <fs_header>-uevel   IS NOT INITIAL AND
           iv_delete_hierarchy <> space.
* Unpack HU (deassign from superior HU)
To jest niewspierany scenariusz gdzie mamy przepakowanego HUsa na paletę i w VEKP-UEVEL jest wpisany numer Husa nadrzędnego. Wystarczyło wyczyścić, zasymulować że tego nie ma, i działa.

/SPE/HU_X_GET_HUS_FROM_ITVBFA

I jeszcze w jednym miejscu - tak samo

Kod: Zaznacz cały

  LOOP AT lt_header_all ASSIGNING <fs_header_high>
                        WHERE " uevel IS INITIAL      " WAGO commented out for X HUs
                               vpobj <> gc_obj_04.
Jest pętla po HUsach i nadrzędnego HUsa nie może być wskazanego, no a tu jest.

Powyższe zmiany (modyfikacje dobrze udokumentowane do przyszłych upgrade) i dopasowanie logiki od strony EWM (wysyłanie Cross HU w przypadku gdy > 1 deliverka), oraz generowanie HANDLE, powoduje że dałem radę do końca zaksięgować dostawy i wyglądają prawidłowo.

- Pozostają dwie kwestie, mam nadzieję że tylko wizualne:

- w vl03n nie pokazuje Husów, dopóki nie ma GI. To myślę że będzie łatwo enhancementem też dorobić
- tak jak u Ciebie status 0020 pozostaje na zawsze. Znalazłem miejsce w kodzie gdzie można na to ewentualnie wpłynąć. Tu jest ciekawe, testujemy też tak, że mamy dwie deliverki np na 10 i drugą na 100 sztuk, do pierwszego Husa pakujemy 10 szt z pierwszej i 25 z drugiej, więc ten pierwszy HU jest Cross Delivery HU, a do drugiego pozostałe 75 sztuk z drugiej deliverki i ten drugi HU jest już zwykły. Wówczas również standard przesyła dla deliverki w dwóch kartonach oczywiście dwa HUsy - jeden w nagłówku BAPi normalego HUsa, drugi w HANDLING_UNIT_HEADER_CROSS, a obie pozycje w HANDLE_UNIT_ITEM i działa to też prawidłowo. Co ciekawe w VEKP-STATUS dla "21" został 0020, a dla "01" zaksięgował się 0050.

Ot, ciekawostka.

Jeszcze raz uniżenie i gorąco dziękuję za kilka kluczowych wskazówek.