ALE BD64 (model) - typ komunikatu kontra Badi (obiekt.metoda)

Jeśli programujesz, administrujesz, integrujesz i masz wątpliwość lub obawę, to właśnie najlepsze miejsce dla Ciebie. Pisz śmiało...
pabi
Posty: 163
Rejestracja: śr sty 25, 2012 2:25 pm
Has thanked: 30 times
Been thanked: 5 times

ALE BD64 (model) - typ komunikatu kontra Badi (obiekt.metoda)

Post autor: pabi » wt kwie 16, 2019 8:48 pm

Witam
Mam pytanie o Interfejs ALE - transakcja BD64 - tworzenie modelu.
Tworząc model wstawiamy w niego:
1. typy komunikatu (np. HRDP_A - czyli paczki danych, idoki).
2. wstawiamy BAPI (obiekty.metody).

Rozumiem, że typy komukatów to paczki danych z systemu czyli zbiory danych nazywane idokami (jakieś zbiory wybranych danych z wybranych tabel ?).
Natomiast Bapi służą do przetwarzania tych danych z idoków, przetwarzanie odbywa się na podstawie obiektów SAPa (jakie to są obiekty? ) i metod stworzonych dla tych obiektów.

Czy tak to działa?
Czy pomiędzy typami komunikatów a obiektami BAPI jest jakaś relacja, czy coś je łaczy, czy to całkowicie coś innego w SAP ?

dominik.tylczynski
Posty: 6955
Rejestracja: wt kwie 03, 2007 4:05 pm
Has thanked: 965 times
Been thanked: 1006 times
Kontakt:

Re: ALE BD64 (model) - typ komunikatu kontra Badi (obiekt.metoda)

Post autor: dominik.tylczynski » czw maja 09, 2019 9:31 am

Dla potomności link do postu, gdzie dokładniej opisałem zależność: typ komunikatu, typ IDoc'a, przetwarzanie IDoc'a przez BAPI (interfejs BAPI-ALE): viewtopic.php?f=6&t=8498#p31452

pabi
Posty: 163
Rejestracja: śr sty 25, 2012 2:25 pm
Has thanked: 30 times
Been thanked: 5 times

Re: ALE BD64 (model) - typ komunikatu kontra Badi (obiekt.metoda)

Post autor: pabi » czw maja 09, 2019 2:51 pm

Dziękuje za odpowiedź, a tak przy okazji jeszcze jedno pytanie:)

Wchodząc w model we20 mamy sekcje Inbound i Outbound.
Widzę kolumnę processing (FM) w Inbound (czyli jak plik IDOC jest przetwarzany do SAPa).
Jednak w zakładce Outbound -( generowanie z SAP do IDOC) nie ma kolumny processing(FM).

W WE64 jest inbound - message type przykładowo jest HRMD_A (jest definicja FM "wypełniania" SAP z pliku IDOC dla tego komunikatu).
Ale już w outbound - message type już nie ma wogóle HRMD_A (więc gdzie jest definicja wypełniania z SAP do pliku IDOC dla komunikatu HRMD_A) ?

Gdzie w takim razie jest definicja "wypełniania" pliku IDOC z SAPa np. dla komunikatu HRMDa ?

dominik.tylczynski
Posty: 6955
Rejestracja: wt kwie 03, 2007 4:05 pm
Has thanked: 965 times
Been thanked: 1006 times
Kontakt:

Re: ALE BD64 (model) - typ komunikatu kontra Badi (obiekt.metoda)

Post autor: dominik.tylczynski » pt maja 10, 2019 8:56 am

Przede wszystkim w SAP ERP nie ma czegoś takiego jak plik IDoc podczas tworzenia komunikatu wychodzącego. Ewentualnie może się taki plik pojawić jako wynik przetworzenia IDoc'a przez port komunikacyjny.

W przypadku komunikatów wychodzących sekwencja przetwarzania jest następująca:
  1. Zawsze zaczyna się od programu generującego IDoc. Może to być dedykowana transakcja uruchamiana ręcznie np. BD10 dla materiałów (nie jestem specjalistą od HR, więc wygodniej mi się posługiwać przykładami z obszaru szeroko pojętej logistyki, ale na pewno w HR jest podobnie), albo przetwarzanie change pointerów, albo przetwarzanie informacji wyjściowej (możliwości generowania IDoc'ów jest przynajmniej kilka). Jednak zawsze jest to jakiś program ABAP. Ten program odczytuje dane z systemu np. dane materiału i buduje z nich IDoc w formie tabeli wewnętrznej.
  2. Ta tabela jest przekazywana w wywołaniu funkcji MASTER_IDOC_DISTRIBUTE, która odpowiada za całą komunikację ALE/IDoc.
  3. Odczytywany jest model dystrybucji z transakcji BD64 i z master idoc są tworzone communication idoc, po jednym dla każdego systemu odbiorczego z modelu dystrybucji.
  4. Dla każdego communication idoc / systemu odbiorczego jest odczytywany profil partnera (transakcja WE20). Stąd wiadomo w jakiej wersji typu IDoc'a przesłać komunikat, z jakimi wersjami segmentów oraz do jakiego portu komunikacyjnego
  5. IDoc komunikacyjny jest przekazywany do portu komunikacyjnego. Zwykle tym portem jest RFC destination. Jednak może to być również port tworzący pliki płaskie, pliki XML lub własna funkcja, która odpowiada za przesyłanie IDoc'a do systemu odbiorczego np. w jednym z projektów zapisywałem IDoc'i wychodzące do bazy SAP HANA przy pomocy własnego portu komunikacyjnego.
Z powyższego widać, że w profilu partnera dla komunikatów wychodzących nie znajdziesz informacji o tym jak te komunikaty są generowane. Znajdziesz natomiast informacje o tym jak już wygenerowane komunikaty są przetwarzane i przesyłane do odbiorcy. IDoc'i wychodzące są po prostu generowane przez określoną aplikację SAP.

pabi
Posty: 163
Rejestracja: śr sty 25, 2012 2:25 pm
Has thanked: 30 times
Been thanked: 5 times

Re: ALE BD64 (model) - typ komunikatu kontra Badi (obiekt.metoda)

Post autor: pabi » pt maja 10, 2019 9:33 am

Dzięki za bardzo precyzyjne odpowiedzi, dzięki temu wykryłem już kilka rzeczy do korekty.

pozdrawiam
Paweł Bielecki

dominik.tylczynski
Posty: 6955
Rejestracja: wt kwie 03, 2007 4:05 pm
Has thanked: 965 times
Been thanked: 1006 times
Kontakt:

Re: ALE BD64 (model) - typ komunikatu kontra Badi (obiekt.metoda)

Post autor: dominik.tylczynski » pt maja 10, 2019 9:42 am

:) nie ma problemu, po to właśnie jest to forum :)

ODPOWIEDZ