変更の始まり

自由形式のプロトタイプ定義

プロトタイプは DCL-PR ステートメントで始まります。

DCL-PR ステートメントの後には、ゼロ個またはそれ以上のパラメーター が続き、その後に END-PR ステートメントが続きます。

プロトタイプを開始する DCL-PR ステートメント

最初のステートメントは DCL-PR で始まり、 その後にプロトタイプの名前が続き、 さらにその後にキーワードが続き、最後はセミコロンで終わります。

プロトタイプ・パラメーター

自由形式のパラメーター定義を参照してください。

プロトタイプを終了する END-PR ステートメント

自由形式のプロトタイプの例

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