HULFT Squareのスクリプトを実行すると、処理結果のステータスが戻り値として返ります。
デフォルトでは成功したら 0、失敗したら内容に応じたステータスが戻り値として返りますが、この戻り値を任意の値に変更することができます。
本記事では例として、アプリケーションで決められたルールに合わせて任意の戻り値を設定したい場合の方法について紹介します。
処理のイメージ
親スクリプトから子スクリプトを実行し、子スクリプトで抽出したデータが 0 件だったら戻り値 「100」 を親スクリプトに返す処理です。
初期状態ではデータが 0 件でもエラーではないので、戻り値は 「0」 が返りますが、この処理ではデータが 0 件の場合は戻り値を 「100」 にして親スクリプトに返します。

親スクリプトから子スクリプトを呼び出します。
呼び出した子スクリプトでは、文房具マスタを抽出して、抽出結果が 0 件かどうかを判定しています。
0 件の場合は戻り値 「100」 を、0件でなければ CSV にデータを出力し、正常終了の 「0」 を戻り値として親スクリプトに返します。
今回は、例として、Access の 文房具マスタから、文房具コード “A01” を抽出することとします。
SQL 文は以下を使用します。
▼SQL 文
select * from 文房具マスタ where 文房具コード = ‘A01’
【スクリプトの完成イメージ】


【スクリプトの作成手順】
- 新規に子スクリプト「Children_子」を作成します。
- 「文房具マスタ」を抽出してCSVに出力する処理を作成します。
- 検索系SQL実行・・・[ツールパレット] - [データベース] - [Access] - [検索系SQL実行]
▼SQL 文
select * from 文房具マスタ where 文房具コード = ‘A01’
- CSVファイル書き込み・・・[ツールパレット] - [ファイル] - [CSV] - [CSVファイル書き込み]
- [検索条件]アイコンで文房具マスタ抽出結果が0件だったかどうかを判定します。ここでは「文房具マスタ」からの抽出結果の件数を持つコンポーネント変数「文房具マスタ抽出:count」が 「0」と「等しい」かどうかで0件かどうかを判定しています。
- 条件分岐・・・[ツールパレット] - [基本] - [フロー] - [条件分岐]

- 条件に当てはまる0件の場合、[end]の戻り値に「100」を指定します。0件に当てはまらない場合は、データをCSVに出力するため[if(END)]のアイコンから「文房具マスタ出力」に線をつなぎます。「文房具マスタ出力」につないだ[end]の戻り値を初期値「0」のままにします。
- end・・・[ツールパレット] - [基本] - [フロー] - [end]

- 次に、親スクリプトスクリプト「Parent_親」を作成します。親スクリプトのキャンバスに、手順1で作成した子スクリプトをプロジェクトエクスプローラからドラッグ&ドロップし、親スクリプトから子スクリプトを呼び出す処理を作ります。

- 戻り値を受け取る整数型の変数を作成します。


- [変数代入]アイコンをドラッグ&ドロップして、変数Mapper画面で子スクリプトの戻り値がセットされるコンポーネント変数[exitStatus]の値を、親スクリプトの変数[戻り値]にセットする処理を作ります。

- 「Parent_親」スクリプトのデザイナ画面に戻り、プロセスフローをつないで処理を完成させ、デバッグ実行します。
- [デバック情報]ウィンドウで実行結果を確認します。戻り値「100」が変数「戻り値」にセットされていれば成功です。

参考
条件分岐ロジック:条件分岐を行います。
◇ [フロー] - [条件分岐]
https://www.hulft.com/help/ja-jp/HULFTSquare/Content/Designer/Connector/flow_conditional_branch.htm
変数代入ロジック(変数Mapper):変数に値を代入します。
◇[基本] - [処理] - [ドキュメントMapper/変数Mapper(詳細)]
endロジック:スクリプトの終了を表し、戻り値を返します。
◇[アダプタ] - [基本] - [フロー] - [end]
https://www.hulft.com/help/ja-jp/HULFTSquare/Content/Designer/Connector/flow_end.htm
コメント
0件のコメント
記事コメントは受け付けていません。