Projektowanie > Słownik skryptu > Transakcje aktualizacji 

Funkcja ta służy do tworzenia transakcji systemowych w słowniku. Te transakcje zostaną użyte przez funkcję wykonanie transakcji systemowych do dokonania masowej aktualizacji bazy danych (tworzenie, modyfikowanie lub usuwanie pozycji).

Dodatkowo należy mieć na uwadze, że transakcje systemowe są uwzględniane w słowniku danych. Oznacza to, że ponowne zatwierdzenie folderu powoduje usunięcie wszystkich transakcji systemowych, które nie zostały zabezpieczone określonym kodem czynności. Następnie może przenieść standardowe transakcje systemowe znajdujące się w folderze, jeżeli edytor podejmie decyzję o dostarczeniu transakcji systemowych do folderu referencyjnego programu (obecnie nie znajduje zastosowania).

Warunek

SEEREFERTTO Odniesienie do dokumentacji Implementacja

Zarządzanie ekranem

Ekran definiuje się za pomocą dwóch zakładek: zakładki ogólnej, gdzie wprowadza się definicję transakcji oraz zakładki zawierającej formuły wyboru rekordów do przetworzenia i tabel do aktualizacji.

Nagłówek

Prezentacja

Nagłówek służy do identyfikacji funkcji.

Zamknij

 

Pola

Na tej karcie występują następujące pola :

  • Kod (pole COD)

Kod identyfikuje transakcję systemową do uruchomienia.

  • Opis (pole ZINTIT)

 

Zamknij

 

Karta Ogólne

Prezentacja

W tej zakładce definiuje się kontekst ogólny przypisany do transakcji systemowej:

  • z jednej strony tabela główna oraz ewentualne tabele powiązane, które mogą zostać zaktualizowane,
  • z drugiej ewentualne konfiguracje do wprowadzenia (w tabelach zawierających maksymalnie sześć wierszy). Następnie te konfiguracje mogą zostać użyte jako zmienne V1–V6 w tabeli znajdującej się w drugiej zakładce.

Zamknij

 

Pola

Na tej karcie występują następujące pola :

Blok numer 1

  • Moduł (pole MODULE)

Należy wybrać moduł do skonfigurowania.

To pole pozwala na ustalenie, czy ekran ma zostać utworzony w bazie danych folderu. Należy go utworzyć, jeśli moduł, z którym powiązany jest ekran jest aktywny dla folderu.

  • Krótki tytuł (pole ZINTITSHO)

 

Kod działania jest używany, aby:

  • Ustawić element jako opcjonalny w słowniku, jeśli wartość powiązana z kodem działania jest zerowa
  • Zidentyfikować spersonalizowane elementy, jeśli są one oznaczone przy użyciu kodu rozpoczynającego się od X, Y lub Z
  • Podać maksymalną liczbę pozycji, jeśli kod działania oznacza elementy w tabeli

Jeśli kod działania jest nieaktywny:

  • Oznaczonego elementu nie można użyć
  • Powiązany kod nie zostanie ani wygenerowany ani aktywowany

Ten kod dostępu umożliwia zabronienie dostępu do bieżącego rekordu dla niektórych użytkowników.

Jeśli w polu znajdują się informacje, wyłącznie użytkownicy, którzy mają prawa odczytu dla tego kodu dostępu mogą wyświetlać rekord, a tylko użytkownicy z prawami do zapisu mogą go modyfikować.

Prawo wykonywania może zostać przypisane do kodu dostępu, który służy do zatwierdzania wykonania transakcji systemowej.

Biorąc pod uwagę wrażliwość operacji, zaleca się wprowadzenie kodu czynności i ograniczenie liczby użytkowników z prawem wykonywania.

Należy określić tabelę podstawową, na której wykonana zostanie transakcja.

Tabela Tabele powiązane

Należy określić tabele połączone z tabelą podstawową.

  • Powiązanie (pole LNKEXP)

Pole definiowane jako jedno lub więcej wyrażeń obliczanych rozdzielonych średnikiem. Każde wyrażenie jest oceniane, a wynik można wykorzystać do określenia wartości klucza, stosowanego do wykonania czynności join/łącz. W wypadku autoryzacji wielokrotnej czynności join/łącz, jedynie pierwsze elementy klucza mogą zostać podane.

W wyrażeniach mogą być stosowane stałe, a także pola pochodzące z tabel uprzednio zdefiniowanych na listach powiązań.

Tabela Parametry

Należy zdefiniować typ danych odpowiadający wprowadzonemu parametrowi. Służy do kontroli wartości przy pomocy tabeli, jeżeli zachodzi taka potrzeba.

  • Opis (pole ZVARINTIT)

 

  • Długość (pole VARLNG)

Aby zapisać parametr, należy określić maksymalną liczbę znaków do wprowadzenia.

  • Menu (pole VARMEN)

Jeżeli parametr wprowadzania jest typu „menu lokalne”, w tym miejscu wprowadzany jest numer wybranego nemu lokalnego.

  • Parametr obiektu (pole VARPAR)

Pole to określa dodatkowe dane na potrzeby definicji typu danych, jeżeli są wymagane. W przypadku tabeli dodatkowej w dodatkowych danych określa się przykładowo numer tabeli.

  • Wartość domyślna (pole VARDEF)

Służy do określania wartości domyślnej przy pomocy wyrażenia obliczonego. Może zawierać stałe lub zmienne.

Kod tabeli kontroli może zostać wprowadzony do pola w celu przeprowadzenia specjalnej kontroli ważności, związanej z parametrem określonym w transakcji systemowej.

Zamknij

 

Karta Szczegóły

Prezentacja

Ta zakładka służy do określania wierszy połączeń przeszukiwanych wg kryteriów wyboru i do uszczegóławiania aktualizacji przeprowadzanych na tych wierszach przez transakcję systemową. Mogą to być:

  • tworzenie rekordu z wybranego rekordu (konieczne będzie skonfigurowanie tylko jednego wiersza tego typu przez żądanie tworzenia dla odpowiadającego pola klucza). Jest to odpowiednik duplikacji rekordu.
  • Zmiana wartości jednego lub kilku pól (jeden wiersz w jednym polu).
  • Usuwanie rekordu (żadna wartość nie została zdefiniowana dla pola).

Zamknij

 

Pola

Na tej karcie występują następujące pola :

Tabela Wybór

  • Formuły (pole SELFRM)

Pole to służy do definiowania wyrażeń logicznych w celu filtrowania zawartości rekordów do aktualizacji lub usunięcia. Istnieje możliwość wykorzystania pól z tabeli podstawowej, tabel połączonych oraz zmiennych określonych w tabeli parametrów uruchamiania na pierwszej zakładce (V1 do Vn).

Jeżeli wartość jednego z wyrażeń to „fałsz”, zapisanie nie zostanie przeprowadzone.

Tabela Aktualizacja

Określa tabelę, w której należy przeprowadzić operację.

  • Okno (pole FLDSUP)

Możliwe rodzaje operacji:

  • modyfikacja (a następnie numerowanie pól do modyfikacji),
  • usunięcie (w nazwie tabeli nie są podawane żadne dodatkowe informacje),
  • utworzenie (w tym wypadku pola wczytywane są rekord po rekordzie).
  • Pole (pole FLD)

Należy pole, w którym na zostać zapisana dana wartość (poprzez modyfikację lub utworzenie). Pole pochodzi z wybranej tabeli wpisów.

  • Formuły (pole FLDFRM)

Przy wykorzystaniu tego wzoru określana jest wartość pola do przypisania. Pola z tabel online, stałe oraz zmienne od V1 do Vn, określone w tabeli parametrów uruchamiania na pierwszej zakładce, mogą zostać wykorzystane w powyższym wzorze.

Zamknij

 

Przyciski określone

Operacja zatwierdzenia służy do generowania procesu automatycznego przetwarzania. Zawiera wszystkie spersonalizowane procesy dla transakcji:

  • Deklaracja zmiennych V1, V2,..., V6
  • Deklaracja tabel
  • Połączenia między wszystkimi tabelami (Instrukcja połączeń)
  • Filtr rekordów w tabeli, jeżeli jest unikalny, lub skrót wynikający z połączenia.
  • Transakcja aktualizacji
  • Wpis w pliku espion.tra w katalogu tmp.

W oknie otwartym przez ten przycisk występują następujące pola :

Blok numer 1

  • Kod (pole COD)

Kod identyfikuje transakcję systemową do uruchomienia.

  • pole DES

Opis powiązany z poprzednim kodem.

Blok numer 2

  • Tryb testowy (pole TEST)

Jeżeli opcja jest zaznaczona, transakcja przeprowadzana jest bez aktualizacji żadnej z tabel, a ślad zawiera informacje które dane zostałyby zaktualizowane, jeżeli proces zostałby uruchomiony w trybie rzeczywistym.

Istnieje możliwość określenia maksymalnej liczby transakcji do przetworzenia.

  • Liczba transakcji (pole NOMBRE)

W trybie testowym pole to służy do ograniczania liczby przetwarzanych wierszy tabeli.

Tabela

  • Zmienna (pole VARDES)

Nazwa każdej zmiennej, jaką można wprowadzić do systemu jako parametr transakcji.

  • Wartość (pole VALEUR)

Określa wartości powiązane z parametrami transakcji, w czasie wykonywania transakcji.

Zamknij

Ten przycisk służy do wykonywania transakcji. Jest to narzędzie transakcji systemowej.

W oknie otwartym przez ten przycisk występują następujące pola :

Blok numer 1

  • pole OBJET

 

  • pole CLES

 

Blok numer 2

  • Z folderu (pole DOSORG)

Z tego pola należy skorzystać, aby zdefiniować folder, z którego zostanie skopiowany rekord. Możliwa składnia jest opisana w dedykowanym załączniku.

  • Wszystkie foldery (pole TOUDOS)

Z tej opcji należy skorzystać, aby skopiować rekord do wszystkich folderów zdefiniowanych w słowniku (tabela ADOSSIER w bieżącym rozwiązaniu).

  • Do folderu (pole DOSDES)

Z tego pola należy skorzystać, aby zdefiniować folder, do którego zostanie skopiowany rekord. Możliwa składnia jest opisana w dedykowanym załączniku.

Zamknij

Ten przycisk służy do kopiowania definicji transakcji do innego folderu. Uwaga: należy koniecznie zatwierdzić transakcję w folderze docelowym.

Algorytm i wygenerowany proces

Podczas równoczesnego dokonywania zmian i duplikacji w tej samej transakcji należy zachować kolejność deklaracji. Na przykład, jeżeli wprowadzono następujące pozycje:

Tabela

Transakcja

Pole

Formuły

TABELA1

Modyfikacja

POLE1

WYRAŻENIE1

TABELA1

Tworzenie

POLE2

WYRAŻENIE2

TABELA2

Tworzenie

POLE3

WYRAŻENIE3

TABELA2

Modyfikacja

POLE4

WYRAŻENIE4

TABELA3

Modyfikacja

POLE5

WYRAŻENIE5

Zastosowany algorytm jest następujący:

Dla [wszystkich pozycji połączenia]:

Odczytać bieżący wiersz TABELI1, przypisać POLE1 i POLE2, następnie utworzyć wiersz w TABELI1.

Odczytać bieżący wiersz TABELI1, przypisać POLE1 i POLE2, następnie utworzyć wiersz w TABELI1.

Przypisać POLE4, następnie zmodyfikować bieżący wiersz TABELI2 przez ponowne zapisanie.

Odczytać bieżący wiersz TABELI3, przypisać POLE5, następnie zmodyfikować TABELĘ3 przez ponowne zapisanie.

W każdym przypadku programista ma możliwość podglądu procesu wygenerowanego przez zatwierdzenie. Jego nazwa jest zdefiniowana kodem transakcji poprzedzonym ciągiem liter WMAMI .

Komunikaty o błędzie

Podczas wprowadzania mogą wyświetlić się następujące komunikaty ogólne oraz o błędach :

Nieprawidłowa długość

Długość zmiennej jest kontrolowana według jej typu.

Typ

Długość maksymalna

Tytuł

30

Krótka liczba całkowita

4

Długa liczba całkowita

8

Znaki

250

Data

4, 6 lub 8 (długość dozwolona)

Pozycja dziesiętna

32 (dla pozycji całkowitej i dziesiętnej)

Nieprawidłowy nr menu lokalnego

Wprowadzony numer odpowiada rozdziałowi komunikatu, a nie menu lokalnemu.

Menu lokalne niezdefiniowane

Wprowadzony numer nie odpowiada istniejącemu menu lokalnemu.

Nieprawidłowa wartość

Nie można zaktualizować tabeli niezdefiniowanej jako tabela główna lub tabela powiązana w tym rekordzie transakcji.

Pole nie istnieje.

Pole musi istnieć w słowniku tabeli w tabeli określonej w tym samym wierszu.

Nieprawidłowy indeks

Wymiar analityczny określony dla tego pola nie może być większy od wymiaru zdefiniowanego dla tego samego pola w słowniku tabeli.

Użyte tabele

SEEREFERTTO Odniesienie do dokumentacji Implementacja