Concetti di base sulle regole aziendali Flex

SQL Flex è un metodo di applicazione per creare trigger di database successivi all'inserimento e all'aggiornamento per convalidare, inserire o aggiornare tutti gli oggetti database di Infor EAM. SQL Flex viene utilizzato manualmente tramite la definizione di istruzioni SQL *Plus o PL/SQL. La funzione principale di queste istruzioni è creare e aggiornare i dettagli conto per le transazioni di interfaccia, convalidare le transazioni per assicurare la conformità con i processi aziendali e personalizzare Infor EAM per soddisfare le esigenze dell'organizzazione.

In particolare, è necessario creare e aggiornare i dettagli conto di tutte le transazioni che hanno origine in Infor EAM e che verranno interfacciate con l'applicazione esterna di terze parti. Consultare i seguenti argomenti:

Definizione dei requisiti dei dettagli conto per la contabilità generale di Oracle

Definizione dei processi di contabilità generale

Visualizzazione dei riferimenti di contabilità generale

Le istruzioni SQL Flex devono essere scritte utilizzando la sintassi SQL*Plus o PL/SQL. SQL*Plus è lo strumento di Oracle basato sul linguaggio SQL (Structured Query Language) per eseguire i comandi di programmazione a livello di database. Il linguaggio SQL consente di inserire, aggiornare, interrogare o eliminare record di database utilizzando una sintassi semplice. Le istruzione SQL iniziano con una parola comando seguita dalla specifica delle informazioni da selezionare con il comando, a sua volta seguita dall'oggetto da cui selezionare le informazioni. In genere la query termina con un punto e virgola (;). In SQL Flex, il carattere di fine punto e virgola (;) dovrebbe essere sempre omesso. La sintassi viene compilata in modo dinamico ed eseguita in modo tale che non sia necessario il carattere di fine.

Di seguito è riportato un esempio di sintassi:

insert into r5accountdetail
                      (acd_code, acd_rentity, acd_segment1, acd_segment2)
                     select rql_acd, 'REQL', '01', rql_expensetype
                     from r5requislines
                      where rowid = :rowid

SQL Flex utilizza anche un secondo tipo di linguaggio strutturato per query denominato PL/SQL (Programming Language/Structured Query Language). Il linguaggio PL/SQL viene utilizzato per elaborare comandi in blocchi anziché utilizzare singole istruzione SQL. I blocchi sono gruppi di istruzione SQL correlate che è possibile nidificare in blocchi più grandi. In questo modo è possibile organizzare la sintassi SQL per eseguire più comandi contemporaneamente.

Di seguito è riportato un esempio di sintassi 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;

Entrambi gli esempio dei linguaggi SQL*Plus e PL/SQL verrebbero inseriti nel campo Istruzione SQL della maschera SQL Flex. In questi esempi viene attivata la tabella R5REQUISLINES: l'esempio di SQL*Plus è un trigger successivo all'inserimento, mentre l'esempio di PL/SQL è un trigger successivo all'aggiornamento.