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.