サブルーチン

サブルーチン は、特定のタスクを実行する一連の命令です。いわば小さなプログラムであり、これを別のプログラムの中に埋め込んで GOSUB ステートメントで呼び出したり、外部プログラムとして CALL ステートメントで呼び出したりできます。 複数のプログラムに共通する処理は、外部サブルーチンにするのが一般的です。 これによりプログラマーは、共通する処理を一度記述するだけで、さまざまなプログラムから呼び出して実行することが可能となります。

GOSUB ステートメント、または CALL ステートメントが検出されると、プログラム制御は、関連サブルーチンに分岐します。内部サブルーチンの冒頭には、ステートメント・ラベルを付ける必要があります。外部サブルーチンは、SUBROUTINE ステートメントで始める必要があります。

RETURN ステートメントは、サブルーチンの最後で使用して、最後に参照された GOSUB ステートメントまたは CALL ステートメントの次のステートメントにプログラム・フローを返します。対応する CALL ステートメントまたは GOSUB ステートメントがない場合、プログラムが停止して、InfoSphere® DataStage® コマンド・レベルに戻ります。RETURN が現れる前に外部サブルーチンが終了した場合は、自動的に RETURN が実行されます。

注: サブルーチンの実行中に、ABORT ステートメント STOP ステートメント、または CHAIN ステートメントが検出されると、プログラムは実行を中止、停止、または他の BASIC プログラムへチェーンし、制御は呼び出し側プログラムには戻りません。

コンマで区切られた 1 つ以上の引数は、引数リスト としてサブルーチンに渡すことができます。引数として指定できるのは、実際の値を表す定数、変数、配列変数、式です。SUBROUTINE ステートメント引数リスト には、サブルーチンが渡された値を参照できるように、同じ数の引数を含む必要があります。引数をサブルーチンに渡す際は、実際にはその引数のポインターが渡されます。 したがって、呼び出し側のプログラムに値を返す際にも引数を使用します。