瞭解 Flex 業務規則

Flex SQL 是一種應用程式方法,可建立資料庫觸發器 (插入之後或更新之後) 以驗證、插入或更新所有 Infor EAM 資料庫物件。在定義 SQL*Plus 或 PL/SQL 陳述式時需手動使用 Flex SQL。這些陳述式的主要功能是建立和更新介面交易的帳戶明細、驗證業務處理合規性的交易以及自訂 Infor EAM,以滿足組織的需求。

特別是,Infor EAM 中將連接到外部 (第三方) 應用程式的任何交易都需要建立和更新帳戶明細。請參閱以下主題:

定義 Oracle 總帳的帳戶明細要求

定義總帳處理

定義總帳參考

必須使用 SQL*Plus 或 PL/SQL 語法編寫 Flex SQL。SQL*Plus 是用於發出資料庫層級程式設計命令的 Oracle 工具,且基於結構化查詢語言 (SQL)。使用 SQL,您可以透過簡單的語言語法插入、更新、查詢或刪除資料庫記錄。SQL 陳述式以命令字開頭,後接要在命令中選取資訊的規範,後面再接要從中選取資訊的物件。查詢通常用分號 (;) 終止。就 Flex SQL 使用而言,分號 (;) 終止符應一律排除在外。系統將動態編譯和執行語法,以便不需要終止符。

請參閱以下語法示例:

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 還會使用另一種結構化查詢語言,即程式設計語言/結構化查詢語言 (PL/SQL)。系統將使用 PL/SQL 處理資料塊中的命令,而不是使用單個 SQL 陳述式。資料塊是相關的 SQL 陳述式組,可嵌套在較大的資料塊中,從而能夠組織 SQL 語法以便一次執行多個命令。

請參閱以下 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;

SQL*Plus 和 PL/SQL 示例均將放置在 Flex SQL 表單上的 SQL 陳述式中。在這些示例中,系統將觸發 R5REQUISLINES 表格;SQL*Plus 示例是插入之後觸發器,而 PL/SQL 示例是更新之後觸發器。