3.6 処理シーケンス実行の再実行
処理シーケンス実行がエラーで終了した場合(SUSPEND処理命令で実行を明示的に一時停止した場合も含む)、エラーが発生した時点から再実行できる場合があります。
例えば、処理シーケンス内のFTP_INBOUNDアクティビティが、リモートFTPの場所を使用できないなどの理由で失敗したときは、通常は、通信エラーが解決した後で処理シーケンスを再実行することができます。
失敗した処理シーケンスの再実行は以下のように行われます。
· 問題が発生した箇所から再実行します。LOOPやWHILEブロックまたはIFやCASEなどの条件ブロックなど、問題が発生した箇所がいくつかの処理シーケンスのブロック内にある場合でも、そこから再実行します。
· ループ・インデックスとすべての処理シーケンス変数は、問題が発生した時点で格納されていた値を保持します。
· 処理シーケンス定義のバージョンが現在の定義と異なる場合でも、処理シーケンス実行が開始されたときと同じバージョンの処理シーケンス定義が実行されます。
注: SUSPEND処理命令を使用して、処理シーケンス実行を明示的に一時停止した場合は、SUSPEND命令のすぐ
から処理シーケンスが再実行します。処理シーケンス実行を再実行するには、以下の条件を満たす必要があります。
· 処理シーケンス定義で、再開可能として指定されている
· エラーにより終了したアクティビティまたは変換マップの定義で、再開可能として指定されている
· エラー発生時にアクティブaXesターミナル・セッションがアクティブになっていない
· エラーにより終了した処理シーケンス定義のバージョンが現在も使用可能である
· エラーにより終了した影響を受ける処理シーケンス実行の実行履歴が現在も使用可能である
· 発生しているエラーは、処理シーケンスのエラー状態により発生したものである。アクティビティ、変換マップまたは処理シーケンス・エンジンによって使用されるプログラムの異常終了の結果として発生したエラーにより処理シーケンスが終了した場合、処理シーケンスは再実行できません。
注: 処理シーケンスの実行履歴およびバージョン履歴は、[データベースの管理]ファンクションを使用して削除できます。必要な情報が削除されると、影響を受ける処理シーケンス実行を再実行できなくなります。