MATMAS - Changepointer na podstawie tabeli 'Z'

Jeśli programujesz, administrujesz, integrujesz i masz wątpliwość lub obawę, to właśnie najlepsze miejsce dla Ciebie. Pisz śmiało...
ODPOWIEDZ
lukash3
Posty: 11
Rejestracja: czw sty 18, 2018 11:18 am
Been thanked: 2 times

MATMAS - Changepointer na podstawie tabeli 'Z'

Post autor: lukash3 »

Dzień dobry,

Jest scenariusz biznesowy gdzie
- używamy idoc-a MATMAS (Z-towa implementacja) do wysyłania danych na zewnątrz
- changepointery są aktywowane i dzialają

Pojawiła się potrzeba wysyłania idoc-ów również na podstawie zmian w innych tabelach stworzonych przez klienta np. ZMARA, ZMARC.
Tabele te edytowane są specjalnymi transakcjami.

Czy istnieje w ogóle możliwość tworzenia changepointera na podstawie takich tabel?

Może sam sobie odpowiem, ale wydaje mi się, że nie za bardzo ponieważ:
- korzystać możemy z tych tabel, które są w transakcji SCDO dla obiektu 'MATERIAL'
- 'Z' tabele najpewniej aktualizowane są bezpośrednio do bazy danych

Czy ma ktoś doświadczenie, dobre praktyki na rozwiązanie takiej sytuacji?

Oczywistym byłoby np. dodanie pól tabel zetowych i rozszerzenie odpowiednio MARA i MARC. Jednak w wymaganiach mamy też wysyłanie w MATMAS-em jednej z wartości charakterystyk/klasyfikacji.
dominik.tylczynski
Posty: 8326
Rejestracja: wt kwie 03, 2007 4:05 pm
Has thanked: 1915 times
Been thanked: 1474 times
Kontakt:

Re: MATMAS - Changepointer na podstawie tabeli 'Z'

Post autor: dominik.tylczynski »

lukash3 pisze: pt kwie 22, 2022 10:56 am Pojawiła się potrzeba wysyłania idoc-ów również na podstawie zmian w innych tabelach stworzonych przez klienta np. ZMARA, ZMARC.
Tabele te edytowane są specjalnymi transakcjami.

Czy istnieje w ogóle możliwość tworzenia changepointera na podstawie takich tabel?
Na początek sprawdź czy dla zmian w ZMARA, ZMARC są tworzone dokumenty zmian (ang. change documents). To jest warunek konieczny do używania change pointers.

lukash3 pisze: pt kwie 22, 2022 10:56 am Oczywistym byłoby np. dodanie pól tabel zetowych i rozszerzenie odpowiednio MARA i MARC. Jednak w wymaganiach mamy też wysyłanie w MATMAS-em jednej z wartości charakterystyk/klasyfikacji.
Moim zdaniem najsensowniej byłoby jednak dodać z-owe pola bezpośrednio do MARA i MARC.
ZETKA
Posty: 69
Rejestracja: czw lis 04, 2010 10:49 pm
Has thanked: 1 time
Been thanked: 71 times
Kontakt:

Re: MATMAS - Changepointer na podstawie tabeli 'Z'

Post autor: ZETKA »

Moduł CHANGE_POINTERS_CREATE_DIRECT służy (chyba) do wygenerowania changepointera. Być może wymagana będzie dodatkowa konfiguracja w BD52. Można go użyć w w transakcjach służących do edycji Z-owych tabel.
Pozdrawiam,
Krzysiek
lukash3
Posty: 11
Rejestracja: czw sty 18, 2018 11:18 am
Been thanked: 2 times

Re: MATMAS - Changepointer na podstawie tabeli 'Z'

Post autor: lukash3 »

Logowanie mógłbym włączyć na naszym systemie Sandbox.
Pytanie jednak mam czy 'Log Data Changes' działa w każdym scenariuszu?
Rozumiem, że zmiana jest wtedy zapisana w tabeli DBTABLOG - jak to się ma do CDHDR czy CDPOS?

Chyba, że mowa jest o tworzeniu Change Document-u dla Data Elementu?
dominik.tylczynski
Posty: 8326
Rejestracja: wt kwie 03, 2007 4:05 pm
Has thanked: 1915 times
Been thanked: 1474 times
Kontakt:

Re: MATMAS - Changepointer na podstawie tabeli 'Z'

Post autor: dominik.tylczynski »

ZETKA pisze: pt kwie 22, 2022 11:11 am Moduł CHANGE_POINTERS_CREATE_DIRECT służy (chyba) do wygenerowania changepointera. Być może wymagana będzie dodatkowa konfiguracja w BD52. Można go użyć w w transakcjach służących do edycji Z-owych tabel.
Raczej nie próbowałbym używać bezpośrednio funkcji CHANGE_POINTERS_CREATE_DIRECT. Change pointer powinny być generowane automatycznie na podstawie dokumentów zmian i przypisania pól do komunikatu ALE.
dominik.tylczynski
Posty: 8326
Rejestracja: wt kwie 03, 2007 4:05 pm
Has thanked: 1915 times
Been thanked: 1474 times
Kontakt:

Re: MATMAS - Changepointer na podstawie tabeli 'Z'

Post autor: dominik.tylczynski »

lukash3 pisze: pt kwie 22, 2022 11:16 am Logowanie mógłbym włączyć na naszym systemie Sandbox.
Pytanie jednak mam czy 'Log Data Changes' działa w każdym scenariuszu?
Rozumiem, że zmiana jest wtedy zapisana w tabeli DBTABLOG - jak to się ma do CDHDR czy CDPOS?

Chyba, że mowa jest o tworzeniu Change Document-u dla Data Elementu?
Funkcjonalność 'Log Data Changes' służy raczej do rejestrowania zmian w tabelach konfiguracyjnych. Takie zmiany są istotnie zapisywane w tabeli DBTABLOG. Możesz oczywiście włączyć tę funkcję, ale ona nie ma nic wspólnego z dokumentami zmian i change pointers. Zauważ, że dane podstawowe materiału w tablicy MARA mają tę funkcję wyłączoną:
20220422_1470.png
20220422_1470.png (30.11 KiB) Przejrzano 1215 razy


Change pointers bazują na dokumentach zmian, które są zapisywane w tablicach CDHDR i CDPOS. Warunkiem koniecznym tworzenia tych dokumentów zmian jest aktywacja Change Document w elemencie danych:
20220422_1472.png
20220422_1472.png (15.27 KiB) Przejrzano 1215 razy
lukash3
Posty: 11
Rejestracja: czw sty 18, 2018 11:18 am
Been thanked: 2 times

Re: MATMAS - Changepointer na podstawie tabeli 'Z'

Post autor: lukash3 »

Rozumiem jednak, żeby aktywacja Change Document-u działała to nie wystarczy samo ustawienie checkboxa.
Pewnie dane w tabeli muszą być zapisywane poprzez moduł funkcyjny wygenerowany w SCDO.

Komplikuje to nieco temat. Bowiem moduł funkcyjny MASTERIDOC_CREATE_SMD_MATMAS obsługuje w standardzie tylko pewnien zakres tabel, również standardowy :)

Wygląda na to, że drogi na skróty nie ma.
dominik.tylczynski
Posty: 8326
Rejestracja: wt kwie 03, 2007 4:05 pm
Has thanked: 1915 times
Been thanked: 1474 times
Kontakt:

Re: MATMAS - Changepointer na podstawie tabeli 'Z'

Post autor: dominik.tylczynski »

lukash3 pisze: pt kwie 22, 2022 12:15 pm Rozumiem jednak, żeby aktywacja Change Document-u działała to nie wystarczy samo ustawienie checkboxa.
Pewnie dane w tabeli muszą być zapisywane poprzez moduł funkcyjny wygenerowany w SCDO.

Komplikuje to nieco temat. Bowiem moduł funkcyjny MASTERIDOC_CREATE_SMD_MATMAS obsługuje w standardzie tylko pewnien zakres tabel, również standardowy :)

Wygląda na to, że drogi na skróty nie ma.
Dlatego właśnie lepiej jest dodać własne pola do standardowych tablic MARA i MARC zamiast robić własne tablice ZMARA i ZMARC. Dodatkową zaletą jest to, że wtedy łatwo te pola zintegrować w transakcjach MM01, MM02, MM03.
wojtas7
Posty: 1058
Rejestracja: pt mar 14, 2008 12:51 pm
Has thanked: 71 times
Been thanked: 313 times

Re: MATMAS - Changepointer na podstawie tabeli 'Z'

Post autor: wojtas7 »

Dwa spostrzeżenia ;-)

- jeśli zapada taka decyzja, w jaki sposób rozszerzamy MARA i MARC, to jakiś bardzo wstępny etap implementacji, więc naprawdę dorabianie tabel ZMARA i ZMARC zamiast rozszerzyć o niezbędne pola bezpośrednio tabele MARA I MARC, to jest diametralny błąd i będzie to komplikowało utrzymanie tego systemu w stopniu wielkim później, czego pierwszym dowodem jest punkt 2:

- Change Documenty są generowane przez odpowiednie transakcje/programy, więc np. transakcja MM02 ma w sobie w kodzie ABAP do wygenerowania change documenta co spowoduje stworzenie wpisów w CDHR i CDPOS.Odpowiednio w przypadku potrzeby generowania Change Documentów/Change pointerów - trzeba to po prostu oprogramować w tych transakcjach które uzupełniają ZMARA i ZMARC i odpalać moduły funkcyjne, o tak: https://blogs.sap.com/2021/02/10/comple ... nd-sapui5/
lukash3
Posty: 11
Rejestracja: czw sty 18, 2018 11:18 am
Been thanked: 2 times

Re: MATMAS - Changepointer na podstawie tabeli 'Z'

Post autor: lukash3 »

wojtas7 pisze:Dwa spostrzeżenia ;-)

- jeśli zapada taka decyzja, w jaki sposób rozszerzamy MARA i MARC, to jakiś bardzo wstępny etap implementacji, więc naprawdę dorabianie tabel ZMARA i ZMARC zamiast rozszerzyć o niezbędne pola bezpośrednio tabele MARA I MARC, to jest diametralny błąd i będzie to komplikowało utrzymanie tego systemu w stopniu wielkim później, czego pierwszym dowodem jest punkt 2:

- Change Documenty są generowane przez odpowiednie transakcje/programy, więc np. transakcja MM02 ma w sobie w kodzie ABAP do wygenerowania change documenta co spowoduje stworzenie wpisów w CDHR i CDPOS.Odpowiednio w przypadku potrzeby generowania Change Documentów/Change pointerów - trzeba to po prostu oprogramować w tych transakcjach które uzupełniają ZMARA i ZMARC i odpalać moduły funkcyjne, o tak: https://blogs.sap.com/2021/02/10/comple ... nd-sapui5/
Niestety ta decyzja padła już dawno temu, a dodatkowe tabele to spadek po polityce zakazu ruszania standardowych tabel - stąd ten problem.
Wydaje mi się, że tymczasowo najlepiej będzie wysyłać materiały np. co tydzień.
Docelowo jednak, tam gdzie to możliwe, będziemy raczej musieli przenieść tabele z-towe do standardowych.

Wysłane z mojego SM-G991B przy użyciu Tapatalka

ODPOWIEDZ