【CL連携の概念】
RPG・CL実行(CL連携)では、実行前プログラム・実行中プログラム・実行後プログラムの3種類が設定可能です。
【実行前CLとクエリー実行、実行後CLの流れについて】
- クエリー実行ボタン押下
- 実行前プログラムが起動
- クエリーを実行(SQLを実行)
- 実行後プログラムが起動
- 実行結果の描画
(実行前CLの例)
上記の3のタイミングでQTEMPをPHPQUERYで参照したい場合
(実行後CLの例)
クエリー実行結果をファイルとして出力し、そのファイルを参照してCLを動かしたい場合
⇒クエリーの定義作成の時に「ファイル出力」という設定があり、
その場合、3の「クエリー実行」⇒「実行結果をファイル出力」⇒ 4の「
★CL連携での注意点★
①PHPQUERYから呼ばれるCLはCCSIDが5035で実行されるようになっております。そのため、5035で不都合がある場合はCLの処理の頭で順当なCCSIDをCHGJOBでご指定ください。
②CL連携時の固定パラメータにブランクは設定することができません。検索のチェックボックスを利用して、検索条件をCLのパラメータとして渡すようにし、非表示フィールドとしてブランクで検索して渡すようなやり方であれば可能です。
下記のページも必ずご確認ください!
CL連携での注意事項
RPG・CL実行(実行前プログラム)
クエリー実行結果(一覧)から選択された行の情報をパラメータとして、CLプログラムを実行します。
(例)
実行前CLプログラムの登録
①メニュー>管理>『CL連携』をクリックします。
②該当クエリー行の実行前プログラムの『編集』をクリックします。
プログラム情報の設定
実行前CLプログラム情報を入力して『保存』します。
③④実行前プログラム/実行前プログラム・ライブラリー:CLのプログラムIDとCLのライブラリーを指定します。
※ライブラリーはコンパイルされたオブジェクトが存在するライブラリーです。
実行前プログラム・パラメータ:CL実行時のパラメータを追加/除去します。
除去する場合は該当のパラメータ行を選択してクリックします。
⑤パラメータ情報
パラメータ名:一意の半角英数文字列を入力します。
型:文字、数値(パック)から選択します。
長さ:バイト数を指定します。
スケール:型が数値(パック)の場合に指定します。
対応条件フィールド:クエリーの選択条件を紐付ける場合に選択します。
FromTo:クエリーの選択条件が範囲(RANGE)の場合にFROMまたはTOのどちらと紐付けるかを選択します。
初期値:クエリーの選択条件を紐付けない場合にパラメータ値を固定で入力します。
検索:ユーザーが画面から入力した検索条件をパラメータの値とする場合にチェックします。
☆ポイント
-
ユーザーが入力した検索条件をCLプログラムにパラメータとして渡す場合は、対応条件フィールド、FromTo(RANGEの場合のみ)を選択し、検索にチェックを入れます。
-
CLプログラムのパラメータ数、パラメータ順、型、長さ、スケールは必ず一致させる必要があります。一致していない場合は、クエリー実行時にCALLエラーとなります。
- 検索条件に入力した値をパラメータとして、CLやRPG側にてQTEMPにファイルを作成した場合、出来上がったファイルをPHPQUERYに表示する際にも検索条件に入力した値が条件として使用されます。検索条件の値をパラメータのみに使用することはできず、必ず抽出結果に対しても使用されますのでご注意ください。
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エラーとなります。
コメント
0件のコメント
サインインしてコメントを残してください。