Förstå Flex affärsregler
Flex SQL är en programmetod för att skapa databastriggrar (efter infogande eller efter uppdatering) för att validera, infoga eller uppdatera alla Infor EAM-databasobjekt. Flex SQL används manuellt genom definitionen av SQL*Plus- eller PL/SQL-uttryck. Den primära funktionen för dessa uttryck är att skapa och uppdatera kontodetaljer för gränssnittstransaktioner, validera transaktioner för överensstämmelse med affärsprocesser och anpassa Infor EAM så att det uppfyller behoven för din organisation.
Specifikt krävs skapande och uppdatering av kontodetaljer för eventuell transaktion som har sitt ursprung i Infor EAM som kommer att ha gränssnitt till det externa (tredjeparts-) programmet. Läs mer i:
Definiera kontodetaljkrav för Oracle-huvudboken
Flex SQL måste skrivas i syntax SQL*Plus eller PL/SQL. SQL*Plus är Oracle-verktyget för utfärdande av programmeringskommandon på databasnivå, och är baserat på SQL (Structured Query Language). Med SQL kan du infoga, uppdatera, avfråga eller radera databasposter med enkel språksyntax. SQL-uttryck som börjar med ett kommandoord, följt av en specifikation av vilken information som ska väljas inom det kommandot, följt av objektet från vilket informationen ska väljas. Frågan avslutas i allmänhet med ett semikolon (;). När det gäller Flex SQL-användningen ska semikolonavslutaren (;) alltid utelämnas. Syntaxen kompileras dynamiskt och körs så att avslutaren inte krävs.
Läs mer i följande exempel på syntax:
insert into r5accountdetail
(acd_code, acd_rentity, acd_segment1, acd_segment2)
select rql_acd, 'REQL', '01', rql_expensetype
from r5requislines
where rowid = :rowid
Flex SQL använder sig dessutom av en andra typ av strukturerat frågespråk som kallas för Programming Language/Structured Query Language (PL/SQL). PL/SQL används för att bearbeta kommandon i block i stället för att använda individuella SQL-uttryck. Block är grupper med relaterade SQL-uttryck som kan inkapslas inuti större block som ger möjlighet att ordna din SQL-syntax för att utföra flera kommandon samtidigt.
Läs mer i följande exempel på PL/SQL-syntax:
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;
Både SQL*Plus- och PL/SQL-exempel skulle placeras i SQL-uttryck på Flex SQL-formuläret. I dessa exempel triggas tabellen R5REQUISLINES och SQL*Plus-exemplet är en trigger efter infogandet och PL/SQL-exemplet är en trigger för efter uppdateringen.