RPG・CL実行では、実行前プログラム・実行中プログラム・実行後プログラムの3種類が設定可能です。
【実行前CLとクエリー実行、実行後CLの流れについて】
- クエリー実行ボタン押下
- 実行前プログラムが起動
- クエリーを実行(SQLを実行)
- 実行後プログラムが起動
- 実行結果の描画
(実行前CLの例)
上記の3のタイミングでQTEMPをPHPQUERYで参照したい場合
(実行後CLの例)
クエリー実行結果の出力ファイルを参照してCLを動かしたい場合
⇒クエリーの定義作成の時に「ファイル出力」という設定があり、実行結果を任意のライブラリ/ファイルに出力することが出来ます。その場合、3の「クエリー実行」⇒「実行結果をファイル出力」⇒ 4の「実行後CLプログラム」という順番になります。
RPG・CL実行(実行前プログラム)
クエリー実行結果(一覧)から選択された行の情報をパラメータとして、CLプログラムを実行します。
(例)

実行前CLプログラムの登録
①管理メニューから『CL連携』をクリックします。
②該当クエリー行の実行前プログラムの『編集』をクリックします。

プログラム情報の設定
実行前CLプログラム情報を入力して『保存』します。

③④実行前プログラム/実行前プログラム・ライブラリー
CLのプログラムIDとCLのライブラリーを指定します。
※ライブラリーはコンパイルされたオブジェクトが存在するライブラリーです。
実行前プログラム・パラメータ
CL実行時のパラメータを追加/除去します。
除去する場合は該当のパラメータ行を選択してクリックします。
⑤パラメータ情報
パラメータ名:一意の半角英数文字列を入力します。
型:文字、数値(パック)から選択します。
長さ:バイト数を指定します。
スケール:型が数値(パック)の場合に指定します。
対応条件フィールド:クエリーの選択条件を紐付ける場合に選択します。
FromTo:クエリーの選択条件が範囲(RANGE)の場合にFROMまたはTOのどちらと紐付けるかを選択します。
初期値:クエリーの選択条件を紐付けない場合にパラメータ値を固定で入力します。
検索:ユーザーが画面から入力した検索条件をパラメータの値とする場合にチェックします。
☆ポイント
-
ユーザーが入力した検索条件をCLプログラムにパラメータとして渡す場合は、対応条件フィールド、FromTo(RANGEの場合のみ)を選択し、検索にチェックを入れます。
-
CLプログラムのパラメータ数、パラメータ順、型、長さ、スケールは必ず一致させる必要があります。一致していない場合は、クエリー実行時にCALLエラーとなります。
RPG・CL連携(実行中プログラム)
クエリー実行結果(一覧)から選択された行の情報をパラメータとして、CLプログラムを実行します。
(例)

実行中CLプログラムの登録
①管理メニューから『CL連携』をクリックします。
②該当クエリー行の実行中プログラムの『編集』をクリックします。

プログラム情報の設定
実行中CLプログラム情報を入力して『保存』します。

③実行中プログラム
CLのプログラムIDを入力します。
④実行中プログラム・ライブラリー
CLのライブラリーを入力します。
※ライブラリーはコンパイルされたオブジェクトが存在するライブラリです。
⑤SEQ
CLプログラムにパラメータとして渡す項目にSEQを入力します。
※SEQ順がパラメータの順番となり、パラメータの属性も選択された列の属性となります。
※決まり事としてCLパラメータの最初に必ず固定でリターンコード(2A)が付与されて実行されます。
(例)

⑥実行ボタン名称
実行ボタン名称を入力します。
☆ポイント
-
実行中CLプログラムのパラメータには最初に必ず固定でリターンコード(2A)を付与します。
-
CLプログラムのパラメータ数、パラメータ順、型、長さ、スケールはリターンコード(固定パラメータ)も含めて必ず一致させる必要があります。一致していない場合は、クエリー実行時にCALLエラーとなります。
RPG・CL連携(実行後プログラム)
クエリー実行後に指定されたCLプログラムを実行します。
(例)

実行後CLプログラムの登録
①管理メニューから『CL連携』をクリックします。
②該当クエリー行の実行後プログラムの『編集』をクリックします。

プログラム情報の設定
実行後CLプログラム情報を入力して『保存』します。

③実行後プログラム
CLのプログラムIDを入力します。
④実行後プログラム・ライブラリー
CLのライブラリーを入力します。
※ライブラリーはコンパイルされたオブジェクトが存在するライブラリーです。
⑤実行後プログラム・パラメータ
CL実行時のパラメータを追加/除去します。
除去する場合は該当のパラメータ行を選択してクリックします。
⑥パラメータ名
一意の半角英数文字列を入力します。
⑦型
文字、数値(パック)から選択します。
⑧長さ
バイト数を指定します。
⑨スケール
型が数値(パック)の場合に指定します。
⑩対応条件フィールド
クエリーの選択条件を紐付ける場合に選択します。
⑪FromTo
クエリーの選択条件が範囲(RANGE)の場合にFROMまたはTOのどちらと紐付けるかを選択します。
⑫初期値
クエリーの選択条件を紐付けない場合にパラメータ値を固定で入力します。
⑬検索
ユーザーが画面から入力した検索条件をパラメータの値とする場合にチェックします。
☆ポイント
-
ユーザーが入力した検索条件をCLプログラムにパラメータとして渡す場合は、対応条件フィールド、FromTo(RANGEの場合のみ)を選択し、検索にチェックを入れます。
-
CLプログラムのパラメータ数、パラメータ順、型、長さ、スケールは必ず一致させる必要があります。一致していない場合は、クエリー実行時にCALLエラーとなります。
★CL連携での注意点★
PHPQUERYから呼ばれるCLはCCSIDが5035で実行されるようになっております。そのため、5035で不都合がある場合はCLの処理の頭で順当なCCSIDをCHGJOBでご指定ください。
下記のページも必ずご確認ください!
コメント
0件のコメント
サインインしてコメントを残してください。