COBOL2002 操作ガイド


2.3.14 その他の設定

その他のコンパイラオプションについて,説明します。

〈この項の構成〉

(1) -Bin1Byteオプション

(a) 形式

-Bin1Byte
-noBin1Byte

(b) 機能

-Bin1Byte

1バイトの2進項目を有効にします。

-noBin1Byte

-Bin1Byteオプションの指定を打ち消します。

(2) -JPNオプション

(a) 形式

-JPN,{Alnum|V3JPN|V3JPNSpace}
-noJPN

(b) 機能

-JPN,Alnum

日本語項目,日本語編集項目,および日本語文字定数をそれぞれ英数字項目,英数字編集項目,および英数字定数として扱います。これは,VOS3 COBOL85のLANGOPT=(-D)オプションとXCOBOL=(N)オプションを同時に指定したときと同じ動作になります。

なお,-CompatiV3オプションを指定すると,このオプションが仮定されます。

-JPN,V3JPN

日本語項目,日本語編集項目,および日本語文字定数をそれぞれ英数字項目,英数字編集項目,および英数字定数として扱うようにするためのオプションです。ただし,LENGTH関数の引数,STRING文,UNSTRING文,またはINSPECT文では日本語項目,日本語編集項目,および日本語文字定数はそのままの属性として扱います。

また,日本語項目または日本語編集項目の部分参照は,英数字項目または英数字編集項目として扱いますが,最左端の文字位置と長さは日本語文字数を表します。これは,VOS3 COBOL85のLANGOPT=(-D)オプションとXCOBOL=(-N)オプションを同時に指定したときと同じ動作になります。

なお,-JPN,V3JPNオプションは,VOS3 COBOL85互換機能です。

注※

VOS3 COBOL85では,LENGTH関数の引数に日本語項目,日本語編集項目,および日本語文字定数は指定できません。

-JPN,V3JPNSpace

-CompatiV3オプションと同時に指定した場合,日本語項目,日本語編集項目および日本語文字定数をそのままの属性で扱います。これは,VOS3 COBOL85のLANGOPT=(D)オプションとXCOBOL=(-N)オプションを同時に指定したときと同じ動作になります。

-JPN,V3JPNSpaceオプションは,VOS3 COBOL85互換機能です。

VOS3 COBOL85でLANGOPT=(D)オプションを指定した場合とCOBOL2002での動作の相違については,マニュアル「COBOL2002 言語 拡張仕様編」を参照してください。

このオプションを指定してコンパイルすると,日本語項目および日本語編集項目に対して次に示すとおりに扱います。

  • 表意定数SPACE(SPACES)の扱い

    日本語項目および日本語編集項目に対する表意定数SPACE(SPACES)は,日本語空白(X'8140')となります。

  • 日本語項目および日本語編集項目同士の転記の扱い

日本語項目および日本語編集項目同士の転記で,受け取り側のけた数が送り出し側のけた数より長い場合,受け取り側の右側に日本語空白(X'8140')を補います。

  • 日本語項目および日本語編集項目同士の比較の扱い

    日本語項目および日本語編集項目同士の比較で,作用対象のけた数が等しくない場合,短い方の作用対象の右側に,長い方の作用対象のけた数に等しくなるまで日本語空白(X'8140')があるものとみなして比較します。

-noJPN

-JPNオプションの指定を打ち消します。

(c) 注意事項

  • -JPN,Alnumオプションと-JPN,V3JPNオプションを重複して同時に指定した場合,-JPN,V3JPNオプションが有効になり,-JPN,Alnumオプションが無効になります。

  • コンパイラ環境変数CBLV3UNICODEにYESを指定し,かつ-UniObjGenを指定した場合,-CompatiV3 を指定しても-JPN,Alnum は仮定されません。

  • -JPN,V3JPNSpaceオプションを指定するとき,-CompatiV3オプションを同時に指定する必要があります。

    -CompatiV3オプションの指定がない場合,コンパイルエラーとなります。

  • -JPN,V3JPNSpaceオプションと-JPN,Alnumオプション,-JPN,V3JPNオプションを同時に指定すると,-JPN,Alnumオプション,-JPN,V3JPNオプションは無効となります。

    また,-JPN,V3JPNSpaceオプションと-CompatiV3オプションを同時に指定すると,-CompatiV3オプションが仮定する-JPN,Alnumオプションは無効となります。

  • -JPN,V3JPNSpaceオプションと-UniObjGenオプションを同時に指定すると,-JPN,V3JPNSpaceオプションは無効となります。

  • -JPN,Alnumおよび-JPN,V3JPNオプションを指定するとき,動的長基本項目はすべて字類を英数字として扱います。また,PIC Nが指定された動的長基本項目のLIMIT指定の値は,その2倍の値が指定されたものと仮定します。

(3) -EquivRuleオプション

(a) 形式

-EquivRule,{NotExtend|NotAny|StdCode}
-noEquivRule

(b) 機能

拡張コード文字と標準コード文字を等価とみなさないようにするためのオプションです。

標準コードおよび拡張コードについては,マニュアル「COBOL2002 言語 標準仕様編」を参照してください。

-EquivRule,NotExtend

拡張コード文字と標準コード文字を等価とみなしません。

-EquivRule,NotAny

拡張コード文字と標準コード文字を等価とみなしません。さらに,標準コードの英大文字と標準コードの英小文字も等価とみなしません。

この場合,予約語および文脈依存語はすべて標準コードの英大文字で記述しなければなりません。

-EquivRule,StdCode

拡張コード文字と標準コード文字を等価とみなしません。さらに,日本語文字定数中に標準コードの空白を書いてもエラーとしません。ただし,日本語文字定数中に空白以外の標準コード文字を書いた場合は,警告レベルのエラーとなります。

なお,日本語文字定数の標準コード文字数は偶数としてください。日本語文字定数の標準コード文字数が奇数の場合,警告レベルのエラーとし,日本語文字定数に標準コードの空白を追加します。

また,72カラムより前に改行文字があるCOBOL原始プログラムは,改行文字から72カラムまで空白に置き換えてコンパイルします。

-noEquivRule

-EquivRuleオプションの指定を打ち消します。

(4) -UscoreStartオプション

(a) 形式

-UscoreStart
-noUscoreStart

(b) 機能

-UscoreStart

先頭が下線のCALL定数を指定できるようにします。

先頭が下線のプログラム名をCALL定数で指定した場合,定数の先頭から'_'または'__'(下線2個)を除いた名称でプログラムを呼び出します。

-noUscoreStart

-UscoreStartオプションの指定を打ち消します。

(5) -BinExtendオプション

(a) 形式

-BinExtend
-noBinExtend

(b) 機能

-BinExtend

用途(USAGE句)が2進(BINARY,COMP,COMP-4)のデータ項目に指定できる初期値(VALUE句の値)を拡張します。

PICTURE句で指定したけた数とVALUE句に指定できる値との対応は次のとおりです。

PICTURE句で指定したけた数

VALUE句に指定できる値

1〜4けた

-215〜215-1

5〜9けた

-231〜231-1

10〜18けた

-999,999,999,999,999,999〜999,999,999,999,999,999

-noBinExtend

-BinExtendオプションの指定を打ち消します。

(6) -MinusZeroオプション

(a) 形式

-MinusZero
-noMinusZero

(b) 機能

符号付き内部10進項目または符号付き外部10進項目への転記で切り捨てが発生した結果,負の符号を持つゼロ(以降,-0と表記します)が発生することがあります。この-0は演算や比較で数値として参照する場合は,正の符号を持つゼロ(以降,+0と表記します)と同じに扱われ,プログラムの動作には影響しません。しかし,DISPLAY文で表示したり,上位の集団項目で参照したり,REDEFINES句で別の属性として参照した場合に,実行結果が異なることがあります。-MinusZeroオプションは,符号付き内部10進項目および符号付き外部10進項目に,ほかのデータ項目の値や演算結果を転記する場合に発生した-0を強制的に+0に変換して,-0の発生を防止するオプションです。他システムや他社のCOBOLとのデータの互換性や移行性が向上します。

(例1)
       01 A PIC S9(5) USAGE DISPLAY.
       01 B PIC S9(5) USAGE DISPLAY VALUE 0.
           COMPUTE A = B - 0.1.

右辺の式の結果は-0.1になり,それをAに格納する際に,小数部が切り捨てられて-0となる。-MinusZeroオプションを指定すると,-0が+0に変換されてAに格納される。

注※

ただし,演算結果が必ず-0になるとは限りません。

(例2)
       01 A PIC S9(4) USAGE DISPLAY.
       01 B PIC S9(5) USAGE DISPLAY VALUE -10000.
           MOVE B TO A. 

Aに格納する際に,10,000の最上位けたの1が切り捨てられて-0となる。

-MinusZeroオプションを指定すると,-0が+0に変換されてAに格納される。

-MinusZero

負の符号を持つゼロ(-0)を強制的に正の符号を持つゼロ(+0)に変換します。

-noMinusZero

-MinusZeroオプションの指定を打ち消します。

(c) 注意事項

  • -MinusZeroオプションは,符号付き外部10進項目への転記および符号付き内部10進項目への転記に対してだけ有効です。したがって,-MinusZeroオプションを指定していても,REDEFINES句や集団項目名で,10進項目を10進項目以外の項目として転記した場合,-0(例えば,内部10進数3けたの場合にはX'000D')がそのまま転記されます。

(7) -TruncCheckオプション

(a) 形式

-TruncCheck
-noTruncCheck

(b) 機能

-TruncCheck

転記での送り出し側作用対象のサイズをチェックします。

送り出し側作用対象のけた数が受け取り側作用対象のけた数より大きい場合は,お知らせメッセージが出力されます。

-noTruncCheck

-TruncCheckオプションの指定を打ち消します。

(c) -TruncCheckオプションのチェック対象

-TruncCheckオプションは,次の項目について,転記での送り出し側作用対象のサイズをチェックします。

チェック対象となる項目
  • 外部10進項目

  • 内部10進項目

  • 2進項目(1バイト2進項目を含む)

  • 数字定数(16進数字定数を含む)

  • 固定長集団項目

  • 英数字項目

  • 英数字定数(16進英数字定数を含む)

  • ALL英数字定数

  • 数字型,整数型,または英数字型の,組み込み関数および利用者定義関数

注※

送り出し側が英数字型の組み込み関数で,かつ次に示す条件の場合はチェックしません。

  • 引数が部分参照されていて,長さが可変である

    長さが可変になるのは次のどちらかのときです。

    ・部分参照の長さがデータ名指定である

    ・部分参照の開始位置がデータ名指定で,長さが省略されている

  • 組み込み関数がMAX関数またはMIN関数で,データ名の引数が複数指定されている

  • 組み込み関数がTRIM関数またはSUBSTRING関数である

チェック対象となる転記の個所
  • VALUE句

  • 画面節(WINDOW SECTION)のSOURCE句

  • ACCEPT文の書き方2(日付と時刻を取得するACCEPT文)

  • INITIALIZE文のREPLACING指定

  • MOVE文

  • READ文のINTO指定

  • RELEASE文のFROM指定

  • RETURN文のINTO指定

  • SET文の書き方4(条件設定のSET文)

  • WRITE文のFROM指定

  • COMPUTE文(送り出し側作用対象が単一の数字項目や数字定数の場合)

  • 上記以外の算術文(中間結果のけた数※1が受け取り側作用対象のけた数より大きい場合※2

注※1

中間結果のけた数については,マニュアル「COBOL2002 ユーザーズガイド」の「演算の中間結果」を参照してください。

注※2

Windows(x64) COBOL2002の場合,-MaxDigits38オプションおよび-IntResult,DecFloat40オプションを指定しているときは,常に中間結果のけた数の方が大きいと判定します。

受け取り側作用対象が英数字の場合
  • 受け取り側作用対象が固定長集団項目のときはバイト数で比較されます。

  • 送り出し側作用対象が数字で,受け取り側作用対象が英数字のときは,送り出し側作用対象はけた数(小数けたを含む)で比較します。

  • -H8Switchオプションが指定してあり,送り出し側作用対象が数字で受け取り側作用対象が英数字のときは,数字項目はバイト数で比較されます。

受け取り側作用対象が数字の場合
  • 整数けた数で比較します。

  • 次のすべての条件を満たすときはチェックしません。

    ・-DigitsTruncオプションの指定がある

    ・-MaxDigits38オプションおよび-IntResult,DecFloat40オプションを指定していない(Windows(x64) COBOL2002の場合)

    ・受け取り側作用対象が2進項目である

    ・VALUE句の転記ではない

  • 送り出し側作用対象が18けたを超える英数字項目のときはチェックしません。

注※

Windows(x64) COBOL2002の場合,-MaxDigits38オプションおよび-IntResult,DecFloat40オプションを指定しているときは,38けたとなります。

(8) -LowerAsUpperオプション

(a) 形式

-LowerAsUpper
-noLowerAsUpper

(b) 機能

-LowerAsUpper

CALL定数の英小文字を英大文字に変換した名称でプログラムを呼び出します。

-noLowerAsUpper

-LowerAsUpperオプションの指定を打ち消します。

(9) -CBLVALUEオプション

(a) 形式

-CBLVALUE
-noCBLVALUE

(b) 機能

-CBLVALUE

環境変数CBLVALUEを有効にするためのオプションです。

環境変数CBLVALUEの詳細については,「(18) CBLVALUE」を参照してください。

-noCBLVALUE

-CBLVALUEオプションの指定を打ち消します。

(10) -Repositoryオプション

(a) 形式

-Repository,{Gen|Sup}
-noRepository

(b) 機能

-Repository,Gen

ソースファイルからリポジトリファイルを作成するときに指定します。この場合,オブジェクトファイルは作成されません。

なお,翻訳単位(プログラム定義を除く)が未完成でも,シグニチャと呼ばれるインタフェース部分が決まっていれば,リポジトリファイルを作成できます。詳細は,マニュアル「COBOL2002 ユーザーズガイド」のリポジトリファイルの単独生成の説明を参照してください。

注意事項
  • クラス定義,インタフェース定義,および関数定義が一つも格納されていないファイルに-Repository,Genオプションを指定した場合,オプションの指定が無効となります。

  • -Repository,Genオプションと-Compileオプションが同時に指定された場合,-Repository,Genオプションが有効になり,-Compileオプションが無効になります。

-Repository,Sup

リポジトリファイルを更新しません。

ただし,リポジトリファイルが存在しない場合は,新規に作成します。

また,オブジェクトファイルは,生成されます。

-noRepository

-Repositoryオプションの指定を打ち消します。

(11) -RepositoryCheckオプション

(a) 形式

-RepositoryCheck
-noRepositoryCheck

(b) 機能

-RepositoryCheck

同じソースファイル中の翻訳単位の定義と外部リポジトリ中の情報に相違があるかどうかをチェックし,相違がある場合には警告メッセージを出力します。-RepositoryCheckオプションを指定した場合,リポジトリファイルは更新されません。

詳細は,マニュアル「COBOL2002 ユーザーズガイド」の「リポジトリファイルの生成方法」を参照してください。

-noRepositoryCheck

-RepositoryCheckオプションの指定を打ち消します。

(12) -Defineオプション

(a) 形式

-Define 翻訳変数名〔=値〕〔,翻訳変数名〔=値〕〕…
-noDefine

(b) 機能

-Define 翻訳変数名〔=値〕〔,翻訳変数名〔=値〕〕…

翻訳変数名(条件翻訳で,ソース行の取り込みや読み飛ばしを制御する変数の名称)を定義します。

詳細は,マニュアル「COBOL2002 ユーザーズガイド」の「条件翻訳の利用」を参照してください。

-noDefine

-Defineオプションの指定を打ち消します。

(c) 注意事項

  • 翻訳変数名は,31文字まで指定できます。32文字以上の文字列を指定した場合,コンパイル時に警告メッセージが出力され,先頭の31文字だけが翻訳変数名として有効となります。

  • 翻訳変数名は,-Defineオプションに指定した文字列がそのまま使われます。この文字列には,COBOL語の等価変換が適用されません。

    -Defineオプションで定義した英小文字の翻訳変数名をCOBOLプログラム中で参照するには,-EquivRule,NotAnyオプションの指定が必要です。

  • 翻訳変数の値は,160バイトまで指定できます。161バイト以上の文字列を指定した場合,コンパイル時に警告メッセージが出力され,先頭の160バイトだけが翻訳変数の値として有効となります。

  • 翻訳変数名で使用できる文字は,COBOLの語で使用できる文字と同じです。ただし,コンパイラオプションの区切り文字となるイコール(=),コンマ(,)および半角空白文字は,指定できません。

  • 翻訳変数の値を指定する場合の注意事項を,次に示します。

    1. 翻訳変数に指定した値は,すべて英数字定数として扱われます。

      (例1)

       コンパイラオプションに,-Define VER=3 を指定したとき,ソース中に

       >>IF VER = '3'

       という記述があれば,上記条件が真となる。

      (例2)

       コンパイラオプションに,-Define VER=5 を指定したとき,ソース中に

       >>IF VER = '3'

       という記述があれば,上記条件が偽となる。

    2. コンパイラオプションの区切り文字となるイコール(=),コンマ(,)は,指定できません。

    3. 文字列内に区切り文字(空白)を指定するときは,値全体をダブルコーテーション(")で囲む必要があります。このとき,ダブルコーテーションは値として扱われません。

      (例)

       -Define DEF01="aaa bbb"

       翻訳変数名:DEF01

       値    :aaa bbb

(13) -Detailsオプション

(a) 形式

-Details
-noDetails

(b) 機能

-Details

コンパイラオプションの詳細情報を出力します。

また,環境変数CBLLINKER,環境変数CBLMANIFESTTOOL,および環境変数CBLRESOURCECOMPILERを指定した場合,環境変数に指定されたコマンドが起動するときに,コマンドのパス情報を出力します。

形式

ccbl2002コマンドの絶対パス名: ccbl2002オプション群 COBOLソースファイル名群

ccbl2002オプション群

ccbl2002コマンドが認識するオプションがすべて出力されます。ほかのオプションを指定したために仮定されたオプションも出力されます。反対に,ほかのオプションを指定したために無視されたオプションは出力されません。オプションの引数を指定した場合は,オプションの引数も出力されます。

COBOLソースファイル名群

コンパイル対象のCOBOLソースファイル名がすべて出力されます。

(例)

入力

ccbl2002 -TDInf -SrcList,CopyAll -SimSub PROG1 -Details sample1.cbl

出力

COBOL2002インストールフォルダ\bin\ccbl2002: ccbl2002 -DebugInf -TDInf -SrcList,CopyAll -Details -Optimize,1 -Lib,GUI -SimSub PROG1 -Main,System sample1.cbl

-noDetails

-Detailsオプションの指定を打ち消します。

(14) -OldFormオプション

(a) 形式

-OldForm "旧オプションの並び"

(b) 機能

-OldForm "旧オプションの並び"

旧形式のオプション(PC COBOL85用のコンパイラオプション)を指定できるようにします。

(c) 注意事項

  • -OldFormオプションに指定する旧オプションの並びに,旧オプションの引数ではない単独ファイル名を指定した場合,そのファイル名は無視されます。ただし,旧オプションの引数として指定したファイル名については,有効となります。

    指定例を,次に示します。

    -OldForm "-Mw sample.cbl subsample.cbl"

    sample.cblは,-Mwオプションの引数として有効となりますが,subsample.cblは旧オプションの引数でない単独のファイル名のため,無視されます。

  • -OldFormオプションに指定する旧オプションの並びの中に,さらにダブルコーテーション(")が存在する場合,ダブルコーテーションを「¥"」に置き換えて指定してください。指定例を,次に示します。

    -OldForm "-Fw \"c:temp\sample.cbw\" -Mw sample.cbl"
  • このオプションを開発マネージャで指定する場合,プロジェクト設定ダイアログボックスの[ユーザ設定]タブを使用してください。[ユーザ設定]タブの詳細は,「2.2.3 オプションの設定方法」を参照してください。ただし,プロジェクト構成のコンパイル方法に影響する次のオプションを指定できません。指定した場合,動作は保証しません。

    -Mw -Mh -Cs -Dl -Vb -Ad -Ax -Dc

(15) -Helpオプション

(a) 形式

-Help|-?

(b) 機能

ccbl2002コマンドのヘルプを表示します。

(c) 注意事項

  • -Helpオプションを指定した場合,ほかのオプションやファイル名を指定しても無視されます。

  • このオプションは,コマンドライン(ccbl2002コマンド)で指定できます。開発マネージャでは,指定できません。

(16) -UniObjGenオプション

(a) 形式

-UniObjGen
-noUniObjGen

(b) 機能

-UniObjGen

シフトJISで記述されたCOBOLソースプログラムから,英数字定数をUTF-8に,日本語文字定数をUTF-16LE,またはUTF-16BEに変換したオブジェクトファイルを生成します。

-noUniObjGen

-UniObjGenオプションの指定を打ち消します。

(c) 注意事項

  • 日本語文字定数の文字コードのバイトオーダは,-UniEndianオプションの指定に従います。

  • このオプションを指定する場合,次のオプションは同時に指定できません。同時に指定した場合,このオプションが有効となり,次のオプションは無効になります。

    -JPN -CompatiV3 -V3Rec -V3RecFCSpace -V3RecEased

    ただし,コンパイラ環境変数CBLV3UNICODEにYESを指定すると,このオプションを指定しても-CompatiV3,-V3Rec,-V3RecFCSpace,および-V3RecEasedオプションは有効となります。

(17) -UniEndianオプション

(a) 形式

-UniEndian,{Little|Big}
-noUniEndian

(b) 機能

-UniEndian,Little

日本語文字定数をUTF-16LEに変換したオブジェクトファイルを生成します。

-UniEndian,Big

日本語文字定数をUTF-16BEに変換したオブジェクトファイルを生成します。

-noUniEndian

-UniEndianオプションの指定を打ち消します。

(c) 注意事項

  • このオプションは,-UniObjGenオプションが指定された場合だけ有効になります。

  • -UniObjGenオプションが指定されていて,-UniEndianオプションが指定されていない場合,日本語文字定数はUTF-16LEのコードに変換します。

(18) -MaxDigits38オプション(Windows(x64) COBOL2002で有効)

(a) 形式

-MaxDigits38
-noMaxDigits38

(b) 機能

-MaxDigits38

数字項目,数字編集項目,および数字定数に指定できる最大けた数を18けたから38けたに拡張します。外部10進形式および内部10進形式の数字項目と固定小数点数字定数で,けた数を拡張できます。

詳細については,マニュアル「COBOL2002 ユーザーズガイド」,およびマニュアル「COBOL2002 言語 拡張仕様編」の数字項目のけた拡張機能を参照してください。

-noMaxDigits38

-MaxDigits38オプションの指定を打ち消します。

(c) 注意事項

  • -IntResult,DecFloat40オプションと同時に指定してください。

    -IntResult,DecFloat40オプションの指定がない場合,エラーメッセージが出力されます。

  • -MaxDigits38オプション,-IntResult,DecFloat40オプション,および-Optimize,3オプションを同時に指定した場合,-Optimize,3オプションは無効となり,-Optimize,2オプションが仮定されます。

  • -MaxDigits38オプションを指定しても,19〜38けたの数字項目および数字定数が指定できない機能や文などがあります。詳細については,マニュアル「COBOL2002 ユーザーズガイド」,およびマニュアル「COBOL2002 言語 拡張仕様編」の数字項目のけた拡張機能を参照してください。

(19) -IntResult,DecFloat40オプション(Windows(x64) COBOL2002で有効)

(a) 形式

-IntResult,DecFloat40
-noIntResult

(b) 機能

-IntResult,DecFloat40

算術演算の中間結果の表現形式を40けた10進浮動小数点形式とします。詳細については,マニュアル「COBOL2002 ユーザーズガイド」の数字項目のけた拡張機能を参照してください。

-noIntResult

-IntResultオプションの指定を打ち消します。

(c) 注意事項

  • -MaxDigits38オプションと同時に指定してください。-MaxDigits38オプションの指定がない場合,エラーメッセージが出力されます。

  • -IntResult,DecFloat40オプション,-MaxDigits38オプション,および-Optimize,3オプションを同時に指定した場合,-Optimize,3オプションは無効となり,-Optimize,2オプションが仮定されます。

  • -IntResult,DecFloat40オプション,-MaxDigits38オプション,および-Compati85,Powerオプション(-Compati85,All指定による仮定時を含む)を同時に指定した場合,-Compati85,Powerオプションは無効となります。

  • -IntResult,DecFloat40オプションおよび-CompatiV3オプションを同時に指定した場合,-CompatiV3オプションの仕様が一部無効となります。詳細は,「2.3.12 他システムとの移行の設定」の「(2) -CompatiV3オプション」を参照してください。

(20) -LiteralExtendオプション

(a) 形式

-LiteralExtend,Alnum
-noLiteralExtend

(b) 機能

-LiteralExtend,Alnum

定数長拡張機能は,英数字定数の最大長を拡張します。拡張する項目と制限値を次に示します。

表2‒19 最大長を拡張する項目と制限値

最大長を拡張する項目

制限値および限界値

-LiteralExtend,Alnumなし

-LiteralExtend,Alnumあり

英数字定数の長さ

1〜160文字(バイト)

1〜8,191文字(バイト)

STOP文の定数に指定した英数字定数の長さ

1〜160文字(バイト)

1〜8,191文字(バイト)

定数指定する場合のプログラム名,メソッド名の長さ

1〜160文字(バイト)

1〜1,024文字(バイト)

ただし,次に示す項目では英数字定数の最大長は拡張されません。

表2‒20 最大長を拡張しない項目

最大長を拡張しない項目

制限値および限界値(-LiteralExtendの有無に関係なく同じ)

連結式で連結した英数字定数の長さ

2〜1,024文字(バイト)

指定できる文字位置のけた数が個別に規定されている構文

各構文の規定に従う

COPY文,REPLACE文の構文中に指定する原文語の長さ

1〜322文字(バイト)

翻訳指令行で使用する英数字定数の長さ

1〜160文字(バイト)

SQL文中で使用する英数字定数の長さ

1〜160文字(バイト)

-noLiteralExtend

-LiteralExtendオプションの指定を打ち消します。

(c) 注意事項

  • -LiteralExtendオプションは,次のオプションと背反関係にあり,同時に指定した場合は,-LiteralExtendオプションが無効となり,次のオプションが有効となります。

    -StdMIA -Std85 -Std2002 -V3Spec -Compati85,Syntax -CompatiV3

    -SimMain -SimSub -SimIdent

  • COBOLプログラム中にCOPY文またはREPLACE文がある場合,322バイトを超える英数字定数に対して,原文語の長さが322文字を超えている旨の警告エラーを出力することがありますが,プログラムの動作には影響しません。

(21) -SpaceAsZeroオプション

(a) 形式

-SpaceAsZero
-noSpaceAsZero

(b) 機能

-SpaceAsZero

外部10進項目に空白文字(X'20')データがあるとき,ゼロ(X'30')とみなして比較,演算,転記を実行します。このオプションを指定すると,約1.5倍の実行性能劣化となります。このため,必要のないかぎり,このオプションは指定しないでください。

-noSpaceAsZero

-SpaceAsZeroオプションの指定を打ち消します。

(c) 注意事項

  • -SpaceAsZeroオプションは,-Compati85,Allオプションと同時に指定してください。-Compati85,Allオプションの指定がない場合,エラーメッセージが出力されます。なお,-Compati85,Allオプションと同じ意味となる-Compati85のサブオプションが指定された場合,-SpaceAsZeroオプションの指定が有効になります。

  • -SpaceAsZeroオプションと-Optimize,3オプションを同時に指定した場合,-Optimize,3オプションは無効となり,-Optimize,2オプションが仮定されます。

  • -DebugDataオプションが指定されている場合,比較,演算,転記の外部10進項目に含まれる空白文字(X'20')は,-SpaceAsZeroオプションを指定しても,不当なデータ(データ例外)として検出されます。

  • 外部10進項目に空白文字(X'20')データがあるとき,比較,演算,転記以外の実行結果(画面節(SCREEN SECTIONおよびWINDOW SECTION),索引ファイルのキー項目,整列・併合処理のキー指定,DISPLAY文,組み込み関数,SQLなどの実行結果)は,-SpaceAsZeroオプションを指定しても保証しません。

(22) -CheckUninitDataオプション

(a) 形式

-CheckUninitData
-noCheckUninitData

(b) 機能

-CheckUninitData

ソースに閉じた初期化漏れチェック機能を有効にします。ソースに閉じた初期化漏れチェック機能については,マニュアル「COBOL2002 ユーザーズガイド」の「初期化漏れチェック機能」を参照してください。

-noCheckUninitData

-CheckUninitDataオプションの指定を打ち消します。

(c) 注意事項

  • このオプションは,-Compile,CheckOnlyオプションと同時に指定する必要があります。-Compile,CheckOnlyオプションを指定していない場合,または-Compile,CheckOnlyオプションと,-Compile,NoLinkオプションもしくは-Repository,Genオプションを同時に指定した場合,-CheckUninitDataオプションは無効となります。