Omówienie reguł biznesowych Flex
Metoda Flex SQL to dostępna w aplikacji metoda pozwalająca na tworzenie wyzwalaczy bazy danych (po wstawieniu lub po aktualizacji) celem walidacji, wstawiania lub aktualizowania wszystkich obiektów bazy danych Infor EAM. Flex SQL jest używany ręcznie poprzez definiowanie instrukcji SQL*Plus lub PL/SQL. Podstawową funkcją tych instrukcji jest tworzenie i aktualizowanie szczegółów konta dla transakcji interfejsu, sprawdzanie transakcji pod kątem zgodności z procesem biznesowych, a także dostosowywanie systemu Infor EAM w taki sposób, aby spełniał potrzeby konkretnej organizacji.
W szczególności tworzenie i aktualizowanie szczegółów konta jest wymagane dla każdej transakcji zapoczątkowanej w systemie Infor EAM, która zostanie przekazana przez interfejs do aplikacji zewnętrznej (innego podmiotu). Zapoznaj się z tymi tematami:
„Definiowanie wymagań dotyczących szczegółów konta dla księgi głównej Oracle”
„Definiowanie procesów księgi głównej”
„Definiowanie odniesień księgi głównej”
Instrukcje Flex SQL muszą być pisane w składni SQL*Plus lub PL/SQL. SQL*Plus to oparte na języku Structured Query Language (SQL) narzędzie Oracle przeznaczone do wydawania poleceń programowania na poziomie bazy danych. SQL umożliwia wprowadzanie, aktualizowanie i usuwanie rekordów bazy danych oraz generowanie zapytań do tych rekordów z użyciem prostej składni języka. Instrukcje SQL zaczynają się od słowa command, po którym następuje specyfikacja informacji wybieranych w poleceniu, a następnie obiekt, z którego informacje są wybierane. Zapytanie SQL jest zwykle zakończone średnikiem (;). Na potrzeby użycia Flex SQL element końcowy, którym jest średnik (;), nie powinien być nigdy stosowany. Składnia jest dynamicznie kompilowana i wykonywana i z tego powodu element końcowy nie jest wymagany.
Zapoznaj się z poniższym przykładem składni:
insert into r5accountdetail
(acd_code, acd_rentity, acd_segment1, acd_segment2)
select rql_acd, 'REQL', '01', rql_expensetype
from r5requislines
where rowid = :rowid
Metoda Flex SQL wykorzystuje również drugi typ strukturalnego języka zapytań o nazwie Programming Language/Structured Query Language (PL/SQL). PL/SQL jest używany w celu przetwarzania poleceń w blokach, zamiast używania pojedynczych instrukcji SQL. Bloki to grupy powiązanych instrukcji SQL, które można zagnieżdżać w większych blokach, co zezwala na uporządkowanie składni SQL w celu wykonywania kilku poleceń jednocześnie.
Zapoznaj się z poniższym przykładem składni PL/SQL:
DECLARE
cpar r5parts.par_code%type;
cref r5catalogue.cat_ref%type;
csupp r5companies.com_code%type;
cursor rql is
select rql_ref, rql_part, rql_supplier, rql_rstatus
from r5requislines
where rowid = :rowid;
BEGIN
OPEN rql;
FETCH rql into cref, cpar, csupp, crstat;
CLOSE rql;
IF cref is not null
AND crstat = 'A' THEN
UPDATE r5catalogue
SET cat_ref = cref
WHERE cat_part = cpar
AND cat_supplier = csupp;
END IF;
END;
Składnia z przykładu z SQL*Plus, jak i przykład z PL/SQL, zostałaby umieszczona w instrukcji SQL w formatce Flex SQL. W tych przykładach wywoływana jest tabela R5REQUISLINES; przykład z SQL*Plus jest przykładem wyzwalacza po wstawieniu, a przykład z PL/SQL jest przykładem wyzwalacza po aktualizacji.