Flex-Geschäftsregeln im Überblick
Flex SQL ist ein Anwendungsverfahren zur Erstellung von Datenbank-Triggern (nach dem Einfügen (Post Insert) oder nach dem Aktualisieren (Post Update)), um alle Infor EAM-Datenbankobjekte zu validieren, einzufügen oder zu aktualisieren. Flex SQL wird manuell durch die Definition von SQL*Plus- oder PL/SQL-Anweisungen verwendet. Die Hauptfunktion dieser Anweisungen besteht in der Erstellung und Aktualisierung von Kontodetails für Schnittstellentransaktionen, der Überprüfung von Transaktionen auf ihre Konformität mit Geschäftsprozessen und der Anpassung von Infor EAM an die Anforderungen Ihrer Organisation.
Besonders die Erstellung und Aktualisierung von Kontodetails ist erforderlich für alle Transaktionen, die aus Infor EAM stammen und mit der externen (Drittanbieter-)Anwendung verbunden werden. Weitere Informationen finden Sie in den folgenden Themen:
Kontodetailanforderungen für Oracle-Hauptbücher definieren
Hauptbuchreferenzen definieren
Flex SQL muss in SQL*Plus- oder PL/SQL-Syntax geschrieben werden. SQL*Plus ist das Oracle-Tool für die Ausgabe von Programmierungsbefehlen auf Datenbankebene und basiert auf Structured Query Language (SQL). SQL ermöglicht das Einfügen, Aktualisieren, Abfragen oder Löschen von Datenbanksätzen mit einer einfachen Sprachsyntax. SQL-Anweisungen beginnen mit einem Befehlswort, gefolgt von der Angabe der Informationen, die mit dem Befehl ausgewählt werden sollen, gefolgt von dem Objekt, aus dem die Informationen ausgewählt werden sollen. Die Abfrage wird im Allgemeinen mit einem Semikolon (;) beendet. Bei der Verwendung in Flex SQL sollte das Semikolon (;) als Abschlusszeichen immer weggelassen werden. Die Syntax wird dynamisch kompiliert und ausgeführt, sodass kein Abschlusszeichen erforderlich ist.
Beachten Sie folgendes Syntax-Beispiel:
insert into r5accountdetail
(acd_code, acd_rentity, acd_segment1, acd_segment2)
select rql_acd, 'REQL', '01', rql_expensetype
from r5requislines
where rowid = :rowid
Zudem nutzt Flex SQL auch eine zweite strukturierte Abfragesprache mit dem Namen Programming Language/Structured Query Language (PL/SQL). Bei PL/SQL werden Befehle in Blöcken verarbeitet, statt einzelne SQL-Anweisungen zu verwenden. Blöcke sind Gruppen von ähnlichen SQL-Anweisungen, die in größeren Blöcken geschachtelt werden können. Dadurch können Sie die SQL-Syntax so organisieren, dass mehrere Befehle gleichzeitig ausgeführt werden.
Beachten Sie folgendes Beispiel einer 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;
Sowohl das SQL*Plus- als auch das PL/SQL-Beispiel würden in die SQL-Anweisung im Flex SQL-Formular eingefügt werden. In diesen Beispielen wird die R5REQUISLINES-Tabelle ausgelöst. Das Beispiel für SQL*Plus zeigt einen Postinsert-Trigger und das Beispiel für PL/SQL einen Postupdate-Trigger.