Działanie changepointerów

Jeśli programujesz, administrujesz, integrujesz i masz wątpliwość lub obawę, to właśnie najlepsze miejsce dla Ciebie. Pisz śmiało...
ODPOWIEDZ
mikas
Posty: 360
Rejestracja: pn mar 14, 2016 1:55 pm
Has thanked: 147 times
Been thanked: 24 times

Działanie changepointerów

Post autor: mikas »

Cześć

Może ktoś będzie miał pomysł ... Mam na systemie testowym skonfigurowane changepointery. Generalnie jak zmieniam coś w kontrahencie, to generuje mi się IDoc DEBMAS i wysyła. Wszystko działa.
To samo mam skonfigurowane na prodzie, ale już tam nie działa to z automatu. Tzn. jak wysyłam poprzez BD12 kontrahenta, to wszystko jest ok, ale "sam z siebie" po zmianie się nie generuje.
Wszystkie ustawienia mam takie same a jednak coś gdzieś widać jest nie tak. Macie jakiś pomysł, gdzie jeszcze może być "haczyk" ?

pozdrawiam, Michał
mikas
Posty: 360
Rejestracja: pn mar 14, 2016 1:55 pm
Has thanked: 147 times
Been thanked: 24 times

Re: Działanie changepointerów

Post autor: mikas »

I na 99,99 % mam odpowiedź. Musze poczekać tylko na basisowca. Najprawdopodobniej inaczej jest ustawiony spool w SM37, program RBDCPCLR.
Na teście chodzi on co chwilę, a na prod mam tylko raz dziennie. Spróbujemy zmienić i zobaczymy czy to coś dało.

pozdrawiam, Michał
dominik.tylczynski
Posty: 8325
Rejestracja: wt kwie 03, 2007 4:05 pm
Has thanked: 1913 times
Been thanked: 1474 times
Kontakt:

Re: Działanie changepointerów

Post autor: dominik.tylczynski »

Raport RBDCPCLR to inaczej transakcja BD21, która przetwarza change pointer'y i generuje z nich IDoc'i:
2019-01-11_10h43_49.png
2019-01-11_10h43_49.png (7.64 KiB) Przejrzano 2060 razy

Jeśli chcesz mieć w miarę na bieżąco replikowane zmiany danych to raport powinien chodzić dosyć często, powiedzmy co 10-15 minut. Moim zdaniem w systemie produkcyjnym 1x dzień to bardzo rzadko, no chyba że masz dane, które się wolno zmieniają i nie potrzebujesz natychmiastowej replikacji.

Kiedy korzysta się z change pointer'ów warto je też od czasu do czasu reorganizować transakcją BD22.
mikas
Posty: 360
Rejestracja: pn mar 14, 2016 1:55 pm
Has thanked: 147 times
Been thanked: 24 times

Re: Działanie changepointerów

Post autor: mikas »

Ale co mi daje wykonanie BD22 ? Bo widze tam obecnie taki status
BDCP 0
BDCPS 0
BDCP2 191
Jak wykonam to nie w przebiegu testowym, to co się dokładnie zrobi ?

dziękuję, pozdrawiam, Michał
mikas
Posty: 360
Rejestracja: pn mar 14, 2016 1:55 pm
Has thanked: 147 times
Been thanked: 24 times

Re: Działanie changepointerów

Post autor: mikas »

A jednak coś nie tak jest nadal, udało mi się zmienić ten job na interwał co 10 minut, ale nadal mi nie przerzuca danych ... :(
Spróbuję chyba dodać od nowa tak jak jest na teście i zobaczymy ...

pozdrawiam, Michał
dominik.tylczynski
Posty: 8325
Rejestracja: wt kwie 03, 2007 4:05 pm
Has thanked: 1913 times
Been thanked: 1474 times
Kontakt:

Re: Działanie changepointerów

Post autor: dominik.tylczynski »

mikas pisze: pt sty 11, 2019 11:21 am Ale co mi daje wykonanie BD22 ? Bo widze tam obecnie taki status
BDCP 0
BDCPS 0
BDCP2 191
Jak wykonam to nie w przebiegu testowym, to co się dokładnie zrobi ?

dziękuję, pozdrawiam, Michał
Skasuje przetworzone i/lub przeterminowane change pointery. Warto to robić od czasu do czasu, bo wszystkie change pointery są przechowywane w jednej tablicy BDCP2. Przetworzenie change pointer'a nie kasuje go z tablicy, tylko zmienia status. Po jakimś czasie ta tablica może mocno urosnąć.
dominik.tylczynski
Posty: 8325
Rejestracja: wt kwie 03, 2007 4:05 pm
Has thanked: 1913 times
Been thanked: 1474 times
Kontakt:

Re: Działanie changepointerów

Post autor: dominik.tylczynski »

mikas pisze: pt sty 11, 2019 1:24 pm A jednak coś nie tak jest nadal, udało mi się zmienić ten job na interwał co 10 minut, ale nadal mi nie przerzuca danych ... :(
Spróbuję chyba dodać od nowa tak jak jest na teście i zobaczymy ...

pozdrawiam, Michał
BD21 działa dla określonego komunikatu ALE. Sprawdź dla jakiego komunikatu masz ustawione zadanie w tle na systemie produkcyjnym.
mikas
Posty: 360
Rejestracja: pn mar 14, 2016 1:55 pm
Has thanked: 147 times
Been thanked: 24 times

Re: Działanie changepointerów

Post autor: mikas »

dominik.tylczynski pisze: Skasuje przetworzone i/lub przeterminowane change pointery. Warto to robić od czasu do czasu, bo wszystkie change pointery są przechowywane w jednej tablicy BDCP2. Przetworzenie change pointer'a nie kasuje go z tablicy, tylko zmienia status. Po jakimś czasie ta tablica może mocno urosnąć.
No to już wiem teraz i to na własnej skórze ... zmieniłem joba i chyba zaczął próbować wysłać wszystkie zmiany. Aż do momentu ... położenia SAPa :? :roll: :oops:
Wywaliłem joba, trzeba było restartować bazę, ale widzę, że musimy do tego usiąść ... Bo nigdy z tego co kojarzę, nie było to robione.

Rozumiem, że można po prostu wykonać taką operację i nie będzie "groziła" niczym oprócz skasowania tych changepointerów ... ? Chodzi mi o to czyszczenie tej tablicy.

pozdrawiam, Michał
mikas
Posty: 360
Rejestracja: pn mar 14, 2016 1:55 pm
Has thanked: 147 times
Been thanked: 24 times

Re: Działanie changepointerów

Post autor: mikas »

dominik.tylczynski pisze: BD21 działa dla określonego komunikatu ALE. Sprawdź dla jakiego komunikatu masz ustawione zadanie w tle na systemie produkcyjnym.
Takie przypisanie gdzie sprawdzę ? W SM37 gdzieś to jest widoczne, czy gdzieś indziej ... ?

pozdrawiam, Michał
dominik.tylczynski
Posty: 8325
Rejestracja: wt kwie 03, 2007 4:05 pm
Has thanked: 1913 times
Been thanked: 1474 times
Kontakt:

Re: Działanie changepointerów

Post autor: dominik.tylczynski »

mikas pisze: pt sty 11, 2019 6:57 pm
dominik.tylczynski pisze: BD21 działa dla określonego komunikatu ALE. Sprawdź dla jakiego komunikatu masz ustawione zadanie w tle na systemie produkcyjnym.
Takie przypisanie gdzie sprawdzę ? W SM37 gdzieś to jest widoczne, czy gdzieś indziej ... ?

pozdrawiam, Michał
Zadanie w tle przetwarza transakcję BD21 / raport RBDCPCLR z wariantem selekcji. W tym wariancie jest zdefiniowany komunikat, dla którego są przetwarzane change pointer'y i generowane IDoc'i.
dominik.tylczynski
Posty: 8325
Rejestracja: wt kwie 03, 2007 4:05 pm
Has thanked: 1913 times
Been thanked: 1474 times
Kontakt:

Re: Działanie changepointerów

Post autor: dominik.tylczynski »

mikas pisze: pt sty 11, 2019 6:02 pm Rozumiem, że można po prostu wykonać taką operację i nie będzie "groziła" niczym oprócz skasowania tych changepointerów ... ? Chodzi mi o to czyszczenie tej tablicy.

pozdrawiam, Michał
Dobrze rozumiesz :) BD22 kasuje stare, nie przetworzone change pointer'y, których już nie potrzebujesz i/lub te już przetworzone na IDoc'i.
mikas
Posty: 360
Rejestracja: pn mar 14, 2016 1:55 pm
Has thanked: 147 times
Been thanked: 24 times

Re: Działanie changepointerów

Post autor: mikas »

dominik.tylczynski pisze: Zadanie w tle przetwarza transakcję BD21 / raport RBDCPCLR z wariantem selekcji. W tym wariancie jest zdefiniowany komunikat, dla którego są przetwarzane change pointer'y i generowane IDoc'i.
Tego się przyznaję nie łapię ... :roll: Zadanie definiuję w SM36, tak ? I tam określam jakiś wariant dla danego programu, w tym wypadku RBDCPCLR ?

pozdrawiam, Michał
dominik.tylczynski
Posty: 8325
Rejestracja: wt kwie 03, 2007 4:05 pm
Has thanked: 1913 times
Been thanked: 1474 times
Kontakt:

Re: Działanie changepointerów

Post autor: dominik.tylczynski »

Przede wszystkim muszę skorygować wcześniejsze informacje o transakcjach i programach.
Powinno być tak:
  • Transakcja BD21, raport RBDMIDOC - przetwarzanie change pointer'ów, tworzenie z nich komunikatów ALE/IDoc
  • Transakcja BD22, raport RBDCPCLR - reorganizacja change pointer'ów, tj. kasowanie przeterminowanych i/lub przetworzonych change pointer'ów

Każdy z tych raportów ma jakieś parametry selekcji, przykładowo rodzaj komunikatu ALE dla BD21 / RBDMIDOC:
2019-01-14_10h10_27.png
2019-01-14_10h10_27.png (4.54 KiB) Przejrzano 2002 razy

Kiedy jakiś raport chcesz uruchamiać przy pomocy zadania w tle, to musisz do tego raportu przekazać parametry selekcji. Robisz to przy pomocy wariant selekcji. Ten wariant przypisujesz do raportu w definicji kroku zadania w tle.
ODPOWIEDZ