CHAIN command
CHAIN ステートメントを使用すると、BASIC プログラムの実行を終了して、command の値を実行できます。command は、有効な InfoSphere® DataStage® コマンドとして評価される式です。 command が NULL 値として評価されると、CHAIN ステートメントは正しく実行されずプログラムはランタイム・エラー・メッセージを出力して終了します。
あるプログラムから別のプログラムにチェーンすると、チェーン元のプログラムのローカル変数は消失します。 名前付き共通変数および名前なし共通変数は保持されます。
CHAIN は、CHAIN が制御を呼び出し側プログラムに返さないという点で、EXECUTE ステートメントまたは PERFORM ステートメントとは違います。プログラムがプロシージャーにチェーンする場合、ネストされる呼び出し側プロシージャーは削除されます。
チェーン後のプログラムで PICK、IN2、または REALITY フレーバー・アカウントが呼び出されると、名前なし共通変数は消失します。 名前なし共通にある変数の値を保存する場合は、実行時に RUN コマンドに対して KEEP.COMMON キーワードを使用します。
次の例では、画面をクリアして共通領域を初期化してから、メインアプリケーションを実行しています。
PRINT @(-1)
PRINT "INITIALIZING COMMON, PLEASE WAIT"
GOSUB INIT.COMMON
CHAIN "RUN BP APP.MAIN KEEP.COMMON"