Toelichting op flexbedrijfsregels

Flex SQL is een applicatiemethode waarmee databasetriggers (na toevoeging of na bijwerking) worden aangemaakt om alle Infor EAM-databaseobjecten te valideren, in te voegen of bij te werken. Flex SQL wordt handmatig gebruikt door middel van de definitie van SQL*Plus- of PL/SQL-instructies. De primaire functie van deze instructies is rekeninggegevens aan te maken en bij te werken voor interfacetransacties, transacties te valideren voor naleving van bedrijfsprocessen en Infor EAM aan te passen om tegemoet te komen aan de vereisten van uw organisatie.

Rekeninggegevens moeten specifiek worden aangemaakt en bijgewerkt voor alle transactie die beginnen in Infor EAM en die worden gekoppeld aan de externe applicatie (van derden). Zie de volgende onderwerpen:

Vereisten voor rekeninggegevens definiëren voor Oracle General Ledger

Grootboekprocessen definiëren

Grootboekreferenties definiëren

Flex SQL moet in SQL*Plus- of PL/SQL-syntaxis worden geschreven. SQL*Plus is het Oracle-programma waarmee programmeeropdrachten op databaseniveau worden gegeven. Dit programma is gebaseerd op Structured Query Language (SQL). Met SQL kunt u databaserecords met een eenvoudige taalsyntaxis invoegen, bijwerken, zoeken of verwijderen. SQL-instructies beginnen met een opdrachtwoord, gevolgd door een specificatie van de gegevens die binnen de opdracht moeten worden geselecteerd, gevolgd door het object waaruit de gegevens moeten worden geselecteerd. De zoekopdracht eindigt meestal met een puntkomma (;). Rekening houdend met Flex SQL-gebruik moet het eindteken in de vorm van een puntkomma (;) altijd worden weggelaten. De syntaxis wordt dynamisch samengesteld en uitgevoerd zodat er geen eindteken nodig is.

Zie het volgende syntaxisvoorbeeld:

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 maakt ook gebruik van een tweede type Structured Query Language, namelijk Programming Language/Structured Query Language (PL/SQL). PL/SQL wordt gebruikt om opdrachten in blokken te verwerken in plaats van afzonderlijke SQL-instructies te gebruiken. Blokken zijn groepen gerelateerde SQL-instructies die in grotere blokken kunnen worden genest. Hierdoor kunt u uw SQL-syntaxis zo organiseren dat verschillende opdrachten tegelijk kunnen worden uitgevoerd.

Zie het volgende voorbeeld voor PL/SQL-syntaxis:

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;

Voorbeelden van zowel SQL*Plus als PL/SQL worden in SQL-instructies op het scherm Flex SQL geplaatst. In deze voorbeelden wordt de tabel R5REQUISLINES geactiveerd. Het SQL*Plus-voorbeeld is een post-insert trigger en het PL/SQL-voorbeeld is een post-update trigger.