サブプロシージャーはサブルーチンと類似していますが、サブプロシージャーで は以下のように強化されている点が異なります。
このことは、サブプロシージャーとの連絡に使用されるパラメーターは変更可能 である必要はないことを意味します。 プログラムの場合のように参照によって渡されるパラメーターは、変更可能でな ければなりません。したがって、その信頼性が低下することもあります。
このようにして使用した場合には、呼び出し元に値が戻されます。 これによって、基本的 には、式の中に必要な任意の演算子をユーザーが定義する ことができます。
このことは、プロシージャーが他のプロシージャーと共用されている項目を 不用意に変更してしまう機会が少なくなることを意味します。 さらに、プロシージャーの呼び出し元では、サブプロシージャーの中で使用されて いる各項目について多くを知っている必要はありません。
サブプロシージャーによって提供される改良点が必要でない場合は、サブプロシージャーを呼び出すよりも EXSR 命令のほうが高速であるため、サブルーチンを使用したほうがよい場合もあります。
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.