Change Pointers
Change Pointers
Witajcie,
Zgłupiałem trochę, potrzebuję pomocy.
Uruchomiłem monitorowanie (bd52) komunikat Z-towy danych bankowych dla:
DEBI KNBK BANKN
DEBI KNBK BANKS
DEBI KNBK BKONT
Zmiany w tabeli BDCP2 widoczne są jedynie w przypadku usunięcia linii z danymi konta przez FD02
W przypadku dodania nowych danych bądź zmiany BDCP2 pozostaje pusta, a uruchomienie bd21 nie wykazuje zmian.
Jest to kwestia konfiguracji, czy potrzebny będzie programista ?
Zgłupiałem trochę, potrzebuję pomocy.
Uruchomiłem monitorowanie (bd52) komunikat Z-towy danych bankowych dla:
DEBI KNBK BANKN
DEBI KNBK BANKS
DEBI KNBK BKONT
Zmiany w tabeli BDCP2 widoczne są jedynie w przypadku usunięcia linii z danymi konta przez FD02
W przypadku dodania nowych danych bądź zmiany BDCP2 pozostaje pusta, a uruchomienie bd21 nie wykazuje zmian.
Jest to kwestia konfiguracji, czy potrzebny będzie programista ?
-
- Posty: 8350
- Rejestracja: wt kwie 03, 2007 4:05 pm
- Has thanked: 1921 times
- Been thanked: 1476 times
- Kontakt:
Re: Change Pointers
Na początek sprawdź czy dokumenty zmian są poprawnie generowane dla danych bankowych. Change pointers tylko wskazują na dokumenty zmian, które mają zostać wykorzystane do replikacji zmian poprzez IDoc.
Re: Change Pointers
Dominiku,
Nie bardzo rozumiem kwestii
IDOC ZDEBMASS generuje się z segmentem ZKNBK niezależnie od tego czy został wywołany usunięciem danych bankowych, czy np. zmianą nazwy lub adresu
Nie bardzo rozumiem kwestii
Kod: Zaznacz cały
sprawdź czy dokumenty zmian są poprawnie generowane dla danych bankowych
-
- Posty: 8350
- Rejestracja: wt kwie 03, 2007 4:05 pm
- Has thanked: 1921 times
- Been thanked: 1476 times
- Kontakt:
Re: Change Pointers
Z Twojego pytania zrozumiałem, że masz problem z generowaniem wskaźników zmian. Wskaźniki zmian wskazują na dokumenty zmian. Zatem warunkiem koniecznym generowania wskaźników zmian jest utworzenie dokumentu zmiany. Dlatego zapytałem czy dla wskazanych przez Ciebie operacji dokumenty zmian są generowane. Moim zdaniem zawsze warto diagnozować problem od samego początku procesu.
Kiedy się upewnisz, że dokumenty zmian są generowane. Będzie można sprawdzić konfigurację wskaźników zmian dla Twojego IDoc'a ZDEBMAS.
Kiedy się upewnisz, że dokumenty zmian są generowane. Będzie można sprawdzić konfigurację wskaźników zmian dla Twojego IDoc'a ZDEBMAS.
Re: Change Pointers
Bazując na Twoim wpisie o dokumentach zmian z sapusers.pl (Dziękuję!).
Raport RSSCD100 wyświetla wprowadzone wpisy.
klasa obiektu DEBI, wskaźniku zmiany "I"
Jedyna różnica pomiędzy innymi dokumentami zmian jest taka, że te które są wywołane dodaniem konta mają puste pola :
Pole, Tekst, Etykieta, St. Wart, Nowa wart.
Raport RSSCD100 wyświetla wprowadzone wpisy.
klasa obiektu DEBI, wskaźniku zmiany "I"
Jedyna różnica pomiędzy innymi dokumentami zmian jest taka, że te które są wywołane dodaniem konta mają puste pola :
Pole, Tekst, Etykieta, St. Wart, Nowa wart.
-
- Posty: 8350
- Rejestracja: wt kwie 03, 2007 4:05 pm
- Has thanked: 1921 times
- Been thanked: 1476 times
- Kontakt:
Re: Change Pointers
Skoro są dokumenty zmian to wskaźniki zmian też powinny się tworzyć.
Sprawdziłbym następujące punkty:
Sprawdziłbym następujące punkty:
- Zobacz czy standardowy DEBMAS się generuje
- Upewnij się, że pola KNBK-BANKN, KNBK-BANKS, KNBK-BKONT na pewno uwzględniłeś w komunikacie ZDEBMAS (przypuszczam, że to jest zredukowana wersja DEBMAS).
- Sprawdź czy nie filtrujesz wskaźników zmian w implementacji BADI BDCP_BEFORE_WRITE.
Re: Change Pointers
AD 1. Aktywowałem standardowego Debmas'a, wpis w tabeli BDCP2 pojawił się. Portu nie dopisałem więc IDOC nie wygenerował się. Jeśli samo pojawienie się wpisu w BDCP2 nie jest miarodajne, postaram się dodać konfigurację dla portu - może idoc się wygeneruje.
AD 2. Jedyne co znalazłem to:
Nie wiem czy dokładnie o to chodziło.
AD3. w SE19 "Implementacja BADI BDCP_BEFORE_WRITE nie istnieje"
Przeglądając dokumenty zmian nasuwają mi się pytania:
1. Czy prawidłowym jest to, że wpisy dotyczące KNBK-BANKN KNBK-BANKS nie zawierają wartości w polach Nazwa pola, St. Wart, Nowa wart. ?
Pozostałe wpisy zawierają wspomniane dane.
2. Dodając dane bankowe, które składają się z 3 pól, tworzy się tylko 1 dokument zmiany, z pustą nazwą pola.
Przepraszam, ale nie mogę wstawić grafiki, firma blokuje strony...
AD 2. Jedyne co znalazłem to:
Kod: Zaznacz cały
LOOP AT lt_knbk INTO ls_knbk.
CLEAR: ls_sapsccknbk.
ls_sapsccknbk-kunnr = ls_knbk-kunnr.
ls_sapsccknbk-bankl = ls_knbk-bankl.
ls_sapsccknbk-bankn = ls_knbk-bankn.
ls_sapsccknbk-banks = ls_knbk-banks.
ls_sapsccknbk-bkont = ls_knbk-bkont.
ls_sapsccknbk-bvtyp = ls_knbk-bvtyp.
AD3. w SE19 "Implementacja BADI BDCP_BEFORE_WRITE nie istnieje"
Przeglądając dokumenty zmian nasuwają mi się pytania:
1. Czy prawidłowym jest to, że wpisy dotyczące KNBK-BANKN KNBK-BANKS nie zawierają wartości w polach Nazwa pola, St. Wart, Nowa wart. ?
Pozostałe wpisy zawierają wspomniane dane.
2. Dodając dane bankowe, które składają się z 3 pól, tworzy się tylko 1 dokument zmiany, z pustą nazwą pola.
Przepraszam, ale nie mogę wstawić grafiki, firma blokuje strony...
-
- Posty: 8350
- Rejestracja: wt kwie 03, 2007 4:05 pm
- Has thanked: 1921 times
- Been thanked: 1476 times
- Kontakt:
Re: Change Pointers
To jest prawidłowe zachowanie dokumentów zmian. Pola BANKN i BANKS są polami kluczowymi tablicy KNBK. Zatem nie możesz ich zmienić. Możesz ewentualnie usunąć rekord z określonymi wartościami w tych polach i wstawić do tablicy nowy rekord z innymi wartościami. Dlatego w dokumentach zmian nie widzisz pól "nowa wartość", "stara wartość".tendi001 pisze: ↑pt sty 17, 2020 8:52 am Przeglądając dokumenty zmian nasuwają mi się pytania:
1. Czy prawidłowym jest to, że wpisy dotyczące KNBK-BANKN KNBK-BANKS nie zawierają wartości w polach Nazwa pola, St. Wart, Nowa wart. ?
Pozostałe wpisy zawierają wspomniane dane.
2. Dodając dane bankowe, które składają się z 3 pól, tworzy się tylko 1 dokument zmiany, z pustą nazwą pola.
-
- Posty: 8350
- Rejestracja: wt kwie 03, 2007 4:05 pm
- Has thanked: 1921 times
- Been thanked: 1476 times
- Kontakt:
Re: Change Pointers
Do wpisu zawsze możesz dodać załącznik w grafiką i wstawić go do tekstu wpisu - https://www.phpbb.com/support/docs/en/3 ... tachments/
-
- Posty: 8350
- Rejestracja: wt kwie 03, 2007 4:05 pm
- Has thanked: 1921 times
- Been thanked: 1476 times
- Kontakt:
Re: Change Pointers
Zatem standardowy IDoc działa, razem z change pointerami. To wskazuje, że problem jest gdzieś w definicji Twojego własnego IDoc'a.
Co to jest za kod ABAP? Jeśli to jest Twój własny kod, to przypuszczam, że próbujesz od zera napisać własny komunikat ALE/IDoc. Jeśli tak, to pytanie, po co chcesz to zrobić?tendi001 pisze: ↑pt sty 17, 2020 8:52 am AD 2. Jedyne co znalazłem to:Nie wiem czy dokładnie o to chodziło.Kod: Zaznacz cały
LOOP AT lt_knbk INTO ls_knbk. CLEAR: ls_sapsccknbk. ls_sapsccknbk-kunnr = ls_knbk-kunnr. ls_sapsccknbk-bankl = ls_knbk-bankl. ls_sapsccknbk-bankn = ls_knbk-bankn. ls_sapsccknbk-banks = ls_knbk-banks. ls_sapsccknbk-bkont = ls_knbk-bkont. ls_sapsccknbk-bvtyp = ls_knbk-bvtyp.
Czy nie lepiej/prościej wykorzystać standardowy DEBMAS, który jak stwierdziliśmy w pierwszym punkcie działa bez zarzutów? Ewentualnie możesz DEBMAS zredukować jeśli nie chcesz przesyłać wszystkich segmentów - transakcja BD53.
To przynajmniej wiemy, że to nie implementacja BADI blokuje tworzenie change pointerów
Re: Change Pointers
Już trochę się pogubiłem, ale tak to wygląda.dominik.tylczynski pisze: ↑pn sty 20, 2020 11:00 amZatem standardowy IDoc działa, razem z change pointerami. To wskazuje, że problem jest gdzieś w definicji Twojego własnego IDoc'a.
Niestety to nie mój kod, choć chciałbym "aż" tyle potrafić. Mam styczność z SAPem zaledwie kilka miesiecy, powoli wkraczam w nieznane.Co to jest za kod ABAP? Jeśli to jest Twój własny kod, to przypuszczam, że próbujesz od zera napisać własny komunikat ALE/IDoc. Jeśli tak, to pytanie, po co chcesz to zrobić?tendi001 pisze: ↑pt sty 17, 2020 8:52 am AD 2. Jedyne co znalazłem to:Nie wiem czy dokładnie o to chodziło.Kod: Zaznacz cały
LOOP AT lt_knbk INTO ls_knbk. CLEAR: ls_sapsccknbk. ls_sapsccknbk-kunnr = ls_knbk-kunnr. ls_sapsccknbk-bankl = ls_knbk-bankl. ls_sapsccknbk-bankn = ls_knbk-bankn. ls_sapsccknbk-banks = ls_knbk-banks. ls_sapsccknbk-bkont = ls_knbk-bkont. ls_sapsccknbk-bvtyp = ls_knbk-bvtyp.
Czy nie lepiej/prościej wykorzystać standardowy DEBMAS, który jak stwierdziliśmy w pierwszym punkcie działa bez zarzutów? Ewentualnie możesz DEBMAS zredukować jeśli nie chcesz przesyłać wszystkich segmentów - transakcja BD53.
Co do standardowego DEBMAS'a - trafna uwaga, nie wiem dlaczego został stworzony Z-towy komunikat, ale sporo jest na nim oparte.
Czyli przynajmniej doprze sprawdziłem
Może uda mi się uruchomić standardowego DEBMAS'a w pełni testowo. dam znac
Dziękuje za udzielone odpowiedzi
-
- Posty: 8350
- Rejestracja: wt kwie 03, 2007 4:05 pm
- Has thanked: 1921 times
- Been thanked: 1476 times
- Kontakt:
Re: Change Pointers
Pomijając fakt niepotrzebnej implementacji własnego typu IDoc'a przypuszczam, że bezpośrednią przyczyną Twojego problemu jest brak następującego wpisu w transakcji BD66:
Powyższy zrzut ekranu pokazuje naturalnie standardowe ustawienia dla typu komunikatu ALE DEBMAS. Sprawdź czy masz ten wpis dla swojego typu komunikatu ALE.
Podobny problem jest opisany w nocie: 69123 - Cust.master record:Change pointer:Create KNKA data
Powyższy zrzut ekranu pokazuje naturalnie standardowe ustawienia dla typu komunikatu ALE DEBMAS. Sprawdź czy masz ten wpis dla swojego typu komunikatu ALE.
Podobny problem jest opisany w nocie: 69123 - Cust.master record:Change pointer:Create KNKA data
Re: Change Pointers
Niestety, w dalszym ciągu Idoc nie generował się.dominik.tylczynski pisze: ↑pn sty 20, 2020 1:53 pm Pomijając fakt niepotrzebnej implementacji własnego typu IDoc'a przypuszczam, że bezpośrednią przyczyną Twojego problemu jest brak następującego wpisu w transakcji BD66:2020-01-20_13h50_33.png
Powyższy zrzut ekranu pokazuje naturalnie standardowe ustawienia dla typu komunikatu ALE DEBMAS. Sprawdź czy masz ten wpis dla swojego typu komunikatu ALE.
Podobny problem jest opisany w nocie: 69123 - Cust.master record:Change pointer:Create KNKA data
Uruchomiłem standardowego DEBMAS'a, poprawnie przekazuje się do portu oraz poprawnie widzi zmiany i generuje IDOC .
Standardowy komunikat można edytować ?
Można oznaczyć które segmenty mają być zawsze wysyłane, oraz dodać pola Ztowe?
Ewentualnie dodać Ztowy segment ?
Jest to zgodne z SAP ?
Poprzedni Ztowy komunikat działał tak, że widział zmiany w Zetowych polach ( rozszerzenie danych ogólnych ), zawsze wysyłał informacje ze wszystkich jednostek, (KNB5) oraz dane z KNBK KNVK i jak wspomniałem wcześniej KNA1 w każdym znajdzie się Ztowe pole
-
- Posty: 8350
- Rejestracja: wt kwie 03, 2007 4:05 pm
- Has thanked: 1921 times
- Been thanked: 1476 times
- Kontakt:
Re: Change Pointers
Czy dodanie tego wpisu w BD66 dla Twojego typu komunikatu ALE spowodowało zapisanie wskaźników zmian podczas tworzenia danych bankowych? Sprawdźmy najpierw czy wskaźniki działają poprawnie. Wklej też proszę zrzut ekranu z wpisem, który dodałeś.tendi001 pisze: ↑wt sty 21, 2020 7:13 amNiestety, w dalszym ciągu Idoc nie generował się.dominik.tylczynski pisze: ↑pn sty 20, 2020 1:53 pm Pomijając fakt niepotrzebnej implementacji własnego typu IDoc'a przypuszczam, że bezpośrednią przyczyną Twojego problemu jest brak następującego wpisu w transakcji BD66.
Powyższy zrzut ekranu pokazuje naturalnie standardowe ustawienia dla typu komunikatu ALE DEBMAS. Sprawdź czy masz ten wpis dla swojego typu komunikatu ALE.
Podobny problem jest opisany w nocie: 69123 - Cust.master record:Change pointer:Create KNKA data
-
- Posty: 8350
- Rejestracja: wt kwie 03, 2007 4:05 pm
- Has thanked: 1921 times
- Been thanked: 1476 times
- Kontakt:
Re: Change Pointers
Standardowy typ IDoc'a możesz zredukować tj. wskazać, które segmenty chcesz wysyłać, a które nie. Jest to standardowa konfiguracja, zgodna z SAP, nie trzeba tutaj nic programować.
Znowu, zgodnie z SAP, standardowy typ IDoc'a możesz rozszerzyć o własne dodatkowe segmenty i Z-towymi polami. Naturalnie musisz wtedy oprogramować ich napełnianie. Praktycznie każda implementacja IDoc'ów SAP zawiera standardowe rozszerzenia, które możesz wykorzystać do napełniania pól we własnych segmentach.