第 7 章 コンパイラへの指令

この章では、コンパイラの制御に使用できる指令を一覧表示し、それぞれの詳細を説明します。 最初の項では、指令名をカテゴリ別に分類し、それそれの指令の目的を簡単に示します。これを利用して目的に合った指令を探してください。2 番目の項では、各指令の詳細をアルファベット順に説明します。

指令の設定に関しては、『コンパイラの使用』 の章の『指令の設定』の項を参照してください。

7.1 カテゴリ別の指令

次に、コンパイラ指令のカテゴリを示します。 カテゴリを選択すると、選択したカテゴリ内の指令が一覧表示されます。次に、該当する指令を選択すると、パラメータ、およびその他の詳細を確認できます。

言語機能の有効化
実行時の動作
マルチスレッド
コンパイラ制御
デバッグと分析のためのコンパイル
データファイルの形式
オブジェクトのコード、サイズ、および最適化
予約済み指令

指令名の後にアスタリスクが示されている場合は、その指令を使用するのに、アドオン製品が必要であることを示します。適切なアドオン製品を用意しないで、これらの指令を使用した場合は、コンパイラからエラーメッセージが出力されませんが、その指令の目的は果たされません。

7.1.1 言語機能の有効化

これらの指令を使用すると、コンパイラで受け取られる言語機能を変更できます。

7.1.1.1 機能の追加

CICS * CICS の有効化
CICS-CPY * COPY "CICS-CPY" の挿入
CONSTANT 定数定義
DB2 EXEC SQL コード、DB2 Universal Database API 呼び出しによる置換
FCDREG ファイルのレジスタ
PREPROCESS プリプロセッサからソースを受け取る。
REWRITE-LS 行順ファイルへの再書き込み
SEQCHK 行番号チェック
SOURCEFORMAT 自由形式のコードを使用可能にする。
SQL EXEC SQL コードの、ODBC または OCI ランタイム呼び出しによる置換

7.1.1.2 方言

ACTUAL-PARAMS 実際のパラメータを指定する。指定されたパラメータは、パラメータで指定されたクラスで正式なパラメータに置き換えられる。
ANS85 ANSI'85
COBOL370 IBM COBOL/370
COMS85 ANSI'85 通信
DBCHECK DBCS のチェック
DBCS DBCS のサポート
DG Data General
DIALECT チェック時、および実行時の動作を、指定した方言の動作と一致させる。
DOSVS IBM DOS/VS COBOL
FLAG 方言にフラグを付ける。
FLAGCD 矛盾する指令にフラグを付ける。
FLAGSTD ANSI'85 レベルの機能にフラグを付ける。
IBM-MS IBM / Microsoft COBOL V1.0
ISO2000 ISO2000
JAPANESE 2 バイト拡張
MF Micro Focus COBOL のレベル
MS Microsoft COBOL V1 または V2
NCHAR 2 バイト拡張機能
OOCTRL OO プログラム言語の要素
OSVS IBM OS/VS COBOL
PC1 IBM / Microsoft COBOL V1.0
RM Ryan-McFarland
SAA SAA (システムアプリケーションアーキテクチャ)
VSC2 IBM VS COBOL II
XOPEN X/Open

7.1.1.3 メインフレームとの互換性

AREACHECK A 領域のチェック
CMPR2 メインフレームとの互換性
DIALECT チェック時、および実行時の動作を、指定した方言の動作と一致させる。
DBCSSOSI シフトイン、シフトアウトの指定
LIBRARIAN -INC の許可
MAPNAME IBM のプログラム名
PANVALET ++INCLUDE の許可
PROGID-COMMENT PROGRAM-ID 内のコメント
RDW 可変長レコード
TRUNCCOPY コピーファイル名

7.1.1.4 予約語の制御

ADDRSV 予約語の追加
ADDSYN 同義語の追加
MAKESYN 同義語の作成
OVERRIDE 意味の変更
REMOVE 予約解除

7.1.1.5 コンパイル速度

QUAL 修飾の許可
QUALPROC 修飾の許可
SEG 区分化の許可
TRICKLE PERFORM の制限

7.1.2 実行時の動作

これらの指令を使用すると、言語機能の定義が変更されるため、ユーザプログラムのロジックも変更されます。

方言の下に示す指令の動作にも影響があります。

ACCEPTREFRESH ACCEPT 文
ARITHMETIC 式の評価
ASSIGN EXTERNAL または DYNAMIC の指定
ASSIGN-PRINTER プリンタ出力の指定
BWZSTAR PIC を指定した BWZ *
CHARSET ASCII または EBCDIC
CHECKDIV 0 による割り算を許可
CHECKNUM 数字フィールドのチェック
COBFSTATCONV EXTFH 状態コード
CONVERTRET RETURNING 項目のタイプ
CURRENCY-SIGN 通貨記号
CURRENT-DATE DDMMYY または MMDDYY
DEFAULTBYTE データ部の初期化
DEFAULTCALLS 呼び出し規約
DETECT-LOCK レコードロックの検知
EARLY-RELEASE 古いユーザ構文
FOLD-CALL-NAME 呼び出し名を大文字、または小文字のどちらかにする。
FOLD-COPY-NAME コピーファイル名を大文字、または小文字のどちらかにする。
HOST-NUMCOMPARE 数値比較
INDD ACCEPT 文を READ 文に変換する。
INITCALL モジュールの実行
IXNLSKEY ローカルの文字の照合順序に従って、索引ファイルキーを整列させる。
IXNUMKEY 索引キーを数値順に整列する。
LOCKTYPE ロックされたレコードの読み取り
NATIVE 文字の照合順序
NLS NLS の実装
OUTDD DISPLAY 文を WRITE 文に変換する。
PRINT-EXT 拡張子の追加
PROTECT-LINKAGE リンク保護
REPORT-LINE 報告書の 1 行の長さ
SPZERO 空白文字を数字の 0 として扱う。
STICKY-LINKAGE パラメータのリンク状態を保つ。
TERMPAGE レポートのページを埋める。
TRACE READY TRACE を有効にする。
ZEROLENGTHFALSE 長さ 0 のテスト
ZWB 数字の比較

7.1.2.1 他の COBOL 方言との互換性

CASE プログラム名の大文字、小文字を区別する。
ALPHASTART ALPHABET 句での番号付け
COMP-6 COMP-6 項目の形式
DBSPACE DBCS 空白文字
DIALECT チェック時、および実行時の動作を、指定した方言の動作と一致させる。
FDCLEAR 書き込み後、レコードバッファをクリアする。
FP-ROUNDING 浮動小数点の項目
HOSTFD ファイルへのレコード領域の割り当ては、OPEN 文でのみ実行し、事前に割り当てを行わない。
IBMCOMP ワード型記憶域モード
INTDATE date 本来の機能で使用される、整数形式の日付の起算日の選択
ODOSLIDE 可変長テーブル
OPTIONAL-FILE すべてのファイルをオプションファイルとする。
PERFORM-TYPE PERFORM 文からのリターン
RETRYLOCK ロックされたレコードへの再アクセス
SIGN 符号付き数値の符号の扱い
SSRANGE 添字、索引、および部分参照項目を実行時に確認する。
STICKY-PERFORM PERFORM の動作
SWITCH-TYPE ANSI 準拠のスイッチの動作
SYMBSTART ALPHABET 句での番号付け
TRUNC 2 進数の切り捨て

7.1.2.2 旧 Micro Focus 製品との互換性

AUTOLOCK デフォルトのロック
COMP 計算用サブセット
COMP-5 COMP-5 の動作
DE-EDIT 数字編集動作
FILESHARE デフォルトのロック
IOCONV READ-INTO/WRITE-FROM
MF Micro Focus COBOL のレベル
OLDBLANKLINE BLANK LINE 句
OLDINDEX 索引を添字として扱う。
OLDNEXTSENTENCE NEXT SENTENCE 文
OLDREADINTO READ INTO 文
OLDSTRMIX 同じ STRING、UNSTRING、または INSPECT 内で PIC X および PIC N フィールドの使用を許可する。
WRITELOCK デフォルトのロック

7.1.2.3 メインフレームとの互換性

APOST QUOTE を ' として扱わせる。
BYTE-MODE-MOVE 重複した移動を制御する。
DIALECT チェック時、および実行時の動作を、指定した方言の動作と一致させる。
DYNAM CANCEL を無視する。
FP-ROUNDING 浮動小数点の項目
HOSTNUMMOVE IBM MOVE 文
IBMCOMP Word-storage mode
MAPNAME IBM のプログラム名
ODOOSVS OS/VS 形式の OCCURS DEPENDING ON
OLDCOPY ANSI'68 の COPY
QUOTE QUOTE = "
REMAINDER DIVIDE 文で使用される余りの計算方法の選択。

7.1.2.4 速度とサイズ

ALIAS 添字を付ける。
ALIGN データの配置
BOUND 境界チェック
BOUNDOPT テーブルの最適化
CHECK 生成コードのすべての実行時チェックを有効にする。
LINKCHECK 連絡節項目のチェック
PARAMCOUNTCHECK パラメータの省略
PERFORMOPT 空の段落を参照する PERFORM 文を最適化する。

7.1.3 マルチスレッド

REENTRANT プログラムを再入可能にする。
SERIAL プログラムを直列にする。

7.1.4 コンパイラ制御

7.1.4.1 ファイルのコンパイルとリンク

CANCELLBR COPY 文の .lbr ファイルを閉じる。
CONVSPACE ソースコードの空白文字
COPYLBR Copy 文のライブラリを .lbr ファイルとして扱う。
INTLEVEL 移植レベル
KEEP-INT .int ファイルを作成する。
KEYCHECK ファイルが開かれたときにキーの数を確認する。
P64 64 ビットの実行環境で実行するプログラムのコンパイル。
PREPROCESS ソースの前処理
PROTOTYPE CALL プロトタイプをおおまかに、または厳密にチェックする。

7.1.4.2 指令の制御

COBOLDIR cobol.dir の使用と無視
CONFIRM 指令の表示
DIALECT チェック時、および実行時の動作を、指定した方言の動作と一致させる。
DIRECTIVES 指令ファイル
DIRECTIVES-IN-COMMENTS 注記行の指令の有効化
SETTING 指令の出力
SHOW-DIR 指令ファイルの出力
USE 指令のファイルを使用する。

7.1.4.3 エラーおよびフラグメッセージ

BRIEF メッセージテキストを非表示にする。
CHANGE-MESSAGE メッセージの重大度の変更
EDITOR Editor 用のエラーファイル
ERRLIST メッセージのみ出力する。
ERRQ エラーで停止させる。
FLAG 指定した方言以外の機能にフラグを付ける。
FLAGAS フラグをエラーとして表示する。
FLAGCD 矛盾する指令にフラグを付ける。
FLAGMIG OSVS および VSC2 の異なる動作
FLAGQ フラグで停止させる。
FLAGSINEDIT エラーファイルにフラグを表示する。
FLAGSTD ANSI'85 より上のレベルの機能にフラグを付ける。
HIDE-MESSAGE メッセージを非表示にする。
INFORETURN 備考メッセージの戻り値を指定する。
MAX-ERROR コンパイラエラーの上限を指定する。
MOVE-LEN-CHECK 英数字の MOVE 操作で、ソース、およびターゲットの長さを確認する。
QUERY コピーファイルが見つからない場合は停止する。
STDERR STDERR にメッセージを書き込む。
WARNING 出力するメッセージのレベル

7.1.4.4 リストの作成

COPYEXT コピーファイルの拡張子
COPYLIST コピーファイルのリスト
DATAMAP データ項目のリスト
DATE リストの日付
ERRLIST ソースとエラーメッセージのリスト
FORM ページ長を指定する。
LINE-COUNT リストの最後に表示する情報の内容を制御する。
LIST ソースリストファイルの出力先を指定する。
LISTPATH リストファイルへのパスを指定する。
LISTWIDTH ページ幅を指定する。
MFCOMMENT 別形式のコメント
PREPLIST プリプロセッサのデバッグリスト
PRINT ソースリストファイルの出力先を指定する。
RAWLIST 静的情報のリストを作成する。
REFNO コンパイラのバージョン番号をリストに表示する。
RESEQ 行番号を生成する。
SEQCHK 行番号チェック
SETTING 指令の出力
SHOW-DIR 指令ファイルの出力
TIME リストに時刻を表示する。
VERBOSE コンパイラメッセージ
XREF 相互参照リストを作成する。
ZEROSEQ 行番号内に 0 を追加する。

7.1.4.5 画面

BELL 停止時の音
CONFIRM 指令の表示
ECHO エラーの表示
ECHOALL 全リストの表示
SUPFF ページヘッドを使用しない

7.1.5 デバッグと分析のためのコンパイル

次の指令を指定すると、コンパイラで、そのプログラムの追加情報が含まれるファイルが作成されます。このファイルは、デバッグ時に使用するソフトウェアに入力する必要があるファイルです。

ANIM アニメ―ト用
COBIDY Animator ファイルのパス
EDITOR Editor 用のエラーファイル
FLAGSINEDIT エラーファイルのフラグ
GNTANLZ GNT Analyzer を使って分析可能な生成プログラムを作成する。
PROFILE Profiler 用

7.1.6 データファイルの形式

これらの指令はデータファイルに保存するデータの形式を変更します。

CALLFH 外部のファイルハンドラの呼び出し
DATACOMPRESS データ圧縮
FILETYPE データファイルの形式
IDXFORMAT 索引ファイルの構造
KEYCOMPRESS キーの圧縮
RECMODE 固定長、または可変長にする。
SEQUENTIAL SEQUENTIAL 編成の種類を指定する。

7.1.7 オブジェクトのコード、サイズ、および最適化

これらの指令を使用すると、プログラムのロジックを変更することなく、生成されたオブジェクトコードを変更できます。

7.1.7.1 外部ハンドラ

CALLADIS 外部の ACCEPT/DISPLAY
CALLFH 外部のファイルハンドラ
CALLMCS 外部の MCS ハンドラ
CALLSORT 外部の整列ハンドラ

7.1.7.2 ファイル処理

WRITETHROUGH 書き込み時にバッファを使用しない。

7.1.7.3 プログラム間通信

LITLINK パブリックのリテラル
LITVAL-SIZE BY VALUE のサイズ
RTNCODE-SIZE RETURN-CODE のサイズ

7.1.7.4 サイズと速度

CICSOPTIMIZE * BLL セルの最適化
HOSTSIGNS 無効な記号片
LNKALIGN リンクが割り当てられたことを前提とする
OPT 最適化レベル
SEG 区分化の許可
TARGET マイクロプロセッサ固有の指示

7.1.8 報告書作成

この指令は、報告書作成制御モジュールの動作に影響を与えます。

RWHARDPAGE

7.1.9 予約済みの指令

これらの指令は、旧製品と互換性を持たせるために予約、または、保持されており、効果はありません。これらの指令は使用しないでください。

ADV ファイルを印刷するための制御文字の追加

7.1.9.1 内部用または今後のために用意された指令

ENSUITE
FASTSORT
FCD3
LOCALCOUNT
NESTLOCALSTORAGE
OLDFILEIO
WB2
WB3

7.2 コンパイラ指令の使用方法

すべてのコンパイラ指令をアルファベット順に説明します。内容は、指令毎に次の形式で説明します。

指令名と、その簡単な機能説明

構文

構文の表示形式

                                 +--------------. 
                                 v              | 
 >>-.---.-.-------DIRECTIVE-NAME--"parameter(s)"-.-><  
    .-/-+ ..----.-DIRECTIVE-NAME-----------------+ 
           .-NO-+

コンパイラ指令の構文は、railroad tracks(鉄道の線路)と呼ばれる図を使用して示します。これは、指令、およびそのパラメータを線で結び、記述順を示したものです。 これらの図は、左から右に読みます。図は >> で始まり、>< で終わります。 代わりの方法がある場合は線が分岐し、その後再び結合されます。 線の長さに意味はありません。

上の例では、パラメータの上部にループがあります。これは、繰り返し可能であることを示します。

指令のパラメータは引用符 (" ") で囲んでいますが、他に特別な説明がない限り、引用符のかわりにかっこを使用することができます。 UNIX では、これ以外に等号 (=) を使用することもできます。 引用符を使用した場合は、パラメータに空白文字を含めることができますが、パラメータをかっこで囲んだ場合は、空白文字を使用できません。

引用符を使用する場合は、バックスラッシュ文字 (\) を使用してエスケープする必要があります。コマンド行で等号を含んだオプションを指定する場合は、等号を 2 つ指定する必要があります。

コマンド行でのコンパイラ指令の使用に関する詳細は、『COBOL システムインターフェイス (Cob)』 の章の 『オプションの構成』 の項を参照してください。

構文の図中のスラッシュ (/) は、DOS、Windows、および OS/2 の場合に使用されます。スラッシュは UNIX 環境では無視され、UNIX 特有の指令では表示されません。

パラメータ

その指令に有効なパラメータがあれば、それらを列挙し、内容を説明します。

プロパティ
デフォルト値 その指令のデフォルトの設定を示します。
フェーズ その指令を使って制御するフェーズを示します。 次のいずれかです。
構文チェック
生成
両方
$SET その指令を原始プログラムの $SET 文で使用できるかどうかを示します。この部分に「最初の行」と記されている場合は、COBOL のコードの第 1 行目の前の $SET 文でのみ使用可能であることを示します。 ソースコード内の $SET 文で指定される指令は 72 列以内にする必要があります。
依存関係

この指令の設定が他の指令の設定に与える影響、または他の指令によって、この指令の設定が受ける影響を示します。

ここには多くの異なる事例が示されますが、それらの事例は次のキーワードで大まかに分類できます。

すぐ 指定された設定の変更は、その指令のプロセスの一部としてすぐに実行されます。この場合、1 番目に指定した指令で設定された値は、2 番目に指定した指令でリセットすることができます。ただし、この操作は、設定の意味を理解してから実行してください。
最後 指定された変更は、すべての指令が処理された後で反映されます。この場合、ユーザが新しい値を上書きすることはできません。
コメント

その指令に関する情報を、コメントで追加します。

メニューで、指令名の次にアスタリスク (*) がある場合は、その指令を使用するには、アドオン製品が必要であることを示します。 これらの指令を適切なアドオン製品を用意しないで使用した場合、コンパイラからエラーメッセージは表示されませんが、その指令の目的は果たされません。

7.3 指令一覧


ACCEPTREFRESH

ACCEPT 文の前に、スクリーン節のデータに関連するデータ領域を、対応する作業場所節の項目から更新するかどうかを指定します。

構文
 >>-.---.-.----.--ACCEPTREFRESH-------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOACCEPTREFRESH
フェーズ 構文チェック
$SET 最初の行
依存関係

MS、IBM-MS、または PC1 で、すぐに ACCEPTREFRESH に設定されます。

コメント

ACCEPTREFRESH を指定すると、スクリーン節のデータ項目を参照する ACCEPT 文の前に、受け取られた項目に従属するスクリーン節の項目に関連するデータ領域すべてが次のように修正されます。

NOACCEPTREFRESH が指定された場合は、スクリーン節のデータ領域は、最後の ACCEPT または DISPLAY 命令の実行結果が残っている状態となります。


ACTUAL-PARAMS

パラメータ化されたクラスで形式的なパラメータと置き換えられる実際のパラメータを指定します。

構文
 >>-.---.-.----.-ACTUAL-PARAMS--"parameters"------------------------><  
    .-/-+ .-NO-+
パラメータ
parameters 1 〜 32 の、空白で区切られたパラメータ
プロパティ
デフォルト値 NOACTUAL-PARAMS
フェーズ 構文チェック
$SET 最初の行

ADDRSV

ユーザプログラムで予約語として認識されるように、特定の予約語を予約語リストに追加します。 指定した予約語は、どんな方言の指令が有効になっている場合でも追加されます。

構文
                   +----------. 
                   v          | 
 >>--.---.--ADDRSV--"rsv-word"--------------><  
     .-/-+
パラメータ
rsv-word いくつかの COBOL の方言では予約語として扱われるが、今回のコンパイルで指定される方言には存在しない可能性がある語を指定します。
プロパティ
デフォルト値 予約語は追加されません。
Phase 構文チェック
$SET 最初の行
コメント

どんな方言の指令が有効になっている場合でも、指定した予約語は追加されます。

この指令は SETTING 指令を指定して作成されたリストには表示されません。

参照

SETTING コンパイラ指令


ADDSYN

ユーザ定義の予約語を、既存の予約語の同義語として定義します。

構文
 >>--ADDSYN-"rsv-word" = "user-word"-----><
パラメータ
rsv-word 既存の予約語を指定します。
user-word 既存の予約語とは異なる COBOL 語を指定します。
プロパティ
デフォルト値 予約語の同義語は作成されません。
フェーズ 構文チェック
$SET 最初の行
コメント

等号 (=) の前後に空白文字を入れる必要があります。読みやすくするために、指令とそのオプションの間にも空白文字を入れることができます。この指令を Cob のコマンド行で -C オプションに指定した場合は、すべての文字列を UNIX のシェルに対して正しくエスケープする必要があります。詳細は、『COBOL システムインターフェイス (Cob)』 の章の 『オプションの構成』 の項を参照してください。たとえば、ADDSYN をコマンド行で指定する場合は次のようにします。

cob -C 'addsyn "low" == "lowlight"' a.cbl

この指令は、SETTING 指令で作成されるリストには表示されません。


ADV

制御文字を印刷ファイルの各行の先頭に挿入します。これは、メインフレームの操作と互換性を持たせるための指令です。

構文
 >>-.---.-.----.--ADV-----------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOADV
フェーズ 構文チェック
$SET 任意の行
依存関係

ADV は、FILETYPE"11" を設定すると有効になります。

参照

FILETYPE コンパイラ指令


ALIAS

データ項目の別名を使用できるようにします。

構文
 >>-.---.-.----.-ALIGN-----------------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOALIAS
フェーズ 生成
$SET 最初の行
コメント

SET ADDRESS OF 文を使用すると、2 つの方法で同じデータにアクセスすることができます。つまり、作業場所節で、および連絡節内の 1 項目としてアクセスできます。この方法は「エーリアシング」として知られています。別名を使用するプログラムは、ALIAS を指定してコンパイルする必要があります。


ALIGN

レベル 01 または レベル 77 のデータ項目を割り当てるメモリ境界を指定します。

構文
 >>-.---.--ALIGN--"integer"-----------------><  
    .-/-+
パラメータ
integer 1 つ目のレベル 01 項目の開始位置から、次の項目の開始位置までの距離は、この値の倍数になります。 1 から 255 までの任意の値を指定できます。
プロパティ
デフォルト値 ALIGN"8"
フェーズ 構文チェック
$SET 最初の行
依存関係

IBMCOMP または NORM を指定するとすぐに ALIGN"8" に設定されます。
RM または RM"ANSI" を指定するとすぐに ALIGN"2" に設定されます。

コメント

指定された値の倍数にあたるバイト境界に合わせて、レベル 01 のデータ項目が割り当てられます。

これにより、効率の良い実行結果が得られますが、使用されるメモリは増加します。

integer を 4 の倍数以外に設定すると、生成されるコードの効率が悪くなる可能性があります。


ALPHASTART

ALPHABET 句をコンパイルする際に、コンパイラに、文字の照合順序内の何番目からカウントさせるかを設定します。

構文
 >>-.---.--ALPHASTART--"integer"------------><  
    .-/-+
パラメータ
integer 何番目からカウントするかを指定します。
プロパティ
デフォルト値 ALPHASTART"1"
フェーズ 構文チェック
$SET 最初の行
コメント

ANSI 準拠の場合は ALPHASTART"1" を使用します。

ALPHASTART"1" を指定した場合の例を示します。

alphabet myalpha is 66, 67

この COBOL 文は、A および B で構成されるアルファベットを宣言します。これは、ASCII 文字の照合順序内を 1 からカウントした場合は、66 番目、および 67 番目の文字が A、および B になるためです。ALPHASTART"0" を指定すると、MYALPHA は B および C で構成されます。


ALTER

プログラムの中の ALTER 文 を有効にします。

構文
>>-.---.-.----.--ALTER---------------------><
   +-/-+ +-NO-+
パラメータ

なし

プロパティ
デフォルト値 ALTER
フェーズ 両方
$SET 最初の行
コメント

プログラムの中に ALTER 文がないことがわかっている場合、NOALTER を指定すれば、コンパイラが多少効率的なコードを生成できます。

参照

7.1.2.4 速度とサイズ


ANIM

この指令を指定すると、Animator を使用してプログラムをデバッグする際に必要となる追加情報が、コンパイラで生成されます。

構文
 >>-.---.-.----.--ANIM----------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOANIM
フェーズ 両方
$SET 最初の行
依存関係

WB を指定するとすぐに ANIM に設定されます。
BROWSE を指定すると、最後に ANIM に設定されます。
NOINT または RNIM を指定すると、最後に NOANIM に設定されます。

コメント

構文チェックフェーズでは、中間コードファイルが作成されます。

中間コードは、拡張子 .int のファイルに保存されます。このファイルはアニメートできます。また、拡張子 .idy のファイルも作成されます。このファイルには、プログラムをアニメ―トするのに必要な追加情報が記述されています。

.idy ファイルの保存場所は COBIDY 指令で制御します。

参照

COBIDY コンパイラ指令
OPT コンパイラ指令


ANS85

ANSI'85 COBOL 標準規格で予約されている語を予約語として扱い、特定の機能の動作を変更して、ANSI'85 COBOL 標準規格の機能と互換性を持たせます。

構文
 >>-.---.-.-------ANS85--"SYNTAX"--.--------><  
    .-/-+ ..----.-ANS85------------+ 
           .-NO-+
パラメータ
SYNTAX 指令が構文のみに作用し、動作には影響を与えないようにします。
プロパティ
デフォルト値 ANS85
フェーズ 構文チェック
$SET 最初の行
依存関係

VSC2 または SAA で、最後に ANS85 に設定されます。

コメント

この指令を指定すると、次のように動作が変更されます。


APOST

コンパイラに、表意定数 QUOTE を、単一引用符 (') と解釈させます。

構文
 >>-------APOST-----------------------------><
パラメータ

なし

プロパティ
デフォルト値 QUOTE
フェーズ 構文チェック
$SET 任意の行
コメント

この指令と反対の意味を持つのは QUOTE 指令です。QUOTE を指定すると、二重引用符文字 (") が使用されます。

参照

QUOTE コンパイラ指令


AREACHECK

前のトークンに関係なく、手続き部の A 領域で始まる字句が、コンパイラで、段落、または節ラベルとして扱われます。

構文
 >>-.---.-.----.--AREACHECK-----------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOAREACHECK
フェーズ 構文チェック
$SET 任意の行
コメント

AREACHECK を指定すると、ピリオドの後の字句のみが有効なラベルとして扱われます。この指令を使用すると、ラベルの前のピリオドを省略した場合に発生するメッセージの重大度が低くなります。この点で、メインフレームのエラー処理と高い互換性を保てます。このようなソースコードの誤りは修正することをお奨めします。


ARITHMETIC

算術式の値の求め方を指定します。

構文
 >>-.---.--ARITHMETIC--"arith-type"---------><  
    .-/-+
パラメータ
arith-type 適用する動作を指定します。
プロパティ
デフォルト値 ARITHMETIC"MF"
フェーズ 構文チェック
$SET 不可
コメント

arith-type には次の値を指定できます。

ENTCOBOL Enterprise COBOL for z/OS and OS/390 の規則に従って値を切り捨てる。
MF 計算途中の値は切り捨てない。
OS390 COBOL for OS/390 の規則に従って値を切り捨てる。
OSVS OS/VS COBOL の規則に従って値を切り捨てる。
VSC2 VS COBOL II および COBOL/370 の規則に従って値を切り捨てる。
TRUNC20 算術式の評価の各ステップにおいて、 小数点以下20桁で値を切り捨てる。 これは旧版の Micro Focus COBOL製品と同じ結果を保証するための指定です。 TRUNC20 を指定する場合、INTLEVEL指令の設定をデフォルトの 2 以外にすることはできません。 したがって、18桁以上の数字項目のような新機能を使用することはできません。

ARITHMETIC"MF" を指定した場合は値が切り捨てられないため、式の計算は最も正確になります。


ASSIGN

SELECT 文に EXTERNAL または DYNAMIC のどちらも指定されていない場合のファイル名の割り当て方法を指定します。

構文
 >>-.---.--ASSIGN--"assign-type"------------><  
    .-/-+
パラメータ
assign-type EXTERNAL または DYNAMIC を指定します。ここで割り当て方法を定義します。
プロパティ
デフォルト値 ASSIGN"DYNAMIC"
フェーズ 構文チェック
$SET 任意の行
コメント

詳細は、『ファイル操作』マニュアルを参照してください。

索引ファイル、またはすべてのファイルに対して、CALLFH 指令を使用してプログラムをコンパイルした場合は、すべての構文定義、または ASSIGN 指令の設定が、ファイル名マッピングで上書きされます。


ASSIGN-PRINTER

ASSIGN TO PRINTER 句でファイル名が指定されていない場合に、出力の割り当て方法を指定します。

構文
 >>-.---.-.-----ASSIGN-PRINTER.-"filename"-.-.--><  
    .-/-+ |                   .-()---------+ | 
          .-NO--ASSIGN-PRINTER---------------+
パラメータ
filename ASSIGN TO PRINTER 句に関連付けるファイルを指定します。
プロパティ
デフォルト値 NOASSIGN-PRINTER
フェーズ 構文チェック
$SET 任意の行
コメント

ASSIGN TO PRINTER 句内でファイル名が指定されている場合は、この指令は無効になります。

ASSIGN-PRINTER"filename" を指定すると、指定したファイル名に出力されます。filename にはパス名、基本名、および拡張子も含めた完全な名前を指定できます。

ASSIGN-PRINTER() を使用すると、次の COBOL 文を記述した場合と同じ動作になります。

select ファイル名-1 assign to printer ファイル名-1

つまり、作成した COBOL プログラムで使用されるファイル名が、出力用のファイル名としても使用されます。内部のファイル名が長すぎて、使用するオペレーティングシステムで処理できない場合は、ファイル名が、そのオペレーティングシステムで許可されている最大長まで切り捨てられます。

ASSIGN-PRINTER() を指定した場合は、デフォルトでは filename に拡張子は付きませんが、PRINT-EXT 指令を使用して、拡張子を指定することができます。

参照

PRINT-EXT コンパイラ指令


AUTOLOCK

マルチユーザ環境で、I-O または EXTEND のために開かれたファイルに対して、デフォルトのロックを EXCLUSIVE ではなく、AUTOMATIC に設定します。

構文
 >>-.---.-.----.--AUTOLOCK------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOAUTOLOCK
フェーズ 構文チェック
$SET 最初の行
コメント

この指令は、状態が WRITELOCK と同じ場合は、SETTING のリストに表示されません。この場合、2 つの指令の状態は、FILESHARE 指令の状態から判断できます。

この指令は、古いファイル共有製品と互換性を持たせるために提供されています。新しいプログラムを記述する際はに、この指令ではなく、ロック構文を使用してください。


BELL

エラー発生、または、コンパイルの終了のどちらかで、コンパイルが停止した場合などにベルを鳴らします。

構文
 >>-.---.-.----.--BELL----------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOBELL
フェーズ 構文チェック
$SET 最初の行

BOUND

添字、または索引値が、OCCURS 句で定義された制限内に納まるようにチェックします。

構文
 >>-.---.-.----.--BOUND---------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 BOUND
フェーズ 両方
$SET 最初の行
依存関係

BOUND を指定すると、最後に NOBOUNDOPT が設定されます。
CHECK で BOUND に設定されます。

コメント

多元的なテーブルの場合は、合成添字のみがチェックされます。個々の添字、または索引のうち、制限値を超えているものがあっても、テーブル内にその参照が残っている場合は、エラーになりません。


BOUNDOPT

USAGE DISPLAY 添字用に生成されたコードを最適化します。

構文
 >>-.---.-.----.--BOUNDOPT------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 BOUNDOPT
フェーズ 生成
$SET 任意の行
依存関係

BOUND を指定すると、最後に NOBOUNDOPT に設定されます。

コメント

BOUNDOPT が使用されると、テーブルサイズ以上の USAGE DISPLAY 添字の桁は無視されます。

この指令は、NOBOUND が指定された場合のみ使用できます。プログラムでテーブルの末尾以降が参照される場合は、NOBOUNDOPT を指定する必要があります。

エントリが 50 あるテーブルの場合に、添字 PIC 9(3) は、PIC 9(2) として処理され、もっとも重要な桁が無視されます。


BRIEF

エラー番号のみがコンパイラで出力されるようにし、メッセージテキストが生成されないようにします。

構文
 >>-.---.-.----.--BRIEF---------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOBRIEF
フェーズ 構文チェック
$SET 任意の行

BS2000

COBOL 方言 Siemens BS2000 で予約されている語をこの COBOL システムの予約語とし、特定の機能の動作を変更して、この COBOL 方言との互換性が保たれるようにします。

構文
 >>-.---.-.----.--BS2000-------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOBS2000
フェーズ 構文チェック
$SET 最初の行
参照

DIALECT コンパイラ指令


BWZSTAR

ピクチャ記号、* を使ってフィールドが定義されている場合に、これらのフィールドに対するデータ部での BLANK WHEN ZERO 句の扱いを決定します。

構文
 >>-.---.-.----.--BWZSTAR-------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOBWZSTAR
フェーズ 構文チェック
$SET 任意の行
コメント

BWZSTAR を指定すると、ピクチャ記号、* を使用して定義されたフィールドに対して BLANK WHEN ZERO 句が使用できます。BLANK WHEN ZERO は、そのフィールドが編集操作の対象で、結果が 0 の場合に有効です。NOBWZSTAR が指定されると、PIC * フィールドに関連する BLANK WHEN ZERO 句は無効になります。


BYTE-MODE-MOVE

データ項目の重複に関する動作を制御します。

構文
 >>-.---.-.----.--BYTE-MODE-MOVE------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOBYTE-MODE-MOVE
フェーズ 構文チェック
$SET 最初の行
コメント

ハイフンを使わずに BYTEMODEMOVE と指定しても、コンパイラでは認識されます。

この指令は、前方重複移動、つまり、ターゲットデータ項目の開始位置が、ソースデータ項目の終了位置と重なる場合の処理に関して、IBM メインフレームコンパイラと互換性を持たせるために提供されています。

BYTE-MODE-MOVE が指定された場合は、データがソースからターゲットに、一度に 1 バイトずつ移動されます。

NOBYTE-MODE-MOVE が指定された場合は、データがソースからターゲットに、一度に 2 バイト、4 バイト、またはそれ以上のバイト数の (環境に依存) グラニュール単位で移動されます。そのため、重複部分がグラニュールのサイズよりも小さい場合は、グラニュールを移動するたびに、次に移動されるグラニュールの一部が上書きされます。


CALL-RECOVERY

呼び出しの後で、制御が戻されるたびにプログラムが現在の呼び出し回復状況をチェックするようにします。制御の出口が有効な場合は、プログラムは GOBACK を実行します。つまり、次の文に進まずに、COBOLの呼び出しチェインに制御を戻します。

構文
>>-.---.--------CALL-RECOVERY-------><
   +-/-+ 
コメント

この指令は、次の環境で実行できるようにプログラムをコンパイルする場合に必要です。

参照

7.1.2 実行時の動作


CALLADIS

形式 1 の ACCEPT、DISPLAY、および EXHIBIT 文すべてを、指定したハンドラを使用してルーティングします。

構文
 >>-.---.-.-------CALLADIS--"handler-name"-.--><  
    .-/-+ ..----.-CALLADIS-----------------+ 
           .-NO-+
パラメータ
handler-name ハンドラとして呼び出して実行する、プログラムのルート名を指定します。
プロパティ
デフォルト値 NOCALLADIS
フェーズ 構文チェック
$SET 最初の行
コメント

handler-name が指定されていない場合は、EXTADIS が指定されたものとして動作します。


CALLFH

すべてのファイルの I/O 操作で、コンパイラが呼び出し可能なファイルハンドラインターフェイスを使用して直接呼び出しを実行するようにします。

構文
 >>-.---.--------CALLFH--"handler-name"-.--><  
    .-/-+ 
パラメータ
handler-name ファイルハンドラとして呼び出して実行する、プログラムのルート名を指定します。
プロパティ
デフォルト値 CALLFH"EXTFH"
フェーズ 構文チェック
$SET 最初の行
コメント

handler-name には次のいずれかを指定できます。

EXTFH この COBOL システムで提供されているファイルハンドラ
FHREDIR Fileshare Version 2 で使用する場合
ユーザ独自のファイルハンドラ

CALLFH が指定された場合は、すべてのファイル I/O 文が、指令で指定されたファイルハンドラの呼び出しに変換されます。

handler-name が指定されない場合は、Extfh モジュールが指定されたものとして動作します。

この指令は、変換モジュールを通したすべてのファイル処理呼び出しで、非 COBOL のファイルハンドラが使用されるよう指示する場合にも使用します。

標準のファイルハンドラのかわりに、ユーザ独自のファイルハンドラを呼び出すプログラムでもこの指令を使用します。


CALLMCS

この指令は、この COBOL システムの内部で使用するために予約されています。設定のリストに表示される可能性があるため、ここで説明しています。ユーザが使用する指令ではないので、この設定を変更しないでください。

メッセージ制御システムの操作すべてを、指定されたハンドラ経由でルーティングされるようにします。

構文
 >>-.---.-.-------CALLMCS--"mcs-name"-.-----><  
    .-/-+ ..----.-CALLMCS-------------+ 
           .-NO-+
パラメータ
mcs-name メッセージ制御システム (mcs) の操作を処理するために呼び出すプログラムのルート名です。
プロパティ
デフォルト値 NOCALLMCS
フェーズ 構文チェック
$SET 最初の行
コメント

mcs-name が指定されない場合は、EXTMCS が指定されたものとして動作します。


CALLSORT

すべての SORT 操作、および MERGE 操作の処理に呼び出すプログラムを定義します。

構文
>>-.---.-------CALLSORT--"sort-name"-.---><  
   .-/-+
パラメータ
sort-name 分類と併合を処理するために呼び出すプログラムのルート名を指定します。
プロパティ
デフォルト値 CALLSORT"EXTSM"
フェーズ 構文チェック
$SET 最初の行

CANCELLBR

コピー操作の終了時に、COPY 文でライブラリとして使用された .lbr ファイルを閉じるよう、コンパイラに指定します。

構文
 >>-.---.-.----.--CANCELLBR-----------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 CANCELLBR
フェーズ 構文チェック
$SET 任意の行
コメント

NOCANCELLBR を指定すると、このような .lbr ファイルは、コンパイルが終了するまで開かれたままになります。次のライブラリを指定しない COPY 文が実行されると、カレントディレクトリよりも先に、開かれているすべての .lbr ライブラリで (最後に開かれたファイルが最初に検索されます)、コピーファイルの検索が行われます 。

この指令は、COPYLBR を指定した場合と同じ働きをします。

[NO]CANCELLBR は、すべての $SET 文で使用できます。.lbr ライブラリは、$SET 文が有効になった後の COPY 文でのみ参照されます。前の COPY 文から開かれたままになっている .lbr ファイルは、次に CANCELLBR 指令が指定された後の COPY 文で、もう一度指定された場合のみ閉じられます。


CASE

外部シンボル (プログラム ID やプログラムの名前など) が大文字に変換されないようにします。

構文
 >>-.---.-.----.--CASE----------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOCASE
フェーズ 生成
環境 すべて
$SET 任意の行
コメント

名前の大文字、小文字を区別する必要がある、C で書かれたプログラムを呼び出す場合に役立ちます。


CHANGE-MESSAGE

エラーメッセージの重大度を変更します。 メッセージを非表示にしたり、元の重大度に戻すこともできます。

構文
                               +-------------. 
                               v             | 
 >>-.---.-.-----CHANGE-MESSAGE--"error svrty"-.->< 
    .-/-+ .-NO--CHANGE-MESSAGE----------------+
パラメータ
error 変更するメッセージの番号を指定します。すべてのメッセージを指定する場合は ALL と指定します。
svrty 変更後の重大度を指定します。
S 重大
E エラー
W 警告
I 備考
N このメッセージを出力しない。
R 通常の重大度に戻す。
プロパティ
デフォルト値 NOCHANGE-MESSAGE
フェーズ 構文チェック
$SET 任意の行
依存関係

CHANGE-MESSAGE を使用すると、FLAGAS のような指令の一般的な設定が上書きされます。

コメント

CHANGE-MESSAGE には、必要な数のパラメータの組を指定することができます。 CHANGE-MESSAGE を複数回指定すると、結果は累積されます。

CHANGE-MESSAGE は HIDE-MESSAGE コンパイラ指令の機能を引き継ぎます。 ただし、CHANGE-MESSAGE とともに HIDE-MESSAGE を使用した場合も、結果は累積されます。

元々「重大」であるエラーの重大度を下げることはできません。CHANGE-MESSAGE 指令、または FLAGAS 指令や FLAGCD 指令などを使用して、重大度を (「エラー」以下の重大度から) 「重大」に変更したエラーのみ、「重大」なエラーの重大度を下げることができます。

CHANGE-MESSAGE"ALL R" 
CHANGE-MESSAGE"10 S 135 E 100 N"
参照

FLAGAS コンパイラ指令
FLAGCD コンパイラ指令
HIDE-MESSAGE コンパイラ指令


CHARSET

環境の文字集合を定義します。

構文
 >>-.---.--CHARSET--"char-set"--------------><  
    .-/-+
パラメータ
char-set ASCII または EBCDIC を指定します。
プロパティ
デフォルト値 CHARSET"ASCII"
フェーズ 構文チェック
$SET 最初の行
依存関係

CHARSET"ASCII" を指定するとすぐに DEFAULTBYTE"32"、SIGN"ASCII" および NATIVE"ASCII" が設定されます。
CHARSET"EBCDIC" を指定するとすぐに DEFAULTBYTE"0" が設定され、最後に SIGN"EBCDIC" および NATIVE"EBCDIC" が設定されます。

コメント

すべてのリテラル定数、および文字の照合順序が指定された文字集合で処理されます。

現在の制限に関しては、『プログラマーズガイド − アプリケーション作成』を参照してください。

CHARSET"EBCDIC" を設定した場合は、COBOL システムライブラリルーチンのうち、パラメータで英数字のデータを受け取る、または返すルーチンが動作しません。英数字のデータは ASCII である必要があります。


CHECK

生成コードのすべての実行時チェックを有効にします。

構文
>>--.----.---CHECK------------------><
    .-NO-+
パラメータ

なし

プロパティ
デフォルト値 なし
フェーズ 生成
$SET 最初の行
依存関係

CHECK を指定するとすぐに BOUND、LINKCHECK、および PARAMCOUNTCHECK が設定されます。
NOCHECK を指定するとすぐに NOBOUND、NOLINKCHECK、および NOPARAMCOUNTCHECK が設定されます。

コメント

CHECK を指定すると、生成コードのすべての実行時チェックが実行されます。実行時チェックでは、次のことが確認されます。

NOCHECK を指定すると、生成コードの実行時チェックは行われません。


CHECKDIV

ON SIZE ERROR 句が使用されていない文で、プログラムが 0 で割る処理を実行しようとした場合のプログラムの動作を制御します。

構文
 >>-.---.-.-------CHECKDIV--"dialect"-.-----><  
    .-/-+ ..----.-CHECKDIV------------+ 
           .-NO-+
パラメータ
dialect ANSI、OSVS、VSC2、または COBOL370 のいずれかを指定します。
プロパティ
デフォルト値 CHECKDIV"ANSI"
フェーズ 構文チェック
$SET 最初の行
コメント

CHECKDIV、または CHECKDIV"ANSI" を指定すると、プログラムで 0 で割る処理が実行された場合、プログラムは続行されますが、予期しない結果になります。NOCHECKDIV を設定した場合の動作は予期できません。NOCHECKDIV を設定すると、割り算用のオプションのコードの結果になります。

CHECKDIV"OSVS"、CHECKDIV"VSC2"、または CHECKDIV"COBOL370" を指定した場合は、すべて同じ結果になります。つまり、0 で割ろうとすると、実行時エラー 048 (ゼロで割ろうとしている) が発生します。-O ランタイムシステムスイッチを使用して、このエラーを発生させないことができます。

この指令は、ON SIZE ERROR 句が使用されている算術文には影響しません。

参照

O ランタイムスイッチ


CHECKNUM

数字フィールドへの操作を実行する前に、有効なデータが入っていることを確認します。

構文
 >>-.---.-.----.--CHECKNUM------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOCHECKNUM
フェーズ 生成
$SET 最初の行
コメント

この指令を指定すると、数字フィールドへの操作を実行する前に、有効なデータが入っていることを確認するための特別なコードが生成されます。CHECKNUM を設定した場合、数字以外のデータが入った数字フィールドがあると、実行時エラーメッセージ 163 ("数字項目に違法な文字がある") が表示されます。-F ランタイムシステムスイッチを使用すると、このエラーを非表示にすることができます。

CHECKNUM を指定すると、特別なコードが生成されるため、プログラムの効率が下がります。コードを早く、小さくする場合は、CHECKNUM を指定しないでください。

参照

F ランタイムスイッチ


CICS

BLL セルを更新して、CICS を使用可能にします。

構文
 >>-.---.-.----.--CICS----------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOCICS
フェーズ 構文チェック
$SET 不可
コメント

この指令は、Micro Focus が提供する CICS 製品のアドオンで使用するために予約されています。 適切なアドオン製品を用意していない場合は、この設定を変更しないでください。 これは、CICS OS/2 で使用するものではありません。

CICS を設定した場合に CICS-CPY が設定されていると、コンパイラで、次の行が連絡節の最初に挿入されます。

     COPY "CICS.CPY"

プログラムに連絡節がない場合は、次の行が挿入されます。

 LINKAGE SECTION. 
 COPY "CICS.CPY". 
 01 DFHCOMMAREA  PIC X(n).

パラメータの内容は次の通りです。

CICS.CPY CICS のバージョン 1、リリース 6 (またはそれ以前) と互換性のある CICS EXEC INTERFACE BLOCK、および DLI INTERFACE BLOCK の定義が入ります。
n 次のいずれかの値になります。
1 DFHCOMMAREA がない場合
>1 DFHCOMMAREA がある場合

DFHCOMMAREA レコードの後の連絡節の項目には、BLL セルが含まれ、各セルは、名前付きで、PIC S9(8) COMP の詳細とともに格納されているものとして扱われます。BLL セルは CICS 規則に従って、対応する連絡節のレコードと結び付けられます。

コンパイラで DFHCOMMAREA レコードが挿入されると、アニメート中や、リストの印刷時に、レコードは表示されません。 ただし、アニメート中にレコードを照会することはできます。BLL セルを使用したプログラムをアニメートする場合は、この指令を設定してください。


CICS-CPY

CICS 指令が指定されている場合に、COPY "CICS.CPY" 文を挿入します。

構文
 >>-.---.-.----.--CICS-CPY------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 CICS-CPY
フェーズ 構文チェック
$SET 不可
コメント

この指令は、Micro Focus が提供する CICS 製品のアドオンで使用するために予約されています。 適切なアドオン製品を用意していない場合は、この設定を変更しないでください。 これは、CICS OS/2 で使用するものではありません。

参照

CICS コンパイラ指令


CICSOPTIMIZE

CICS BLL セルの処理を最適化します。

構文
 >>-.---.-.----.-.-CICSOPT------.-----------><  
    .-/-+ .-NO-+ .-CICSOPTIMISE-+
                 .-CICSOPTIMIZE-+
パラメータ

なし

プロパティ
デフォルト値 NOCICSOPTIMIZE
フェーズ 構文チェック
$SET 不可
コメント

この指令は、当社が提供する CICS 製品のアドオンで使用するために予約されています。適切なアドオン製品を用意していない場合は、この設定を変更しないでください。これは、CICS OS/2 で使用するものではありません。

NOCICSOPTIMIZE が指定されると、コンパイラは、BLL セルが更新されるたびに、BLL セルの現在の値に対応する連絡節項目のアドレス可能度を確認する指示を挿入します。 CICSOPTIMIZE を指定すると、コンパイラによるこれらの指示は挿入されません。アドレス可能度が更新されたことを確認するには、SERVICE RELOAD 指示を指定する必要があります。


CMPR2

この指令を指定すると、メインフレームの同じ名前のコンパイラオプションと互換性を持たせることができます。この指令を指定すると、COBOL 370、VS COBOL II version 3 および VS COBOL II version 4 コンパイラの動作が、VS COBOL II version 2 コンパイラの動作に返されます。

構文
 >>-.---.-.----.--CMPR2---------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOCMPR2
フェーズ 構文チェック
$SET 最初の行
依存関係

VSC2"3"、VSC2"4" または COBOL370 にフラグが立てられるよう選択する必要があります。

コメント

必要なフラグ設定レベルのいずれかが選択されていない場合は、矛盾指令メッセージが出力されます (FLAGCD を指定した場合のみ)。

この指令を設定した場合の動作は、VSC2"2" を設定した場合の動作とは異なります。 この指令を指定すると、メインフレームの動作を綿密にエミュレートできますが、実行時に異なる動作を引き起こす原因にもなります。メインフレーム上で指定されたコンパイラを使用して、CMPR2 指令を設定する場合は、VSC2"2" ではなく、この指令を使用してください。

LAGMIG 指令を指定すると、異なる実行時の動作を引き起こす項目にフラグが付けられます。

参照

FLAGMIG コンパイラ指令


COBFSTATCONV

ファイル上で I/O エラーが発生した場合に、ファイルの状態を示すコードを変換するため、呼び出し可能なファイルハンドラ ExtFH で、COBFSTATCONV 環境変数に指定したユーザ作成モジュールが使われるようにします。

構文
 >>-.---.-.----.--COBFSTATCONV--------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOCOBFSTATCONV
フェーズ 構文チェック
$SET 最初の行

COBIDY

Animator の情報ファイル (.idy ファイル) および COBOL Source Information ファイル (.csi) の書き込み先パスを指定します。

構文
 >>-.---.-.-------COBIDY--"pathname"-.-----><  
    .-/-+ ..----.-COBIDY--------------+ 
           .-NO-+
パラメータ
pathname パスを指定します。
プロパティ
デフォルト値 NOCOBIDY
フェーズ 構文チェック
$SET 不可
コメント

pathname を指定しないと、COBIDY 環境変数内のパス名が使用されます。環境変数に複数のパス名が設定されている場合は、最初に示されているパスが使用されます。NOCOBIDY を指定すると、.idy ファイルは、オブジェクトプログラムと同じパスに書き込まれます。


COBOL370

IBM COBOL/370 で予約されている語を予約語として扱い、部分的な機能が指定したレベルの IBM COBOL/370 製品と互換性を持つようにします。

構文
 >>-.---.-.-------COBOL370--"integer"-.-----><  
    .-/-+ ..----.-COBOL370------------+ 
           .-NO-+
パラメータ
integer 1 または 2 を設定して、互換性を持たせる IBM COBOL/370 のレベルを指定します。
プロパティ
デフォルト値 NOCOBOL370
フェーズ 構文チェック
$SET 最初の行
依存関係

COBOL370 を指定すると、DBSPACE および DBCS"3" がすぐに設定されます。

コメント

integer には、次の値を設定します。

1 IBM COBOL/370 の バージョン 1 リリース 1 と互換性を持たせる。
2 IBM COBOL for MVS および VM の バージョン 1 リリース 2 と互換性を持たせる。

パラメータを指定しないで COBOL370 を指定した場合は、COBOL370"2" を指定した場合と同じ動作になります。


COBOLDIR

cobol.dir ファイル内の指令がコンパイラで処理されるようにします。

構文
 >>-.---.-.----.--COBOLDIR------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 COBOLDIR
フェーズ 構文チェック
$SET 不可

COMP

COMP 項目を COMP-X として扱うことで、COMP データ項目を含む文に対し、コンパイラで、簡潔で効率の良いコードが生成されるようにします。

構文
 >>-.---.-.----.--COMP----------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOCOMP
フェーズ 構文チェック
$SET 最初の行
コメント

コンパイラで生成されたこの COMP コードは、数字のオーバーフローの処理で、ANSI 標準規格とは異なる動作になります。 この指令は、コンパイルするプログラムで、数字のオーバーフローが起こらないことが解っている場合、または、オーバーフローの処理に(非標準であるが)定義された動作が使用される場合にのみ設定してください。


COMP-5

符号なしの COMP-5 データ項目に値が格納された場合の符号の扱いを指定します。

構文
 >>-.---.--COMP-5--"integer"----------------><  
    .-/-+
パラメータ
integer 1 または 2 を指定します。
プロパティ
デフォルト値 COMP-5"2"
フェーズ 構文チェック
$SET 最初の行
コメント

integer には次の値を指定できます。

1 このコンパイラの古いバージョンと同じ動作になります。符号は削除されます。
2 符号は削除されません。負の数は、2 の補数の形で格納されるため、バイト機構 がマシンに依存する場合を除いて、符号なしの COMP-5 項目は、COMP-X のような動作になります。そのため、符号なしの COMP-5 項目の演算効率が良くなります。

COMP-6

COMP-6 データを 2 進数で保持するか、10 進形式にパックするかを指定します。

構文
 >>-.---.--COMP-6--"integer"----------------><  
    .-/-+
パラメータ
integer 1 または 2 を指定します。
プロパティ
デフォルト値 COMP-6"2"
フェーズ 構文チェック
$SET 最初の行
依存関係

RM または MF を設定する必要があります。
RM および RM"ANSI" を指定すると、COMP-6"1" が設定されます。
NORM で COMP-6"2" が設定されます。

コメント

integer には次の値を指定できます。

1 『言語リファレンス - 追加トピック』の付録 『Ryan McFarland COBOL V2.0 構文支援機能』で説明しているように、COMP-6 のデータには 2 進形式が使用されます。
2 10 進にパックされた形式が使用されます。符号付きの項目の場合は、COMP-3 と同じ形式になります。符号なしの項目の場合は、符号フィールドが存在しません。

COMP-6 指令を指定した場合でも、RM または MF"10" で指定された方言に、予約語 COMP-6 が存在しない場合は認識されません。

COMP-6"2" を指定した場合

PIC 99 COMP-6 VALUE 87 は、x"87" として 1 バイトで格納されます。
PIC S99 COMP-6 VALUE 87 は、x"087C" として 2 バイトで格納されます。


COMS85

ANSI'85 COBOL 標準規格の 通信モジュールで紹介されている構文を、プログラムで使用することができます。

構文
 >>-.---.-.----.--COMS85--------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOCOMS85
フェーズ 構文チェック
$SET 最初の行

CONFIRM

コンパイラに、この後に続くすべての指令を画面に表示させます。

構文
 >>-.---.-.----.--CONFIRM--------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOCONFIRM
フェーズ 両方
$SET 不可
依存関係

VERBOSE を指定するとただちに、CONFIRM に設定されます。


CONSTANT

プログラムで使用する定数を宣言します。

構文
 >>-.---.-CONSTANT-const-name-.-(numeric-lit)--.-><  
    .-/-+                     .-"alphanum-lit"-+
パラメータ
const-name データ名。定数名を指定します。
numeric-lit 数字のリテラル定数。定数の値を設定します。0 または、正の整数を指定します。
alphanum-lit 英数字のリテラル定数。定数の値を指定します。
プロパティ
デフォルト値 設定されません。
フェーズ 構文チェック
$SET 任意の行
コメント

この指令を使用すると、定数 const-name はプログラム内でレベル 78 に定義されているものとして扱われます。定数の値はかっこ、または引用符で囲んで指定します。かっこが使用された場合は、定数は数字カテゴリの値です。引用符が使用された場合は、英数字カテゴリの値です。

この機能を使って複数の表意定数を宣言する場合は、CONSTANT 指令を繰り返し指定します。


CONVERTRET

CALL ... RETURNING 句および EXIT PROGRAM ... RETURNING 句で指定された COMP および COMP-X 項目を COMP-5 に変換します。

構文
 >>-.---.-.----.--CONVERTRET----------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOCONVERTRET
フェーズ 構文チェック
$SET 最初の行

CONVSPACE

COBOL ソースファイル内の 2 バイトの空白文字を、入力時に 1 バイトの空白文字に変換します。

構文
 >>-.---.-.----.--CONVSPACE-----------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 CONVSPACE
フェーズ 構文チェック
$SET 最初の行
コメント

CONVSPACE は、DBSPACE コンパイラ指令が無効になっている場合にのみ有効です。


COPYEXT

COPY 文で指定されたファイル名に拡張子が省略されている場合に、コンパイラが検索するコピーファイルのファイル名拡張子を指定します。

構文
                              +-------------. 
                              v             | 
 >>-.---.--COPYEXT-"extension-.-------------.-"--><  
    .-/-+                     .-,-extension-+
パラメータ
extension ファイル名拡張子
プロパティ
デフォルト値 COPYEXT",cbl,cpy"
フェーズ 構文チェック
$SET 最初の行
コメント

拡張子は 8 つまで指定できます。各拡張子の長さは 10 文字までです。拡張子にヌルを指定した場合、拡張子が空白であることを示します。次に例を示します。

COPYEXT"src,,txt"

のように指定すると、拡張子 .src のファイルが最初に検索されます。次に、拡張子なしのファイルが検索され、最後に、拡張子 .txt のファイルが検索されます。

COPY 文で指定されたファイル名に拡張子がない、または、ピリオドが付いている場合、可能性のある拡張子のリストが順番に検索されます。検索は、該当するファイルが検出されるか、リストの終わりまで検索が終了するまで (エラーが報告される) 継続されます。

拡張子が指定されていない COPY 文が多数ある場合に COPYEXT を使用すると、プログラムのコンパイル速度が向上します。たとえば、すべてのコピーファイルのファイ名拡張子が .cpy の場合、COPYEXT"CPY.CBL" を指定すると、不要なファイルがアクセスされずに済みます。


COPYLBR

COPY 文で指定されたファイブラリが、コンパイラで .lbr ファイルとして扱われるよう指定します。

構文
 >>-.---.-.----.--COPYLBR-------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOCOPYLBR
フェーズ 構文チェック
$SET 不可
コメント

NOCOPYLBR を指定すると、ライブラリは、コンパイラでパス名として処理されます。


COPYLIST

COPY 文で指定されたファイルの内容が、コンパイラで一覧表示されるよう指定します。

構文
 >>-.---.-.----.--COPYLIST-.-----------.----><  
    .-/-+ .-NO-+           .-"integer"-+
パラメータ
integer 0、または 50 から 99 までの値を指定します。
プロパティ
デフォルト値 COPYLIST
フェーズ 構文チェック
$SET 任意の行
コメント

integer は COBOL の区分番号を示します。0 または、50 から 99 の範囲で指定する必要があります。値を指定しない場合は、すべてのコピーファイルの内容が一覧表示されます。値を指定すると、最初の 3 つの部 (つまり、見出し部、環境部、データ部) のすべてのコピーファイルの内容、ルート区分、および、指定された区分が一覧表示されます。integer に 0 を指定すると、最初の 3 つの部、およびすべてのルート区分が示されます。

NOCOPYLIST を指定すると、コピーファイルの内容は一覧表示されません。NOCOPYLIST で区分番号を指定すると、指定された区分のコピーファイルのみが一覧表示されます。次に例を示します。

COPYLIST"53" 最初の 3 つの部のすべてのコピーファイル、ルート区分、および 区分 53 が一覧表示されます。
NOCOPYLIST"53" 区分 53 にあるコピーファイルのみが一覧表示されます。

この指令の状態に関係なく、ページヘッダーが出力される場合は、開かれたコピーファイルの名前がヘッダーに表示されます。


COPYLISTCOMMENT

COPYLIST 指令が指定された場合に .lst ファイル内の COPY 文で使用する注記行のタイプを指定します。

構文
◆---+-------+-+--------+--- COPYLISTCOMMENT ---+--------------+---◇
                                                +--- "integer" ---+
パラメータ
integer 注記行のタイプを指定します。使用できる値は、次のとおりです。
11 桁目にアスタリスクがある MFCOMMENT の注記行
77 桁目にアスタリスクがある標準の注記行
プロパティ
デフォルト値 COPYLISTCOMMENT(1)
フェーズ 構文チェック
$SET 任意
コメント

この指令は COPYLIST 指令とともに指定しない限り、効果がありません。

この指令は、.lst ファイルの再コンパイル時に MFCOMMENT 指令が必要かどうかを制御します。


CURRENCY-SIGN

PICTURE 句で通貨記号が認識されるようにします。

構文
 >>-.---.--CURRENCY-SIGN--"integer"---------><  
    .-/-+
パラメータ
integer 指定する文字の ASCII コードを 10 進数で指定します。
プロパティ
デフォルト値 CURRENCY-SIGN"92" ("\" を示します)
フェーズ 構文チェック
$SET 最初の行
コメント

有効な PICTURE 句の記号を指定することはできません。指定できない記号の一覧は、『言語リファレンス』 を参照してください。


CURRENT-DATE

CURRENT-DATE 特殊レジスタに格納するデータ形式を指定します。

構文
 >>-.---.--CURRENT-DATE--"date-format"------><  
    .-/-+
パラメータ
date-format DDMMYYYY または MMDDYYYY を指定します。
プロパティ
デフォルト値 CURRENT-DATE"MMDDYYYY"
フェーズ 構文チェック
$SET 任意の行
コメント

DDMMYYYY を指定すると、CURRENT-DATE はヨーロッパ形式で格納されます。パラメータは、大文字で指定することも、小文字で指定することもできます。


DATA-CONTEXT

CICS のリンクレベルの間でプログラムのデータ部の整合性を保ちます。

構文
>>-.---.--------DATA-CONTEXT-------><
   +-/-+ 
コメント

この指令は、次の環境でプログラムを実行できるようにコンパイルする場合に必要です。

参照

7.1.2 実行時の動作


DATACOMPRESS

順ファイル、および索引ファイルで実行するデータ圧縮のタイプを指定します。

構文
 >>-.---.-.-----DATACOMPRESS--"integer"-.---><  
    .-/-+ .-NO--DATACOMPRESS------------+
パラメータ
integer 次のいずれかを指定します。
0 NODATACOMPRESS を指定するのと同じです。
1 ランレングスエンコーディングを指定します。
3 2 バイト (DBCS) 文字に対してランレングスエンコーディングを指定します。
128 〜 255 ユーザ定義の圧縮ルーチンです。
プロパティ
デフォルト値 NODATACOMPRESS
フェーズ 構文チェック
$SET 任意の行
コメント

ファイルハンドラに指定できる値は 1 と 3 のみです。128 から 255 までの値は、ユーザ定義のファイルハンドラ用のユーザ定義の圧縮ルーチンを示します。

データ圧縮は、ファイルの作成時にのみ指定する必要があります。指定されると、ファイルが開かれた際にデータ圧縮が認識されます。

データ圧縮を個々のファイルに対して実行するには、ユーザのソース内で $SET 文を使用します。ソース内で、該当するファイルの SELECT 文を含む部分にのみ、この指令が有効になります。

データ圧縮は、呼び出し可能なファイルハンドラでのみサポートされます。索引ファイルはすべて、呼び出し可能なファイルハンドラで処理されます。順ファイルに対してデータ圧縮を行う場合は、これらのファイルを参照しているすべてのプログラムを、CALLFH"EXTFH" 指令を指定してコンパイルする必要があります。

参照

CALLFH コンパイラ指令


DATAMAP

コンパイラにデータ項目に関する情報を出力させます。

構文
 >>-.---.-.----.--DATAMAP-------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NODATAMAP
フェーズ 構文チェック
$SET 最初の行
依存関係

なし。

コメント

この指令は、コンパイラのチェックフェーズでデータ項目に関する情報を出力 させます。該当するデータ項目は、ユーザが指定したものと、コンパイラによ り自動的に生成されるもの(RETURN-CODE 特殊レジスタ用データ領域など)の 両方です。

この情報は、リストファイルの末尾に出力されます。データ項目の情報は、プ ログラム中でコンパイラが検出する順序で出力されます。最初の行は、データ 項目が含まれるプログラムのプログラム ID です。このため、入れ子のプログ ラム用、または 00 クラスプログラム(クラス、オブジェクトメソッド、など) のさまざまな領域用の有効なデータ項目を見ることができます。各データ項目 ごとに、以下の情報の一覧が表示されます。


DATE

Date-Compiled 段落、およびリストの各ページの先頭に指定します。

構文
 >>-.---.-.-------DATE--"string"-.----------><  
    .-/-+ ..----.-DATE-----------+ 
           .-NO-+
パラメータ
string 英数字のリテラル定数を指定します。
プロパティ
デフォルト値 DATE
フェーズ 構文チェック
$SET 不可
コメント

DATE を指定すると、オペレーティングシステムから取得できる日付、および時刻が自動的に挿入されますが、パラメータとして日付を入力することもできます。NODATE を指定すると、段落は変更されません。

DATE を指定すると、オペレーティングシステムの日付、またはユーザが入力した文字列がリストの各ページの先頭に表示されます。NODATE を指定すると、日付のかわりに空白文字が表示されます。


DB2

プログラム中の EXEC SQL 文が、DB2 Universal Database API 呼び出しに置き換えられるようにします。

構文
 >>-.---.-.----DB2-.----------------------.-.--><  
    .-/-+ |        |   +-----.---.-----.  | | 
          |        |   |     .-,-+     |  | | 
          |        |   v               |  | | 
          |        .-(.-option=setting-.)-+ | 
          |           |                |    | 
          |           .-NO-option------+    | 
          .-NO-DB2--------------------------+
パラメータ
option いずれかの DB2 オプション(以下を参照)
setting オプション用の設定
プロパティ
デフォルト値 NODB2
フェーズ 構文チェック
$SET 最初の行
コメント

この指令を使用するには、DB2 UDB Software Development Kit(バージョン 6.1 以前)または DB2 UDB Application Development Client(バージョン 7.1 以降) がインストールされている必要があり、インストールされていない場合は、コン パイラエラーとなります。オプションやその設定など、DB2 指令の使用について 詳しくは、『データベースアクセス』 マニュアルの 『DB2』 の章 を参照してください。


DBCHECK

すべての 2 バイトの文字集合 (DBCS) のリテラル定数がコンパイラで確認されるようにします。これらの定数は、有効な 16 ビットの DBCS 文字のみである必要があります。

構文
 >>-.---.-.----.--DBCHECK-------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NODBCHECK
フェーズ 構文チェック
$SET 最初の行
コメント

DBCS データの確認をサポートする環境で DBCHECK を指定すると、無効な 16 ビットの DBCS 文字を含むリテラル定数があった場合に、構文エラー 1048 (DBCS literal includes invalid data) になります。


DBCS

日本語、中国語、および韓国語などの表意文字言語で使用する場合に、コンパイラで 2 バイトの文字集合 (DBCS) の文字が認識されるようにします。

構文
 >>-.---.-.-------DBCS--"integer"-.---------><  
    .-/-+ ..----.-DBCS------------+ 
           .-NO-+
パラメータ
integer 1、2 または 3 を設定し、互換性を持たせる動作を指定します。
プロパティ
デフォルト値 NODBCS
フェーズ 構文チェック
$SET 最初の行
依存関係

SAA、VSC2"2"、VSC2"3"、または MF"7" を指定するとすぐに DBCS"2" に設定されます。
COBOL370、または MF"integer" (integer > 7 の場合)を指定するとすぐに DBCS"3" に設定されます。

コメント

integer には次の値を指定できます。

1 このコンパイラの古いバージョンと同じ動作になります。
2 システムアプリケーションアーキテクチャ (SAA) DBCS をすべてサポートします。この場合、DBSPACE が設定されます。
3 IBM COBOL/370 と同じように、DBCS をサポートします。この場合、PIC N、PIC G、および delimiter N で指定される DBCS リテラルも使用できます。

DBCSSOSI

DBCS リテラルで、シフトアウト区切り文字、およびシフトイン区切り文字として使用する 2 つの文字を定義します。

構文
 >>-.---.-.----DBCSSOSI-"integer-1"-"integer-2"-.--><  
    .-/-+ .-NO-DBCSSOSI-------------------------+
パラメータ
integer-1 シフトアウト文字の 10 進数の ASCII コードを指定します。
integer-2 シフトイン文字の 10 進数の ASCII コードを指定します。
プロパティ
デフォルト値 NODBCSSOSI
フェーズ 構文チェック
$SET 任意の行
コメント

この指令を使ってシフトアウトおよびシフトイン文字を指定した場合は、各 DBCS リテラルの開始引用符の直後にシフトアウト文字を、閉じ引用符の直前にシフトイン文字を指定する必要があります。これらはリテラル定数への追加区切り文字として働き、値の一部にはなりません。NODBCSSOSI の場合は、シフトアウト文字、およびシフトイン文字を指定する必要はありません。設定しても認識されません。


DBSPACE

表意定数 SPACE が DBCS 表意定数として使用された場合に、この定数を、システムが提供する 2 バイトの空白文字としてコンパイラに解釈させます。

構文
 >>-.---.-.----.--DBSPACE-------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 MF"integer" の設定によって異なります。integer が 7 よりも大きい場合は、デフォルト値は DBSPACE になります。それ以外の場合のデフォルト値は NODBSPACE です。
フェーズ 構文チェック
$SET 任意の行
依存関係

DBSPACE は、COBOL370、NCHAR"2"、SAA、VSC2"2" または VSC2"3" を指定するとすぐに設定されます。
DBSPACE は、 MF"integer" が integer > 7
の場合にすぐに設定されます。

コメント

DBSPACE を指定すると、コンパイラでは、システムに提供される 2 バイトの空白文字が使用されます。NODBSPACE を指定すると、このコンパイラの旧バージョンとの互換性が保たれ、2 バイトの空白文字は、2 字の ASCII の空白文字(x"2020")になります。


DE-EDIT

数字編集項目から、別の数字編集項目、または数字項目への編集解除転記の動作を指定します。

構文
 >>-.---.--DE-EDIT--"integer"---------------><  
    .-/-+
パラメータ
integer 1、または 2 を設定し、互換性を持たせる動作を指定します。
プロパティ
デフォルト値 DE-EDIT"2"
フェーズ 構文チェック
$SET 任意の行
コメント

integer には次の値を指定できます。

1 このコンパイラの古いバージョンと同じ動作になります。送信フィールドの PICTURE 句は無視されます。
2 送信フィールドの PICTURE 句に従って編集を解除します。これは、ANSI'85 の動作と同じです。
 01 a  pic 909V99 value "30456". 
 01 b  pic 9(5). 
        ... 
     move a to b

DE-EDIT"1" を指定した場合は、b に 30456 が入ります。DE-EDIT"2" を指定した場合は、b に 00034 が入ります。これは、3 の後の 0 は、ピクチャ文字列、a の、挿入文字、0 に相当するため失われ、B には小数点以下の桁がなく、.56 が失われるためです。


DEFAULTBYTE

他で定義されていないデータ部のバイトを、指定した文字に初期化します。

構文
 >>-.---.--DEFAULTBYTE--"integer"-----------><  
    .-/-+
パラメータ
integer 指定する文字の ASCII コードを 10 進で指定します。
プロパティ
デフォルト値 DEFAULTBYTE"32"
フェーズ 構文チェック
$SET 最初の行
依存関係

CHARSET"ASCII" を指定するとすぐに DEFAULTBYTE"32" に設定されます。
CHARSET"EBCDIC"、MS、IBM-MS、または PC1 を指定するとすぐに DEFAULTBYTE"0" に設定されます。

コメント

integer は 10 進の値です。たとえば、EBCDIC の空白文字を指定する場合は、DEFAULTBYTE"64" を使用します。ASCII の空白文字を指定する場合は、DEFAULTBYTE"32" を使用します。


DEFAULTCALLS

デフォルトの呼び出し規約を指定します。

構文
 >>-.---.-.-------DEFAULTCALLS--"integer"-.-><  
    .-/-+ ..----.-DEFAULTCALLS------------+ 
           .-NO-+
パラメータ
integer デフォルトの呼び出し規約を設定します。
プロパティ
デフォルト値 NODEFAULTCALLS
フェーズ 構文チェック
$SET 任意の行
コメント

オプションのパラメータを指定しないで DEFAULTCALLS を設定すると、デフォルトの呼び出し規約には、手続き部の USING 文で指定されている呼び出し規約が指定されたものとして動作します。

DEFAULTCALLS"integer" と指定すると、"integer" で指定された呼び出し規約がデフォルトの呼び出し規約として指定されます。

NODEFAULTCALLS は DEFAULTCALLS"0" を指定した場合と同じです。

個々の CALL 文で、これらのデフォルト設定を上書きすることができます (『言語リファレンス』を参照してください)。利用可能な呼び出し規約の一覧は、『プログラマーズガイド − アプリケーション作成』『COBOL インターフェイス環境』 の章で、『呼び出し規約』の項を参照してください。


DETECT-LOCK

レコードが別のプログラムでロックされているかどうかを、READ 文で検知します。

構文
 >>-.---.-.----.--DETECT-LOCK---------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 DETECT-LOCK
フェーズ 構文チェック
$SET 最初の行
コメント

ハイフンを使わずに DETECTLOCK と指定しても、コンパイラでは認識されます。

DETECT-LOCK を指定すると、あるプログラムがロックしているレコードを、別の READ 文が読み取ろうとすると、I/O ステータス 9/068 が返されます。NODETECT-LOCK を指定すると、0/000 が返されます。どちらの場合も、レコードは正しく読み取られます。

READ 文でレコードをロックしようとする場合(つまり、LOCK MODE IS AUTOMATIC 文が指定されている場合、またはその READ 文で WITH LOCK 句が使用されている場合)に、そのレコードが他のプログラムでロックされていると、I/O ステータス 9/068 が返されます。NODETECT-LOCK を指定した場合に、READ 文がレコードをロックしようとしないと、I/O ステータス 0/000 が返されます。


DG

特定の機能の動作を変更して、Data General Interactive COBOL rev 1.30 と互換性を持たせます。

構文
 >>-.---.-.----.--DG------------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NODG
フェーズ 構文チェック
$SET 最初の行
コメント

Data General Interactive COBOL rev 1.30 の構文サポートに関する詳細は、『言語リファレンス - 追加トピック』を参照してください。


DIALECT

チェック時、および実行時に、指定した方言の動作を有効にします。

構文

>>----------DIALECT"dialect"-------><

パラメータ

dialect

方言を指定します。以下のコメントを参照してください。

依存関係

設定された方言に従って、他の様々なコンパイラ指令がデフォルトで設定されます。下のコメントを参照してください。

プロパティ
デフォルト値 DIALECT"ANS85"
$SET 最初の行
コメント

NODIALECT という設定はありません。DIALECT(方言) は、他の Micro Focus COBOL システムで使用する USE (WBdialect.dir) に相当します。

dialect には、次の方言が指定できます。

ANS85
BS2000
BS2000-OFFLOAD
COBOL370
DOSVS
ISO2000
MF
OSVS
SAA1
SAA2
VSC21
VSC22
VSC23
VSC24

DIALECT を上記のいずれかの値に設定すると、他の様々なコンパイラ指令が設定されます。 設定されるコンパイラ指令を次に示します。



DIALECT"ANS85"

DIALECT"BS2000" および "BS2000-OFFLOAD"


DIALECT"ISO2000"
ALIGN"8" ALIGN"8" ALIGN"8"
ALPHASTART"1" ALPHASTART"1" ALPHASTART"1"
ALTER ALTER ALTER
ANS85 NOANS85 NOANS85
ARITHMETIC"MF" ARITHMETIC"MF" ARITHMETIC"MF"
ASSIGN”EXTERNAL"
NOBS2000 BS2000 (DIALECT"BS2000" の場合)
BS2000-OFFLOAD (DIALECT"BS2000-OFFLOAD" の場合)
NOBS2000
CALLFH CALLFH CALLFH
CALLSORT"EXTSM" CALLSORT"EXTSM" CALLSORT"EXTSM"
CANCELLBR CANCELLBR CANCELLBR
CHARSET"ASCII" CHARSET"EBCDIC" (DIALECT"BS2000" の場合)
CHARSET(ASCII) (DIALECT"BS2000-OFFLOAD" の場合)
CHARSET"ASCII"
CHECKDIV"ANSI" CHECKDIV"ANSI" CHECKDIV"ANSI"
COMS85 NOCOMS85 NOCOMS85
COPYEXT"cbl,CPY," COPYEXT"cbl,CPY," COPYEXT"cbl,CPY,"
COPYLBR NOCOPYLBR COPYLBR
CURRENT-DATE"MMDDYYYY" CURRENT-DATE"MMDDYYYY" CURRENT-DATE"MMDDYYYY"
NODBCHECK NODBCHECK NODBCHECK
NODBCS NODBCS NODBCS
NODBCSOSSI NODBCSOSSI NODBCSOSSI
NODBSPACE NODBSPACE NODBSPACE
DE-EDIT"2" DE-EDIT"2" DE-EDIT"2"
DEFAULTBYTE"32" DEFAULTBYTE"0" DEFAULTBYTE"32"
NODG NODG NODG
DYNAM DYNAM DYNAM
ECHO ECHO ECHO
NOEXTINDEX NOEXTINDEX NOEXTINDEX
NOFDCLEAR NOFDCLEAR NOFDCLEAR
NOFLAG FLAG"BS2000" FLAG"ISO2000"
NOFLAGAS FLAGAS"S" NOFLAGAS
FLAGCD"w" FLAGCD"w" FLAGCD"w"
NOFLAGMIG NOFLAGMIG NOFLAGMIG
FLAGSTD"H C2 D2 S2 R O" NOFLAGSTD NOFLAGSTD
FOLDCALLNAME"UPPER" FOLDCALLNAME"UPPER" FOLDCALLNAME"UPPER"
FOLDCOPYNAME"UPPER" FOLDCOPYNAME"UPPER" FOLDCOPYNAME"UPPER"
NOHOSTNUMCOMPARE NOHOSTNUMCOMPARE NOHOSTNUMCOMPARE
NOHOSTNUMMOVE NOHOSTNUMMOVE NOHOSTNUMMOVE
NOIBM-MS NOIBM-MS NOIBM-MS
INFORETURN"U" INFORETURN"U" INFORETURN"U"
INTLEVEL"2" INTLEVEL"4" INTLEVEL"4"
IOCONV IOCONV IOCONV
NOISO2000 ISO2000 ISO2000
NOLIBRARIAN NOLIBRARIAN NOLIBRARIAN
NOMAPNAME NOMAPNAME NOMAPNAME
NOMF NOMF NOMF
NOMFCOMMENT NOMFCOMMENT NOMFCOMMENT
NOMS NOMS NOMS
NOODOSLIDE ODOSLIDE NOODOSLIDE
NOOLDCOPY NOOLDCOPY NOOLDCOPY
NOOLDINDEX NOOLDINDEX NOOLDINDEX
NOOLDNEXTSENTENCE NOOLDNEXTSENTENCE NOOLDNEXTSENTENCE
NOOLDREADINTO NOOLDREADINTO NOOLDREADINTO
NOOLDSTRSUB NOOLDSTRSUB NOOLDSTRSUB
NOOPTIONAL-FILE NOOPTIONAL-FILE NOOPTIONAL-FILE
NOPC1 NOPC1 NOPC1
PERFORM-TYPE"MF" PERFORM-TYPE"MF" PERFORM-TYPE"MF"
NOPROGID-COMMENT NOPROGID-COMMENT NOPROGID-COMMENT
NOPROTECT-LINKAGE NOPROTECT-LINKAGE NOPROTECT-LINKAGE
QUAL QUAL QUAL
QUALPROC QUALPROC QUALPROC
QUOTE QUOTE QUOTE
NORDW NORDW NORDW
RECMODE"F" RECMODE"F" RECMODE"F"
REMAINDER"1" REMAINDER"1" REMAINDER"1"
NORESEQ NORESEQ NORESEQ
NORM NORM NORM
RTNCODESIZE"4"
NOSEQCHK NOSEQCHK NOSEQCHK
SOURCEFORMAT"FIXED" SOURCEFORMAT"FIXED" SOURCEFORMAT"FIXED"
NOSPZERO NOSPZERO NOSPZERO
NOSTICKY-LINKAGE NOSTICKY-LINKAGE NOSTICKY-LINKAGE
NOSTICKY-PERFORM NOSTICKY-PERFORM NOSTICKY-PERFORM
SWITCH-TYPE"3" (DIALECT"BS2000" の場合)
SWITCH-TYPE"2" (DIALECT"BS2000-OFFLOAD" の場合)
SYMBSTART"1" SYMBSTART"1" SYMBSTART"1"
TRUNC"ANSI" TRUNC TRUNC"ANSI"
NOTRUNCCOPY NOTRUNCCOPY NOTRUNCCOPY
WARNING"3" WARNING"3" WARNING"3"
NOXOPEN NOXOPEN NOXOPEN
ZEROLENGTHFALSE ZEROLENGTHFALSE ZEROLENGTHFALSE
NOZEROSEQ NOZEROSEQ NOZEROSEQ
NOZWB NOZWB NOZWB

DIALECT"VSC24" および DIALECT"VSC23"

DIALECT"VSC22" および DIALECT"VSC21"
NOANSI85
APOST APOST
AREACHECK AREACHECK
ARITHMETIC"VSC2" ARITHMETIC"VSC2"
ASSIGN"EXTERNAL" ASSIGN"EXTERNAL"
NOBOUND NOBOUND
BYTEMODEMOVE BYTEMODEMOVE
CHARSET"EBCDIC" CHARSET"EBCDIC"
CHECKDIV"VSC2" CHECKDIV"VSC2"
COBFSTATCONV COBFSTATCONV
NOCOBOLDIR NOCOBOLDIR
COMP
COMS85 COMS85
COPYEXT"CPY,CBL" COPYEXT"CPY,CBL"
COPYLBR DBCS"2" COPYLBR DBCS"2"
DBCSSOSI"14""15" DBCSSOSI"14""15"
DEFAULTBYTE"0" DEFAULTBYTE"0"
NODYNAM NODYNAM
FDCLEAR FDCLEAR
FLAG"VSC2" FLAG"VSC2"
NOFLAGAS"S" NOFLAGAS"S"
FLAGCD"W" FLAGCD"W"
FOLDCALLNAME"UPPER" FOLDCALLNAME"UPPER"
FOLDCOPYNAME"UPPER" FOLDCOPYNAME"UPPER"
FP-ROUNDING"VSC2" FP-ROUNDING"VSC2"
HOST-NUMCOMPARE"1" HOST-NUMCOMPARE"1"
IBMCOMP IBMCOMP
INDD"SYSIN 80 L A" INDD"SYSIN 80 L A"
MAPNAME MAPNAME
NOMF NOMF
NOMFCOMMENT NOMFCOMMENT
NATIVE"EBCDIC" NATIVE"EBCDIC"
ODOSLIDE ODOSLIDE
NOOPTIONAL-FILE NOOPTIONAL-FILE
OUTDD"SYSOUT 132 L A" OUTDD"SYSOUT 132 L A"
PERFORM-TYPE"VSC2" PERFORM-TYPE"VSC2"
NOQUOTE NOQUOTE
RECMODE"VSC2" RECMODE"OSVS"
RTNCODE-SIZE"2" RTNCODE-SIZE"2"
NOSEG NOSEG
SIGN"EBCDIC" SIGN"EBCDIC"
STICKY-LINKAGE"2" STICKY-LINKAGE"2"
STICKY-PERFORM
NOTERMPAGE
NOTRUNC NOTRUNC
TRUNCCOPY"8" TRUNCCOPY"8"
VSC2"4" (VSC24 の場合)
VSC2"3" (VSC23 の場合)
VSC2"2" (VSC22 の場合)
VSC2"1" (VSC21 の場合)
WARNING"3" WARNING"3"
ZEROLENGTHFALSE ZEROLENGTHFALSE
ZWB ZWB

DIALECT"OSVS"

DIALECT"DOSVS"

DIALECT"COBOL370"
NOANS85 NOANS85
APOST APOST APOST
AREACHECK AREACHECK AREACHECK
ARITHMETIC"OSVS" ARITHMETIC"OSVS" ARITHMETIC"VSC2"
ASSIGN"EXTERNAL" ASSIGN"EXTERNAL" ASSIGN"EXTERNAL"
NOBOUND NOBOUND NOBOUND
BYTEMODEMOVE BYTEMODEMOVE BYTEMODEMOVE
CHARSET"EBCDIC" CHARSET"EBCDIC" CHARSET"EBCDIC"
CHECKDIV"OSVS" CHECKDIV"OSVS" CHECKDIV"COBOL370"
COBFSTATCONV COBFSTATCONV COBFSTATCONV
COBOL370"2"
NOCOBOLDIR NOCOBOLDIR NOCOBOLDIR
COMS85
COPYEXT"CPY,CBL" COPYEXT"CPY,CBL" COPYEXT"CPY,CBL"
COPYLBR COPYLBR COPYLBR
NODBCHECK NODBCHECK
NODBCS NODBCS
DBCSSOSI"14""15"
NODBSPACE NODBSPACE
DEFAULTBYTE"0" DEFAULTBYTE"0" DEFAULTBYTE"0"
DOSVS
NODYNAM NODYNAM NODYNAM
FDCLEAR FDCLEAR FDCLEAR
FLAG"OSVS" FLAG"DOSVS" FLAG"COBOL370"
NOFLAGAS"S" NOFLAGAS"S" NOFLAGAS"S"
FLAGCD"W" FLAGCD"W" FLAGCD"W"
FOLDCALLNAME"UPPER" FOLDCALLNAME"UPPER" FOLDCALLNAME"UPPER"
FOLDCOPYNAME"UPPER" FOLDCOPYNAME"UPPER" FOLDCOPYNAME"UPPER"
FP-ROUNDING"OSVS" FP-ROUNDING"OSVS" FP-ROUNDING"COB370"
HOST-NUMCOMPARE"1" HOST-NUMCOMPARE"1" HOST-NUMCOMPARE"1"
IBMCOMP IBMCOMP IBMCOMP
INDD"SYSIN 80 L A" INDD"SYSIN 80 L A" INDD"SYSIN 80 L A"
MAPNAME MAPNAME MAPNAME
NOMF NOMF NOMF
NOMFCOMMENT NOMFCOMMENT NOMFCOMMENT
NATIVE"EBCDIC" NATIVE"EBCDIC" NATIVE"EBCDIC"
ODOOSVS ODOOSVS
ODOSLIDE ODOSLIDE ODOSLIDE
NOOPTIONAL-FILE NOOPTIONAL-FILE NOOPTIONAL-FILE
OSVS OSVS
OUTDD"SYSOUT 132 L A" OUTDD"SYSOUT 132 L A" OUTDD"SYSOUT 132 L A"
PERFORM-TYPE"OSVS" PERFORM-TYPE"OSVS" PERFORM-TYPE"COB370"
NOQUOTE NOQUOTE NOQUOTE
RDW RDW
RECMODE"OSVS" RECMODE"OSVS"
REPORT-LINE"132" REPORT-LINE"132"
RTNCODE-SIZE"2" RTNCODE-SIZE"2" RTNCODE-SIZE"2"
NOSEG
SIGN"EBCDIC" SIGN"EBCDIC" SIGN"EBCDIC"
STICKY-LINKAGE"2" STICKY-LINKAGE"2" STICKY-LINKAGE"2"
STICKY-PERFORM STICKY-PERFORM
TRACE TRACE
NOTRUNC NOTRUNC NOTRUNC
TRUNCCOPY"8" TRUNCCOPY"8" TRUNCCOPY"8"
WARNING"3" WARNING"3" WARNING"3"
ZEROLENGTHFALSE
ZWB ZWB ZWB

DIALECT"SAA2"

DIALECT"SAA1"
NOANS85
AREACHECK AREACHECK
NOCOBOLDIR NOCOBOLDIR
COMS85 COMS85
COPYLBR COPYLBR
NODATE NODATE
DBCS"2" DBCS"2"
DEFAULTBYTE"0" DEFAULTBYTE"0"
FLAG"SAA" FLAG"SAA"
FLAGCD"W" FLAGCD"W"
FOLDCALLNAME"UPPER" FOLDCALLNAME"UPPER"
FOLDCOPYNAME"UPPER" FOLDCOPYNAME"UPPER"
IBMCOMP IBMCOMP
NOMF NOMF
NOMFCOMMENT NOMFCOMMENT
ODOOSVS ODOOSVS
ODOSLIDE ODOSLIDE
NOOPTIONAL-FILE NOOPTIONAL-FILE
RTNCODE-SIZE"2" RTNCODE-SIZE"2"
SAA"2" SAA"1"
NOSEG NOSEG
WARNING"3" WARNING"3"
ZEROLENGTHFALSE ZEROLENGTHFALSE

DIALECT"MF"
ANS85
NOAPOST
NOAREACHECK
ARITHMETIC"MF"
ASSIGN"DYNAMIC"
BOUND
NOBYTEMODEMOVE
CHARSET"ASCII"
CHECKDIV"ANSI"
NOCOBFSTATCONV
NOCOBOL370
NOCOMP
NOCOMS85
NOCOPYLBR
DBCHECK
DBCS"3"
NODBCSSOSI
DBSPACE
DEFAULTBYTE"32"
NODG
NODOSVS
DYNAM
NOFDCLEAR
NOFLAG
NOFLAGAS
NOFLAGCD
NOFLAGSTD
NOFOLDCALLNAME
NOFOLDCOPYNAME
NOFP-ROUNDING
NOHOST-NUMCOMPARE
NOIBMCOMP
NOINDD
NOMAPNAME
MF"11"
MFCOMMENT
NOMS
NATIVE"ASCII"
NONESTCALL
NOODOOSVS
NOODOSLIDE
OPTIONAL-FILE
NOOSVS
NOOUTDD
PERFORM-TYPE"MF"
QUOTE
NORDW
RECMODE"F"
REPORT-LINE"256"
RESEQ
NORM
RTNCODE-SIZE"4"
NOSAA
SEG
SIGN"ASCII"
NOSTICKY-LINKAGE
NOSTICKY-PERFORM
TERMPAGE
NOTRACE
TRUNC"ANSI"
NOTRUNCCOPY
NOVSC2
WARNING"1"
NOXOPEN
NOZEROLENGTHFALSE
NOZWB


DIRECTIVES
DIR

コンパイラがファイルから指令を読み取るようにします。

構文
 >>-.---.-.-DIRECTIVES-.-"filename"---------><  
    .-/-+ .-DIR--------+
パラメータ
filename 完全な形式でファイルを指定します。
プロパティ
デフォルト値 なし
フェーズ 構文チェック
$SET 任意の行
コメント

指令ファイルとは、指令が記述されたテキストファイルです。指令は、空白文字まで、または行末までが 1 つの指令と解釈されます。 1 つの指令を 2 行にわたって記述することはできません。

1 桁目にアンパサンド (&) を記述して、注記行を含めることができます。コメントの後には空白文字を入れます。空白文字を省略すると、コメントが指令として扱われ、そのファイルの構文チェックが失敗します。

指令は、ファイルの終わりまで、または別の DIRECTIVES 指令にぶつかるまで、ファイルから読み取られます。 1 行の最大長は 128 字です。

DIRECTIVES"filename" を複数指定すると、1 つのプログラムに複数の指令ファイルを指定することができます。 指令ファイル内で DIRECTIVES 指令を指定すると、コンパイラの読み取り先が新しい指令ファイルに切り替わり、新しいファイルの指令をすべて読み取ると、元の指令ファイルに戻り、DIRECTIVES 指令の後に指定されている指令の読み取りを続行します。 指令ファイルは何層にも入れ子にして使用することができます。

指令ファイルは、カレントディレクトリ、および COBOL システムディレクトリで検索されます。拡張子を指定しないと、拡張子は .dir と見なされます。拡張子のついたファイルが検出されない場合は、次に拡張子なしのファイルが検索されます。

参照

USE コンパイラ指令


DIRECTIVES-IN-COMMENTS

注記行の $SET 文がコンパイラで処理されるようにします。

構文
 >>-.---.-.----.--DIRECTIVES-IN-COMMENTS----><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NODIRECTIVES-IN-COMMENTS
フェーズ 構文チェック
$SET 任意の行
コメント

この指令を使用すると、Server Express コンパイラでコンパイルした場合は、使用された指令がソースに反映されますが、他のコンパイラ、たとえば、メインフレームコンパイラなどを使用した場合は、これらの指令は (注記行として) 無視されます。

$SETは、通常はその行の記述の先頭であれば、どこにでも記述することができます。この指令を設定した場合は、その行が注記行 (7 桁目にアスタリスクがある場合) であっても $SET 文は処理されます。


DOSVS

IBM DOS/VS COBOL で予約されている語を予約語として扱います。

構文
 >>-.---.-.----.--DOSVS---------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NODOSVS
フェーズ 構文チェック
$SET 最初の行
依存関係

OSVS を指定するとすぐに NODOSVS に設定されます。

参照

OSVS コンパイラ指令


DYNAM

CANCEL 文が無視されないよう指定します。

構文
 >>-.---.-.----.--DYNAM---------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 DYNAM
フェーズ 構文チェック
$SET 最初の行
コメント

NODYNAM を指定すると、プログラム内の CANCEL 文が無視されます。


EARLY-RELEASE

古いユーザ構文をサポートします。

構文
 >>-.---.-.----.--EARLY-RELEASE-------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOEARLY-RELEASE
フェーズ 構文チェック
$SET 最初の行
依存関係

NOEARLY-RELEASE および MF が設定されている場合は、MF のデフォルト設定が MF"10" になります。
EARLY-RELEASE および MF が設定されている場合は、MF のデフォルト設定が MF"11" になります。

コメント

旧バージョンの指令を使用する場合は、この指令を指定する必要があります。


ECHO

エラー行、およびエラーメッセージが、コンパイラから画面に表示されるようにします。

構文
 >>-.---.-.----.--ECHO----------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 ECHO
フェーズ 構文チェック
$SET 任意の行
依存関係

ECHOALL を指定するとすぐに NOECHO に設定されます。

コメント

各エラーに対し、エラー番号、および詳細メッセージ(BRIEF が設定されていない場合)とともにソース行が表示されます。

参照

BRIEF コンパイラ指令


ECHOALL

プリンタ、または LIST 指令、または PRINT 指令で指定された他の装置に加えて、画面にも詳細リストを送信します。

構文
 >>-.---.-.----.--ECHOALL-------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOECHOALL
フェーズ 構文チェック
$SET 不可
依存関係

ECHOALL で NOECHO がすぐに設定されます。


EDITOR

エラーメッセージが、指定したエディタと互換性のある形式で、コンパイラからファイルに送信されるようにします。

構文
 >>-.---.-.-----EDITOR--"editor-id"-.-------><  
    .-/-+ .-NO--EDITOR--------------+
パラメータ
editor-id MF、MF2、または MS のいずれかを指定します。
プロパティ
デフォルト値 NOEDITOR
フェーズ 構文チェック
$SET 不可
依存関係

EDITOR"MS" を設定すると、NOENSUITE がすぐに設定されます。
EDITOR"MF" を設定すると、ENSUITE"1" がすぐに設定されます。

コメント

editor-id には次の値を指定できます。

MF Server Express の Editor
MF2 Animator
MS Microsoft Programmer's Workbench

EDITOR 指令とともに NOECHO 指令、および NOQUERY 指令を使用することをお奨めします。

参照

ECHO コンパイラ指令
FLAGSINEDIT コンパイラ指令
QUERY コンパイラ指令


ENTCOBOL

IBM Enterprise COBOL for z/OS および OS/390 で予約されている語を予約語として扱います。

構文
◆---+-------+-+--------+--- ENTCOBOL -----------------------------◇  
     +-- / --+ +-- NO --+
パラメータ

なし

プロパティ
デフォルト値 NOENTCOBOL
フェーズ 構文チェック
$SET 初期
依存性

ENTCOBOL を指定するとすぐに DBSPACE と DBCS"3" が設定されます。


ENSUITE

内部で使用するためにのみ予約されています。


ERRLIST

エラーが発生した行、またはフラグが付けられた行以外のソース行がリストに含まれないよう指定します。

構文
 >>--.---.--.----.---ERRLIST---"option"--------><
     .-/-+  .-NO-+ 
パラメータ
option 生成されるリストのタイプを指定します。以下のコメントを参照してください。
プロパティ
デフォルト値 ERRLIST"EMBED"
フェーズ 構文チェック
$SET 不可
依存関係

FLAGQ または ERRQ が設定されている場合は、ERRLIST"END" が ERRLIST"VERBOSE" になります。

コメント

option には次の値を指定できます。

TERSE エラーを含む行のみがリストファイルに表示されます。ソース行とエラーの両方が表示されます。
EMBED リストファイルには、ソースとともにエラーメッセージが表示されます。エラーメッセージは、ソース内のエラーが発生した場所に組み込まれる形で表示されます。
END リストファイルには、ソースが表示され、その後に、エラーメッセ―ジが別に表示されます。バッチコンパイルを実行した場合は、エラーメッセージは画面にエコーされません。画面にエコーする場合は、リストが画面に表示されるよう選択する必要があります。
VERBOSE リストファイルには、ソースとともにエラーメッセージが表示されます。エラーメッセージは、ソース内のエラーが発生した場所に組み込まれる形で表示され、その後に、エラーメッセージのみが別に再表示されます。

ERRQ

コンパイラからエラーメッセ―ジが出力される度に、コンパイルの停止、または続行を確認するメッセージが出力されるようにします。

構文
 >>-.---.-.----.--ERRQ----------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOERRQ
フェーズ 構文チェック
$SET 任意の行

FASTCALL

呼び出されたプログラムの動作を制御します。FASTCALL が指定されている場合、呼び出されたプログラムは、メインプログラムであるかどうか判断できる情報を設定しません。常にメインプログラムではないと想定し、EXIT PROGRAM が常に呼び出し側プログラムの出口となります

構文:
>>-.---.-.----.--FASTCALL------------------><
   +-/-+ +-NO-+
パラメータ

None

プロパティ
デフォルト値 NOFASTCALL
フェーズ 生成
$SET 最初の行
コメント

FASTCALL でコンパイルされたプログラムは、後続のプログラムが自身がメインプログラムであるかどうかを判断する情報を設定しません。そのため、FASTCALL でコンパイルされたプログラムで呼び出すプログラムは、プログラムそのものをFASTCALLでコンパイルすることをお勧めします。

参照

PERFORM文
EXIT文
コンパイル速度
PARAMCOUNTCHECK
STICKY-LINKAGE


FASTSORT

この指令は、この COBOL システムで内部的に使用するために予約されています。設定のリストに表示される可能性があるため、ここで説明しています。 ユーザが使用する指令ではないので、この設定を変更しないでください。

構文
 >>-.---.-.----.--FASTSORT------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 FASTSORT
フェーズ 構文チェック
$SET 最初の行

FAULTFIND

FaultFinderで記録されるファイルの入出力を可能にします。

構文
>>-.---.-.----.--FAULTFIND------------------><
   +-/-+ +-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOFAULTFIND
フェーズ 構文チェック
$SET 任意の行


FCD3

この指令は、この COBOL システムの内部で使用するために予約されています。 設定のリストに表示される可能性があるため、ここで説明しています。 ユーザが使用する指令ではないので、この設定を変更しないでください。

構文
 >>-.---.-.----.--FCD3----------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 64 ビット開発システム上の FCD3
32 ビット開発システム上の NOFCD3 です。
フェーズ 構文チェック
$SET 不可
依存関係

P64 を指定するとすぐに FCD3 に設定されます。


FCDREG

コンパイラに、ファイル制御記述 (FCD) および、キー定義ブロックにアクセスするための特殊レジスタを定義させます。

構文
 >>-.---.-.----.--FCDREG--------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOFCDREG
フェーズ 構文チェック
$SET 最初の行

FCDREG を指定すると、プログラム中の各ファイル定義 (FD) に対して、FH--FCD 特殊レジスタが作成されます。このレジスタは、ファイルのファイル制御記述 (FCD) を指します。これにより、プログラムは FCD の情報を読み取ったり、変更することができます。

各索引ファイルに対して、特殊レジスタ FH--KEYDEF が追加で作成されます。このレジスタは、ファイルのキー定義ブロックを指します。

FCD および キー定義ブロックのレイアウトに関しては、『ファイル操作』 マニュアルで説明しています。


FDCLEAR

書き込み操作のたびに、ファイルのレコードバッファがクリアされるよう指定します。バッファは、DEFAULTBYTE 指令で指定される値までクリアされます。

構文
 >>-.---.-.----.--FDCLEAR-------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOFDCLEAR
フェーズ 構文チェック
$SET 任意の行
コメント

FDCLEAR 指令は SELECT 句を処理する際に有効です。 この機能を選択したファイルに適応するには、各 SELECT 句の前、および後で $SET 文を使用します。 プログラム中の全ファイルに適用する場合は、SELECT 文を処理する前の 1 回のみ、$SET 文を使用します。

I-O 制御段落の SAME RECORD AREA 句のファイルの場合は、FDCLEAR 指令は無視されます。

次のコードでは、FDCLEAR は file-2 にのみ適用されます。

 file-control. 
     select file-1 ... 
$set fdclear 
     select file-2 ... 
$set nofdclear 
     select file-3 ...

FILESHARE

マルチユーザ環境のファイルに対して、デフォルトのロックを EXCLUSIVE ではなく、AUTOMATIC にし、プログラムが複数のレコードをロックしている場合に、WRITE 文、または REWRITE 文で自動的にレコードをロックします。

この指令は Fileshare バージョン 2 とは全く関係がありません。

Fileshare バージョン 2 を使用する場合は、この指令を指定しないでください。

構文
 >>-.---.-.----.--FILESHARE-----------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOFILESHARE
フェーズ 構文チェック
$SET 最初の行
コメント

この指令は古いファイル共有製品と互換性を持たせるために用意されています。新規にプログラムを作成する場合は、この指令ではなく、ロック構文を使用してください。

FILESHARE は、WRITELOCK と AUTOLOCK を同時に指定した場合と同じ動作になります。NOFILESHARE は、NOAUTOLOCK と NOWRITELOCK を同時に指定した場合と同じ動作になります。


FILETYPE

ファイル作成時に適用するファイルの形式を選択します。

構文
 >>-.---.--FILETYPE--"integer"--------------><  
    .-/-+
パラメータ
integer 使用するタイプを示す整数の値を指定します。
プロパティ
デフォルト値 FILETYPE"0"
フェーズ 構文チェック
$SET 任意の行
依存関係

FILETYPE"integer" を指定するとすぐに IDXFORMAT"integer" が設定されます。

コメント

integer には次の値を指定できます。

0 システム固有のデフォルト設定。 1 を指定した場合と同じ形式です。
1 C-ISAM 形式
2 Micro Focus Level II 形式
3 Micro Focus 索引ファイル形式
4 最適化された Micro Focus 索引ファイル形式。複製ファイルの処理速度が上がります。
5 予約済み
6 予約済み
7 RLIO 形式の索引ファイル
8 大容量索引ファイル
9-10 予約済み
11 メインフレームの印刷ファイル形式
12-13 予約済み
14 予約済み
15-255 予約済み

この指令は、呼び出し可能なファイルハンドラで処理されたファイルにのみ有効です。索引ファイル以外のファイルを処理する場合は CALLFH 指令を使用してください。

FILETYPE"11" を使用して、IBM メインフレーム形式の印刷ファイルを生成する場合は、次の操作が必要です。

(IBM メインフレーム形式の印刷ファイルには、1 桁目に印刷制御文字が記述されます。)

参照

ADV コンパイラ指令
CALLFH コンパイラ指令


FLAG

指定した COBOL 方言に含まれない構文があった場合、コンパイラで、言語レベルの認証フラグが生成されるようにします。

構文
 >>-.---.-.-----FLAG--"dialect"-.-----------><  
    .-/-+ .-NO--FLAG------------+
パラメータ
dialect 方言を示すリテラル定数を指定します。
プロパティ
デフォルト値 NOFLAG
フェーズ 構文チェック
$SET 任意の行
コメント

dialect には次の値を指定できます。

MF Micro Focus
ANS74 ANSI COBOL 標準規格 X3.23 1974年版
ANS85 ANSI COBOL 標準規格 X3.23 1985年版
SAA IBM の System Application Architecture で定義された COBOL の機能をすべて満たします。
VSC2 IBM VS COBOL II
OSVS IBM OS/VS COBOL
DOSVS IBM DOS/VS COBOL
COBOL370 IBM COBOL/370
ISO2000 審議中の ISO2000 COBOL 標準規格
BS2000 Siemens BS2000 COBOL

DG、RM または MS を方言として使用することはできません。

ANSI'85 に完全準拠したプログラムを作成する場合は、次の方言を使用してください。

ANS85 FLAG"ANS85"

また、フラグメッセージが生成される機能はすべて修正してください。

VSC2 を指定した場合は、フラグが付けられる機能が、VSC2 指令で選択された VS COBOL II のバージョンに依存します。 SAA を指定した場合は、この機能が、SAA 指令で選択された SAA のレベルに、COBOL370 を指定した場合は COBOL370 指令で選択された COBOL/370 のレベルに依存します。

参照

BS2000 コンパイラ指令
DIALECT コンパイラ指令
ISO2000 コンパイラ指令


FLAGAS

この指令を指定すると、フラグメッセージは、エラーメッセージ、警告メッセージ、または備考メッセージとしてコンパイラから出力されます。

構文
 >>-.---.-.-----FLAGAS--"severity"-.--------><  
    .-/-+ .-NO--FLAGAS-------------+
パラメータ
severity フラグメッセージに割り当てる重大度を表すリテラル定数を指定します。
プロパティ
デフォルト値 NOFLAGAS
フェーズ 構文チェック
$SET 任意の行
コメント

severity には次の値を指定できます。

S 重大なエラー
E エラー
W 警告
I 備考

FLAGCD

FLAG 指令とともに指定すると、FLAGCD では、指定された COBOL の方言と矛盾するすべての設定指令すべてにフラグが付けられます。

構文
 >>-.---.-.--------FLAGCD--"severity"-.-----><  
    .-/-+ ..----.--FLAGCD-------------+ 
           .-NO-+
パラメータ
severity 矛盾した指令によって生成されたフラグメッセージに割り当てる重大度を、リテラル定数で指定します。
プロパティ
デフォルト値 NOFLAGCD
フェーズ 構文チェック
$SET 任意の行
コメント

severity には次の値を指定できます。

S 重大なエラー
E エラー
W 警告
I 備考

パラメータを設定しないで FLAGCD を指定した場合に、FLAGAS 指令が指定されていると、メッセージはこの指令で指定されている重大度に割り当てられます。FLAGAS が指定されていないと、メッセージはフラグメッセージとして生成されます。


FLAGMIG

CMPR2 の設定に従って、実行時に異なる動作になる構文すべてにコンパイラでフラグが付けられるようにします。

構文
 >>-.---.-.----.--FLAGMIG-------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOFLAGMIG
フェーズ 構文チェック
$SET 任意の行
コメント

このような構文は W レベルのメッセージを受け取ります。この場合、メッセージ行に "MIGR" というテキストが含まれていますが、これは、FLAGMIG 指令を指定したために発生した警告であることを示します。

参照

CMPR2 コンパイラ指令


FLAGQ

コンパイラからフラグメッセージメッセ―ジが出力される度に、コンパイルの停止、または続行を確認するメッセージが出力されるようにします。

構文
 >>-.---.-.----.--FLAGQ---------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOFLAGQ
フェーズ 構文チェック
$SET 任意の行

FLAGSINEDIT

フラグメッセージをエラーファイルに含めるかどうかを指定します。

構文
 >>-.---.-.----.--FLAGSINEDIT---------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 FLAGSINEDIT
フェーズ 両方
$SET 不可
コメント

この指令は、NOEDITOR が指定されている場合は無効です。EDITOR および FLAGSINEDIT が指定されている場合は、生成されたエラーファイルには、コンパイラで生成されたすべてのフラグメッセージが含まれます。

参照

EDITOR コンパイラ指令


FLAGSTD

指定したレベルの ANSI'85 標準規格に含まれない構文があった場合に、コンパイラ言語レベルの認証フラグが生成されるようにします。

構文
 >>-.---.-.-----FLAGSTD--"string"-.---------><  
    .-/-+ .-NO--FLAGSTD-----------+
パラメータ
string 言語レベルを列挙します。
プロパティ
デフォルト値 NOFLAGSTD
フェーズ 構文チェック
$SET 最初の行
コメント

string にはパラメータを列挙します。各パラメータで、ANSI 標準規格の言語レベル、またはオプションモジュールを定義します。指定されたレベル以下、または指定されたオプションモジュールの機能にはフラグが付けられません。 標準規格よりも高レベルな拡張機能、または指定されていないオプションモジュールの拡張機能にフラグが付けられます。さらに、ANSI 標準規格で旧式とされる要素にもフラグを付けることができます。

string には、次のパラメータを組み合わせて指定します。

M ANSI'85 で定義された最小レベルの COBOL サブセット
I ANSI'85 定義の中間レベルの COBOL サブセット
H ANSI'85 定義の高レベルの COBOL サブセット
C1 通信オプションモジュールレベル 1
C2 通信オプションモジュールレベル 2
D1 デバッグオプションモジュールレベル 1
D2 デバッグオプションモジュールレベル 2
S1 区分オプションモジュールレベル 1
S2 区分オプションモジュールレベル 2
R 報告書作成オプションモジュール
O 古い言語要素

これらのパラメータは、任意の順序で指定できますが、各パラメータの間に、1 つ以上の空白文字を入れる必要があります。フラグの有効な組み合わせを次に示します。

FLAG および FLAGSTD の機能は同じであるため、使用できるのはどちらか一方のみです。

ANS85 指令を有効にする必要があります。


FOLD-CALL-NAME

CALL 文、CANCEL 文、ENTRY 文、および CHAIN 文に関連する識別子やリテラル定数と、PROGRAM-ID 句のプログラム名を大文字のみ、または小文字のみにします。

構文
 >>-.---.-.-----FOLD-CALL-NAME--"case"-.----><  
    .-/-+ .-NO--FOLD-CALL-NAME---------+
パラメータ
case UPPER または LOWER を指定します。
プロパティ
デフォルト値 NOFOLD-CALL-NAME
フェーズ 構文チェック
$SET 最初の行
コメント

ハイフンを使わずに FOLDCALLNAME と指定しても、コンパイラでは認識されます。

CALL 識別子 文で呼び出される名前は、この指令で指定された形式 (大文字か小文字のどちらか) になりますが、識別子 の内容自体は変更されません。

FOLD-CALL-NAME 指令を使用すると、たとえば、OS/2 から UNIX へ転送する場合のように、ファイル名に大文字と小文字が混在する環境から COBOL コードを転送する場合に役立ちます。

この指令を使用すると、コンパイラは ANSI'85 標準のプログラム間通信モジュールに従って CALL 文内のプログラム名の大文字と小文字を区別しません。

NOFOLD-CALL-NAME を指定すると、通常の COBOL 表記規則では、引用符で囲まない場合に、大文字のみのプログラム名が使用されます。これは、入れ子プログラムのルートプログラムにも当てはまります。引用符で囲んだ場合も含め、すべての副プログラム名は大文字のみになります。(プログラム名を引用符で囲む方法は、Micro Focus COBOL の拡張機能です。『言語リファレンス』マニュアルの『プログラム名段落』 の項を参照してください。)

プログラム名は、完全にリンクされている実行可能プログラムの入口点としてアクセスすることもできます。


FOLD-COPY-NAME

コピーファイル名の大文字、または小文字への変換処理動作を決定します。

構文
 >>-.---.-.-----FOLD-COPY-NAME--"case"-.----><  
    .-/-+ .-NO--FOLD-COPY-NAME---------+
パラメータ
case "UPPER" または "LOWER".
プロパティ
デフォルト値 NOFOLD-COPY-NAME
フェーズ 構文チェック
$SET 任意の行
コメント

ハイフンを使わずに FOLDCOPYNAME と指定しても、コンパイラでは認識されます。

FOLD-COPY-NAME 指令は、テキスト、および登録集名に対して有効です。これらが利用者語として指定されている場合でも、リテラル定数として指定されている場合でも使用できます。

FOLD-COPY-NAME"UPPER" を指定すると、コピーファイル名が大文字に変換されます。(大文字に固定するとも言います)。


FORM

リストの 1 ページあたりの行数を指定します。

構文
 >>-.---.-.-----FORM--"integer"-.-----------><  
    .-/-+ .-NO--FORM------------+
パラメータ
integer 3 以上の値を指定します。
プロパティ
デフォルト値 FORM"60"
フェーズ 構文チェック
$SET 任意の行
依存関係

NOLIST を指定すると、最後に NOFORM に設定されます。
LIST を指定するとすぐに FORM"60" に設定されます。

コメント

FORM"integer" を指定すると、ファイルの先頭に、常に用紙送り文字が生成されます。NOFORM を指定すると、リスト内には用紙送り文字も、ページヘッダーも生成されません。


FP-ROUNDING

受信項目が浮動小数点の場合、他の項目、つまり非浮動小数点の受信項目の結果に影響を与えるかどうかを決定します。

構文
 >>-.---.-.-----FP-ROUNDING--"dialect"---.--><  
    .-/-+ .-NO--FP-ROUNDING--------------+
パラメータ
dialect VSC2 または OSVS のどちらかを指定します。
プロパティ
デフォルト値 NOFP-ROUNDING
フェーズ 構文チェック
$SET 任意の行
コメント

OS/VS COBOL、および VS COBOL II では、演算文の送信データ項目中に浮動小数点の項目がある場合は、ROUNDED 句の有無や、受信フィールドが浮動小数点であるかに関わらず、すべての受信フィールドが四捨五入されます。

VS COBOL II では、浮動小数点として定義されている受信データ項目がある場合、ROUNDED 句の有無や、受信フィールドが浮動小数点であるか、および浮動小数点の送信項目があるかに関わらず、すべての受信データ項目が四捨五入されます。

NOFP-ROUNDING を設定すると、ソース内で ROUNDED 句を明示的に使用した場合を除き、浮動小数点演算を含んだ計算で、固定小数点のターゲットは四捨五入されません。

次のような 2 つのデータ項目が定義されているとします。

     05 numeric-field    pic 999. 
     05 floating-field   comp-1.

この時、次の文が実行される場合を説明します。

     compute numeric-field floating-field = 7.7 + 1

FP-ROUNDING"VSC2" を指定すると、numeric-field には 9 (四捨五入あり) が入ります。NOFP-ROUNDING または FP-ROUNDING"OSVS" を指定した場合は、numeric-field には 8 (右端切り捨て) が入ります。

2 つの同じデータ項目を使用した例を次に示します。

compute numeric-field = +7.6E0

この場合に、FP-ROUNDING"VSC2" または FP-ROUNDING"OSVS" を指定すると、numeric-field には 8 (四捨五入あり) が入ります。 NOFP-ROUNDING を指定した場合は numeric-field には 7 (右端切り捨て) が入ります。


GNTANLZ

GNT Analyzer を使用可能にします。これは、プログラムの実行プロファイルを作成するためのスタンドアロンのツールです。

構文
 >>-.---.-.-----GNTANLZ--"count-type"-----.----><  
    .-/-+ .-NO--GNTANLZ-------------------+
パラメータ
count-type 必要なカウントタイプを指定します。
プロパティ
デフォルト値 NOGNTANLZ
フェーズ 構文チェック
$SET 任意の行
コメント

count-type には次の値を指定できます。

COUNT 各ブロックの実行回数をカウントします。
TICK 各ブロックのコードに対し、コードが実行され場合にカウントを 1 に設定します。こちらを設定すると、COUNT を設定した場合よりも、使用されるメモリが少なくなります。
参照

『Utilities Handbook』『GNT Analyzer』 の章を参照してください。


HIDE-MESSAGE

この指令の機能は、CHANGE-MESSAGE 指令で引き継ぎます。この指令は互換性を持たせるためにのみ提供されているため、今後のリリースでは削除されます。

構文チェック時のエラーメッセージの番号を「非表示」に登録し、この番号のエラーが発生しても無視されるようにします。

構文
 >>-.---.-.-----HIDE-MESSAGE--"integer"-----.----><  
    .-/-+ |                                 | 
          .-NO--HIDE-MESSAGE--.-----------.-+ 
                              .-"integer"-+
パラメータ
integer 非表示にする構文チェックエラーメッセージの番号を指定します。
プロパティ
デフォルト値 NOHIDE-MESSAGE
フェーズ 構文チェック
$SET 任意の行
コメント

ハイフンを使わずに HIDEMESSAGE と指定しても、コンパイラでは認識されます。

HIDE-MESSAGE"integer" を指定すると、integer が、構文チェックエラーメッセージの番号リストに追加されます。この機能を使って複数の番号のエラーメッセージを非表示にするには、HIDE-MESSAGE 指令を複数回指定する必要があります。

プログラムの構文チェックの終了時のリストには、重大度が E、W、I のメッセージ、または上記リストに登録された番号のフラグを持つメッセージは表示されません。また、これらは、コンパイル終了時のエラー概要にも表示されません。

重大度が S のメッセージのうち、非表示にできるのは、CHANGE-MESSAGE 指令、FLAGAS 指令、または FLAGCD 指令を使用して、重大度を S に変更したメッセージのみです。通常の場合は、重大度 S のメッセージが、上記のエラーメッセージの番号リストに番号が登録されている場合でも表示されます。

NOHIDE-MESSAGE を指定すると、番号のリストがクリアされるため、非表示になるメッセージはありません。

NOHIDE-MESSAGE"integer" を指定すると、指定されたメッセージ番号のみがリストから削除されます。

参照

CHANGE-MESSAGE コンパイラ指令
FLAGAS コンパイラ指令
FLAGCD コンパイラ指令


HOSTARITHMETIC

サイズエラーが発生した後、演算結果の十進桁数を切り捨てるかどうかを制御します。

構文
>>-.---.-.----.--HOSTARITHMETIC----------------><
   +-/-+ +-NO-+
パラメータ

None

プロパティ
デフォルト値 NOHOSTARITHMETIC
フェーズ 構文チェック
$SET
コメント

HOSTARITHMETIC を指定すると次のような影響があります。

$SET 文にこの指令を指定すると、指定した場所に関わらず、プログラム全体の実行時の振る舞いに影響がでます。

参照

実行時の動作


HOSTFD

ファイルに関連付けられたレコード領域は、OPEN 文の前ではなく、実行時にのみ割り当てられるように指定します。

>>-.---.-.----.--HOSTFD-------------->< 
   .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOHOSTFD
フェーズ 構文チェック
$SET 最初の行
コメント

この指令を指定した場合は、ファイルに関連付けられたレコード領域への操作が、対象ファイルが開かれている間のみ実行できます。HOSTFD は、EXTERNAL ファイル、または SORT ファイルには影響を与えません。また、I-O CONTROL 段落の SAME RECORD AREA 句で定義されているファイルにも影響を与えません。

この指令は、メインフレームと互換性を持たせるために用意されています。


HOST-NUMCOMPARE

USAGE DISPLAY の整数型の数値データ項目と、英数字のリテラル定数、または表意定数を比較する操作を制御します。

構文
 >>--.---.--.------HOST-NUMCOMPARE----.--><
    .-/-+  .-NO---HOST-NUMCOMPARE------+
パラメータ

なし

プロパティ
デフォルト値 NOHOST-NUMCOMPARE
フェーズ 構文チェック
$SET 任意の行
コメント

この指令は、IBM メインフレームのコンパイラと高い互換性を保ちます。メインフレーム上で S0C7 が発生していたような場合は、ランタイムエラー 163 (「数字フィールドでは不正な文字」) が返されます。

HOST-NUMCOMPARE を指定した場合は、数字データ項目と、数字データ項目または数字定数を比較する IF 文のサブセットに対して IBM メインフレームのコンパイラと高い互換性を保ちます。

IBM メインフレームと 100% 互換性のある動作にはなりませんが、ほとんどの動作がエミュレートされます。

この指令を SPZERO, HOSTSIGNS, SIGN(EBCDIC) とあわせて使用しないでください。


HOST-NUMMOVE

数字の表示データ項目に対して MOVE 文が実行された場合に、実行時エラー 163 (数字項目に違法な文字がある) が発生しないようにします。

構文
 >>--.---.--.------HOST-NUMMOVE----.--><
     .-/-+  .-NO---HOST-NUMMOVE-----+
パラメータ

なし

プロパティ
デフォルト値 NOHOST-NUMMOVE
フェーズ 構文チェック
$SET 任意の行
コメント

この指令は、IBM メインフレームのコンパイラと高い互換性を保ちます。メインフレーム上で S0C7 が発生していたような場合は、ランタイムエラー 163 (「数字フィールドでは不正な文字」) が返されます。

HOST-NUMMOVE を指定した場合は、数字 / 英数字データ形式と、数字 / 数字データ形式を含む MOVE 文のサブセットに対して IBM メインフレームのコンパイラと高い互換性を保ちます。

IBM メインフレームと 100% 互換性のある動作にはなりませんが、ほとんどの動作がエミュレートされます。

この指令を SPZERO, HOSTSIGNS, SIGN(EBCDIC) とあわせて使用しないでください。


HOSTSIGNS

COMP-3 項目に無効な記号片 (項目の再定義などによって生成されたものなど) が含まれている場合に、これらの算術および転記で、期待する結果が得られるようにします。

構文
 >>-.---.-.----.---HOSTSIGNS----------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOHOSTSIGNS
フェーズ 生成
$SET 最初の行
コメント

HOSTSIGNS を指定すると、COMP-3 の算術の実行経路は最適化されません。そのため、プログラムの効率は悪くなります。

コードを小さくし、実行速度を上げる場合は、HOSTSIGNS を指定しないでください。


IBM-MS

IBM COBOL V1.00 で予約されている語を予約語として扱い、特定の機能の動作を変更して IBM COBOL V1.00 COBOL システムと互換性を持たせます。

構文
 >>-.---.-.----.--IBM-MS--------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOIBM-MS
フェーズ 構文チェック
$SET 最初の行
依存関係

IBM-MS を指定するとすぐに DEFAULTBYTE"0" および ACCEPTREFRESH が設定されます。

コメント

この指令は PC1 指令 および MS"1" 指令と同じ働きを持ちます。


IBMCOMP

ワード型記憶域モードを有効にします。

構文
 >>-.---.-.----.--IBMCOMP-------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOIBMCOMP
フェーズ 構文チェック
$SET 最初の行
依存関係

IBMCOMP を指定するとすぐに ALIGN"8" が設定されます。

コメント

ワード型記憶域モードの場合は、USAGE COMP、または COMP-5 のすべてのデータ項目の大きさが、2 バイト、または 4 バイトの倍数になります。IBMCOMP を指定し、プログラム内で USAGE COMP、または COMP-5 として定義された項目に SYNCHRONIZED 句を使用している場合は、ALIGN"1" を指定しないでください。

Micro Focus COBOL システムルーチンを直接呼び出している場合に IBMCOMP を指定する場合は十分に注意してください。これらのルーチンに指定するパラメータの順序やサイズが正しくなくなり、ルーチンで誤った結果が出ることがあります。これは、CBL_ ライブラリルーチン、Adis 呼び出し、および、呼び出し可能なファイルハンドラの直接呼び出しに対するパラメータにも当てはまります。


IDXFORMAT

索引ファイルの作成時に使用する形式を指定します。

構文
 >>-.---.--IDXFORMAT--"integer"-------------><  
    .-/-+
パラメータ
integer 使用するタイプを示す整数を指定します。
プロパティ
デフォルト値 IDXFORMAT"0"
フェーズ 構文チェック
$SET 任意の行
依存関係

FILETYPE"integer" を指定するとすぐに IDXFORMAT"integer" に設定されます。

コメント

integer には次の値を指定できます。

0 システム固有のデフォルト設定。1 を指定した場合と同じ形式です。
1 C-ISAM 形式
2 Micro Focus Level II 形式
3 Micro Focus 索引ファイル形式
4 最適化された Micro Focus 索引ファイル形式。複製ファイルの操作速度が上がります。
5 予約済み
6 予約済み
7 RLIO 形式の索引ファイル
8 大容量の索引編成
9-10 予約済み
11 メインフレームの印刷ファイル形式
12-13 予約済み
14 ヒープファイル
15-255 予約済み

形式が決まっている既存のファイルは、この指令を使用しなくても正しく処理されます。この指令はファイルの新規作成時に使用する形式を制御します。

3 を指定すると、ファイルは常に、この COBOL システムで使用される形式で作成されます。0 を指定して、別のシステムのファイルハンドラを使うプログラムを使用する場合は、ファイルが、使用するファイルハンドラのシステムのデフォルトの形式で作成されます。

4 を指定すると、IDXFORMAT"3" を指定した場合よりも、ファイルが大きくなる可能性があります。

Micro Focus Level II 形式のファイルは、Micro Focus Level II COBOL、Professional COBOL V1.2、および VS COBOL Workbench の V1.3 までのバージョンと互換性があります。(詳細は、『ファイル操作』マニュアルを参照してください。)

IDXFORMAT"2" を使用する場合は、ANS85 指令を使用して ANSI'85 の動作を有効にしないでください。ただし、ANS85"SYNTAX" を使用して、ANSI'85 の構文を有効にすることができます。


IMPLICITSCOPE

構文条件の中には有効範囲を自動的に終了させるものがあります。この場合、指定どおりの結果にならなくなります。NOIMPLICITSCOPE を指定すると、有効範囲が暗黙に終了された場合、構文チェッカーが警告メッセージを生成します。これは通常、範囲明示符 (END-VERB) が使用されていた場合に発生します。

構文
>>-.---.--IMPLICITSCOPE------------><
   +-/-+
パラメータ

なし

プロパティ
デフォルト値 IMPLICITSCOPE
フェーズ 構文チェック
$SET 任意の行
依存関係

なし

コメント

警告メッセージを表示するには WARNINGS(3) を設定する必要があります。

IF ITEM-1 > 10
    MOVE 10 TO ITEM-2
    PERFORM ITEM-3 TIMES
        ADD 1 TO ITEM-3
ELSE
    IF ITEM-1 > 20
        MOVE 20 TO ITEM-2
    ELSE
        MOVE 0 TO ITEM-2.
    MOVE 4 TO ITEM-3

ELSE は PERFORM 行内の有効範囲を終了し、ピリオドはすべての文の有効範囲を終了ます。この例では、2 つのIF文が該当します。

参照

言語リファレンス明示範囲符と暗示範囲符


INDD

ACCEPT 文に、指定したファイルを読み取らせます。

構文
 >>-.---.-.-------INDD--"fname rsize rtype ctype"-.-->< 
    .-/-+ .-------INDD--"fname rsize rtype"-------| 
          .-------INDD--"fname rsize"-------------| 
          .-------INDD--"fname"-------------------| 
          ..----.-INDD----------------------------+ 
           .-NO-+
パラメータ
fname 指定された ACCEPT 文の読み取り先ファイル名を指定します。デフォルト値は SYSIN です。
rsize ファイル内のデータレコードのサイズを指定します。デフォルト値は 80 です。
rtype 行順の場合は L 、レコード順の場合は r のいずれかを指定します。デフォルト値は L です。
ctype ASCII の場合は A を、EBCDIC の場合は E を指定します。 デフォルト値は A です。

E は、CHARSET"EBCDIC" 指令が使用されている場合にのみ有効です。

プロパティ
デフォルト値 NOINDD
フェーズ 構文チェック
$SET 最初の行
コメント

INDD を指定すると、FROM オプションがない、または FROM SYSIN を指定している、形式 1 の ACCEPT 文すべて (または SYSIN に関連付けられた呼び名) が READ 文に変換されます。この READ 文では、指定された外部のファイル名を持つファイルが読み取られます。

ファイル名は、他の外部のファイル名を持つファイルと同じ方法で、物理ファイル名にマップすることができます。つまり、環境変数を使用する方法と、ご使用のシステムで外部ファイルマッパーが使用できる場合は、それを使用する方法があります。

参照

ACCEPT 文
OUTDD コンパイラ指令


INFORETURN

コンパイラで備考メッセージのみが生成された場合の、コンパイラにより返されるコード値を指定します。

構文
 >>-.---.--INFORETURN--"integer"------------><  
    .-/-+
パラメータ
integer 0 から 4 までのいずれかの値を指定します。
プロパティ
デフォルト値 INFORETURN"0"
フェーズ 構文チェック
$SET 任意の行
コメント

コンパイラが終了すると、値が返されます。この値をオペレーティングシステムのコマンドでテストし、コンパイルが成功したかどうかを判断することができます。終了時の値に関しては、『コンパイラの使用』の章の『コンパイラのエラーメッセージ』を参照してください。この指令を指定すると、コンパイラで備考メッセージのみが出力された場合に戻される値を設定することができます。


INITCALL

プログラムの最初の文を実行する直前に呼び出すモジュールを指定します。

構文
 >>-.---.--.-----INITCALL--"module"-.------------.-.--><  
    .-/-+  |                        .-"priority"-+ | 
           .-NO--INITCALL--------------------------+
パラメータ
module 呼び出すモジュールを指定します。
priority モジュールの実行に割り当てる優先度を指定します。
プロパティ
デフォルト値 NOINITCALL
フェーズ 構文チェック
$SET 最初の行
コメント

priority には次の値を指定できます。

H 優先度を高くする (priority が指定されていない場合のデフォルト値)。
L 優先度を低くする。

INITCALL を指定すると、コンパイラで、指定したモジュールの呼び出しが挿入されます。実行時に手続き型コードが実行される前に、指定したモジュールが呼び出されます。呼び出したモジュールにパラメータを渡すことはできません。

この機能を使用して複数のモジュールを呼び出す場合は、INITCALL 指令を繰り返し指定する必要があります。NOINITCALL を指定すると、呼び出されるモジュールのリストがクリアされます。

優先度を高く設定した呼び出しは、優先度を低く設定したものや、コンパイラによる他の呼び出しのどれよりも先に呼び出されます。優先度を低く設定した呼び出しは、コンパイラによって呼び出される他の呼び出しの後に呼び出されます。優先度が同じである呼び出しは、指定された順番に実行されます。


INTDATE

date 本来の機能で使用される、整数形式の日付の起算日を選択します。

構文
>>-.---.------INTDATE---"type"-----><
   .-/-+
パラメータ
type 起算日のタイプを指定します。
プロパティ
デフォルト値 ANSI
フェーズ 構文チェック
$SET 任意の行
コメント

この指令を使用して、date 本来の機能 (つまり、DATE-OF-INTEGER、DAY-OF-INTEGER、INTEGER-OF-DATE および INTEGER-OF-DAY) で使用される整数形式の日付の起算日を選択します。

type には、次の値を指定できます。

ANSI コンパイラで ANSI COBOL 標準の起算日 (第 1 日を 1601 年 1 月 1 日とする) を使用するよう指示します。
LILIAN コンパイラで Lilian の起算日 (第 1 日を 1582 年 10 月 15 日とする) を使用するよう指示します。

date 本来の機能に関する詳細については、『言語リファレンス』を参照してください。


INTLEVEL

コンパイラで中間コードが作成される際に、他の環境の Micro Focus COBOL システムの異なるバージョン用に作成されたコードを移植するレベルを、この指令で制御します。

構文
 >>-.---.-.-----INTLEVEL--"integer"-.-------><  
    .-/-+ .-NO--INTLEVEL------------+
パラメータ
integer 移植レベルを指定します。2、4、または 5 を設定できます。
プロパティ
デフォルト値 INTLEVEL"2"
フェーズ 構文チェック
$SET 不可
依存関係

P64 を指定するとすぐに INTLEVEL"5" に設定されます。

コメント

中間コードの移植性に関する全詳細は、該当する COBOL システムで説明されています。

NOINTLEVEL を指定すると、中間コードは、この環境で実行する場合にのみ適した形で作成されます。

INTLEVEL"integer" を指定すると、他の環境にある Micro Focus COBOL 製品のいくつかのバージョンで実行できる中間コードが作成されます。複数の環境間で移植する場合は、コンパイル時に使用される integer の値が、中間コードを実行する各環境上の Micro Focus COBOL システムでサポートされている必要があります。

INTLEVEL"integer" を指定すると、ユーザプログラムで使用できる構文が制限されることがあります。

コンパイルするプログラムで、審議中の ISO2002 標準規格で定義されている構文を使用している場合は、INTLEVEL"4" 以上を使用してください。DIALECT"ISO2002" を設定した場合は、INTLEVEL"4" がデフォルトで設定されます。これらの指令を設定した場合は、審議中の ISO2002 標準規格で定義されている OO 構文と、Server Express で使用されている OO 構文とが異なるため、Server Express を使用して作成された OO プログラムは失敗します。

参照

DIALECT コンパイラ指令
ISO2002 コンパイラ指令


IOCONV

READ ... INTO 文、および WRITE ... FROM 文での集団の処理方法を選択します。

構文
 >>-.---.-.----.--IOCONV--------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 IOCONV
フェーズ 構文チェック
$SET 任意の行
コメント

NOIOCONV を指定すると、READ ... INTO、および WRITE ... FROM の操作で、集団はそのまま転記されます。この指令は下位互換をサポートするために用意されています。

IOCONV を設定すると、該当する操作で基本レコードの内容が変換されます。これは、通常の ANSI の動作で、デフォルトの設定です。


ISO2002

ISO2002 COBOL 標準規格で予約されている語を予約語として扱い、特定の機能の動作を変更して ISO2002 COBOL 標準規格の機能と互換性を持たせます。

構文
>>-.---.-.----.---ISO2002--------------><
   .-/-+ .-NO-+ 
パラメータ

なし

プロパティ
デフォルト値 NOISO2002
フェーズ 構文チェック
$SET 最初の行
コメント

審議中の ISO2002 標準規格と完全に互換性を持たせるには、DIALECT"ISO2002" 指令も設定する必要があります。これらの指令を設定した場合は、ISO2002 標準規格に提案されている OO 構文と、Server Express で使用されている OO 構文が異なるため、Server Express を使用して作成された OO プログラムは失敗します。

参照

DIALECT コンパイラ指令
INTLEVEL コンパイラ指令


IXNLSKEY

ファイルハンドラが索引ファイルキーを整列する際に、ASCII の文字の照合順序ではなく、ローカルの文字の照合順序に従うよう指定します。

構文
>>-.---.-.----.---IXNLSKEY--------------><
   .-/-+ .-NO-+ 
パラメータ

なし

プロパティ
デフォルト値 NOIXNLSKEY
フェーズ 構文チェック
$SET 任意の行
コメント

索引ファイルを、ロケールの異なるシステムに移動すると、索引キーは検索できなくなります。


IXNUMKEY

索引キーを、数値順に整列します。

構文
>>-.---.-.----.---IXNUMKEY--------------><
   .-/-+ .-NO-+ 
パラメータ

なし

プロパティ
デフォルト値 NOIXNUMKEY
フェーズ 構文チェック
$SET 任意の行
コメント

索引キーは、通常、数字のデータが含まれている場合でも、英数字として扱われます。このため、READ NEXT 操作が正しく動作しないことがあります。この指令は、数字を正しく並べる必要がある場合に使用します。この指令は、通常は符号付き数値として定義されているキーにのみ有効ですが、符号なしデータにも有効になる場合があります (たとえば COMP-5) 。

たとえば、pic s9(5) と定義されたキーの例を示します。キー値が 1、-2、3、-4 の 4 つのレコードがある場合は次のように格納されます。

00001+
00002-
00003+
00004-

これらのキーを英数字として扱うと、上記の順番で検索されますが、これらを数字として扱うと (つまり、IXNUMKEY を指定した場合)、次のような数字の順番で格納されます (READ NEXT を使用した場合の検索順も次のようになります)。

00004-
00002-
00001+
00003+

JAPANESE

Micro Focus 日本語拡張(PIC N、日本語のデータ名および日本語の手続き名)を使用できるようにします。

構文
 >>-.---.-.-------JAPANESE--"integer"-.-----><  
    .-/-+ ..----.-JAPANESE------------+ 
           .-NO-+
パラメータ
integer 1 または 2 を設定し、必要なサポートレベルを指定します。
プロパティ
デフォルト値 NOJAPANESE
フェーズ 構文チェック
$SET 最初の行
コメント

integer には次の値を指定できます。

1 Nihongo Micro Focus 製品の旧バージョンと互換性を持たせます。
2 拡張 PIC N をサポートします。この値を設定すると、DBSPACE 指令が有効になります。

パラメータを指定しないで JAPANESE を指定すると、JAPANESE"2" を指定した場合と同様の動作になります。

この指令は互換性を保つ目的でのみ用意されています。この機能は、NCHAR 指令が引き継ぎます。 JAPANESE および NCHAR は同義語です。JAPANESE、および DBCS は、相互排他的な指令です。

参照

DBCS コンパイラ指令
DBSPACE コンパイラ指令
NCHAR コンパイラ指令


KEEP-INT

コンパイルが失敗した場合、たとえば、コンパイル時に重大なエラーや回復不能なエラーが発生した場合に、コンパイラで中間コードを生成するかどうかを指定します。

構文
 >>-.---.-.----.--KEEP-INT------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 KEEP-INT
フェーズ 構文チェック
$SET 任意の行
コメント

ハイフンを使わずに KEEPINT と指定しても、コンパイラでは認識されます。

NOKEEP-INT を選択して 区分化されたプログラムをコンパイルすると、コンパイルに失敗した区分が 1 つでもあった場合に、中間コードがどの区分に対しても生成されません。


KEYCHECK

ファイルハンドラに、開いている索引ファイルに含まれるすべてのキーが、アプリケー ションで定義されていることを確認させるかどうかを指定します。

構文
 >>---.---.--.----.-----KEYCHECK----------><
      .-/-+  .-NO-+
プロパティ
デフォルト値 KEYCHECK
フェーズ 構文チェック
$SET 任意の行
コメント

KEYCHECK を指定すると、すべてのキーが指定され、一致しているかどうかがチェ ックされ、そうでない場合は、3/9 エラーが返されます。NOKEYCHECK を指定すると、 ファイルがファイルハンドラにより開かれるときに、キーの定義はまったくチェック されません。NOKEYCHECK が設定されている場合にファイルが開かれ、一致しないキー があると、そのキーを明示的に参照する入出力操作(KEY フェーズでの READ または START など)はいずれも、3/9 エラーとなります。


KEYCOMPRESS

索引ファイルに対して実行する、キー圧縮のタイプを指定します。

構文
 >>-.---.-.-----KEYCOMPRESS--"integer"-.----><  
    .-/-+ .-NO--KEYCOMPRESS------------+
パラメータ
integer 0 から 7 までのいずれかの値を指定します。
プロパティ
デフォルト値 NOKEYCOMPRESS
フェーズ 構文チェック
$SET 任意の行
コメント

integer には次の値を組み合わせて指定します。

1 重複キーを反復させない。
2 前のキーと同じ先行文字を使用しない。
4 後続空白を入れない。

これらを組み合わせるには、組み合わせる値を加算した数を指定します。

KEYCOMPRESS"0" は NOKEYCOMPRESS を指定した場合と同じ動作になります。

キー圧縮は、ファイルの作成時にのみ指定する必要があります。指定すると、ファイルが開かれた際に、キー圧縮が認識されます。

個々のファイルに対してキー圧縮を行うには、作成したソースで $SET 文を使用し、この指令が対象ファイル内の SELECT 文にある該当するKEY句を含む、ソースの一部にのみ有効になるよう設定します。


LIBRARIAN

作成したプログラムで -INC 文が使用できるようにします。

構文
 >>-.---.-.----.--LIBRARIAN-----------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOLIBRARIAN
フェーズ 構文チェック
$SET 任意の行
コメント

-INC 文では、原始プログラムにインクルードするファイルを指定します。文字列 -INC は、1 桁目から記述し、間を空けずに大文字で指定します。その後ろに 1 つ以上の空白を空けて、COBOL ソースを含むファイルの名前を同じ行に指定します。指定したファイルは、-INC 文が記述されている位置でプログラムにインクルードされます。


LINE-COUNT

ソースリストの最後に表示される詳細情報を制御します。

構文
 >>-.---.-.-------LINE-COUNT--"integer"-.----><  
    .-/-+ ..----.-LINE-COUNT------------+ 
           .-NO-+
パラメータ
integer 1 または 2 を指定します。
プロパティ
デフォルト値 NOLINE-COUNT
フェーズ 構文チェック
$SET 最初の行
コメント

integer に次の値を指定し、表示内容を制御します。

1 空白行とコメントを除いた確認済みソースの行数がソースリストの最後に表示されます。
2 確認済みソースの行数に加え、その他の追加情報がソースリストの最後に表示されます。これらの情報には、プログラム内の呼び出し数、節数、および条件数などが含まれます。

integer を指定しないで LINE-COUNT を指定すると、LINE-COUNT"2" を指定した場合と同じ動作になります。

参照

LIST コンパイラ指令


LINKCHECK

連絡節項目が参照される度に、その項目の存在を確認します。

構文
 >>-.---.-.----.--LINKCHECK-----------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOLINKCHECK
フェーズ 生成
$SET 最初の行
依存関係

CHECK で LINKCHECK に設定されます。

コメント

LINKCHECK 指令を使用する場合は、PARAMCOUNTCHECK 指令も指定する必要があります。

この指令を設定した場合に、存在しない連絡節項目が参照されると、その度に実行時エラー 203 (CALL のパラメータが指定されていない) が生成されます。

参照

CHECK コンパイラ指令
PARAMCOUNTCHECK コンパイラ指令


LIST

ソースリストファイルの出力先を指定します。

構文
 >>-.---.-.-------LIST-.-"destination"-.-.--><  
    .-/-+ |            .-()------------+ | 
          ..----.-LIST-------------------+ 
           .-NO-+
パラメータ
destination ファイルの完全指定、または装置名を指定します。
プロパティ
デフォルト値 NOLIST
フェーズ 構文チェック
$SET 任意の行 (LIST および NOLIST の場合) 不可 (LIST"filename" および LIST() の場合)
依存関係

NOLIST を指定すると、最後に NOFORM、NOREF、NOSETTING および NOXREF が設定されます。
LIST で FORM"60" がすぐに設定されます。
RNIM を指定すると、最後に NOLIST に設定されます。

コメント

既存のファイルを指定すると、ファイルは上書きされます。

NOLIST を指定すると、ソースリストは作成されません。destination を指定しないで LIST を設定すると、ソースリストは画面に送られます。destination または () のいずれかを指定した場合は、この指令を $SET 文で使用できません。

destination には適切な装置の名前を指定します。この時、システムスプーラの制御下にある装置を選択する必要があります。

パラメータを指定しない NOLIST および LIST は、プログラム内の $SET 文で使用して、プログラムの一部をリストすることができます。リストの出力先をこの方法で変更することはできません。

LIST() を指定すると、ソースリストは source-name.lst ファイルに出力されます。source-name はコンパイルされるプログラム名のルート部分です。

コンパイルの度にソースリストをファイルに出力する場合は、LIST() 指令を cobol.dir ファイルに記述します。これにより、デフォルトの設定値 NOLIST が上書きされます。

LIST 指令が cobol.dir ファイルに既に記述してあり、リストが画面に出力されるようになっている場合は、コマンド行で LIST() を使用すると、デフォルトの設定を上書きできます。


LISTPATH

上書きするリストファイルがあるパスを指定します。ファイルリストの名前は source-name.lst です。

構文
 >>-.---.-.----.--LISTPATH--"list-path"-----><  
    .-/-+ .-NO-+
パラメータ
list-path 上書きするファイルリストへのパス、または、上書きするリストファイルへのパスを指定する環境変数を指定します。
プロパティ
デフォルト値 NOLISTPATH
フェーズ 構文チェック
$SET 最初の行

LISTWIDTH

リストの幅を設定します。

構文
 >>-.---.--.-LISTWIDTH-.-"width"------------><  
    .-/-+  .-LW--------+
パラメータ
width 幅を文字で指定します。72 から 132 の間の値を指定します。
プロパティ
デフォルト値 LISTWIDTH"80"
フェーズ 構文チェック
$SET 任意の行
コメント

LISTWIDTH"132" を指定すると、リストの各行に追加情報が表示されます。この追加情報には、ファイルの開始位置からの相対行番号と、現在のコピーファイル名の先頭 8 字 (メインファイル用の部分) が含まれます。


LITLINK

CALL literal 文のリテラル定数を、パブリックシンボルとしてコンパイラに宣言し、これらの値が、実行時ではなくリンク時に解決されるようにします。 (このようにして生成された呼び出し文を LITLINK 呼び出しと呼びます。)

構文
 >>-.---.-.-----LITLINK-.-----------.-.-----><  
    .-/-+ |             .-"integer"-+ | 
          .-NO--LITLINK---------------+
パラメータ
integer 1 または 2 を指定します。
プロパティ
デフォルト値 NOLITLINK
フェーズ 生成
$SET 最初の行
コメント

この指令は、オブジェクトコードファイルにのみ有効です。

LITLINK"2" を指定すると、CALL 定数 文の名前が、先頭にアンダスコアが 1 つ含まれる "_name" のような場合、エントリ名 _name の LITLINK 呼び出しが生成されます。名前の先頭にアンダスコアが 2 つ含まれる __name のような場合は、エントリ名、 name の LITLINK 呼び出しが生成されます。(つまり、エントリ名はパブリックシンボルとして宣言されます。)

LITLINK または LITLINK"1" を指定した場合は、定数部分の先頭にアンダスコアが含まれるかどうかにかかわらず、すべての CALL 定数 文で LITLINK 呼び出しが生成されます。

No CALL 定数 文では、定数部分の先頭にアンダスコアが含まれるかどうかに関係なく、LITLINK 呼び出しが生成されます。

LITLINK"2" は、16 ビットの COBOL システム用に書かれたコードとの下位互換を維持するためにのみ用意されています。新しくプログラムを作成する場合は、呼び出し規約 8 を使用してください。


LITVAL-SIZE

SIZE 句が省略されていて、数字のリテラル定数を値で渡す場合に、渡す値のバイト数を指定します。

構文
 >>-.---.--LITVAL-SIZE--"integer"-----------><  
    .-/-+
パラメータ
integer 4 までの数字を設定して、渡すバイト数を指定します。
プロパティ
デフォルト値 LITVAL-SIZE"4"
フェーズ 構文チェック
$SET 任意の行

LNKALIGN

USING 文に指定されている連係レコードは、すべて ALIGN 指令に従って割り当てられた 01 またはレベル 77 の項目であることを示します。

構文
 >>-.---.-.----.--LNKALIGN------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOLNKALIGN
フェーズ 生成
$SET 不可
コメント

LNKALIGN を使用すると、実行時にリンク項目へのアクセスするに要する時間を短縮することができますが、この指令を使用する場合は注意が必要です。作成したプログラムをコンパイルする際に、ALIGN 指令を正しく設定する必要があります。項目が割り当てられているかどうかはチェックされません。

この指令を使用した結果は、マシンによって異なるため、この指令の影響がはっきりしない場合は、この指令を使用しないでください。割り当てられていないリンク項目を渡すと、予期しない結果になることがあります。

参照

ALIGN コンパイラ指令


LOCALCOUNT

この指令は、この COBOL システムの内部で使用するために予約されています。 設定のリストに表示される可能性があるため、ここで説明しています。 ユーザが使用する指令ではないので、この設定を変更しないでください。

構文
 >>-.---.--LOCALCOUNT--"integer"------------><  
    .-/-+
パラメータ
integer 0 から 65536 までのいずれかの値です。
プロパティ
デフォルト値 LOCALCOUNT"0"
フェーズ 構文チェック
$SET 最初の行

LOCKTYPE

レコードロックのタイプを指定します。

構文
 >>-.---.--LOCKTYPE--"integer"--------------><  
    .-/-+
パラメータ
integer ロックのタイプ。
プロパティ
デフォルト値 LOCKTYPE"0"
フェーズ 構文チェック
$SET 最初の行
コメント

integer には次の値を指定できます。

0 プログラムは、ロックされたレコードを読み取ることができますが、他の目的でアクセスすることはできません。この COBOL システムでは、これが標準の方法です。
1 プログラムは、ロックされたレコードに全くアクセスできません。これは、COBOL 以外の言語の動作と同じです。
2 開かれているファイルと同じ基本名で、拡張子が .lck のファイルが新規に作成されます。レコードロックはこのファイルに記録されます。これにより、ファイルハンドラは、ファイルが共有されているか、ロックされているかにかかわらず、そのファイルに対して 4 ギガバイトまで読み書きを行うことができます。ストライプしたファイルには、この値を設定しないでください。

この指令は、CALLFH 指令が使用された場合のみ有効です。

参照

CALLFH コンパイラ指令


MAKESYN

予約語を別の予約語の同義語にします。

構文
 >>--MAKESYN-"rsv-word-1" = "rsv-word-2"--->< 
パラメータ
rsv-word-1 予約語を指定します。
rsv-word-2 意味を変更する予約語を指定します。
プロパティ
デフォルト値 予約語の同義語は作成されません。
フェーズ 構文チェック
$SET 最初の行
コメント

等号 (=) の前後に空白文字を入れる必要があります。 読みやすくするために、指令とオプションの間にも空白文字を入れることができます。 この指令を Cob のコマンド行で -C オプションに指定した場合は、すべての文字列を UNIX のシェルに対して正しくエスケープする必要があります。 詳細は、『COBOL システムインターフェイス (Cob)』 の章の 『オプションの構成』 の項を参照してください。 たとえば、MAKESYN をコマンド行で指定する場合は次のようにします。

cob -C 'makesyn "low" == "lowlight"' a.cbl

この指令は、SETTING 指令を指定して作成されるリストには表示されません。


MAPNAME

プログラム名、および入口点が、OS/VS COBOL、DOS/VS COBOL、VS COBOL II、および COBOL/370 と互換性を持つよう、コンパイラで変更されるようにします。

構文
 >>-.---.-.----.--MAPNAME-------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOMAPNAME
フェーズ 構文チェック
$SET 最初の行
コメント

MAPNAME は、コンパイル時に定義されたり、次のようなプログラムから参照されるプログラム名、および入口点に影響があります。

矛盾する名前が検索された場合は、警告メッセージが出力され、オブジェクトプログラムでは、修正された名前が使用されます。適用される規則、および修正される内容は次の通りです。

           0       →         J 
           1 - 9      →       A - I

MAX-ERROR

発生したエラーが指定した数に達した場合に、コンパイラを停止します。

構文
 >>-.---.-.-----MAX-ERROR--"err-cnt-.-------.-"-.-><  
    .-/-+ |                         .-svrty-+   | 
          .-NO--MAX-ERROR-----------------------+ 
 
パラメータ
err-cnt エラーの最大数を指定します。
svrty カウントする最低重大度レベル。重大度が指定したレベル以上のメッセージのみ、カウントされます。次のいずれかを指定します。
F フラグ
I 備考
W 警告
E エラー
S 重大

何も指定しない場合は、F が指定されたことになります。

プロパティ
デフォルト値 NOMAX-ERROR
フェーズ 構文チェック
$SET 任意の行
コメント

ハイフンを使わずに MAXERROR と指定しても、コンパイラでは認識されます。

指定されたレベル以上の重大度を示すメッセージの数が、指定された最大値に達した場合は、コンパイルが停止します。 メッセージは、作成されていれば、その重大度が変更された後にのみカウントされます。

次の指令を指定します。

MAX-ERROR"100 E"

この場合、重大度、 E または S のメッセージが 101 個生成されると、コンパイルは終了します。

参照

CHANGE-MESSAGE コンパイラ指令
FLAG コンパイラ指令
FLAGAS コンパイラ指令
FLAGSTD コンパイラ指令
HIDE-MESSAGE コンパイラ指令
WARNING コンパイラ指令


MF

Micro Focus COBOL システムとの上位互換をサポートする機能です。Micro Focus 固有の予約語を部分的に有効にし、特定の機能の動作を変更して、指定したバージョンと互換性を持たせます。

構文
 >>-.---.-.-------.-MF------.-"integer"-.---><  
    .-/-+ |       .-MFLEVEL-+           | 
          ..----.-.-MF------.-----------+ 
           .-NO-+ .-MFLEVEL-+
パラメータ
integer 互換性を持たせる Micro Focus COBOL のレベルを指定します。
プロパティ
デフォルト値 MF"10"
フェーズ 構文チェック
$SET 最初の行
依存関係

MF"7" を指定するとすぐに DBCS"2" が設定されます。
integer > 7 の場合は、DBCS"3" および DBSPACE がすぐに設定されます。
NOEARLY-RELEASE および MF が設定されている場合は、MF のデフォルト設定が MF"10" になります。
EARLY-RELEASE および MF が設定されている場合は、MF のデフォルト設定が MF"11" になります。

コメント

integer には次の値を指定できます。

1 Professional COBOL V1.0、V1.1、および V1.2
Level II COBOL V2.5 および V2.6
Level II COBOL/ET V1.1
2 VS COBOL Workbench V1.2
VS COBOL V1.2
3 VS COBOL Workbench V1.3
VS COBOL Workbench V2.0
Professional COBOL V2.0
VS COBOL V1.5
4 COBOL/2 V1.1
Professional COBOL/2
COBOL/2 Workbench V2.2
Microsoft COBOL V3.0
5 COBOL/2 V1.2
COBOL/2 Workbench V2.3
6 COBOL/2 V2.4
COBOL/2 Workbench V2.4
Microsoft COBOL V4.0
7 COBOL/2 V2.5
COBOL/2 Workbench V2.5
Microsoft COBOL V4.5
8 COBOL V3.0
COBOL Workbench V3.0
Microsoft COBOL V5.0
9 COBOL V3.1
COBOL Workbench V3.1
10 古いリリースの構文が有効な COBOL V3.1
古いリリースの構文が有効な COBOL Workbench V3.1
COBOL V3.2 および V3.3
COBOL Workbench V3.2 および V3.3
Object COBOL V3.2 および V3.3
COBOL V4.0 (UNIX)
11 古いリリースの構文が有効な COBOL V3
V4.0 (UNIX)

この COBOL システムの旧バージョンでの空白行句の動作は、OLDBLANKLINE 指令を使用すると実装できます。この COBOL システムの旧バージョンでの NEXT SENTENCE 句の動作は、OLDNEXTSENTENCE 指令を使用すると実装できます。

MF"11" には、MF"10" のすべての予約語、および古いリリースの構文内の予約語の一部が含まれます。EARLY-RELEASE 指令がすでに設定されている場合に、パラメータを設定しないで MF を指定すると、MF"11" が設定されます。EARLY-RELEASE 指令が設定されていない場合は、MF"10" が設定されます。EARLY-RELEASE 指令を設定しない状態で MF"11" を設定することはできません。

参照

EARLY-RELEASE コンパイラ指令
OLDBLANKLINE コンパイラ指令
OLDNEXTSENTENCE コンパイラ指令


MFCOMMENT

1 桁目にアスタリスク (*) が記述されている行を注記行と同様に扱います。ただし、これらの行は、ソースリストには表示されません。

構文
 >>-.---.-.----.--MFCOMMENT-----------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 MFCOMMENT
フェーズ 構文チェック
$SET 任意の行
依存関係

SOURCEFORMAT"FREE" を指定すると、最後に NOMFCOMMENT に設定されます。

コメント

MFCOMMENT を指定すると、1 桁目にアスタリスク (*) が記述されている行は、コンパイラに無視されます。これらの行はソースリストに表示されません (Animator では表示されます)。NOMFCOMMENT を指定すると、アスタリスクは一連番号の一部となり、特別な意味を持ちません。


MOVE-LEN-CHECK

英数字の MOVE 操作に関して、ソースの長さとターゲットの長さがコンパイラで確認されるようにします。

構文
 >>-.---.--.----.-----MOVE-LEN-CHECK------><
    .-/-+  .-NO-+
プロパティ
デフォルト値 NOMOVE-LEN-CHECK
フェーズ 構文チェック
$SET 任意の行
コメント

この指令を指定すると、英数字の MOVE 操作で、ソースの長さとターゲットの長さをがコンパイラで確認され、長さが異なる場合は警告メッセージ (166) が出力されます。

この指令を有効にした場合に生成される警告メッセージは、WARNINGS"2"、または WARNINGS"3" を選択した場合にのみ表示されます。

参照

WARNINGS コンパイラ指令.


MS

Microsoft 固有の予約語を部分的に有効にし、指定したバージョンと互換性を持つよう、特定の機能の動作を変更して、Microsoft COBOL システムとの上位互換を容易にします。

構文
 >>-.---.-.-------MS--"version"-.-----------><  
    .-/-+ ..----.-MS------------+ 
           .-NO-+
パラメータ
version 1 または 2 を指定します。
プロパティ
デフォルト値 NOMS
フェーズ 構文チェック
$SET 最初の行
依存関係

MS を指定するとすぐに DEFAULTBYTE"0" および ACCEPTREFRESH が設定されます。

コメント

version には次の値を指定できます。

1 Microsoft COBOL バージョン 1
2 Microsoft COBOL バージョン 2

パラメータを指定しないで MS を指定すると、MS"2" を指定した場合と同様の動作になります。 MS"1" は、IBM-MS、および PC1 と同じです。

この指令は、Microsoft COBOL のバージョン 3.0 より古いバージョンと互換性を持たせるために用意されています。V3.0 以降と互換性を持たせるためには、次の指令を使用してください。

NOMS MF"integer"

integer にの値に関しては、MF 指令のページで説明しています。

参照

MF コンパイラ指令


MVS

IBM COBOL for MVS で予約されている語を予約語として扱います。

構文
 >>---+-------+-+--------+--- MVS -------------------->>  
     +-- / --+ +-- NO --+
     
パラメータ

なし

プロパティ
デフォルト値 NOMVS
フェーズ 構文チェック
$SET 最初の行
コメント

MVS を指定するとすぐに DBSPACE と DBCS"3" が設定されます。


NATIVE

比較で使用するデフォルトの文字の照合順序を指定します。

構文
 >>-.---.--NATIVE--"coll-seq"---------------><  
    .-/-+
パラメータ
coll-seq "ASCII" または "EBCDIC"
プロパティ
デフォルト値 NATIVE"ASCII"
フェーズ 構文チェック
$SET 最初の行
依存関係

CHARSET"ASCII" を指定するとすぐに NATIVE"ASCII" に設定されます。
CHARSET"EBCDIC" を指定すると、最後に NATIVE"EBCDIC" に設定されます。

コメント

詳細は、『言語リファレンス』で、PROGRAM COLLATING SEQUENCE の規則を参照してください。

索引ファイルの場合は、キーがつねに ASCII の文字の照合順序で並べられています。


NATIVE-FLOATING-POINT

プログラムの浮動小数点のデータ項目が IBM の16進数形式を使用するかどうかを判断します。

構文
 >>-.---.-.----.--NATIVE-FLOATING-POINT-----><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NATIVE-FLOATING-POINT
フェーズ 構文チェック
$SET 最初の行
コメント

NATIVE-FLOATING-POINT を指定すると、すべての浮動小数点のデータ項目は IEEE を使用します。NONATIVE-FLOATING-POINT を指定すると、MAINFRAME_FLOATING_POINT 環境変数によって使用する形式を判断します。


NCHAR

Micro Focus 2 バイト言語拡張 (PIC N、日本語のデータ名および日本語の手続き名) を使用できるようにします。

構文
 >>-.---.-.-------NCHAR--"integer"-.--------><  
    .-/-+ ..----.-NCHAR------------+ 
           .-NO-+
パラメータ
integer 1 または 2 を設定し、必要なサポートレベル指定します。
プロパティ
デフォルト値 NONCHAR
フェーズ 構文チェック
$SET 最初の行
コメント

integer には次の値を指定できます。

1 日本語版 Micro Focus 製品の旧バージョンと互換性を持たせます。
2 拡張 PIC N をサポートします。 この場合、 DBSPACE 指令が有効になります。

パラメータを指定しないで NCHAR を指定すると、NCHAR"2" を指定した場合と同様の動作になります。

この指令は JAPANESE 指令の同義語ですが、この指令を使用することをお奨めします。

NCHAR および DBCS は、相互排他的な指令です。

NCHAR"2" を指定して PIC X を PIC N に変更すると、空白文字 (x"20") は 2 バイトの空白文字に拡張されます。これに伴い、x"2020" は、2 バイトの空白文字 2 つに拡張されます。 NCHAR"1" を指定すると、x"2020" は、2 バイトの空白文字 1 つに拡張されます。

参照

DBCS コンパイラ指令
DBSPACE コンパイラ指令
JAPANESE コンパイラ指令


NESTCALL

この指令は、この COBOL システムの内部で使用するために予約されています。 設定のリストに表示される可能性があるため、ここで説明しています。 ユーザが使用する指令ではないので、この設定を変更しないでください。

作成したプログラムで入れ子プログラムが使用できるようにします。

構文
 >>-.---.-.----.--NESTCALL------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NONESTCALL
フェーズ 構文チェック
$SET 最初の行

NESTLOCALSTORAGE

この指令は、この COBOL システムの内部で使用するために予約されています。 設定のリストに表示される可能性があるため、ここで説明しています。 ユーザが使用する指令ではないため、この設定を変更しないでください。

入れ子プログラムで局所記憶域節が使用できるようにします。

構文
 >>-.---.-.----.--NESTLOCALSTORAGE----------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NONESTLOCALSTORAGE
フェーズ 構文チェック
$SET 最初の行

NLS

NLS サポート機能を有効にします。

構文
 >>-.---.-.----.--NLS-----------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NONLS
フェーズ 構文チェック
$SET 不可
コメント

NLS を指定すると、プログラムは、実行時に自動的にユーザの国に適した文字集合、通貨記号、および編集記号に適応できます。

参照

『プログラマーズガイド − アプリケーション作成』『各国語対応』の章


NSYMBOL

PIC N 句に対する USAGE のデフォルト値を定義し、各国語の解釈を制御します。

構文
>>-.---.--NSYMBOL--"nsymbol-type"---------><
   +-/-+
パラメータ
プロパティ
nsymbol-type N 記号の意味。次の値を設定できます。
DBCS USAGE 句が指定されていない PIC N 句では、USAGE 句は DISPLAY-1、つまりDBCS 文字となります。
リテラルの先頭のN 記号がDBCS 文字を表します。
NATIONAL USAGE 句が指定されていない PIC N 句では、USAGE 句は NATIONAL つまりユニコード文字となります。
リテラルの先頭のN 記号がユニコード文字を表します。


ODOOSVS

OCCURS DEPENDING ON 項目の評価時の動作が、OS/VS COBOL コンパイラと互換性を持つようにします。

構文
 >>-.---.-.----.--ODOOSVS-------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NSYMBOL"DBCS"
フェーズ 構文チェック
$SET
デフォルト値 NOODOOSVS
フェーズ 構文チェック
$SET 最初の行
依存関係

ODOOSVS を指定すると、最後に ODOSLIDE が設定されます。

コメント

ODOOSVS を指定すると、可変長集団の長さと、可変長テーブルの後ろの項目のアドレスは、OCCURS DEPENDING ON 項目が変更された際に評価されます。可変長集団、または移動データ項目が参照された場合には評価されません。


ODOSLIDE

可変長テーブルの長さが変更された場合に、そのテーブルと同じレコードで、そのテーブルの後にあるデータ項目を移動します。

構文
 >>-.---.-.----.--ODOSLIDE------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOODOSLIDE
フェーズ 構文チェック
$SET 最初の行
依存関係

ODOOSVS を指定すると、最後に ODOSLIDE に設定されます。

コメント

この指令は、可変長テーブルと同じレコードで、テーブルの後ろにあるデータ項目に作用します。つまり、OCCURS DEPENDING 句のある項目の後ろで、その項目に属さないデータ項目に有効です。

ODOSLIDE を指定すると、これらの項目はサイズに関係なく、常にテーブルのすぐ後ろに配置されます。つまり、これらの項目のアドレスは、テーブルのサイズが変わると変更されます。NOODOSLIDE を指定すると、これらの項目は固定アドレスを持ちます。このアドレスは、テーブルの最後に配置された空白の後から始まります。


OLDBLANKLINE

スクリーン節の空白行句の動作を変更します。

構文
 >>-.---.-.----.--OLDBLANKLINE--------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOOLDBLANKLINE
フェーズ 構文チェック
$SET 任意の行
コメント

OLDBLANKLINE を指定すると、BLANK LINE 句は、ERASE EOL と全く同じ動作をします。つまり、カーソルの右側にあるすべての文字が削除されます。

NOOLDBLANKLINE を指定すると、BLANK LINE 句は行全体を削除します。


OLDCOPY

COPY 文の動作を ANSI'68 標準規則に準拠させます。

構文
 >>-.---.-.----.--OLDCOPY-------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOOLDCOPY
フェーズ 構文チェック
$SET 任意の行

OLDFILEIO

この指令は、この COBOL システムの内部で使用するために予約されています。 設定のリストに表示される可能性があるため、ここで説明しています。 ユーザが使用する指令ではないため、この設定を変更しないでください。

構文
 >>-.---.-.----.--OLDFILEIO-----------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOOLDFILEIO
フェーズ 構文チェック
$SET 最初の行

OLDINDEX

索引を添字としてコンパイルします。

構文
 >>-.---.-.----.--OLDINDEX------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOOLDINDEX
フェーズ 構文チェック
$SET 最初の行
依存関係

NORM を指定するとすぐに NOOLDINDEX に設定されます。
RM および RM"ANSI" を指定するとすぐに OLDINDEX に設定されます。

コメント

この指令は、旧製品と互換性を持たせるために提供されています。


OLDNEXTSENTENCE

NEXT SENTENCE 文の動作を変更します。

構文
 >>-.---.-.----.--OLDNEXTSENTENCE-----------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOOLDNEXTSENTENCE
フェーズ 構文チェック
$SET 任意の行
コメント

OLDNEXTSENTENCE を指定すると、NEXT SENTENCE 文は CONTINUE 文と同じ動作になります。

CONTINUE および NEXT SENTENCE の詳細は、『言語リファレンス』を参照してください。

参照

CONTINUE 文


OLDREADINTO

READ ... INTO 文の動作を変更します。

構文
 >>-.---.-.----.--OLDREADINTO---------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOOLDREADINTO
フェーズ 構文チェック
$SET 任意の行
コメント

OLDREADINTO を指定すると、READ に失敗した場合でも、ファイルのレコード領域から、INTO 句で指定されたデータ項目への暗黙的な移動が実行されます。NOOLDREADINTO を指定した場合は、READ が成功した場合にのみ MOVE が実行されます。


OLDSTRMIX

PIC X および PIC N フィールドを、同じ STRING 文、UNSTRING 文、または INSPECT 文で指定できるようにします。

構文
 >>-.---.-.----.--OLDSTRMIX---------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOOLDSTRMIX
フェーズ 構文チェック
$SET 任意の行
コメント

この指令は、上位互換をサポートするために提供されています。

この指令を使用すると、予期しない結果や 2 バイトデータの破損などを引き起こす可能性があるため、使用しないことをお奨めします。


OOCTRL

この指令を指定すると、OO COBOL クラスをコンパイルする際の言語オプションを変更できます。

構文
                       +---------------.    
                       |               | >>----.---.---OOCTRL---.-switch-option-.------><
      .-/-+                
パラメータ
switch option を有効、または無効にします。
option OO プログラムの構文の処理方法を指定します。
プロパティ
デフォルト値 OOCTRL"-W" (すべての方言)
フェーズ 構文チェック
$SET 任意の行
コメント

switch には次の値を指定できます。

+ option を有効にする。
- option を無効にする。

option には次の値を設定できます。

G インスタンスに対してクラスデータをグローバルにします。 このオプションは、使用しないことをお奨めします。これは、古いリリースと互換性を持たせるためのオプションです。
P パラメータタイプの情報を、実行時のシステムで利用できるようにします。この情報は、OLE および SOM に送信するメッセージで必要です。
Q 次の機能を無効にします。
  • IN および OF を、メソッドインタフェース定義の動詞シグネチャ中のデータ名の後ろに続く可能性のある場所で使用した場合

  • メソッドインタフェース定義の動詞シグネチャ中のすべての動詞
W 次の作業記憶域を使用します。
  • インスタンス、およびクラスオブジェクトのオブジェクト記憶域として使用する作業記憶域

  • メソッドのローカルの記憶域として使用する作業記憶域

作業記憶域がローカルの記憶域を意味する場合は、ローカル記憶域節を指定しないでください。作業記憶域がオブジェクト記憶域を意味する場合は、オブジェクト記憶域節を指定しないでください。

これにより、開発中の ISO2002 COBOL 標準規格と互換性を持たせることができます。

開発中の ISO COBOL 標準規格に示されるのと同じ方法で作業記憶域を使用する場合は +W を設定します。


OPT (Intel x86 プラットフォーム)

Intel x86 CPUのシステムでのオブジェクトコードファイルで生成されるコードの最適化レベルを指定します。Solaris Intel、UnixWare などのシステムがこれに相当します。

構文
>>----.---.---OPT---integer------><
      .-/-+                
パラメータ
integer 最適化のレベルを指定します。
プロパティ
デフォルト値 何も指定しないとき OPT"2"、単に OPT とだけ指定したとき OPT"3"
フェーズ 生成
$SET 任意の行
依存関係

ANIM を指定するとすぐに NOOPT に設定されます。

コメント

integer には次の値を指定できます。

1 最低限の最適化
2 デフォルトの最適化
3 追加の最適化。特に STRING、UNSTRING、および INSPECT を最適化します。このオプションを指定すると、デフォルトの最適化に比べ、プログラムの生成に要する時間が短くなります。
4 3 と同じように最適化されますが、さらに、Intel プラットフォーム上ではコードのスケジューリングも行われます。この値を指定すると、3 に比べて、プログラムの生成に要する時間が長くなります。

OPT (Intel x86 プラットフォーム以外)

Intel x86 以外のCPUのシステムでのオブジェクトコードファイルで生成されるコードの最適化レベルを指定します。AIX、Solaris Sparc、HP-UX、IA64 などのシステムがこれに相当します。

構文
>>----.---.---OPT-------><
      .-/-+                
パラメータ
なし
プロパティ
デフォルト値 OPT
フェーズ 生成
$SET 任意の行
コメント

OPT は、全体として最適化 (global optimisation)を行います。つまり、最適化においては、小さなプログラムの連続としてではなく、プログラム全体を1つのプログラムとして調べます。

OPTを指定すると、OPTを指定しない場合に比べて、コンパイルの時間がかなり長くなります。

大きなプログラムの最適化を要求すると、メモリ不足によりコンパイルが失敗する可能性があります。失敗した場合は、NOOPTを指定してコンパイルを繰り返し行います。


OPTIONAL-FILE

I-O または EXTEND のために開かれたファイルはすべて、コンパイラで省略可能なファイルとして扱われるようにします。

構文
 >>-.---.-.----.--OPTIONAL-FILE-------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 OPTIONAL-FILE
フェーズ 構文チェック
$SET 最初の行
依存関係

NORM を指定するとすぐに OPTIONAL-FILE に設定されます。
RM または RM"ANSI" を指定するとすぐに NOOPTIONAL-FILE に設定されます。

コメント

ANSI'85 標準規格の COBOL では、ファイル内の SELECT 文に OPTIONAL 句がある場合のみ、ファイルはオプションファイルとして扱われます。ANSI'85 標準規格と互換性を持たせるには、NOOPTIONAL-FILE 指令を指定する必要があります。


OS390

IBM COBOL for OS/390 R2V2 で予約されている語を予約語として扱います。

構文
 >>---+-------+-+--------+--- OS390 ----------------------><  
     +-- / --+ +-- NO --
パラメータ

なし

プロパティ
デフォルト値 NOOS390
フェーズ 構文チェック
$SET 最初の行
依存関係

OS390 を指定するとすぐに DBSPACE と DBCS"3" が設定されます。


OSVS

IBM OS/VS COBOL で予約されている語を予約語として扱います。

構文
 >>-.---.-.----.--OSVS----------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOOSVS
フェーズ 構文チェック
$SET 最初の行
依存関係

OSVS を指定するとすぐに NODOSVS が設定されます。

参照

DOSVS コンパイラ指令


OUTDD

DISPLAY および EXHIBIT 文の出力が、指定した出力ファイルに書き込まれるようにします。

構文
 >>-.---.-.--------OUTDD--"fname rsize rtype ctype"-.'"
    .-/-+ .--------OUTDD--"fname rsize rtype"-------|
          .--------OUTDD--"fname rsize"-------------|
          .--------OUTDD--"fname"-------------------|
          .-.----.-OUTDD----------------------------+ 
            .-NO-+
パラメータ
fname 指定された DISPLAY 文、および EXHIBIT 文の出力の書き込み先ファイル名を指定します。デフォルト値は SYSOUT です。
rsize ファイル内のデータレコードのサイズを指定します。デフォルト値は 132 です。
rtype 行順編成の場合は L、レコード順の場合は R を指定します。デフォルト値は L です。
ctype ASCII の場合は A、EBCDIC の場合は E を指定します。デフォルト値は A です。

E は、CHARSET(EBCDIC) 指令が使用されている場合にのみ有効です。

プロパティ
デフォルト値 NOOUTDD
フェーズ 構文チェック
$SET 最初の行
コメント

OUTDD を指定すると、UPON オプションがない、または UPON SYSOUT を指定している、形式 1 の すべての DISPLAY 文およびすべての EXHIBIT 文 が WRITE 文に変換されます。この WRITE 文では、指定された外部のファイル名を持つファイルに書き込まれます。

ファイル名は、他の外部のファイル名を持つファイルと同じ方法で、物理ファイル名にマップすることができます。つまり、環境変数を使用してマップすることも、外部ファイルマッパー MFExtmap を使用してマップすることもできます。

参照

DISPLAY 文
EXHIBIT 文
INDD コンパイラ指令


OVERRIDE

予約語を、新しく作成した語に置き換えます。

構文
             +---------------------------. 
             v                           | 
 >>-OVERRIDE--"rsv-word" = "user-word"----->< 
パラメータ
rsv-word 既存の予約語を指定します。
user-word 既存の予約語と異なる COBOL 語を指定します。
プロパティ
デフォルト値 予約語の変更は行われません。
フェーズ 構文チェック
$SET 最初の行
コメント

この指令を指定すると、既存の予約語が、指定した利用者語として扱われます。そのため、プログラムでは、user-word は予約語として扱われ、rsv-word を利用者語として使用することができます。

等号 (=) の前後に空白文字を入れる必要があります。指令とオプションの間にも空白文字を入れて、見やすくすることができます。この指令を Cob のコマンド行で -C オプションに指定した場合は、すべての文字列を UNIX のシェルに対して正しくエスケープする必要があります。詳細は、『COBOL システムインターフェイス (Cob)』の章の 『オプションの構成』 の項を参照してください。OVERRIDE をコマンド行で指定する例を次に示します。

cob -C 'override "global" == "glob"' a.cbl

この指令は SETTING 指令を指定して作成されたリストには表示されません。


P64

64 ビットの実行時環境で実行するプログラムをコンパイルします。

構文
 >>-.---.-.----.--P64------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 32 ビットシステムの場合は NOP64 です。cob64 コマンドを実行してコンパイルした場合、または作業モードが 64 に設定されている場合は
P64 です。
フェーズ 構文チェック
$SET 任意の行
依存関係

P64 を指定するとすぐに次の指令が設定されます。

RTNCODE-SIZE"8"
INTLEVEL"5"
FCD3

コメント

P64 指令を設定すると、プログラムは、64 ビットの開発環境での実行用にコンパイルされ、64 ビットのポインタが処理されます。

参照

FCD コンパイラ指令
INTLEVEL コンパイラ指令
RTNCODE-SIZE コンパイラ指令

32 ビットの作業モード および 64 ビットの作業モードに関する詳細は、『32 ビットモードおよび 64 ビットモードでの作業』の章を参照してください。


PANVALET

プログラムで ++INCLUDE 文を使用できるようにします。

構文
 >>-.---.-.----.--PANVALET------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOPANVALET
フェーズ 構文チェック
$SET 任意の行
コメント

++INCLUDE 文は、原始プログラムにインクルードするファイルを指定します。文字列 ++INCLUDE は、領域 A または領域 B から記述し、間を空けずに大文字で指定します。その後に 1 つ以上の空白を入れて、COBOL のソースを含むファイルの名前を同じ行に指定します。指定したファイルは、++INCLUDE 文が記述されている位置でプログラムにインクルードされます。

PANVALET および LIBRARIAN をともに指定すると、コンパイルしたプログラムはメインフレームと互換性がないという警告メッセージが出力されます。


PARAMCOUNTCHECK

入口点の USING 句に指定する場合よりも少ないパラメータで、同じプログラムが呼び出せるようにします。

構文
 >>-.---.-.----.--PARAMCOUNTCHECK-----------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 PARAMCOUNTCHECK
フェーズ 生成
$SET 最初の行
依存関係

CHECK で PARAMCOUNTCHECK に設定されます。

コメント

次のいずれかに当てはまる場合は、この指令を使用する必要があります。

これ以外の場合は、NOPARAMCOUNTCHECK を指定してコンパイルコンパイルした方が効率が良くなります。COBOL 以外の言語から呼び出されるプログラムは、NOPARAMCOUNTCHECK を指定してコンパイルしなければなりません。

参照

CHECK コンパイラ指令
LINKCHECK コンパイラ指令
STICKY-LINKAGE コンパイラ指令


PC1

IBM COBOL V1.00 で予約されている語を予約語として扱い、特定の機能の動作を変更して IBM COBOL V1.00 COBOL システムと互換性を持たせます。

構文
 >>-.---.-.----.--PC1-----------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOPC1
フェーズ 構文チェック
$SET 最初の行
依存関係

PC1 を指定するとすぐに DEFAULTBYTE"0" および ACCEPTREFRESH が設定されます。

コメント

この指令は、IBM-MS 指令および MS"1" 指令と同じ意味を持ちます。


PERFORM-TYPE

入れ子になった PERFORM 文からのリターンジャンプの動作を指定します。

構文
 >>-.---.--PERFORM-TYPE--"dialect"----------><  
    .-/-+
パラメータ
dialect MF、OSVS、または RM を指定します。
プロパティ
デフォルト値 PERFORM-TYPE"MF"
フェーズ 構文チェック
$SET 最初の行
依存関係

PERFORM-TYPE"OSVS" を指定すると、最後に TRICKLE が設定されます。

コメント

dialect には次の値を指定できます。

MF 現在実行されている PERFORM 文の最も内側の出口点のみが認識され、そのリターンジャンプが実行されます。
OSVS 現在実行されている PERFORM 文の出口点のうち、到達された出口点が認識されます。最初に到達された出口点のリターンジャンプが実行されます。出口点が同じ PERFORM 文は、2 つまで (内側と外側) 入れ子にすることができます。 それ以上の階層の入れ子にすると、正しくリターンされません。節の終わりは、その節の最後の段落の終わりと同じ場所として認識されます。

PERFORM-TYPE"OSVS" を指定すると、 OS/VS COBOL、DOS/VS COBOL、VS COBOL II、および COBOL/370 のメインフレームの動作と互換性を持たせることができます。

RM 現在実行されている PERFORM 文の出口点のうち、到達された出口点が認識されます。最初に到達された出口点のリターンジャンプが実行されます。 出口点が同じ PERFORM 文を入れ子にすることはできません。入れ子にした場合は、正しくリターンされません。 節の終わりは、その節の最後の段落の終わりとは異なる場所として認識されます。
参照

STICKY-PERFORM コンパイラ指令


PERFORMOPT

空の段落を参照する PERFORM 文に対して、コンパイラでコードが生成されないようにします。

構文
 >>-.---.-.----.-PERFORMOPT---------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 PERFORMOPT
フェーズ 生成
$SET 最初の行
コメント

効率を上げるため、通常の場合は、空の段落を参照する PERFORM 文に対しては、コンパイラでコードが生成されません。たとえば、記録のためなどでコードを残す必要がある場合は、NOPERFORMOPT を指定します。


PREPLIST

コンパイル時に作成されるリストファイルに、プロプロセッサからコンパイラに渡されるすべてのデータのみでなく、オリジナルのソースと、プリプロセッサで作成された変更済みソースも表示されるようにします。

構文
 >>-.---.-.----.--PREPLIST------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOPREPLIST
フェーズ 構文チェック
$SET 不可
コメント

この指令は、プリプロセッサライタのデバッグ用に用意されています。

この指令は、リストファイルが作成される場合に、その内容にのみ影響します。リストファイルの作成の有無や、リストファイルの名前を決定するものではありません。


PREPROCESS

コンパイラが、ソースファイルからではなく、プリプロセッサから原始プログラムを受け取るように指定します。

構文
 >>-.---..----.-PREPROCESS-.-"name".------..------.-.-->< 
    .-/-+|    .-P----------+       .-dirs-+.-ENDP-+ |
         .-NO-.-PREPROCESS-.------------------------+
              .-P----------+
パラメータ
name 使用するプリプロセッサを指定します。
dirs プリプロセッサに直接渡す指令を指定します。
プロパティ
デフォルト値 NOPREPROCESS
フェーズ 構文チェック
$SET ソースの最初の行でのみ
不可 (NOPREPROCESS を指定した状態で)
コメント

この指令は、統合されたプリプロセッサを使用することをコンパイラに伝えます。

この指令の使用方法に関する詳細は、『プログラマーズガイド − アプリケーション作成』『統合プリプロセッサインターフェイス』の章を参照してください。

$SET 文はコンパイラとプリプロセッサの両方で前処理されます。また、$SET 文で PREPROCESS 指令が設定されている場合、この指令は $SET 文全体が処理されてから有効になります。$SET 文に他の指令が含まれていた場合、プリプロセッサで、そのソースが 2 度解析されると、矛盾が発生する場合があります。特に、SOURCEFORMAT 指令は、プリプロセッサで自由形式と解釈されたソースを、コンパイラでは固定形式と解釈される、またはその逆の現象が発生する原因となります。そのため、PREPROCESS コンパイラ指令を $SET 文で指定する場合は、$SET 文には PREPROCESS 指令のみが含まれるようにしてください。他の指令を設定する場合は、PREPROCESS 指令を指定した $SET 文以降の行に、別の $SET 文を使って指定してください。

プリプロセッサに渡す指令は、ENDP COBOL 指令を使用して終了させてください。ENDP の後に指定された指令は、COBOL コンパイラに渡されます。ENDP 指令を指定しないと、コンパイラ指令が、COBOL コンパイラにではなく、プリプロセッサに渡され続けます。

指令を COBSQL プリプロセッサに送る場合は END-C を使用して、COBSQL に渡す指令と、プリコンパイラに渡す指令を区別します。たとえば、次のコマンド行では、END-C の前に指定した指令は COBSQL に渡され、END-C と ENDP の間に指定した指令は COBSQL 経由でプリコンパイラに渡されます。

 preprocess(cobsql) csqltype=oracle end-c comp5=yes endp; 

COBSQL に関する詳細は、『データベースアクセス』 マニュアルを参照してください。


PRINT

ソースリストのファイルの出力先を指定します。

構文
 >>-.---.-.-------PRINT-.-"destination"-.-.--><  
    .-/-+ |             .-()------------+ | 
          ..----.-PRINT-------------------+ 
           .-NO-+
パラメータ
destination ファイルの完全指定、または装置名を指定します。
プロパティ
デフォルト値 NOPRINT
フェーズ 構文チェック
$SET 任意の行
コメント

PRINT は LIST と同じ意味を持ちます。LIST に適用される規則はすべて PRINT にも適用されます。

参照

LIST コンパイラ指令


PRINT-EXT

ASSIGN TO PRINTER 句に関連付けられたファイル名に、指定した拡張子を追加します。

構文
 >>-.---.--PRINT-EXT--"extension"-----------><  
    .-/-+
パラメータ
extension 追加する拡張子を指定します。
プロパティ
デフォルト値 拡張子は追加されません。
フェーズ 構文チェック
$SET 任意の行
コメント

この指令は、ファイル名を指定しない ASSIGN-PRINTER() が指定された場合のみ有効です。

参照

ASSIGN-PRINTER コンパイラ指令


PROFILE

プログラムを実行する度に、詳細なパフォーマンス情報を生成するコードをプログラムにインクルードします。

構文
 >>-.---.-.----.--PROFILE-------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOPROFILE
フェーズ 構文チェック
$SET 不可

PROGID-COMMENT

プログラム ID 段落で、プログラム ID の後にコメントを記述できるようにします。

構文
 >>-.---.-.----.--PROGID-COMMENT------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOPROGID-COMMENT
フェーズ 構文チェック
$SET 最初の行
コメント

この指令は、この COBOL システムの旧バージョンと互換性を持たせるために用意されています。


PROTECT-LINKAGE

標準の COBOL 語を拡張し、呼び出し側プログラムと呼び出されるプログラムで、パラメータの長さが異なっていても正常に動作するようにします。

通常は、制約を無視すると予期しない結果となり、保護違反、またはメモリアクセス障害などの重大エラーになることもあります。

構文
 >>-.---.-.----.--PROTECT-LINKAGE-----------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOPROTECT-LINKAGE
フェーズ 構文チェック
$SET 最初の行
コメント

ANSI COBOL 標準の規格では、CALL 文で渡されるパラメータに関する一般規則として、「呼び出されたプログラムのデータ項目の内容には、呼び出し側プログラムの対応するデータ項目の内容に記述されているのと同じ文字位置数を記述しなければならない。」としています。この COBOL システムを使用する場合も、PROTECT-LINKAGE 指令を指定しないでプログラムをコンパイルする場合には、この制約を守る必要があります。

PROTECT-LINKAGE 指令が設定されると、この制約は解除されます。呼び出されたプログラムでは、適合しないパラメータは文中の送信項目としてのみ使用され、受信項目としては使用されません。

呼び出されたプログラムと呼び出し側プログラム間で、対応がとれないパラメータ中の文字位置が一致しない文字です。この一致しない文字の内容は、呼び出されたプログラムで送信項目として使用されるパラメータに定義されません。

この指令は、ユーザアプリケーションのパフォーマンスに影響を与えます。

呼び出し側プログラム

     ... 
     03 x1  pic x. 
     03 x2  pic x(100). 
 procedure division. 
      ... 
     call subprog using x1 
      ...

副プログラム

$set protect-linkage 
 working-storage section. 
 01  y1       pic x(1000). 
 
 linkage section. 
 01  z1       pic x(1000). 
 
 procedure division using z1. 
 
     move z1 to y1 
* この操作は正しく動作して、x1 の内容が転送されます。 
* この操作では、呼び出し側プログラムの x1 に続くデータも転送されます。
* データは、1000 バイトに達するか、割り当てられたメモリの
* 最後に達するまで転送されます。転送されたデータが 1000 
* バイトより小さい場合は、y1 の残りの部分に空白文字が入れられます。
 
     move y1 to z1. 
* この操作は保護されず、失敗します。
* 呼び出し側プログラムの x1 の先のデータを破壊したり、
* 割り当てられたメモリを超えて書き込みを行おうとして、
* 保護違反となり、失敗します。

PROTOTYPE

COMP、BINARY、COMP-4、COMP-5、および COMP-X データ項目の CALL プロトタイプが、CALL 文の BY VALUE 句、または RETURNING 句で使用された場合に、これらを大まかに、または厳密にチェックします。これは同時に、プロトタイプからパラメータタイプを暗黙的にコピーするかどうかを指定することにもなります。

構文
>>----.---.-----PROTOTYPE----"level"---------------------><
      .-/-+
パラメータ
level STRICT、RELAXED、または NORMAL を指定します。
プロパティ
デフォルト値 PROTOTYPE"RELAXED"
フェーズ 構文チェック
$SET 任意の行
コメント

PROTOTYPE 指令を指定すると、CALL プロトタイプの呼び出し処理を制御できます。次のオプションがあります。

RELAXED データ項目、およびパラメータの属性がプロトタイプとおおまかに照合されます。
NORMAL データ項目がプロトタイプと厳密に照合され、パラメータの属性はおおまかに照合されます。
STRICT データ項目、およびパラメータの属性がプロトタイプと厳密に照合されます。

PROTOTYPE"RELAXED" は、32 ビットシステムで記述されたプログラムのうち、64 ビットシステムで記述された CALL プロトタイプを使用するプログラムをコンパイルする場合に特に役立ちます。

デフォルトでは、BY VALUE バイナリデータ項目は、おおまかにタイプチェックされます。(つまり、PROTOTYPE"RELAXED" が設定されています)。 たとえば、CALL 文の USING リストで PIC X(2) COMP データ項目を使用できます。この項目を、CALL プロトタイプの PIC X(n) COMP データ項目と対応させることができます。n には、32 ビットシステムでは 1 から 4 までの値が入り、64 ビットシステムでは、1 から 8 までの値が指定できます。渡された値が受信データ項目に指定された値よりも大きい場合は切り捨てられます。この大まかなタイプチェックで切り捨てが実行されないようにするには、プログラムをコンパイルする際に PROTOTYPE"NORMAL"、または PROTOTYPE"STRICT" を設定します。

PROTOYPE"NORMAL"、または PROTOTYPE"RELAXED" を設定すると、呼び出し時のパラメータの属性は、プロトタイプからコピーされます。PROTOYPE"STRICT" を設定すると、このコピーは実行されません。次のプログラムを例として説明します。

program-id. prog1 is external.
entry call-conv "my_api" by value x1 by reference x2
end program prog1.

program-id. prog2.
call "my_api" by x1 x2   

PROTOYPE"NORMAL" を設定すると、my_api の呼び出しは、コンパイラで次のように変換されます。

call call-conv "my_api" by value x1 by reference x2

PROTOTYPE"STRICT" を設定すると、my_api の呼び出しは、通常の規則に従った場合と同様にパラメータが処理されます。そのため、この呼び出しは次のように変換されます。

call "my_api" by reference x1 by reference x2

この時、コンパイラから適切なエラーメッセージが出力されます。また、呼び出し規約がプロトタイプに指定されているものと一致しない場合や、CALL 文に規則が指定されていない場合は、同じように、エラーメッセージが出力されます。

参照

CALL プロトタイプの概要は、『プログラマーズガイド − アプリケーション作成』マニュアルの『プログラムの呼び出し』の章で、『CALL プロトタイプ』 の項を参照してください。

CALL プロトタイプの使用例に関しては、『言語リファレンス - 追加トピック』『Examples』の章で、『呼出しプロトタイプ』の項を参照してください。

CALL プロトタイプで使用する構文に関しては、『言語リファレンス』を参照してください。


QUAL

プログラムで修飾されたデータ名および手続き名を使用できるようにします。

構文
 >>-.---.-.----.--QUAL----------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 QUAL
フェーズ 構文チェック
$SET 任意の行
コメント

作成したソースコードで、修飾されたデータ名または手続き名を使用していない場合は、NOQUAL を指定することができます。これにより、コンパイル速度が上がります。

参照

QUALPROC コンパイラ指令


QUALPROC

修飾された手続き名を、プログラムで使用できるようにします。

構文
 >>-.---.-.----.--QUALPROC------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 QUALPROC
フェーズ 構文チェック
$SET 任意の行
コメント

作成したソースコードに、修飾された手続き名を使用していない場合は、NOQUALPROC を指定することができます。 これにより、コンパイル速度が上がります。 作成したソースコードで、修飾されたデータ名を使用していても、修飾された手続き名は使用していない場合は、QUAL および NOQUALPROC を指定します。

参照

QUAL コンパイラ指令


QUERY

コンパイラでコピーファイルが検出されない場合に、その都度次の動作が確認されるようにします。

構文
 >>-.---.-.----.--QUERY---------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOQUERY
フェーズ 構文チェック
$SET 任意の行
コメント

QUERY を指定すると、コンパイラでコピーファイルが検出できない場合に、コンパイルを停止するか、再検索するか、エラーメッセージを作成して続行するか、または別のパスを指定してもう一度検索するかの確認を求められます。

NOQUERY を指定すると、コンパイラはを作成して続行します。


QUOTE

表意定数 QUOTE を、二重引用符 (") としてコンパイラに解釈させます。

構文
 >>-.---.--QUOTE----------------------------><  
    .-/-+
パラメータ

なし

プロパティ
デフォルト値 QUOTE
フェーズ 構文チェック
$SET 任意の行
コメント

この指令の反対を意味を持つのは APOST 指令です。この指令を指定すると、単一引用符が使用されます。


RAWLIST

ページヘッダー、日付、時刻、コンパイラのリリースレベルなどの可変情報を、生成されるリストファイルに含めないようにします。

構文
 >>-.---.-.----.--RAWLIST-------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NORAWLIST
フェーズ 構文チェック
$SET 任意の行
コメント

この指令は、リストファイルの作成の有無や、リストファイルの名前には影響を与えません。

参照

LIST コンパイラ指令


RDFPATH

リポジトリファイルの場所を指定します。

構文
>>-.---.--.----RDFPATH-"path"---.--------><
   +-/-+  +-NO-RDFPATH----------+
パラメータ
path リポジトリファイルを格納するパス名(pathname)
プロパティ
デフォルト値 NORDFPATH
フェーズ 構文チェック
$SET 最初の行
コメント

リポジトリファイルは次の順で検索されます。

  1. NORDFPATH あるいは RDFPATHでパスが指定されている場合はソースフォルダ
  2. COBCPY 環境変数で指定された場所

NORDFPATH を指定すると、リポジトリファイルはソースフォルダに格納されます。

参照

ファイルのコンパイルとリンク
REPOSITORY


RDW

可変長順ファイルから読みこまれたレコードの長さを検出できます。

構文
 >>-.---.-.----.--RDW-----------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NORDW
フェーズ 構文チェック
$SET 任意の行
コメント

RDW 指令を指定すると、4 バイトのレコード長フィールドが、そのファイルのレコード領域の前にすぐに割り当てられます。READ の後、読み込まれたばかりのレコード長 (バイナリの) は、このレコード領域の先頭 2 バイトに格納されます。返される長さには、レコード長フィールドそのものも含まれるため、実際のレコード長よりも 4 バイト長くなります。

レコード領域をテーブルとして定義し、マイナスの添字、または 0 の添字を使用すると、このフィールドにアクセスできます。

RDW 指令はメインフレームと互換性を持たせるためにのみ用意されています。新しくプログラムを作成する場合は、FD 文の RECORD IS VARYING DEPENDING ON 句を使用してください。

 fd  file-1. 
 01  rec-1           pic x(100). 
 01  rec-2. 
     03  rdw-table   pic x(4) occurs 25. 
 Working-storage section. 
 01  rdw-area. 
     03  rec-length  pic 9(4) comp. 
     03  filler      pic 9(4) comp.
 procedure division. 
     ... 
     read file-1 
     move rdw-table (0) to rdw-area 
     ...
参照

FD 文


RECMODE

ファイルのデフォルトの形式を指定します。

構文
 >>-.---.--RECMODE--"format"----------------><  
    .-/-+
パラメータ
format F、V、または OSVS を指定します。
プロパティ
デフォルト値 RECMODE"F"
フェーズ 構文チェック
$SET 最初の行
コメント

format には次の値を指定できます。

F 固定長レコード形式
V 可変長レコード形式
OSVS ファイルのレコード定義によって、固定長、または可変長になります。ファイルのすべてのレコード定義が同じ長さで固定長の場合、そのファイルは固定長レコード形式です。それ以外の場合は可変長レコード形式です。

これを設定すると、OS/VS COBOL、および DOS/VS COBOL と互換性が持てます。CMPR2 指令を指定してコンパイルすると、VS COBOL II、および COBOL/370 の両方に RECMODE"OSVS" との互換性を持たせることができます。

VSC23 ファイルのレコード定義に従って、固定長、または可変長になります。 ファイルのすべてのレコード定義が同じ長さで、固定長の場合、または FD エントリに RECORD CONTAINS x CHARACTERS 句がある場合は、そのファイルは固定長レコード形式です。それ以外の場合は可変長レコード形式です。 これを設定し、NOCMPR2 を指定してコンパイルすると、VS COBOL II、および COBOL/370 と互換性が持てます。

FD に RECORD IS VARYING 句 (可変形式を指定する句)、または RECORDING MODE 句が含まれている場合は、個々のファイルに対してこの指令が上書きされます。


RECURSECHECK

生成されたコードの再帰チェック(checking for recursion)をオンにします。

構文
>>-.---.-.----.--RECURSECHECK------------------><
   +-/-+ +-NO-+
パラメータ

なし

プロパティ
デフォルト値 NORECURSECHECK
フェーズ 生成
$SET 最初の行
参照

実行時の動作


REENTRANT

マルチスレッドプログラムの再入性を制御します。マルチスレッドアプリケーシ ョンで再入性のあるプログラムはいずれも、この指令とともにコンパイルする必要が あります。REENTRANT が指定されている場合は、多くのプログラム領域が動的に割り 当てられ、同じプログラムを複数、同時に問題なく実行することができます。

構文
 >>-.---.-.-----REENTRANT--"n"-----><  
    .-/-+ .-NO--REENTRANT------------+
パラメータ
n 1 または 2
プロパティ
デフォルト値 NOREENTRANT
フェーズ 構文チェック
$SET 最初の行
コメント

n は、次のいずれかです。

1 コンパイラにより生成される一時的な作業領域は すべて、スレッドごとに割り当てられます。環境部およびデータ部に割り当てら れるユーザデータおよび FD ファイル領域はすべて、全スレッドにより共有されま す。プログラマは、CBL_ 同期呼び出しを使用して、プログラムのデータの連続性 を保たなければなりません。
2 環境部およびデータ部に割り当てられるユーザ データおよび FD ファイル領域はすべて、スレッドごとに割り当てられます。 EXTERNAL データおよびファイルはつねに、すべてのスレッドにより共有されます。

再入性を持たせるプログラムにはいずれも、可能な限り、REENTRANT"1" を使用してください。REENTRANT"2" は、既存のプログラムに再入性に持たせ る最初の手順としてのみ、使用してください。

参照

SERIAL コンパイラ指令


REFNO

リストの下方にだけでなく、コンパイルの開始時にもコンパイラの内部参照番号が表示されるようにします。

構文
 >>-.---.-.----.--REFNO---------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOREFNO
フェーズ 構文チェック
$SET 不可

REMAINDER

DIVIDE 文での剰余の計算方法を選択できます。

>>----------REMAINDER---"integer"----><
パラメータ
integer 1 または 2 を指定します。

プロパティ
デフォルト値 REMAINDER"2"
フェーズ 構文チェック
$SET 最初の行
コメント

integer には次の値を設定します。

1 ANSI 85 のアルゴリズムがコンパイラで使用されます。
2 補助商を採用するアルゴリズムがコンパイラで使用されます。この補足商は符号付で、どんな値でも有効に保持できるだけの十分なサイズがあります。現在、すべての IBM メインフレームのコンパイラで、この非標準のアルゴリズムが使用されています。

REMOVE

予約語リストから語を削除し、利用者語として使用できるようにします。

構文
                  +----------.
                  v          | 
 >>-.---.--REMOVE--"rsv-word"---------------><  
    .-/-+
パラメータ
rsv-word 予約語を指定します。
プロパティ
デフォルト値 予約語は削除されません。
フェーズ 構文チェック
$SET 最初の行
コメント

この指令は SETTING 指令を指定して作成されたリストには表示されません。


REPORT-LINE

報告書の 1 行の最大長を指定します。

構文
 >>-.---.-.-----REPORT-LINE--"integer"-.----><  
    .-/-+ .-NO--REPORT-LINE------------+
パラメータ
integer 最大長を文字数で指定します。
プロパティ
デフォルト値 REPORT-LINE"256"
フェーズ 構文チェック
$SET 最初の行

REPOSITORY

リポジトリファイルを作成、つまりコンパイルされるプログラムは、リポジトリファイルに対するチェックを行うことを要求します。

構文
>>-.---.-------REPOSITORY--"option"------><
   +-/-+
パラメータ
option 次のいずれかを指定します。
UPDATE ON コンパイルされるクラス、プログラム、関数、あるいはインタフェースに対するリポジトリファイルを作成します。
UPDATE OFF リポジトリファイルは作成しません。
CHECKING ON CALL文およびINVOKE文でパラメータの適合性チェックにリポジトリが使用されます。
CHECKING OFF 適合性チェックは行いません。
プロパティ
デフォルト値 REPOSITORY "UPDATE OFF CHECKING OFF"
フェーズ 構文チェック
$SET 最初の行
コメント

リポジトリファイルは、RDFPATH 指令で指定されたディレクトリに作成されます。

参照

実行時の動作
RDFPATH


RESEQ

コンパイラで行番号が表示されるようにします。

構文
 >>-.---.-.----.--RESEQ---------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 RESEQ
フェーズ 構文チェック
$SET 最初の行
依存関係

XREF を指定するとすぐに RESEQ に設定されます。
SEQCHK を指定するとすぐに NORESEQ に設定されます。
SOURCEFORMAT"FREE" の最後に NORESEQ に設定されます。

コメント

これらは COBOL 行の一連番号で、1 から始まり、1 ずつ増えます。


RETRYLOCK

READ 文でレコードがロックされていることが確認された場合に、対象レコードを読み取れるまで、その読み取り操作が繰り返し呼び出されるようにします。

構文
 >>-.---.-.----.--RETRYLOCK-----------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NORETRYLOCK
フェーズ 構文チェック
$SET 任意の行
依存関係

NORM を指定するとすぐに NORETRYLOCK に設定されます。
RM、または RM"ANSI" を指定するとすぐに RETRYLOCK に設定されます。

コメント

この指令は、ファイルに FILE STATUS 項目があり、そのファイルに対する定義が特に指定されていない場合にのみ有効です。


REWRITE-LS

行順ファイルで REWRITE 文を使用できるようにします。

構文
 >>-.---.-.----.--REWRITE-LS----------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 REWRITE-LS
フェーズ 構文チェック
$SET 不可
コメント

書き込むレコードと、置換するレコードは、同じサイズにしてください。


RM

Ryan-McFarland COBOL V2.0 で予約されている語を予約語として扱い、特定の機能の動作を変更して、Ryan-McFarland COBOL V2.0 COBOL システムと互換性を持たせます。

構文
 >>-.---.-.-------RM--"ANSI"-.--------------><  
    .-/-+ ..----.-RM---------+ 
           .-NO-+
パラメータ
ANSI コメントを参照してください。
プロパティ
デフォルト値 NORM
フェーズ 構文チェック
$SET 最初の行
依存関係

RM を指定するとすぐに SEQUENTIAL"LINE"、NOTRUNC、OLDINDEX、NOOPTIONAL-FILE、RETRYLOCK、COMP-6"1" および ALIGN"2" が設定されます。
RM"ANSI" を指定するとすぐに SEQUENTIAL"RECORD"、NOTRUNC、OLDINDEX、NOOPTIONAL-FILE、 RETRYLOCK、COMP-6"1" および ALIGN"2" が設定されます。
NORM を指定した場合はすぐに SEQUENTIAL"RECORD"、TRUNC"ANSI"、NOOLDINDEX、OPTIONAL-FILE、NORETRYLOCK、COMP-6"2" および ALIGN"8" が設定されます。

コメント

ANSI パラメータを設定した場合は、これらの機能が Ryan-McFarland COBOL V2.0 COBOL システムに ANSI スイッチを設定してプログラムをコンパイルした場合と同様に動作します。Ryan-McFarland COBOL V2.0 に関する詳細は、『言語リファレンス - 追加トピック』を参照してください。


RTNCODE-SIZE

RETURN-CODE 特殊レジスタのサイズとメモリ上の配置を指定します。

構文
 >>-.---.--RTNCODE-SIZE--"integer"----------><  
    .-/-+
パラメータ
integer 2、4、または 8 を指定します。
プロパティ
デフォルト値 RTNCODE-SIZE"4"
フェーズ 構文チェック
$SET 最初の行
依存関係

XOPEN を指定するとすぐに RTNCODE-SIZE"4" に設定されます。
P64 を指定するとすぐに RTNCODE-SIZE"8" に設定されます。

コメント

integer には次の値を指定できます。

2 PIC S9(4) COMP: サイズは 2 バイトで、2 バイト間隔に割り当てられます。
4 PIC S9(9) COMP: サイズは 4 バイトで、4 バイト間隔に割り当てられます。
8 PIC S9(16) COMP: サイズは 8 バイトで、8 バイト間隔に割り当てられます。

呼び出されるプログラムの RETURN-CODE セットが、呼び出し側プログラムの RETURN-CODE セットよりも小さい場合は、呼び出されたプログラムから戻された値が、呼び出し側プログラムの RETURN-CODE の下側のバイトに設定され、その他のバイトは定義されません。たとえば、RETURN-CODE が 4 バイトのプログラムから RETURN-CODE が 2 バイトのプログラムを呼び出した場合は、8 バイトの RETURN-CODE のうち、下側 2 バイトが設定されます。残りのバイトの内容は定義されません。

呼び出されるプログラムの RETURN-CODE セットが、呼び出し側プログラムの RETURN-CODE セットよりも大きい場合に、呼び出されたプログラムからコードが戻されると、戻された値の下側のバイトが、呼び出し側の RETURN-CODE に設定さ、上側のバイトは失われます。たとえば、4 バイトRETURN-CODEを持つプログラムから 8 バイト RETURN-CODEを持つプログラムを呼び出した場合は、8バイトの RETURN-CODE のうち、下側 4 バイトが設定されます。その他のバイトの内容は失われます。


RWHARDPAGE

最後の項目がページ上に印刷された後、レポートライター制御モジュールに、 通常の複数の空白行の代わりにフォームフィードを実行させます。これにより、 用紙の位置が、次のページの印刷に備えて整えられます。

構文
 >>-.---.-.----.--RWHARDPAGE----------------><  
    .-/-+ .-NO-+
パラメータ

なし。

プロパティ
デフォルト値 NORWHARDPAGE
フェーズ 構文チェック
$SET 最初の行
コメント

この指令とともに CODE IS 句を使用すると、2 バイトコードがページの末尾 まで展開されません。


SAA

SAA (システムアプリケーションアーキテクチャ) の COBOL 定義で予約されている語を予約語として扱います。

構文
 >>-.---.-.-------SAA--"level"-.------------><  
    .-/-+ ..----.-SAA----------+ 
           .-NO-+
パラメータ
level 整数値を設定して、サポートする SAA のレベルを指定します。
プロパティ
デフォルト値 NOSAA
フェーズ 構文チェック
$SET 最初の行
依存関係

SAA を指定すると、DBSPACE および DBCS"2" がすぐに設定されます。
SAA"2" を指定すると、最後に ANS85 が設定されます。

コメント

level には次の値を指定できます。

1 SAA レベル 1 がサポートされます。
2 SAA レベル 2 がサポートされます。

パラメータを指定しないで SAA を指定すると、SAA"2" を指定した場合と同様の動作になります。


SEG

COBOL の区分を有効にします。

構文
 >>-.---.-.----.--SEG-----------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 SEG
フェーズ 構文チェック
$SET 最初の行
コメント

NOSEG を指定すると、コード内のすべての節番号が、コンパイラで 0 として扱われます。つまり、区分はコンパイラで無視され、オーバーレイのない 1 つのプログラムが作成されます。


SEQCHK

1 桁目から 6 桁目までの一連番号をコンパイラでチェックし、順番通りになっていないソース行を確認します。

構文
 >>-.---.-.----.--SEQCHK--------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOSEQCHK
フェーズ 構文チェック
$SET 任意の行
依存関係

SEQCHK を指定するとすぐに NORESEQ が設定されます。
SOURCEFORMAT"FREE" の最後に NOSEQCHK に設定されます。


SEQUENTIAL

ORGANIZATION SEQUENTIAL として (暗黙的、または明示的に) 定義されるファイルのデフォルトのファイルタイプを指定します。

構文
 >>-.---.--SEQUENTIAL--"type"---------------><  
    .-/-+
パラメータ
type ADVANCING、ANSI、LINE、または RECORD を指定します。
プロパティ
デフォルト値 SEQUENTIAL"RECORD"
フェーズ 構文チェック
$SET 最初の行
依存関係

NORM または RM"ANSI" を指定するとすぐに SEQUENTIAL"RECORD" に設定されます。
RM を指定するとすぐに SEQUENTIAL"LINE" に設定されます。

コメント

type には次の値を指定できます。

ADVANCING LINE ADVANCING のレコード順
ANSI ANSI 準拠のレコード順
LINE 行順
RECORD レコード順 (標準の順ファイル)

SERIAL

プログラムがマルチスレッド環境で実行されることを指定します。

構文
 >>---.----.----SERIAL---------><
      .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOSERIAL
フェーズ 生成
$SET 最初の行
コメント

この指令を指定すると、スレッドをチェックするコードが作成されます。これにより、ランタイムシステムはプログラムのエントリを検知することができます。2 つ目以降の COBOL プログラムがアクティブになった場合は、ランタイムシステムが、前のプログラムが終了するまで、プログラムのエントリを拒否します。これにより、マルチスレッド環境で COBOL プログラムを安全に終了することができます。 この指令は、指定したスレッド上で最初に実行する COBOL プログラムに使用する必要があります。

スレッドチェックのコードは実行時間が長いことと、プログラムがエントリされるたびに呼び出されることに注意してください。マルチスレッド環境で実行する予定のプログラムは、この指令を設定してコンパイルする必要があります。

参照

REENTRANT コンパイラ指令


SETTING

設定されている指令が、コンパイラからソースリストに一覧表示されるようにします。

構文
 >>-.---.-.-------.-SETTING--.-.----------.-.-><  
    .-/-+ |       .-SETTINGS-+ .-"format"-+ | 
          ..----.-.-SETTING--.--------------+ 
           .-NO-+ .-SETTINGS-+
パラメータ
format リストのレイアウトを指定します。構文チェックフェーズで生成されるリストにのみ有効です。
プロパティ
デフォルト値 NOSETTING
フェーズ 構文チェック
$SET 任意の行
依存関係

NOLIST の最後に NOSETTING に設定されます。

コメント

チェックフェーズで使用する場合は、format には次のいずれかの値を指定できます。

LINE 1 行に複数の指令が表示され、各指令は空白文字で区切られます。
COL 1 行につき 1 つの指令が表示されます。
COL3 1 行につき 3 つの指令が表示されます。

format を指定しないと、LINE が指定されたものとして動作します。

他の COBOL システムと互換性を持たせるためにのみ用意されている指令 (たとえば、COMMIT など) は表示されません。また、コードの生成を制御する指令、予約語リストに特定の変更を加える指令、または他の指令と同じ意味を持つ指令も表示されません。

この指令を $SET 文以外で指定すると、指令のリストはプログラムのソースがプリプロセッサで処理される前に生成されます。$SET 文でこの指令を指定すると、その文のすべての指令が処理された後にリストが作成されます。どちらの場合も、リストにはリストが作成された時点での各指令の状態が表示されます。

参照

LIST コンパイラ指令


SHOW-DIR

指令ファイルの内容が、コンパイラからソースリストに表示されるようにします。

構文
 >>-.---.-.----.--SHOW-DIR------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOSHOW-DIR
フェーズ 構文チェック
$SET 任意の行
コメント

指令ファイルとは、 cobol.dir ファイル、または DIRECTIVES 指令や USE 指令で指定されるファイルです。 cobol.dir はどの指令よりも先に処理されるため、このファイルの内容をソースリストに表示する場合は、cobol.dir の先頭に SHOW-DIR を指定する必要があります。

SHOW-DIR および NOSHOW-DIR を部分的に使用すると、指令ファイルの一部のみをリストに表示することができます。


SIGN

符号付きの数字の DISPLAY 項目の符号を、ASCII または EBCDIC のどちらの表記規則に従って解釈するかを指定します。

構文
 >>-.---.--SIGN--"convention"---------------><  
    .-/-+
パラメータ
convention ASCII または EBCDIC を指定します。
プロパティ
デフォルト値 SIGN"ASCII"
フェーズ 構文チェック
$SET 最初の行
依存関係

CHARSET"ASCII" を指定するとすぐに SIGN"ASCII" に設定されます。
CHARSET"EBCDIC" を指定すると、最後に SIGN"EBCDIC" に設定されます。


SIGN-FIXUP

MOVE と COMPARE 文で、メインフレームのコンパイラオプション NUMPROC(NOPFD) および NUMPROC(PFD) のエミュレーションが制限されます。

構文
 >>---+-------+-+--------+--- SIGN-FIXUP ---------><
     +-- / --+ +-- NO --+
パラメータ

なし

プロパティ
デフォルト値 NOSIGN-FIXUP
フェーズ 構文チェック
$SET 最初の行
説明

この指令を指定すると、次のような影響があります。


SOURCEFORMAT

COBOL ソースの形式を選択します。自由形式または固定形式を指定します。

構文
 >>-.---.--SOURCEFORMAT--"format-type"------><  
    .-/-+
パラメータ
format-type FIXED または FREE を設定し、COBOL ソースの形式を指定します。
プロパティ
デフォルト値 SOURCEFORMAT"FIXED"
フェーズ 構文チェック
$SET 任意の行
依存関係

SOURCEFORMAT"FREE" を指定すると、最後に NOMFCOMMENT、NORESEQ、および NOSEQCHK が設定されます。

コメント

自由形式および固定形式のコードに関する詳細は、『言語リファレンス』 を参照してください。


SPZERO

USAGE DISPLAY の数字データ項目がすべて空白文字である場合に、その空白文字が 0 として扱われるようにします。

構文
 >>-.---.-.----.--SPZERO--------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOSPZERO
フェーズ 両方
$SET 任意の行
コメント

NOSPZERO を指定した場合に数字のデータ項目内に空白文字があると、予期しない結果となります。


SQL

指定したオプションに応じて、プログラム中の EXEC SQL 文が、ODBC または OCI ランタイム呼び出しで置換されるようにします。

構文
 >>-.---.-.----SQL-.----------------------.-.--><  
    .-/-+ |        |   +-----.---.-----.  | | 
          |        |   |     .-,-+     |  | | 
          |        |   v               |  | | 
          |        .-(.-option=setting-.)-+ | 
          |           |                |    | 
          |           .-NO-option------+    | 
          .-NO-SQL--------------------------+
パラメータ
option SQL オプションの 1 つを指定します (次を参照)。
setting オプションの設定を指定します。
プロパティ
デフォルト値 NOSQL
フェーズ 構文チェック
$SET 最初の行
コメント

オプションとその設定など、SQL 指令の使用について詳しくは、『データベースアクセス』マニュアルの 『Open ESQL』 の章を参照してください。

EXEC SQL 文が 標準の EXEC syntax 構文として処理される(詳しくは 『言語リファレンス』 を参照)ようにするには、 指令、NOSQL を明示的に指定する必要があります。


SSRANGE

実行時に次のことを指定します。

>>-.---.-.-SSRANGE-----"integer"--.-->< 
.-/-+ .-NOSSRANGE--------------+
パラメータ
integer 必要な SSRANGE のサポートレベルを指定します。

プロパティ
デフォルト値 NOSSRANGE
フェーズ 構文チェック
$SET 最初の行
依存関係

すぐに BOUND が設定されます。

コメント

integer には次の値を指定できます。

1 長さが負の数、または 0 の部分参照式を使用しようとすると、実行時エラー 153 が発生します。

STDERR

エラーメッセージをコンソール (STDOUT) にではなく、STDERR にエコーします。

構文
 >>-.---.-.----.--STDERR--------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 STDERR
フェーズ 構文チェック
$SET 任意の行

STICKY-LINKAGE

プログラムが次に呼び出されるまで、そのプログラムへのパラメータのリンクが解除されないようにします。

構文
 >>-.---.-.------STICKY-LINKAGE--"integer"-.-><  
    .-/-+ .-NO---STICKY-LINKAGE------------+
パラメータ
integer 1 または 2 のいずれかを指定します。
プロパティ
デフォルト値 NOSTICKY-LINKAGE
フェーズ 構文チェック
$SET 最初の行
コメント

COBOL の連絡節の目的は、連絡節 (リンク項目) で宣言されたレベル 01 またはレベル 77 のデータ項目 1 つと、動的に指定された複数のデータ項目をリンクし、これらが同じ記憶領域を共有しているように見せることです。 リンクは次の 3 つのいずれかの方法で確立されます。プログラム名を参照する CALL 文、 エントリ名を参照する CALL 文、または SET 文のいずれかです。最初の機構 (プログラム名を参照する CALL 文) は ANSI で指定された標準の機能です。他の 2 つは、この COBOL システムでサポートされている COBOL 言語の拡張機能です。

ANSI COBOL では、呼び出されたプログラムは、CALL 文で渡されたパラメータに、連絡節でアクセスできます。CALL 文の USING 句のパラメータ数は、手続き部の見出しの USING 句にあるパラメータの数と同じでなければなりません。連絡節のレベル 01 または レベル 77 のデータ項目のうち、手続き部の見出しの USING 句に存在しない項目は参照できません。

ENTRY 文は COBOL 言語の拡張機能で、プログラムに代替入口点を設定します。 ENTRY 文では、手続き部の見出しと同じように USING 句を使用します。また、リンク項目に関しても同様で、リンク項目のうち、プログラムを呼び出したエントリ名に関連する USING 句に存在しない項目は参照できません。

SET 文を使用すると、POINTER 値を使用して、リンク項目をリンクすることができます。POINTER の値は、記憶域の場所を識別する値です。このようなリンク項目は、記憶域の決まった場所に格納されているデータを参照する場合に使用できます。

リンク項目がリンクされる場合、およびリンクが解除される場合の詳細を、概念的な言葉を使って次で説明します。

この COBOL システムでは、実行時にリンク項目が参照されると、その項目がデータ項目にリンクされていることが確認されます。リンク項目がリンクされている記憶領域がない場合は、実行時エラーが発生します。容易に確認できるようにするために、プログラムの最初の文が実行される直前の呼び出しで、すべてのリンク項目のリンクが一旦解除され、その後、呼び出し側プログラムから渡されるパラメータを持つリンク項目が再度リンクされます。つまり、呼び出されたプログラムのリンク項目のうち、SET 文を使ってデータ項目にリンクされるものは、そのプログラムが次に呼び出されたときにはリンクが解除されています。このため、プログラムが呼び出されるたびに SET 文を実行する必要があります。

他の多くの COBOL の動作は、ANSI 規則にそれほど厳密に従っていません。STICKY-LINKAGE 指令でも、パラメータで 2 つの異なる方式を指定しますが、これらもこの規則に厳密に従った方式ではありません。

STICKY-LINKAGE"1" を指定すると、呼び出されたプログラムの USING 句にあるリンク項目のみ、リンクが解除されます。他のリンク項目については前のリンクが維持されます。プログラム名を使ってプログラムが呼び出された場合にリンクが解除されるのは、手続き部の見出しの USING 句の項目です。それ以外の場合は、プログラムが呼び出された入口点に関連する USING 句の項目のリンクが解除されます。

この方式では、USING 句のリンク項目が参照される際に、呼び出し側プログラムから渡されるパラメータが不充分で、CALL 文の USING 句に対応するパラメータが存在しない場合は実行時エラーになります。

STICKY-LINKAGE"2" を指定すると、プログラムが呼び出された時、すべてのリンク項目のリンク状態は維持されます。ただし、起動時、または CANCEL 文で参照された後のように、プログラムが初期状態にある場合は除きます。 呼び出し側プログラムからパラメータが渡された場合や、SET 文を使用してリンクが変更された場合を除き、すべてのリンク項目は、前の呼び出し時に確立されたリンクが維持されます。

STICKY-LINKAGE"2" を呼び出されるプログラムに使用すると、このプログラムは COBOL プログラムからのみ呼び出せます。


注 : 上記の段落では、特定の実行方法を明示していません。この指令をこの COBOL システムで実際に使用し、ANSI 規則に反した動作をエミュレートした場合、プログラムのサイズや実行速度に悪い影響を与えることがあります。


次のプログラムを STICKY-LINKAGE 指令を指定しないでコンパイルして実行すると、2 番目の CALL 文で、"ent" に制御が渡り、DISPLAY 文まで進みますが、ここで 2 つのリンク項目が参照されると、これらは ENTRY "ent" の USING 句にないため、実行時エラー 203 (CALL パラメータが連絡節に定義されていない) が発生します。

このプログラムを STICKY-LINKAGE"1" を指定してコンパイルして実行すると、3 番目の CALL 文で "sub" に制御が渡り、DISPLAY 文で、手続き部の見出しの USING 句にあるリンク項目が参照されるところまで進みますが、CALL 文で対応するパラメータが渡されていないため、ここで失敗します。

このプログラムを STICKY-LINKAGE"2" を指定してコンパイルして実行すると、プログラムの終わりまで正常に実行されます。

 program-id. main. 
 working-storage section. 
 01 param pic x value "a". 
 procedure division. 
     call "sub" using param 
     call "ent" 
     call "sub" 
     stop run. 
 end program main. 
 
 program-id. sub. 
 linkage section. 
 01 link-1 pic x. 
 01 link-2 pic x. 
 procedure division using link-1. 
     set address of link-2 to address of link-1 
     display link-1 link-2 
     exit program. 
 
   entry "ent" 
     display link-1 link-2 
     exit program.
参照

PARAMCOUNTCHECK コンパイラ指令


STICKY-PERFORM

プログラムが再入された場合の PERFORM 文の動作を指定します。

構文
 >>-.---.-.----.--STICKY-PERFORM------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOSTICKY-PERFORM
フェーズ 構文チェック
$SET 最初の行
コメント

この指令は、PERFORM-TYPE"OSVS" または PERFORM-TYPE"RM" を指定してプログラムをコンパイルした場合にのみ有効です。

コンパイル時に PERFORM-TYPE"OSVS" または PERFORM-TYPE"RM" を指定すると、PERFORM 文は、記憶領域、またはバケットを持つように実装されます。これらの記憶域、またはバケットは、プログラム中の PERFORM 文の範囲の終わりとなる場所すべてに関連付けられます。PERFORM 文が実行されると、返りアドレスがバケットに格納され、PERFORM 文の範囲の終わりでそのバケットが読み取られます。バケットは、制御を戻す先を決定するために使用され、使用後にクリアされます。

デフォルトでは、EXIT PROGRAM 文でこれらのバケットがクリアされます。これにより、プログラムが再入された場合に、前に実行された PERFORM 文の戻りアドレスが残りません。STICKY-PERFORM を指定した場合は、EXIT PROGRAM 文でバケットがクリアされません。つまり、再入時には、前に実行されたすべての PERFORM 文の返りアドレスが残っていることになります。

STOP RUN 文または CANCEL 文では、この指令の設定に関係なく、バケットがクリアされます。

参照

PERFORM-TYPE コンパイラ指令


SUPFF

コンパイルリストが画面に送られた場合に、用紙送り文字を削除します。

構文
 >>-.---.-.----.--SUPFF---------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 SUPFF
フェーズ 構文チェック
$set 任意の行

SWITCH-TYPE

プログラム可能なスイッチの動作を、審議中の ISO2000 標準規格に合わせます。

構文
 >>-.---.--SWITCH-TYPE--"integer"-------------><  
    .-/-+
パラメータ
integer 1、2、または 3 のいずれかを指定します。
プロパティ
デフォルト値 SWITCH-TYPE"1"
フェーズ 構文チェック
$SET 任意の行
コメント

integer には次の値を設定します。

1 Server Express の動作
2 ISO2000 の動作
3 Siemens BS2000 COBOL の動作

審議中の ISO2000 標準規格および Siemens BS2000 COBOL 方言では、スイッチは実行単位内で有効で、認識されます。 たとえば、プログラム A でプログラム B を呼び出した場合に、A でのスイッチの変更は、B が呼び出された際に認識されます。また、B で変更された内容は、制御が A に戻った時点で、A に認識されます。しかし、A が終了してから B が呼び出されると、A で変更された内容は失われます。スイッチが格納されている空間は、1 つの実行単位内のプログラムすべてで共有されます。そのため、スイッチへの変更はすべてのプログラムで認識されます。

Server Express および以前のバージョンの Micro Focus COBOL では、呼び出された副プログラム (この例ではプログラム B) には、他のプログラムから独立した独自のスイッチセットがあります。プログラム A でプログラム B を呼び出した場合は、プログラム B のスイッチが、プログラムの開始時に、プログラム A のスイッチの初期値と同じ値に設定されます。つまり、A がスイッチに加えた変更はすべて無視されます。制御がプログラム A に戻った時点での A のスイッチは、プログラムの制御が B に移動する前とまったく同じ状態で、B でスイッチに加えられた変更はすべて無視されます。B のスイッチは保存される(B がキャンセルされないかぎり)ため、再度呼び出された場合は、B の独自のスイッチが、A を呼び出した時点の設定値が残っています。この場合、スイッチが格納される空間は、プログラム毎に一意となります。

SWITCH-TYPE"3" は、Siemens BS2000 COBOL TSW-n および USW-n スイッチをサポートします。

必要な実行時サポートを提供する BS2000 アドオンがある場合は、SWITCH-TYPE"3" を使用します。

参照

BS2000 コンパイラ指令
DIALECT コンパイラ指令
ISO2000 コンパイラ指令


SYMBSTART

SYMBOLIC CHARACTERS 句をコンパイルする際に、コンパイラで、文字の照合順序内の何番目からカウントされるようにするかを設定します。

構文
 >>-.---.--SYMBSTART--"integer"-------------><  
    .-/-+
パラメータ
integer 何番目からカウントするかを指定します。
プロパティ
デフォルト値 SYMBSTART"1"
フェーズ 構文チェック
$SET 最初の行
コメント

ANSI に準拠させる場合は、SYMBSTART"1" を使用します。旧製品と互換性を持たせる場合は、SYMBSTART"0" を使用します。

SYMBSTART"1" を指定した場合の次の COBOL 文を例として説明します。

symbolic characters bee is 67

この COBOL 文では、B を表す記号文字、bee が宣言されます。これは、ASCII の文字の照合順序を 1 から数えた場合に、67 番目の文字が B になるためです。SYMBSTART"0" を指定した場合は、bee が C を表します。


SYSPUNCH

使用する SYSPUNCH のレコード長を指定します。

構文
>>-.---.--SYSPUNCH--"integer"-------------><
   +-/-+
パラメータ
integer 使用するレコード長を指定します。
プロパティ
デフォルト値 SYSPUNCH"132"
フェーズ 構文チェック
$SET 任意の行
参照

実行時の動作


TARGET

特定のマイクロプロセッサでのみ有効な指示をコンパイラ生成できるようにします。これらの指示を使用すると、速度が上がり、コードのサイズが少し小さくなります。

構文
 >>-.---.--TARGET--"processor-id"-----------><  
    .-/-+
パラメータ
processor-id プロセッサのタイプを識別します。
プロパティ
デフォルト値 TARGET"386"
フェーズ 生成
$SET 最初の行
コメント

この指令は SCO UNIX で Server Express を使用する場合のみ有効です。

processor-id には次の値を指定できます。

386 コードを 80386、80486、および Pentium プロセッサで実行する
486 80486 および Pentium プロセッサでのみ有効な指示を含める
PENTIUM 486 を指定した場合と同様ですが、この設定にすると、Pentium プロセッサで実行した場合に、コードが処理速度が改善されるよう最適化されます。ただし、この場合、コードのサイズが大きくなってしまいます。このような最適化が行われても、コードは 486 上で実行できます。

TERMPAGE

レポートファイルの最後のページの残り部分を、1 ページの最大行数に達するまで空白行で埋めます。

構文
 >>-.---.-.----.--TERMPAGE------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 TERMPAGE
フェーズ 構文チェック
$SET 最初の行
コメント

TERMPAGE を指定すると、レポートの最後のページが 1 ページの最大行数に達するまで、空白行で埋められます。

この指令は、レポート説明 (RD) エントリに PAGE 句が指定されているすべてのレポートファイルに対して有効です。


TIME

リストの各ページの先頭に時刻を表示します。

構文
 >>-.---.-.----.--TIME----------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 TIME
フェーズ 構文チェック
$SET 不可
コメント

この指令は NODATE が指定されている場合は無効になります。

参照

DATE コンパイラ指令


TRACE

READY TRACE および RESET TRACE 文を有効にします。

構文
 >>-.---.-.----.--TRACE---------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ

デフォルト値 NOTRACE
フェーズ 構文チェック
$SET 最初の行
コメント

TRACE が設定されている場合は、READY TRACE 文により実行時にトレース機能が 有効になります。この場合は、各段落または節見出しの名前が、実行と同時に表示さ れます。RESET TRACE は、この機能を無効にします。NOTRACE が設定されている場合 は、READY TRACE および RESET TRACE 文は効果を失います。


TRICKLE

不正ではないが、構造化されていない実行範囲がプログラムに含まれており、そのために、特定の最適化が不可能であることをコンパイラに伝えます。

構文
 >>-.---.-.----.--TRICKLE-------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 TRICKLE
フェーズ 生成
$SET 最初の行
コメント

NOTRICKLE 指令は使用しないことをお奨めします。この指令を指定すると、ユーザプログラムの動作が変更されることがあります。NOTRICKLE は、ある実行範囲から別の実行範囲への「流れ」をプログラム内のどこからも制御できないことを伝えます。このようなプログラムには、構造化された制御フローがあります。つまり、このようなプログラムには、実行されたり、制御が前のコードから降りて来るなどで入力される段落や節がありません。また、PERFORM の範囲の終わりや、PERFORM の範囲の途中にある段落や節もありません。

NOTRICKLE を指定すると、PERFORM 文に対して有効なコードをコンパイラで生成することができます。


TRUNC

USAGE COMP、USAGE BINARY、または USAGE COMP-4 項目に格納されているデータを、その項目の PICTURE 句で指定されたサイズ、またはその項目が保持できる最大サイズに合わせて切り捨てられるようにします。

構文
 >>-.---.-.-------TRUNC--"method"-.---------><  
    .-/-+ ..----.-TRUNC-----------+ 
           .-NO-+
パラメータ
method コメントを参照してください。
プロパティ
デフォルト値 TRUNC"ANSI"
フェーズ 構文チェック
$SET 最初の行
依存関係

NORM を指定するとすぐに TRUNC"ANSI" に設定されます。
RM または RM"ANSI" を指定するとすぐに NOTRUNC に設定されます。

コメント

この指令には、次の値を指定できます。

TRUNC COMP、BINARY、および COMP-4 項目に格納されているすべてのデータを、PICTURE 句に指定された桁数まで 10 進単位で切り捨てます。
NOTRUNC COMP、BINARY、および COMP-4 項目に格納されているすべてのデータを、割り当てられた領域の容量まで 2 進単位で切り捨てます。
TRUNC"ANSI" COMP、BINARY、および COMP-4 項目に格納されている非算術データを、PICTURE 句に指定された桁数まで 10 進単位で切り捨てます。サイズエラーの原因となる算術文、および ON SIZE ERROR 句がない算術文の場合は、結果は予測できません。

TRUNCALLNAME

サブプログラムの名前を指定の長さまで切り捨てます。

構文
>>-.---.-.------TRUNCALLNAME--"integer"--.-------><
   +-/-+ +-NO---TRUNCALLNAME----------------+  
    
パラメータ
integer この長さまで名前を切り捨てます。
プロパティ
デフォルト値 NOTRUNCALLNAME
フェーズ 構文チェック
$SET 最初の行
コメント

この指令は、呼び出されたサブプログラムの名前を指定の長さまで切り捨てます。切り捨てられるのはリテラルとデータ名だけです。

参照

メインフレームとの互換性


TRUNCCOPY

コピーファイルおよび、++INCLUDE ファイルの名前を切り捨てます。

構文
 >>-.---.-.----TRUNCCOPY--"integer"-.-------><  
    .-/-+ .-NO-TRUNCCOPY------------+
パラメータ
integer コピーファイル名の文字数を指定します。ファイル名はこの値まで切り捨てられます。8 から 255 までの値を設定します。
プロパティ
デフォルト値 NOTRUNCCOPY
フェーズ 構文チェック
$SET 最初の行

UNICODE

ユニコード文字に対して使用するエンコードの方法を指定します。

構文
>>-.---.--UNICODE--"unicode-type"---------><
   +-/-+
パラメータ
unicode-type ユニコード文字のエンコードの方法。次の値が指定できます。
NATIVE ユニコード文字は、プログラムが実行されるプラットフォームのネイティブUTF-16 エンコーディング(native UTF-16 encoding)として表示されます。
PORTABLE ユニコード文字は、プログラムが実行されるプラットフォームに関わりなく、ビッグエンディアン UTF-16 エンコーディング(big-endian UTF-16 encoding) として表示されます。
プロパティ
デフォルト値 UNICODE"NATIVE"
フェーズ 構文チェック
$SET


USE

コンパイラがファイルから指令を読み取るようにします。

構文
 >>-.---.--USE--"filename"------------------><  
    .-/-+
パラメータ
filename 完全な形式でファイルを指定します。
プロパティ
デフォルト値 設定されません。
フェーズ 構文チェック
$SET 任意の行
コメント

USE は DIRECTIVES と同じ意味を持ちます。DIRECTIVES に適応されるすべての規則は、USE にも適用します。

参照

DIRECTIVES コンパイラ指令


VERBOSE

コンパイラからのメッセージを画面に送ります。

構文
 >>-.---.-.----.--VERBOSE-------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOVERBOSE
フェーズ 構文チェック
$SET 不可
依存関係

VERBOSE を指定するとすぐに CONFIRM が設定されます。

コメント

VERBOSE を指定すると、受け取った指令に関連するメッセージ、コード、およびデータ領域のサイズが画面に表示されます。


VSC2

IBM VS COBOL II で予約されている語を予約語として扱い、部分的な機能に、指定したレベルの IBM VS COBOL II COBOL システムと互換性を持たせます。

構文
 >>-.---.-.-------VSC2--"integer"-.---------><  
    .-/-+ ..----.-VSC2------------+ 
           .-NO-+
パラメータ
integer 互換性を持たせる IBM VS COBOL II のレベルを指定します。
プロパティ
デフォルト値 NOVSC2
フェーズ 構文チェック
$SET 最初の行
依存関係

integer > 1 の場合に、VSC2"integer" を指定すると、すぐに DBSPACE、および DBCS"2" が設定されます。

integer > 2 の場合に、VSC2"integer" を指定すると、最後に ANS85 が設定されます。

コメント

次の表で、integer に指定した値別の互換性の内容を示します。

integer 互換性
1 VS COBOL II release 1.0

次のことに注意してください。

  • 条件付きの句 (たとえば、AT END または ON SIZE ERROR など) を使用しない文で、明示的な範囲区切り文字は使用できません。

  • EVALUATE 文で ALSO を使用できません。

  • CLASS 句および SYMBOLIC CHARACTERS 句を使用できません。

  • NOT 付きの条件句 (たとえば NOT AT END または NOT ON SIZE ERROR など) は使用できません。
2 VS COBOL II リリース 2.0
VS COBOL II リリース 3.x (CMPR2 指令を指定してコンパイルした場合)
VS COBOL II リリース 4.x (CMPR2 指令を指定してコンパイルした場合)
COBOL/370 V1R1 (CMPR2 指令を指定してコンパイルした場合)

次のことに注意してください。

  • CLASS 句および SYMBOLIC CHARACTERS 句を使用できません。

  • NOT 付きの条件句 (たとえば NOT AT END または NOT ON SIZE ERROR など) は使用できません。

  • FLAG"VSC2" とともに使用すると、VS COBOL II リリース 2 と同じ機能が使用できます。
3 VS COBOL II リリース 3.x (NOCMPR2 指令を指定してコンパイルした場合)

次のことに注意してください。

  • このインスタンスと完全に互換性を持たせるには、REMOVE"FUNCTION" 指令も指定する必要があります。ただし、上位互換を持たせる場合は FUNCTION を利用者語として使用しないことをお奨めします。

  • FLAG"VSC2" とともに使用すると、VS COBOL II リリース 3 と同じ機能が使用できます。
4 VSC2"3" を指定した場合と同じです。

VSC2 を、integerを指定しないで使用すると、VSC2"4" を指定した場合と同じ動作になります。

VSC2"3" を選択すると、ANSI'85 の状態コードが使用されます。

VSC2"3" の後に NOANS85 指令を使用しないでください。使用すると、VSC2"3" によって有効になった ANSI'85 の動作の一部が無効になります。


WARNING

報告するエラーの重要度の最低レベルを指定します。

構文
 >>-.---.-.----.-WARNING--.-"integer"-.-----><  
    .-/-+ |    .-WARNINGS-+           | 
          .-NO-.-WARNING--.-----------+ 
               .-WARNINGS-+
パラメータ
integer 1、2、または 3 のいずれかを指定します。
プロパティ
デフォルト値 WARNING"1"
フェーズ 構文チェック
$SET 任意の行
コメント

integer には次の値を指定できます。

1 U、S または E レベルのエラーのみ
2 U、S、E、または W レベルのエラーのみ
3 全レベル。U、S、E、W および I のエラー

NOWARNING を指定すると、レベル U または S のエラーのみが報告されます。

参照

FLAGAS コンパイラ指令
FLAGCD コンパイラ指令


WB

この指令は、この COBOL システムの内部で使用するために予約されています。 設定のリストに表示される可能性があるため、ここで説明しています。 ユーザが使用する指令ではないため、この設定を変更しないでください。

構文
 >>-.---.-.----.--WB------------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOWB
フェーズ 構文チェック
$SET 不可
依存関係

WB を指定するとすぐに ANIM が設定されます。


WB2

この指令は、この COBOL システムの内部で使用するために予約されています。 設定のリストに表示される可能性があるため、ここで説明しています。 ユーザが使用する指令ではないため、この設定を変更しないでください。

構文
 >>-.---.-.----.--WB2-----------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOWB2
フェーズ 構文チェック
$SET 不可

WB3

この指令は、この COBOL システムの内部で使用するために予約されています。 設定のリストに表示される可能性があるため、ここで説明しています。 ユーザが使用する指令ではないため、この設定を変更しないでください。

構文
 >>-.---.-.----.--WB3-----------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOWB3
フェーズ 構文チェック
$SET 不可

WRITELOCK

マルチユーザ環境でプログラムが共有データファイルの複数のレコードをロックしている場合に、WRITE 文および REWRITE 文でレコードロックが要求されるようにします。

構文
 >>-.---.-.----.-.-WRITELOCK--.-------------><  
    .-/-+ .-NO-+ .-WRITE-LOCK-+
パラメータ

なし

プロパティ
デフォルト値 NOWRITELOCK
フェーズ 構文チェック
$SET 最初の行
コメント

この指令は、古いファイル共有製品と互換性を持たせるために提供されています。 新しいプログラムを記述する際には、この指令ではなく、適切なロック構文を使用してください。


WRITETHROUGH

ディスクへの書き込みをバッファに書き出さないようにします。

構文
 >>-.---.-.----.-.-WRITETHROUGH-.-----------><  
    .-/-+ .-NO-+ .-WRITETHRU----+
パラメータ

なし

プロパティ
デフォルト値 NOWRITETHROUGH
フェーズ 構文チェック
$SET All
依存関係

CALLFH を設定する必要があります。

コメント

この指令をこのシステムで使用するには、当社が提供する適切なアドオン製品が必要です。当社の適切な COBOL システム製品を用意していない場合は、この設定を変更しないでください。

この指令を個々のファイルに指定するには、ユーザの原始プログラムで $SET 文を使用し、ソース内の指定したファイルの SELECT 文が含まれる部分にのみ、指令が有効になるようにします。

WRITETHROUGH を指定した場合は、システムがディスクへの書き込みをバッファに書き出しません。

WRITETHROUGH を使用すると、すべての書き込み操作がディスクファイルに直接実行されるため、コンピュータがクラッシュした場合もデータが破損する危険性が低くなります。そのため、データファイルの安全性を高めることができますが、これは同時に、すべてのキャッシュやブロックの方法をバイパスすることにもなるため、性能は低下します。

参照

CALLFH コンパイラ指令


XOPEN

X/Open の COBOL 定義で予約されている語を予約語として扱います。

構文
 >>-.---.-.-------XOPEN--"level"-.----------><  
    .-/-+ ..----.-XOPEN----------+ 
           .-NO-+
パラメータ
level 3、または 4 を指定し、互換性を持たせる X/Open 定義 COBOL のレベルを指定します。
プロパティ
デフォルト値 NOXOPEN
フェーズ 構文チェック
$SET 最初の行
依存関係

XOPEN を指定するとすぐに RTNCODE-SIZE"4" が設定されます。

コメント

level には次の値を指定できます。

3 X/Open Portability Guide 1988 (XPG-3) と互換性を持たせます。
4 X/Open CAE 仕様 (XPG-4) と互換性を持たせます。

パラメータを指定せずに XOPEN を使用すると、XOPEN"4" を指定した場合と同じ動作になります。

XPG-4 は、複数の環境用のオプションを指定します。使用可能な場合は、次のオプションがあります。

参照

DBCS コンパイラ指令
NLS コンパイラ指令
RTNCODE-SIZE コンパイラ指令


XREF

コンパイラで相互参照リストが生成されるようにします。

構文
 >>-.---.-.----.--XREF----------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOXREF
フェーズ 構文チェック
$SET 最初の行
依存関係

XREF を指定すると、RESEQ がすぐに設定されます。
NOLIST および RNIM で、最後に NOXREF に設定されます。
UNIX の場合に、相互参照リストにメッセージ、「* 相互参照リストの終わり」を表示するには、詳細モードを指定するコンパイラオプション、-v も指定する必要があります。

コメント

この指令は、LIST 指令が指定されていない場合は無効となります。

相互参照リストを生成するには、ディスク上にコンパイラのワークスペースが余分に必要です。 必要なスペースは、データ項目と手続き名の数、およびこれらが参照される回数によって異なります。

XREF 指令が指定されると、生成された .lst ファイルの最後に次の情報が追加されます。

簡単なプログラムの .lst ファイルを引用したものを次に示します。

     1 working-storage section. 
     2 01 a  pic 9(2). 
     3 
     4 procedure division. 
     5 main section. 
     6     move 1 to a 
     7     if a = 1 display "HELLO" end-if 
     8     stop run. 
     ... 
* A                              Numeric DISPLAY 
*          2#      6*      7?                       (X    3)
* 
*               1 data-names 
* 
* MAIN                           Section 
*          5#                                       (X    1)
* 
* 
*               1 procedure-names 
* End of cross reference listing

相互参照の情報で、次のことが確認できます。numeric display タイプのデータ項目 a が 1 つあります。このデータが行番号 2 で定義され、行番号 6 で更新され、行番号 7 でテストされています。行の最後の (X 3) は、このデータ項目が相互参照リストに表示された回数を示しています。手続き名 main も 1 回だけ参照された節としてリストに表示されています。

参照

RESEQ コンパイラ指令


ZEROLENGTHFALSE

長さ 0 の項目を含むクラスのテストの実行方法を変更します。

構文
 >>-.---.-.----.--ZEROLENGTHFALSE-----------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOZEROLENGTHFALSE
フェーズ 構文チェック
$SET 任意の行
コメント

ZEROLENGTHFALSE が設定されると、長さが 0 の集団項目間、および長さが 0 の項目と表意定数のすべての比較で偽が返されます。設定されていない場合は、これらすべてで真が返されます。

ANSI、および SAA に準拠する場合は、ZEROLENGTHFALSE を設定する必要があります。


ZEROSEQ

1 桁目から 6 桁目までの一連番号の先頭に 0 を付加します。

構文
 >>-.---.-.----.--ZEROSEQ-------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOZEROSEQ
フェーズ 構文チェック
$SET 任意の行
コメント

NOZEROSEQ の場合は、先頭にこのような 0 が付加されません。


ZWB

USAGE DISPLAY の整数型数字データ項目と英数字のリテラル定数、または表意定数を比較する操作に作用します。

構文
 >>-.---.-.----.--ZWB-----------------------><  
    .-/-+ .-NO-+
パラメータ

なし

プロパティ
デフォルト値 NOZWB
フェーズ 構文チェック
$SET 任意の行
コメント

ZWB 指令は HOST-NUMCOMPARE が適応される比較の範囲に影響を与えます。ZWB を有効にすると、符号なしの比較のみに適応されます。それ以外の場合はすべての比較に適応されます。

参照

HOST-NUMCOMPARE コンパイラ指令


Copyright © 2002 Micro Focus International Limited. All rights reserved.
本書ならびに、使用されている固有の商標と商品名 は国際法で保護されています。

前ページへコンパイラの使用 呼び出し可能な共有オブジェクト次ページへ