Flexビジネス規則について
Flex SQLは適用方法で、データベーストリガ(挿入後または更新後)を作成し、すべてのInfor EAMデータベースオブジェクトを検証、挿入、または更新します。Flex SQLはSQL*PlusまたはPL/SQLステートメントの定義を通じて手動で使用します。これらのステートメントの主要機能は、インターフェイス処理の勘定詳細を作成および更新し、ビジネス処理コンプライアンスの処理を検証して、組織の必要性に見合ったInfor EAMにカスタマイズすることです。
特に、勘定詳細の作成および更新は、外部(サードパーティ)アプリケーションと連携するInfor EAMに由来する処理すべてに必要です。以下のトピックをご覧ください。
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の例は更新後トリガです。