プロトタイプ・プログラムまたはプロシージャーに呼び出しパラメーターまたは戻り値がある場合は、 メイン・ソース・セクション (サイクル・メイン・プロシージャーの場合) 内またはサブプロシージャー・セクション内に、 プロシージャー・インターフェース定義が定義される必要があります。プロトタイプが定義されている場合、プロシージャー・インターフェース定義は、プロシージャーの定義の中のプロトタイプ情報を繰り返します。 それ以外の場合には、コンパイラーがプロトタイプを暗黙的に定義できるようにする情報をプロシージャー・インターフェースが提供します。 プロシージャー・インターフェースは、プロシージャーへの入り口パラメーターを宣言し、プロシージャーの内部 定義を外部定義 (プロトタイプ) と確実に整合させるために使用されます。
プロシージャー・インターフェースの名前は任意指定です。
指定される場合は、対応するプロトタイプ定義の名前と一致している必要があります。 
自由形式定義では、DCL-PI を指定することによって、プロシージャー・インターフェース定義を
開始します。固定形式定義では、「定義タイプ」記入項目 (24 から 25 桁目) に PI を
指定します。プロシージャー・インターフェース定義は、定義仕様書のどこにでも指定するこ
とができます。 サイクル・メイン・プロシージャーでは、プロトタイプが
指定される場合は、プロシージャー・インターフェースの前に、それが参照するプロトタイプがなければなりません。
プロシージャー・インターフェースは、プロシージャーが値を戻す
場合、またはプロシージャーにパラメーターがある場合は必須であり、それ以外の場合は任意指定です。 
自由形式のプロシージャー・インターフェースは END-PI で終わる必要があります。これは、DCL-PI ステートメント
の末尾に指定するか、パラメーターの後にある別のステートメントとして指定します。 
プロシージャー・インターフェースの名前を指定する必要はありません。
自由形式定義では、名前を指定しないことを示すために *N を使用します。 
プロシージャー・インターフェースの名前を指定する場合は、プロシージャーの名前と同じでなければなりません。
サイクル・メイン・プロシージャーのプロシージャー・インターフェースであり、名前を
指定する場合は、前に指定されたプロトタイプの名前と同じでなければなりません。 
モジュールに、別のモジュールに定義されているプロトタイプ・プログラムまたはプロシージャーへの呼び出しが 含まれている場合、呼び出すプログラムおよびプロシージャーごとにプロトタイプ定義が なければなりません。必要なコーディングを最小にする 1 つの方法は、共用プロトタイプを /COPY ファ イルに保管することです。
プロトタイプ・プログラムまたはプロシージャーを他のユーザーに提供する場合 には、必ずプロトタイプも (/COPY ファイルに入れて) 提供してください。