Flexビジネス規則について

Flex SQLは適用方法で、データベーストリガ(挿入後または更新後)を作成し、すべてのInfor EAMデータベースオブジェクトを検証、挿入、または更新します。Flex SQLはSQL*PlusまたはPL/SQLステートメントの定義を通じて手動で使用します。これらのステートメントの主要機能は、インターフェイス処理の勘定詳細を作成および更新し、ビジネス処理コンプライアンスの処理を検証して、組織の必要性に見合ったInfor EAMにカスタマイズすることです。

特に、勘定詳細の作成および更新は、外部(サードパーティ)アプリケーションと連携するInfor EAMに由来する処理すべてに必要です。以下のトピックをご覧ください。

Oracle総勘定元帳の勘定詳細要件の定義

総勘定元帳処理の定義

総勘定元帳参照の定義

Flex SQLはSQL*PlusまたはPL/SQL構文に書き込まれる必要があります。SQL*Plusはデータベースレベルでプログラミングコマンドを発行するOracleのツールで、Structured Query Language(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では、Programming Language/Structured Query Language(PL/SQL)と呼ばれる2種類の構造化した検索言語を使用します。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の例は更新後トリガです。