選択行
- 選択行とは
-
A-VX COBOL85では選択行が使えます。
デバッグ行と同じように7桁目に数字(選択標識文字)を書いて、コンパイル時にその数字を指定して翻訳する行か注記行にするかを決められる機能です。
0000001 MOVE 0 TO DATA-X.
デバッグ行とは異なり、「WITH DEBUGGING MODE句」とは関係ありません。コンパイルするときにどうするか決めます。
- 新HIのメニュー画面からコンパイラを起動する場合
-
下のような画面からメニュー形式で選択していく形でコンパイルする場合です。
コンパイル時のパラメータに関する説明を見てみます。
「COBOL85プログラミング手引書」の「第11章 プログラムの翻訳、リンク」の「翻訳指示パラメータ」に次のような説明があります。
表No./パラメータ名 パラメータ値 説明 OP.選択標識文字 注記行とする
翻訳行とする
数字指定
原始プログラム中の選択行を翻訳行とするか、注記行とするかを指定する。 OP.数字指定 数字10桁以内 指定された数字が標識領域に書かれた選択行を翻訳行とし、それ以外の選択行を注記行とする選択標識文字が数字指定の場合に質問される。 - バッチでコンパイルする場合
-
RUNコマンドからバッチの形でコンパイルを実行する場合です。
「互換操作法ガイドブック<パラメータ編>」の「第7章 言語処理」の「COBOL85」では、コンパイル時のパラメータについて次のように説明されています。パラメータのラベル 説明 パラメータの値 SELECTION
CHARACTERS;
SCH=
原始プログラムの選択行を翻訳行とするか、注記行とするかを指定する N[O]
すべての選択行を注記行とする。 数字列
(数字列≦10桁)指定された数字が標識領域に書かれた選択行を翻訳行とし、それ以外の選択行を注記行とする。 A[LL] すべての選択行を翻訳行とする - 例
-
このように使います。
下のようなプログラムがあるとします。11個のDISPLAY文があります。それぞれ7桁目に0から9の数字が入っています。
比較のために、最後の1つは7桁目にDを書いてデバッグ行にしています。
000000 IDENTIFICATION DIVISION. 000000 PROGRAM-ID. TESTPG. 000000 DATA DIVISION. 000000 WORKING-STORAGE SECTION. 000000 01 I001 PIC X(01). 000000 PROCEDURE DIVISION. 000000 MAINPRG. 0000000 DISPLAY "NO. 0 0000". 0000001 DISPLAY "NO. 1 AAAA". 0000002 DISPLAY "NO. 2 BBBB". 0000003 DISPLAY "NO. 3 CCCC". 0000004 DISPLAY "NO. 4 DDDD". 0000005 DISPLAY "NO. 5 EEEE". 0000006 DISPLAY "NO. 6 FFFF". 0000007 DISPLAY "NO. 7 GGGG". 0000008 DISPLAY "NO. 8 HHHH". 0000009 DISPLAY "NO. 9 IIII". 000000D DISPLAY "NO.10 JJJJ". 000000 ACCEPT I001. 000000 STOP RUN.
コンパイルします。
コンパイルのパラメータSCHには147と入力しました。
これは、選択標識文字が1と4と7は翻訳(コンパイル)の対象として、他の0、2、3、5、6、8、9は注記行扱いとして翻訳しないということを意味します。
ちなみにデバッグ行のDは、DEBUG MODE(DBG=)パラメータに関するもので、ここでは「SOURCE」にしています。
コンパイルに成功したら、リンカーでリンクして、早速実行してみましょう。
実際に実行してみると、11個のDISPLAY文のうち、選択標識文字が1と4と7の行が翻訳されていることがわかります。他のDISPLAY文は注記行となって翻訳されていません。