Idoc HRMD i Change Pointer
-
- Posty: 1061
- Rejestracja: pt mar 14, 2008 12:51 pm
- Has thanked: 71 times
- Been thanked: 315 times
Idoc HRMD i Change Pointer
Czy jeśli change pointery są skonfigurowane poprawnie, i zmiana np infotypu 0105 w PA30 powoduje wysłanie idoca do innego systemu, to czy jeśli zmiana infotypu 0105 zostanie zmieniona poprzez przyjęcie idoca HRMD z danymi infotypu 0105, to czy ten Change Pointer powinien również zadziałać i wygenerować innego idoca z change pointera?
-
- Posty: 8353
- Rejestracja: wt kwie 03, 2007 4:05 pm
- Has thanked: 1924 times
- Been thanked: 1477 times
- Kontakt:
-
- Posty: 1061
- Rejestracja: pt mar 14, 2008 12:51 pm
- Has thanked: 71 times
- Been thanked: 315 times
Re: Idoc HRMD i Change Pointer
ale jeśli PA30 uruchamia na koncu BAPI, a inbound f. module przetwarza przychodzacego idoca i tez uruchamia to BAPI, to dlaczego ma to nie działać? I czemu nielogiczne? Zmiana na tabeli to zmiana.
-
- Posty: 8353
- Rejestracja: wt kwie 03, 2007 4:05 pm
- Has thanked: 1924 times
- Been thanked: 1477 times
- Kontakt:
Re: Idoc HRMD i Change Pointer
Jeśli utworzenie infotypu z IDoc'a utworzy change pointer to zadziała. Nie wiem czy utworzy - to trzeba by sprawdzić. Daj znać jak sprawdzisz.wojtas7 pisze:ale jeśli PA30 uruchamia na koncu BAPI, a inbound f. module przetwarza przychodzacego idoca i tez uruchamia to BAPI, to dlaczego ma to nie działać?
Change pointer'y służą do centralnego zarządzania danymi podstawowymi i dystrybucji zmian z systemu wiodącego do systemów zależnych. W takim układzie powinien być jeden system wiodący, gdzie opracowujesz dane podstawowe, które są wysyłane do potencjalnie wielu systemów zależnych. Jeśli przetworzenie IDoc'a w systemie odbiorczym tworzyłoby change pointer'y to ten system odbiorczy (zależny) stałby się systemem nadawczym (wiodącym) dla kolejnego systemu. Taki układ systemów stałby się dosyć skomplikowany. Powstałby taki łańcuszek systemów kolejno przesyłających do siebie zmiany danych. Dlatego uważam, że lepiej i logiczniej mieć jeden system nadawczy.wojtas7 pisze: I czemu nielogiczne? Zmiana na tabeli to zmiana.
-
- Posty: 1061
- Rejestracja: pt mar 14, 2008 12:51 pm
- Has thanked: 71 times
- Been thanked: 315 times
Re: Idoc HRMD i Change Pointer
wszystko jasne, ale sa takie sytuacje, gdzie np adresy mailowe sa utrzymywane poza SAPem np w Exchange, ktory nowe adresy email poprzez PI (idoc HRMD) wysyla infotyp 105 do jednego mandanta. A na innym mandancie te dane sa rowniez potrzebne, wiec Change Pointer powinien wyslac jeszcze raz te dane z mandanta na mandant. Oczywiscie na docelowym mandancie juz nie ma Change Pointera aktywnego. Chyba ze change pointera sa niezalezne od mandanta???
-
- Posty: 8353
- Rejestracja: wt kwie 03, 2007 4:05 pm
- Has thanked: 1924 times
- Been thanked: 1477 times
- Kontakt:
Re: Idoc HRMD i Change Pointer
Masz rację - aktywacja change pointer'ów dla komunikatu jest tutaj kluczem. W systemie odbiorczym change pointer'y powinny być wyłączone dla HRMD. Wtedy zmiana wprowadzona IDoc'iem nie będzie się dalej propagować. Aktywacja change pointer'ów jest zależna od mandanta. W kontekście ALE mandant to system logiczny. Zatem przesyłanie danych między mandantami tej samej instancji, a między mandantami na różnych instancjach jest identyczne.
-
- Posty: 1061
- Rejestracja: pt mar 14, 2008 12:51 pm
- Has thanked: 71 times
- Been thanked: 315 times
Re: Idoc HRMD i Change Pointer
Dominik, moje uznanie, miałeś rację "na czuja":
f. module RH_INFTY_CHANGE_PROT:
dziwne nie?
pozostało mi wykorzystanie user exita w inbound f. module, i zbudowanie nowego idoca typu outbound z wymaganym infotypem i wysłanie do innego mandanta. powinno zadzialac, tym bardziej ze bedzie dobrze jak bedzie sie wysylal tylko jesli oryginalny idoc dostanie status 53, a wiec commit work poleci.
dziękuję
f. module RH_INFTY_CHANGE_PROT:
Kod: Zaznacz cały
* write change pointers only in dialog, not in ALE inbound process
CALL FUNCTION 'RHAP_ALE_FLG_GET'
IMPORTING
ale_flg = ale_inbound_active.
CHECK ale_inbound_active IS INITIAL.
pozostało mi wykorzystanie user exita w inbound f. module, i zbudowanie nowego idoca typu outbound z wymaganym infotypem i wysłanie do innego mandanta. powinno zadzialac, tym bardziej ze bedzie dobrze jak bedzie sie wysylal tylko jesli oryginalny idoc dostanie status 53, a wiec commit work poleci.
dziękuję
-
- Posty: 8353
- Rejestracja: wt kwie 03, 2007 4:05 pm
- Has thanked: 1924 times
- Been thanked: 1477 times
- Kontakt:
Re: Idoc HRMD i Change Pointer
Może zamiast pisać własny typ IDoc'a zakomentuj po prostu linię:
Kod: Zaznacz cały
CHECK ale_inbound_active IS INITIAL.
-
- Posty: 1061
- Rejestracja: pt mar 14, 2008 12:51 pm
- Has thanked: 71 times
- Been thanked: 315 times
Re: Idoc HRMD i Change Pointer
modyfikacja standardu? cel uświęca środki. ale pomysł jest. dzięki.
nie chodzilo mi o wysylanie wlasnego typu idoca, tylko standardowego, tylko wyslac go na inny mandant.
nie chodzilo mi o wysylanie wlasnego typu idoca, tylko standardowego, tylko wyslac go na inny mandant.
-
- Posty: 8353
- Rejestracja: wt kwie 03, 2007 4:05 pm
- Has thanked: 1924 times
- Been thanked: 1477 times
- Kontakt:
Re: Idoc HRMD i Change Pointer
Modyfikacja standardu, zwłaszcza taka drobna, z wykorzystaniem asystenta modyfikacji jest w sumie łatwiejsza w utrzymaniu niż porządny kawałek własnego Z-developmentu: Modyfikacja czy kopia standardu? No chyba, że masz do czynienia ze "standardami" programowania, których musisz się trzymać - z tym to już raczej nie podyskutujesz.
-
- Posty: 8353
- Rejestracja: wt kwie 03, 2007 4:05 pm
- Has thanked: 1924 times
- Been thanked: 1477 times
- Kontakt:
Re: Idoc HRMD i Change Pointer
A może najprościej byłoby ustawić PI, tak aby wysyłał IDoc'i do wszystkich systemów, które potrzebują tych danych. Wtedy nie musiałbyś nic przerabiać czy oprogramowywać. Byłoby to rozwiązanie zgodne z duchem SAP.wojtas7 pisze:wszystko jasne, ale sa takie sytuacje, gdzie np adresy mailowe sa utrzymywane poza SAPem np w Exchange, ktory nowe adresy email poprzez PI (idoc HRMD) wysyla infotyp 105 do jednego mandanta. A na innym mandancie te dane sa rowniez potrzebne.