一般説明

手続き部(procedure division)は、宣言しても、宣言しなくてもよい。

プログラム定義、

関数定義、

またはメソッド定義の中の手続き部は、実行されるべき手続きを含む。これらの手続きは、宣言文または非宣言文のいずれか、または両方である。

オブジェクト定義およびファクトリ定義の中の手続き部は、オブジェクトまたはファクトリオブジェクトにより起動されるメソッドを含む。

呼出しプロトタイプの中の手続き部は、手続きをまったく含まない。ただし、ENTRY文を含む場合はある。

関数プロトタイプ、メソッドプロトタイプ、またはプログラムプロトタイプの中の手続き部では、パラメータまたは戻り項目(もし、あれば)を指定する。

一般形式

形式 1 (節を含む)

形式 2 (節を含まない)

形式 3 (インターフェイスオブジェクトまたはファクトリ)

用語、「手続き部の見出し」については、次の手続き部の見出し節で説明する。

形式 1 および 2 は、プログラム定義中、

プログラムプロトタイプ定義、関数定義、関数プロトタイプ定義、

メソッド定義、または

呼出しプロトタイプ

でのみ使用できる。

形式 3は、ファクトリ定義またはインターフェイス定義、

またはオブジェクト定義

でのみ使用できる。

上記の宣言完結文(declarative-sentence)は、USE文である。(本書の手続き部 - SEARCH - XML PARSEの章のUSE(使用)文節、および言語リファレンス - 追加トピックの中のデバッグモジュールの章のUSE FOR DEBUGGING文節および報告書作成の章のUSE BEFORE REPORTING文節を参照)USE文は、該当する節をいつ実行するかを指定する。

手続きは、手続き部内の段落または段落集団、あるいは節または節集団から成る。手続き名は、それが使用される原始要素中の段落または節を示す語である。手続き名は段落名(修飾される場合もある)または節名から成る。

ある段落がある節内にある場合、すべての段落がその中になくてはならない。

この規則は強制しない。

段落は、段落名の後に続けて終止符(.)と空白を書き、後ろに完結文をいくつか書いたものである。段落の終了は、次の段落名または節名の直前、あるいは、手続き部の終わり、宣言部分のEND DECLARATIVESのところまでとなる。

節は、節見出しと、その後に続くいくつかの段落から成る。節の終了は、次の節名、あるいは手続き部の終わり、宣言部分のEND DECLARATIVESのところまでとなる。

しかし、宣言中の節は宣言完結文を必要としない。これはPERFORM文によって開始できる。(PERFORM文の詳細については、手続き部 - PERFORM - ROLLBACKの章のPERFORM(実行)文節を参照。)

完結文(sentence)は、上記で説明した名前付きの段落内に明示的には含まれない。名前のない暗黙的な段落内に含まれているとみなされる。段落は、節内に明示的には含まれない。名前のない暗黙的な節内に含まれているとみなされる。

プログラムの定義、

またはメソッドの定義

では、実行は、手続き部の宣言部分ではない最初の文から始まる。以降、文は記述されている順序に実行される。ただし、他の順序が示されている場合は例外である。

呼出しプロトタイプでは、手続き部は実行されない。

オブジェクトの定義では、宣言部分が、親であるメソッド定義のすべてで指定されている場合と同様に動作する。

ファクトリの定義では、宣言部分が、親であるメソッド定義のすべてで指定されている場合と同様に動作する。

ここでは、算術式と条件式、共通指定と入出力指定、組み込み関数、COBOL動詞について説明する。

手続き部の見出しは、手続き部の形式 2 では書いても書かなくてもよい。ただしこれは、、これより前に部が記述されていない場合、および手続き部がCOBOLの文で始まる場合(節見出し、段落見出し、宣言節ではなく)にだけ、任意となる。