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

Hauptbuchprozesse 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.