自由形式のプロトタイプ定義
プロトタイプは DCL-PR ステートメントで始まります。
DCL-PR ステートメントの後には、ゼロ個またはそれ以上のパラメーター が続き、その後に END-PR ステートメントが続きます。
プロトタイプを開始する DCL-PR ステートメント
最初のステートメントは DCL-PR で始まり、 その後にプロトタイプの名前が続き、 さらにその後にキーワードが続き、最後はセミコロンで終わります。
プロトタイプ・パラメーター
自由形式のパラメーター定義を参照してください。
プロトタイプを終了する END-PR ステートメント
- END-PR の後にプロトタイプの名前を続けることができます。
- パラメーターがない場合、END-PR を DCL-PR ステートメント の一部として、キーワードに続けて、セミコロンの前に指定できます。 この場合、END-PR の後にプロトタイプの名前を指定することはできません。
自由形式のプロトタイプの例
- パラメーターが 1 つ指定された、プログラム用のプロトタイプ。
プログラムの外部名は「MYPGM」です。
DCL-PR myPgm EXTPGM; 1 name CHAR(10) CONST; END-PR; - 3 個のパラメーターがあるプロトタイプ addNewOrder。
END-PR ステートメントは名前なしで指定されています。
DCL-PR addNewOrder; id INT(10) CONST; quantity INT(10) CONST; price PACKED(7 : 2) CONST; END-PR; 2 - END-PR ステートメントに名前が指定されています。
DCL-PR addNewOrder; id INT(10) CONST; quantity INT(10) CONST; price PACKED(7 : 2) CONST; END-PR addNewOrder; 3 - プロトタイプにはパラメーターはないため、END-PR は DCL-PR ステートメントの一部として指定されています。
DCL-PR getCurrentUser CHAR(10) END-PR; 4 - 一部のサブフィールドを DCL-PARM を使用して定義しているプロトタイプ。
- パラメーター select は、 自由形式演算内で使用を許可されている命令コードと同じ名前です。 このパラメーターには DCL-PARM が必要です。 表 1を参照してください。
- パラメーター name は、命令コードと同じ名前ではないため、DCL-PARM は不要です。
- パラメーター address は、命令コードと同じ名前ではないため、 DCL-PARM は必要ありませんが、あっても有効です。
DCL-PR myProc; DCL-PARM select CHAR(10); 5a name CHAR(10); 5b DCL-PARM address CHAR(25); 5c END-PR; - 別の例については、外部名としての *DCLCASE の指定を参照してください。
