サービス・プログラムは、他のバインドされたプログラムのプロシージャーに よって呼び出すことができる、一組のプロシージャーのセットから成るバインドされた プログラム (タイプ *SRVPGM) です。
サービス・プログラムは通常、アプリケーション内およびアプリケーション間で頻繁に 呼び出される共通機能として使用されます。 例えば、ILE コンパイラーは数学的機能および入出力ルーチンのような 実行時サービスを提供するサービス・プログラムを使用します。 サービス・プログラムによって、再利用、保守の単純化、記憶域所要量の減少 が可能になります。
サービス・プログラムは、以下の 2 つの点でプログラムとは異なっています。
サービス・プログラムをプログラム中にバインドする場合には、 サービス・プログラムの内容はバインド・プログラムにはコピーされません。 その代わり、サービス・プログラムの連係情報がプログラム中にバインドされ ます。 これは、モジュールをプログラムにバインドするのに使用される静的バインド ・プロセスと対比して、「参照によるバインド」と呼ばれます。
サービス・プログラムが参照によってプログラムにバインドされるため、 バインド・プロシージャー呼び出しを使って、サービス・プログラムの エクスポート・プロシージャーを呼び出すことができます。 サービス・プログラムが呼び出されるまで バインドが完了しないので、初期呼び出しにはある程度の オーバーヘッドがかかります。 しかし、そのプロシージャーに対する後続の呼び出しはプログラム呼び出しより高 速です。
サービス・プログラムに含まれるエクスポートのセットは、これによって指定 されるサービスに対するインターフェースです。 サービス・プログラムの表示 (DSPSRVPGM) コマンド またはサービス・プログラム・リストを使って、プロシージャーの呼び出しに 使用可能な変数およびプロシージャー名を調べることができます。 サービス・プログラム PAYROLL に関連したエクスポートを参照するには、以下 を入力してください。
DSPSRVPGM PAYROLL DETAIL(*PROCEXP *DATAEXP)
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.