!--a11y-->

LDB_PROCESS 汎用モジュールを使用して、論理データベースを非依存に呼び出すと、データベースプログラム内で特別なサブルーチンを呼び出すことができます。
複数回連続して論理データベースを呼び出す場合は、データベースプログラムに次のサブルーチンを組み込む必要があります。
FORM
LDB_PROCESS_INIT CHANGING SUBRC LIKE SY-SUBRC.
...
SUBRC = 0.
ENDFORM.
これは、データベースプログラム内で最初に呼び出されるサブルーチンとなります。SUBRC パラメータが 0 に設定されると、論理データベースは、自身が複数回呼び出されるために必要となる初期化ルーチンを実行できます。SUBRC パラメータが 0 に設定されていない場合は、LDB_PROCESS 汎用モジュールは例外 LDB_NOT_REENTRANT をトリガします。
LDB_PROCESS を使用して論理データベースを呼び出すと、選択画面処理は行われません。代わりに、選択内容はインタフェースパラメータとして汎用モジュールに渡されます。PAI サブルーチンは呼び出されません。ただし、選択内容をチェックしたい場合は、データベースプログラム内に次のサブルーチンを定義できます。
FORM LDB_PROCESS_CHECK_SELECTIONS
CHANGING SUBRC LIKE SY-SUBRC
MSG
..LIKE SYMSG.
...
SUBRC = ...
ENDFORM.
このサブルーチンは、選択画面のパラメータおよび選択テーブルが設定された後で、LDB_PROCESS のインタフェースパラメータから呼び出されます。SUBRC パラメータが 0 に設定されていない場合は、LDB_PROCESS 汎用モジュールは例外 LDB_SELECTIONS_NOT_ACCEPTED をトリガします。メッセージを構造化パラメータ MSG に割り当てることもできます。汎用モジュールの呼出側では、このパラメータをシステム項目 SY-MSG... から使用できます。MSG の 8 つのコンポーネントには、メッセージタイプ、ID、番号、および最大 4 つのメッセージ変数が含まれます。