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

Definiera huvudbokprocesser

Definiera huvudboksreferenser

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.