*CONTROL (または *CBL) ステートメントを使用すると、ソース・テキスト全体でソース・コード、オブジェクト・コード、およびストレージ・マップのリストを選択して表示または抑制することができます。
フォーマット .--------------. V | >>-+-*CONTROL-+----+-SOURCE---+-+--+---+----------------------->< '-*CBL-----' +-NOSOURCE-+ '-.-' +-LIST-----+ +-NOLIST---+ +-MAP------+ '-NOMAP----'
これらのオプションを指定することによって得られる出力についての詳しい説明は、「Enterprise COBOL プログラミング・ガイド」を参照してください。
*CONTROL ステートメントと *CBL ステートメントは同じ意味です。 *CONTROL が受け入れられるところはどこでも、*CBL は受け入れられます。
*CONTROL または *CBL という文字は、7 桁目以降の任意の桁から始めることができ、 その後に少なくとも 1 つのスペースまたはコンマを挟んで、1 つ以上のオプションのキーワードを続けます。オプションのキーワードは、 1 つまたは複数のスペースまたはコンマで区切らなければなりません。このステートメントは、 その行にある唯一のステートメントである必要があり、 継続させることはできません。 このステートメントはピリオドで終わらせることができます。
*CONTROL ステートメントと *CBL ステートメントは、 プログラムのソース・コードの中に組み込まなければなりません。 例えば、バッチ・アプリケーションの場合は、 *CONTROL ステートメントおよび *CBL ステートメントは PROCESS (CBL) ステートメントと プログラムの終わりの間 (END PROGRAM マーカーが指定されていればその前) に置かれなければなりません。
*CONTROL (*CBL) ステートメントを含むソース・コード行は、 ソース・プログラムのリストには現れません。
固定オプションとしてインストール時に定義されているオプションがあると、固定オプションは次に挙げるすべてのものを優先します。
要求されたオプションは、次のように取り扱われます。
ストレージ・マップの項目のリスト生成は、データ部の中にある次のどちらかのステートメントによって制御されています。
*CONTROL MAP [*CBL MAP] *CONTROL NOMAP [*CBL NOMAP]
*CONTROL NOMAP ステートメントで、 かつ MAP がコンパイル・オプションとして要求されていた場合、 ここ以降はストレージ・マップの項目のリストは抑止されます。
例えば、次のどちらかの組のステートメントを使用すると、A および B が現れないストレージ・マップのリストを作成します。
*CONTROL NOMAP *CBL NOMAP
01 A 01 A
02 B 02 B
*CONTROL MAP *CBL MAP