プロトタイプは、呼び出しインターフェースの定義です。これには、次の情報が含まれます。
プロトタイプは、呼び出しを行うプログラムまたはプロシージャーの定義仕様書 に組み込まれていなければなりません。 このプロトタイプは、プログラムまたはプロシージャーを正しく呼び出し、呼び出 し元が確実に正しいパラメーターを渡せるように、コンパイラーによって使用さ れます。
プロトタイプ定義に適用される規則は、次のとおりです。
これらのキーワードについては、定義仕様書のキーワードを参照してください。図 64 は、数値入力パラメーターを受け入れて、文字ストリン グを戻すサブプロシージャー CVTCHR のプロトタイプを示しています。 戻り値と関連した名前はないことに注意してください。この理由から、プログラムのデバッグ時にその内容を表示することはできません。
* The returned value is the character representation of
* the input parameter NUM, left-justified and padded on
* the right with blanks.
D CVTCHR PR 31A
D NUM 31P 0 VALUE
* The following expression shows a call to CVTCHR. If
* variable rrn has the value 431, then after this EVAL,
* variable msg would have the value
* 'Record 431 was not found.'
C EVAL msg = 'Record '
C + %TRIMR(CVTCHR(RRN))
C + ' was not found '
エクスポートされるサブプロシージャー用またはメイン・プロシージャー用のプロトタイプを書いている場合は、プロトタイプを /COPY ファイルに入れ、そのプロトタイプを、呼び出し側とそのプロシージャーを定義するモジュールの両方のソース・ファイルにコピーします。 このコーディング技法では、呼び出し元もプロシージャー自身もすべてが同一のプロトタイプを使用するため、両者にとってパラメーター・チェックの利点を最大に生かすことができます。
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.