![]() |
||
Tips | /Home /Tips 一覧 |
実行リストの行数が長くなってしまう場合、以下の構造化ルールを使用することにより 処理をブロック化し
呼び出す事が可能になります。
仕様書とその実装 サンプル
StructureTryCatch と StructureIfElse は、Ver1.1.1のパッチ提供 もしくは Ver1.1.2 にて
提供しています。
構造化対応 DynamicDocument は 2004/09/07現在未だ提供しておりません。
随時提供予定です。
このドキュメントでは、これらのビジネスルールにて、実行元の実行リストにどのような 戻り値を返すかどうかを詳しく説明します。
ルール内次アイテム処理続行有無 | 元実行リストへの戻り値 | |
---|---|---|
ExecuteAfterEvent | OKが返って来たとき続行 | 常にOKを返す |
StructureTryCatch | エラーフラグに値が入っていない かつ OK,SKIP,SKIP_ALL の時続行 | SKIP,SKIP_ALLの場合OKを返す。 FrameClose(Quit),SystemExit(Quit)の場合はSKIP_ALLを返す。 それ以外はその戻り値 |
StructureIfElse | ----- | SKIP,SKIP_ALLの場合OKを返す。 FrameClose(Quit),SystemExit(Quit)の場合はSKIP_ALLを返す。 それ以外はその戻り値 |
入力引数 | 出力引数 |
---|---|
Afterに処理が入ったアイテム | |
Afterに処理が入ったアイテム | |
・・・・ |
int ret = 出力引数1 のAfter実行 if(ret == OK){ ret = 出力引数2 のAfter実行 if(ret == OK){ ret = 出力引数3 のAfter実行 ・・・(省略)・・・ } } return OK
入力引数 | 出力引数 |
---|---|
Afterに処理が入ったアイテム | エラーフラグアイテム |
Afterに処理が入ったアイテム | エラー処理がAfterに入ったアイテム |
・・・・ | ・・・ |
try{ int ret = 入力引数1 のAfter実行 if(エラーフラグの値に何か入っていた場合){ throw エラー処理+(エラーフラグの値) } if(ret != OK(※1)){ return ret (※1) } ret = 入力引数2 のAfter実行 if(エラーフラグの値に何か入っていた場合){ throw エラー処理+(エラーフラグの値) } if(ret != OK(※1)){ return ret (※1) } ・・・(省略)・・・ return ret (※1) } catch (エラーフラグ=1){ return 出力引数2 のAfter処理 (※1) } catch (エラーフラグ=2){ return 出力引数3 のAfter処理 (※1) }(※1) 元実行リストへの戻り値 は、以下の仕様で変換されて返ります。
入力引数 | 出力引数 |
---|---|
Afterに条件判断処理が入ったアイテム | Afterに処理が入ったアイテム |
Afterに条件判断処理が入ったアイテム | Afterに処理が入ったアイテム |
・・・・ | ・・・ |
Afterに処理が入ったアイテム |
if(入力引数1 のAfter実行 (※1) == OK){ return 出力引数1 のAfter実行 (※2) } else if(入力引数2 のAfter実行 (※1) == OK){ return 出力引数2 のAfter実行 (※2) } ・・・(省略)・・・ else{ return 出力引数最後 のAfter実行 (※2) }(※1) 条件句にて true or false の判断は以下として行います。