Krok zastosowania
W kroku zastosowania rekordy są dodawane lub aktualizowane w środowisku docelowym. Podobnie jak krok porównania, krok zastosowania w rzeczywistości składa się z wielu kroków, co pozwala na optymalną obsługę dużego wolumenu danych oraz zależności między rekordami.
Przed szczegółowym objaśnieniem kroków zastosowania w poniższych punktach wyróżniono typy danych, które można uwzględnić w określonym zbiorze danych.
-
Rekordy, które nie mają kluczy obcych i tym samym nie mają zależności z innymi rekordami. Przykłady: Komunikat, profil wyświetlania.
-
Rekordy z kluczami obcymi, które mogą już znajdować się w środowisku docelowym. Przykłady: Algorytmy dotyczące istniejących typów algorytmów, role Do wykonania dotyczące istniejących typów Do wykonania.
-
Rekordy z kluczami obcymi, które są nowymi rekordami, ale stanowią część przeniesienia. W CMA wykryto powiązanie podczas eksportu i zgrupowano obiekty w tej samej transakcji. Przykład: Typ algorytmu na podstawie skryptu w przypadku, gdy skrypt również stanowi część przeniesienia.
-
Rekordy z kluczami obcymi, które są nowymi rekordami, ale stanowią część przeniesienia. W CMA nie wykryto powiązania. Sytuacja taka może wystąpić, jeśli odwołanie do klucza obcego występuje w danych XML lub kolumnie parametru, a plan przenoszenia nie zawiera instrukcji jawnie definiującej relację. Przykład: Strefa odwołująca się do skryptu widoczności.
-
Rekordy z odwołaniami cyklicznymi, w przypadku których oba rekordy są nowe i stanowią część przeniesienia. W CMA wykryto powiązanie podczas eksportu i zgrupowano obiekty w tej samej transakcji. Przykład: Skrypt wtyczki dla miejsca dołączania obiektu biznesowego. Skrypt odwołuje się do obiektu biznesowego, a obiekt biznesowy odwołuje się do algorytmu dotyczącego typu algorytmu skryptu. Innym przykładem jest sytuacja, gdy ten sam rekord jest obsługiwany przez wiele obiektów obsługi i dlatego istnieje w wielu obiektach przenoszenia.
W celu umożliwienia obsługi dużych wolumenów danych pierwszym krokiem w procesie zastosowania jest wykonanie zbioru reguł stosowania na poziomie obiektu przenoszenia za pośrednictwem wielowątkowego zadania. Wynikiem powinno być pomyślne zastosowanie wszystkich rekordów w powyższych kategoriach 1 i 2.
-
Zależności między obiektami głównymi i transakcyjnymi są zwykle hierarchiczne i większości przypadków proste. Narzędzie wykorzystuje to do orkiestracji przetwarzania obiektów w optymalny sposób maksymalnie zgodny z kolejnością zależności. Powiązanie między obiektami może być złożone. W takim przypadku to podejście nie eliminuje wszystkich błędów związanych z kolejnością przetwarzania, ale znacznie ogranicza ich liczbę.
-
Zależność między obiektami konfiguracji jest bardziej złożona, a obiekty przenoszenia mogą nie występować kolejno, tj. wielowątkowy proces zadania może nie przetwarzać rekordów w oczekiwanej kolejności.
-
Aby zapobiec potencjalnemu problemowi z błędami związanymi z kolejnością przetwarzania, krok zastosowania obejmuje specjalną funkcjonalność, która została szczegółowo opisana poniżej.
W przypadku rekordów z powyższej kategorii 5 odwołanie cykliczne spowoduje, że rekordy nie zostaną pomyślnie dodane ani zaktualizowane na poziomie obiektu w procesie zastosowania. Rekordy te zostaną przetworzone w procesie zastosowania na poziomie transakcji. Procedura ta została szczegółowo opisana poniżej.
Zastosowanie obiektów
Gdy zbiór danych osiągnie stan Zastosowanie obiektów, zostanie uruchomiony proces Monitor obiektu przenoszenia - zastosowanie (F1-MGOAP) i zostanie wykonana próba zastosowania obiektów.
W przypadku korzystania z oddzielnych procesów zadania dla danych biznesowych proces Monitor obiektu przenoszenia (biznesowe) - zastosowanie (F1-MGOAB) działa w ten sam sposób i powoduje zastosowanie biznesowych obiektów przenoszenia.
Proces w tle w połączeniu z algorytmem zastosowania zawiera specjalną funkcję zapewniającą, że obiekty z powyższych kategorii 3 i 4 zostaną pomyślnie zastosowane w tym kroku:
-
Proces Monitor obiektu przenoszenia - zastosowanie dokonuje ciągłego ponownego wyboru rekordów o stanie Zatwierdzone do momentu, gdy nie zostaną znalezione rekordy kwalifikujące się do przetworzenia.
-
Gdy w algorytmie "Zastosowanie obiektu" wystąpi błąd, algorytm zwiększy wartość "liczby iteracji" w rekordzie obiektu przenoszenia. Jeśli liczba iteracji nie przekracza maksymalnej liczby (określonej w algorytmie), obiekt pozostanie w stanie Zatwierdzone i będzie kwalifikował się do ponownego przetwarzania. Po przekroczeniu maksymalnej liczby iteracji zdefiniowanej w algorytmie rekord zmieni stan na Błąd zastosowania.
Na poniższym diagramie przedstawiono fragment cyklu życia obiektu przenoszenia przedstawiający krok zastosowania.

Po zakończeniu procesu monitorowania zastosowania obiekty będą zwykle miały stan Zastosowane lub Błąd zastosowania. Rekordy mogą mieć stan "Błąd zastosowania" z jednej z dwóch przyczyn.
-
Należą do opisanej powyżej kategorii 5, tj. zawierają odwołanie cykliczne do innego rekordu. W takim przypadku opisany poniżej krok "Zastosowanie transakcji" powinien zakończyć się pomyślnym zastosowaniem tych rekordów.
-
Występuje inny błąd niezwiązany z rekordami w bieżącym przeniesieniu. W takim przypadku wymagane jest ręczne rozwiązanie problemu. Więcej informacji można znaleźć w sekcji Naprawianie błędów poniżej.
Jak pokazano na diagramie, algorytm "Zastosowanie obiektów" może także wykryć przyczynę braku możliwości zastosowania obiektu. Taka sytuacja może wystąpić, jeśli obiekt w środowisku docelowym został zaktualizowany od czasu zakończenia kroku porównania, sprawiając, że zarejestrowany wtedy kod SQL stanie się nieaktualny. W takim przypadku po pełnym zastosowaniu bieżącego przeniesienia można ponownie zaimportować pierwotny plik. Zostaną wygenerowane i zastosowane nowe porównania.
Zastosowanie transakcji
W idealnym przypadku po kroku Zastosowanie obiektów wszystkie obiekty miałyby stan Zastosowane lub Błąd zastosowania w wyniku sytuacji spowodowanej "odwołaniem cyklicznym". Zazwyczaj kolejnym krokiem jest przekazanie odpowiedzialności do transakcji. W transakcjach przeniesienia będzie wtedy można podjąć próbę masowego zastosowania obiektów.
Aby zapewnić, że wiele procesów działających w tle nie spróbuje wybrać obiektów przenoszenia w celu uruchomienia kroków zastosowania, transakcje mogą podjąć próbę "zastosowania własnych obiektów" tylko wówczas, jeśli zbiór danych ma stan Zastosowanie transakcji.

Algorytm monitorowania (wykonywany przez proces zadania monitorowania zbioru danych), który ma stan "Zastosowanie obiektów" sprawdza, czy żaden obiekt przenoszenia nie ma już stanu Zatwierdzone oraz czy liczba rekordów o stanie Błąd zastosowania nie przekracza skonfigurowanego limitu. W takim przypadku rekord automatycznie przejdzie do stanu Zastosowanie transakcji.
Jeśli liczba obiektów o stanie Błąd zastosowania przekracza skonfigurowany limit, algorytm monitorowania nie wykonuje zmiany rekordu automatycznie. W takim przypadku użytkownik musi określić, czy duża liczba błędów może zostać naprawiona lub ręcznie zmienić stan rekordów na Zastosowanie transakcji (mimo dużej liczby błędów). W sekcji Naprawianie błędów poniżej opisano alternatywne kroki, które użytkownik może wykonać w przypadku wystąpienia błędów.
Gdy zbiór danych osiągnie stan Zastosowanie transakcji, zostanie uruchomiony proces Monitor transakcji przenoszenia - zastosowanie (F1-MGTAP). Zostanie podjęta próba zastosowania obiektów transakcji. Jeśli żadne obiekty przenoszenia nie będą zawierały błędów, transakcja przeniesienia przejdzie do stanu Zastosowane. Jeśli dowolny obiekt przenoszenia będzie miał stan Błąd zastosowania, proces w tle i algorytm zastosowania mają specjalną funkcjonalność służącą do rozwiązywania zależności w przenoszonych obiektach.
-
Algorytm zastosowania wybierze wszystkie błędne obiekty przenoszenia i wykona ich instrukcje SQL, a następnie sprawdzi poprawność wszystkich rekordów. Jeśli w transakcji znajdują się obiekty z odwołaniami cyklicznymi, w tym miejscu powinny pomyślnie przejść sprawdzanie poprawności.
-
Ponieważ między transakcjami mogą wciąż istnieć zależności, w tym miejscu wykonana zostanie podobna procedura rozwiązywania błędów jak w kroku "Zastosowanie obiektów". W przypadku wystąpienia błędu w algorytmie Zastosowanie obiektów transakcji w dowolnym obiekcie transakcji, algorytm zwiększy wartość "liczba powtórzeń" w rekordzie transakcji przeniesienia. Jeśli liczba iteracji nie przekracza maksymalnej liczby (określonej w algorytmie), transakcja pozostanie w stanie Gotowe do zastosowania i będzie kwalifikowała się do ponownego przetwarzania. Po przekroczeniu maksymalnej liczby iteracji rekord zmieni stan na Błąd zastosowania. Jeśli dowolne obiekty w transakcji zawierają błędy, żaden obiekt nie zostanie zastosowany. Wszystkie obiekty pozostaną w błędnym stanie.
-
Proces Monitor transakcji przenoszenia - zastosowanie dokonuje ciągłego ponownego wyboru rekordów o stanie Gotowe do zastosowania do momentu, gdy nie zostaną już znalezione rekordy kwalifikujące się do przetworzenia.
Na poniższym diagramie przedstawiono fragment cyklu życia transakcji przeniesienia przedstawiający krok zastosowania jako ilustrację powyższych informacji.

Jeśli pod koniec procesu zastosowania na poziomie transakcji występują błędne transakcje (i tym samym błędne rekordy), użytkownik musi przejrzeć błędy i określić sposób ich rozwiązania. Więcej informacji można znaleźć w sekcji Naprawianie błędów poniżej.
Naprawianie błędów
Jak już zaznaczono w poprzednich sekcjach, informacje o błędach mogą pojawić się po uruchomieniu procesu zastosowania obiektów. Jeśli liczba rekordów zawierających błędy nie przekracza pewnego limitu (i przesłane zostanie zadanie monitorowania zbioru danych w celu wykonania algorytmów monitorowania), system automatycznie zmieni stan zbioru danych na Zastosowanie transakcji. Jeśli zadanie monitorowania nie jest uruchomione lub liczba obiektów zawierających błędy przekracza pewien limit, użytkownik musi podjąć decyzję po przejrzeniu błędów w strefie Obiekty zawierające błędy w portalu Import zbioru danych przenoszenia.
-
Jeśli błędy wydają się powiązane z zależnościami, użytkownik może zdecydować o zezwoleniu na "zastosowanie własnych obiektów w transakcji" i przejściu zbioru danych w opisany powyżej stan Zastosowanie transakcji.
-
Jeśli błąd wydaje się być powiązany z zewnętrznym problemem, który można rozwiązać ręcznie, użytkownik może usunąć ten problem i ponownie wykonać krok "Zastosowanie obiektów".
-
Użytkownik może także zdecydować o odrzuceniu jednego lub większej liczby obiektów w celu usunięcia ich z przeniesienia.
Jeśli po kroku "Zastosowanie transakcji" nadal występują błędy, użytkownik musi dokonać ich przeglądu i określić sposób postępowania. Błędy są widoczne w strefie Transakcje zawierające błędy w portalu Import zbioru danych transakcji.
-
Użytkownik może zdecydować o odrzuceniu jednego lub większej liczby obiektów w celu usunięcia ich z przeniesienia.
-
Użytkownik może ręcznie rozwiązać zewnętrzny problem dotyczący przeniesienia i zdecydować o wykonaniu jednej z poniższych czynności:
-
Ponownym wykonaniu kroku Zastosowanie obiektów. Jest to zalecane, jeśli nadal występuje duża liczba błędnych obiektów, a nie jest oczekiwana duża liczba zależności. Korzyści z wielowątkowego uruchomienia zastosowania obiektów zapewnią wydajne działanie procesu.
-
Ponownym wykonaniu kroku Zastosowanie transakcji.
-
Ponieważ obiekty i transakcje mają stan Błąd zastosowania, aby "ponownie wykonać" krok zastosowania po ręcznym usunięciu błędu, konieczne jest przeniesienie rekordów w systemie z powrotem do stanu umożliwiającego ich wybranie przez odpowiedni proces zastosowania. W przypadku obiektów przenoszenia rekordy należy przenieść do stanu Zatwierdzone. W przypadku transakcji przeniesienia rekordy należy przenieść do stanu Gotowe do zastosowania. W poniższych punktach opisano zbiór reguł ponawiania prób dotyczący obiektów przenoszenia.
-
Jeśli użytkownik zdecyduje o wykonaniu czynności Ponowienie obiektów (używając przycisku czynności na stronie importu zbioru danych przenoszenia), zbiór danych zmieni stan na Ponowienie obiektów. Należy wtedy uruchomić monitor obiektu przenoszenia.
-
Proces monitorowania obiektów o stanie Błąd zastosowania wykrywa, że zbiór danych ma stan Ponowienie obiektów i to powoduje wyzwolenie zmiany staniu z powrotem na Zatwierdzone.
-
Następny krok to zmiana stanu zbioru danych ze stanu Ponowienie obiektów na Zastosowanie obiektów. Można to zrobić ręcznie lub uruchamiając proces monitorowania importu zbioru danych przenoszenia.
-
Obiekty będą teraz kwalifikowały się do wyboru w procesie zastosowania na poziomie obiektu.
Analogiczny zbiór reguł istnieje w odniesieniu do transakcji przeniesienia.
-
Jeśli użytkownik zdecyduje o wykonaniu czynności Ponowienie transakcji (używając przycisku czynności na stronie importu zbioru danych przenoszenia), zbiór danych zmieni stan na Ponowienie transakcji. Należy wtedy uruchomić monitor transakcji przenoszenia.
-
Proces monitorowania transakcji o stanie Błąd zastosowania wykrywa, że zbiór danych ma stan Ponowienie transakcji i to powoduje wyzwolenie zmiany staniu z powrotem na Gotowe do zastosowania.
-
Następny krok to zmiana stanu zbioru danych ze stanu Ponowienie transakcji na Zastosowanie transakcji. Można to zrobić ręcznie lub uruchamiając proces monitorowania importu zbioru danych przenoszenia.
-
Transakcje będą teraz kwalifikowały się do wyboru w procesie zastosowania na poziomie transakcji.
Logika ponawiania może mieć zastosowanie także wtedy, gdy następuje zmiana między stanami Zastosowanie obiektów i Zastosowanie transakcji, w zależności od tego, czy wystąpiły błędy, czy też nie. Obrazuje to poniższy scenariusz.
-
Po wykonaniu kroku Zastosowanie obiektów niektóre obiekty są w stanie Błąd zastosowania. Zbiór danych zmienia stan na Zastosowanie transakcji i krok zastosowania wykonywany jest na poziomie transakcji.
-
Po wykonaniu kroku Zastosowanie transakcji niektóre transakcje są w stanie Błąd zastosowania.
-
Użytkownik decyduje się na próbę ponownego zastosowania obiektów (klikając Ponowienie obiektów). W tym punkcie wykonywane są wymienione powyżej kroki ponownego zastosowania obiektów.
-
Po wykonaniu zastosowania obiektów użytkownik może znowu wybrać ponowienie obiektów (po usunięciu błędów, jeśli to konieczne).
-
W którymś momencie użytkownik ponownie zmieni stan danych na Zastosowanie transakcji. Jeśli jakieś transakcje mają stan Błąd zastosowania, system automatycznie zmieni stan zbioru danych na Ponowienie transakcji i wykonane zostaną przedstawione powyżej kroki ponawiania transakcji.
Finalizowanie kroku zastosowania
Gdy wszystkie obiekty przenoszenia w transakcji przeniesienia przyjmą ostateczny stan (Zastosowane, Odrzucone lub Nie można zastosować), transakcja przeniesienia przejdzie w stan Zastosowane. Gdy wszystkie transakcje przenoszenia przyjmą stan Zastosowane, rekord zbioru danych przenoszenia przejdzie w stan Zakończone i import zostanie ukończony.