GTM-MML4VXJ
Skip to main content

プログラム修正一覧 : Windows (64bit) NetCOBOL開発環境

V12.2.0

ここに記載している情報は、V12.2.0で修正されている旧版で発生した障害一覧です。

項番 発生V/L 修正V/L P番号 現象
1 V12.0.0~V12.1.0 V12.2.0 PH15700

以下の条件の場合、NetCOBOL StudioでCOBOLプロジェクトの設定項目「ファイル・コンテンツ」の変更を行っても、COBOLプロジェクトのプロパティ情報を保持する設定ファイル(.CobolOptions)に変更が反映されません。

その結果、ファイル・コンテンツページで拡張子に対して設定したコンテンツとしてCOBOLプロジェクトで扱われないため、以下の例に示す現象が発生します。

[現象例]

  • ファイル・コンテンツページで「.aaa」という拡張子に対して、「COBOLソース」というコンテンツを割り当てても、「.aaa」という拡張子のCOBOLソースファイルがCOBOLプログラムのビルド対象にならない。
  • ファイル・コンテンツページで「.aaa」という拡張子に対して、「COBOL登録集ファイル」というコンテンツを割り当てても、「.aaa」という拡張子のCOBOL登録集ファイルが依存解析の対象にならない。

[条件]

  1. NetCOBOL Studioが「自動的にビルド」をしない設定の状態である(メニューバーの「プロジェクト(P)」メニューを左クリックした際に表示されるプルダウンメニュー項目「自動的にビルド」にチェックがついていない状態)。かつ、
  2. NetCOBOL Studioの依存ビューに1つ以上のCOBOLプロジェクトが存在している状態である。かつ、
  3. COBOLプロジェクトのプロパティダイアログ内の設定項目「ファイルコンテンツ」で、任意の拡張子にデフォルト値以外のコンテンツを割り当てた場合。
2 V12.0.0~V12.1.0 V12.2.0 PH15701

以下の条件の場合、リモートビルドする度にリモートサーバ上のCOBOL登録集を常に更新します。

その結果、リモートビルドでは、常にコンパイル・リンクが行われます。

  1. NetCOBOL Studioの依存ビュー、または構造ビューの中にCOBOLプロジェクトが1つ以上表示されている状態である。かつ、
  2. COBOLプロジェクトのプロパティダイアログ内の設定項目[リモート開発]で、COBOLプロジェクトのリモート開発が設定状態である。かつ、
  3. 設定項目[サブディレクトリを生成する(M)]にチェックがついている状態である。かつ、
  4. COBOLプロジェクト配下のサブディレクトリにCOBOL登録集が格納されている状態である。かつ、
  5. NetCOBOL Studioの依存ビューに表示されているCOBOLプロジェクトが、依存関係の解析がなされた状態(COBOLプロジェクトを右クリックし、コンテキストメニューから[依存関係の解析(Z)]>[すべて(A)]、または[依存関係の解析(Z)]>[登録集(L)]を一度でもクリックした状態)である。かつ、
  6. COBOLプロジェクト配下のCOBOLソースファイルが、COBOLプロジェクト配下のサブディレクトリ内に存在するCOBOL登録集に依存する状態である。かつ、
  7. COBOLプロジェクトを右クリックし、コンテキストメニューから[メイクファイル生成]をクリックし、メイクファイル生成を実行した場合。
3 V12.1.0 V12.2.0 PH15790

以下の条件の場合、翻訳前ソース変換機能を使用したCOBOLプログラムの翻訳または変換時に、以下のどちらかの現象が発生する場合があります。

  • 以下のメッセージが出力され、変換処理が中断する
    PRCV-ER108S COBOL登録集'****'が割り当てられていません.
  • 異なるパスに存在する登録集ファイルを読み込む
  1. 以下のどれかの方法により、翻訳前ソース変換機能を有効にしている。かつ、
    • COBOLコマンドに-CVmオプションを指定している
    • NetCOBOL Studioで翻訳オプションPRECONV(MF)を指定している
    • COBPRECONVコマンドを使用している
  2. COPY文に IN/OF 登録集名を記述している場合。
4 V12.1.0 V12.2.0 PH15791

以下の条件の場合、翻訳前ソース変換機能を使用したCOBOLプログラムの変換時、最も優先される指定である@OPTIONSに記述した一部の翻訳オプションの指定が無効となり、指定値と異なる値が有効となる場合があります。

なお、後続の翻訳処理では、@OPTIONSの指定値は通常通り有効となります。

  1. 以下のどれかの方法により、翻訳前ソース変換機能を有効としている。かつ、
    • COBOLコマンドに-CVmオプションを指定している
    • NetCOBOL Studioで翻訳オプションPRECONV(MF)を指定している
    • COBPRECONVコマンドを使用している
  2. COBOLプログラムの1行目に@OPTIONSを記述している。かつ、
  3. 2.の行が以下のどちらかを満たしている。かつ、
    1. 一連番号領域に空白以外を記述している、かつ、
      翻訳オプションENCODE、RCS、RSV、SRFまたはBINARY(WORD)を記述している。
    2. 翻訳オプションTABを記述している。
  4. 3.の翻訳オプションの指定値が翻訳オプションの省略値(*1)と異なる、または、3.の翻訳オプションの指定値と異なる指定値を@OPTIONS以外の方法(*2)で有効としている場合。

(*1) 翻訳前ソース変換機能における、翻訳オプションの省略値は次のとおりです。

  ENCODE(SJIS)
  RCS(ACP)
  RSV(ALL)
  SRF(FIX)
  BINARY(BYTE)
  TAB(8)

(*2) @OPTIONS以外の翻訳オプションの指定方法および優先順位は次のとおりです。

  1. -WCオプションによる指定
  2. 環境変数COB_OPTIONSによる指定
  3. NetCOBOL Studioの[翻訳オプション]ページによる指定(COBOLコマンドのみ指定可)

【補足】 翻訳前ソース変換機能による変換時、@OPTIONSの指定が無効となり、指定値と異なる値が有効となる場合の現象について説明します。

@OPTIONSに指定した翻訳オプションに応じて、次の現象が発生する場合があります。

  • 翻訳オプションENCODE(UTF8)またはRCS(UTF16)
    不正な変換後ソースプログラムが出力され、後続の翻訳処理で次の翻訳エラーが出力される場合がある
    JMN5590I-S 翻訳オプション@1@指定の場合,'@2@'は 使用できません.
    @1@: ENCODE(UTF8)またはRCS(UTF16)
    @2@: FUNCTION CAST-ALPHANUMERICまたはFUNCTION NATIONAL
  • 翻訳オプションENCODE(SJIS)、RCS(ACP)またはRCS(SJIS)
    次の不正な変換エラーが出力される
    PRCV-ER024S 翻訳オプション@1@は指定できません.変換を中止します.
    @1@: ENCODE(UTF8)またはRCS(UTF16)
  • 翻訳オプションRSV
    利用者語として使用されている「NetCOBOLでだけ予約語となる語」が変換されず後続の翻訳処理で翻訳エラーが出力される場合がある
  • 翻訳オプションSRF
    次のどれかの現象が発生する場合がある
    • 次の不正な変換エラーが出力される
      PRCV-ER024S 翻訳オプションSRF(FREE)は指定できません.変換を中止します.
    • 変換後ソースプログラムの行の終わりの一部が出力されない
    • 不正な変換エラーが出力され、変換処理が中断する
  • 翻訳オプションBINARY(WORD)
    ARITHMETIC(31)が有効な場合、後続の翻訳処理で以下の翻訳エラーが出力される。
    JMN0126I-S 翻訳オプション@1@は,翻訳オプション@2@と同時に指定できません.翻訳オプション@1@の指定は無効となります.
    @1@: BINARY(BYTE)またはARITHMETIC(31)
    @2@: ARITHMETIC(31)またはBINARY(BYTE)
  • 翻訳オプションTAB
    次のどちらかの現象が発生する場合がある
    • 変換後ソースプログラムの行の終わりの一部が出力されない
    • 不正な変換エラーが出力され、変換処理が中断する
5 V12.1.0 V12.2.0 PH15808

以下の条件の場合、翻訳前ソース変換機能を使用したCOBOLプログラムの変換時、変換対象でない条件式(*1)に対して誤って変換を行います。

(*1) 変換対象でない条件式には、次の2種類があり、変換前ソースプログラムをそのまま翻訳することで確認できます。

  • 変換の必要のない記述 : 翻訳処理が正常終了
  • NetCOBOLの文法では許可されない記述 : 翻訳処理でエラー出力

その結果、以下のどれかの現象が発生する場合があります。

[現象1] 変換の必要のない記述に対し、次のどれかの不正な変換を行い、後続の翻訳処理でエラーが出力される

  1. PICTURE句の文字列がない不正なデータ項目を出力する
  2. 条件式中に不正なFUNCTION CAST-ALPHANUMERICの記述を挿入する
  3. 条件式中の表意定数ZEROを日本語定数NC"0"に変換する

[現象2] 次のどれかの変換の必要のない記述に対し、変換を行い、後続の翻訳処理が正常終了する(*2)

  • 2進項目または内部10進項目と、項類が数字の特殊レジスタとの比較
  • 日本語項目と、表意定数SPACE/HIGH-VALUE/LOW-VALUEとの比較

[現象3] 次のNetCOBOLの文法では許可されない記述に対し、変換を行い、後続の翻訳処理が正常終了する(*3)

  • 2進項目または内部10進項目と、表意定数SPACE/HIGH-VALUE/LOW-VALUEとの比較

[現象4] NetCOBOLの文法では許可されない記述に対し、不正な変換を行い、後続の翻訳処理でエラーが出力される(*4)


[現象5] 変換の必要のない記述に対し、次のどちらかの不正な警告メッセージを出力する(*5)
PRCV-m0509E PERFORM文(UNTIL指定)またはSEARCH文に指定された英数字項目と内部10進または2進項目との比較は変換できません.
PRCV-m0510E PERFORM文(UNTIL指定)またはSEARCH文に指定された文字定数と内部10進または2進項目との比較は変換できません.

(*2) 変換前後の記述で、COBOLプログラムの動作に変更はありません。

(*3) 変換後の記述は、移行前のCOBOLプログラムの動作に対し、互換性があります。

(*4) 本来変換されず、後続の翻訳処理でエラーが出力される記述です。詳細は【補足2】を参照してください。

(*5) 変換は行われません。また、警告メッセージの出力誤りのため、対処は不要です。

[条件]

  1. 次のどれかの方法により、翻訳前ソース変換機能を有効としている。かつ、
    • COBOLコマンドに-CVmオプションを指定している
    • NetCOBOL Studioで翻訳オプションPRECONV(MF)を指定している
    • COBPRECONVコマンドを使用している
  2. 条件式を次のどれかに記述している。かつ、
    • IF文
    • EVALUATE文の選択対象
    • PERFORM文のUNTIL指定
    • SEARCH文のWHEN指定
  3. 2.の条件式が次のどちらかを満たしている。かつ、
    1. 比較条件の一方の作用対象に特殊レジスタLENGTH OFを指定している。
    2. 次を満たす組合せ条件である。
      1. 2番目以降の条件に条件名を記述している。かつ、
      2. b.の1.の直前の条件の右辺に以下のどれかを指定している。
        - 日本語定数
        - 表意定数SPACE/HIGH-VALUE/LOW-VALUE
        - 特殊レジスタ
  4. 3.のa.の特殊レジスタLENGTH OFに記述した項目と3.のa.のもう一方の作用対象、または、3.のb.1.の条件名と3.のb.2.のもう一方の作用対象の組合せ(*6)が、以下のどれかである場合。
    1. 2進項目または内部10進項目 と 英数字項目
    2. 日本語項目 と 英数字項目または外部10進項目
    3. 2進項目または内部10進項目 と 文字定数
    4. 日本語項目 と 文字定数
    5. 日本語項目 と 表意定数ZEROまたはQUOTE

(*6) 組合せの左右を入れ替えた場合を含みます。


【補足1】

[現象1]および[現象5]について、条件を補足します。

  • 条件(3.のa.)
    (現象1.のb.) 特殊レジスタLENGTH OFに日本語項目、比較対象に外部10進項目
    (現象1.のc.) 特殊レジスタLENGTH OFに日本語項目、比較対象に表意定数ZERO
  • 条件(3.のb.)
    組合せ条件の記述を以下(条件名をZ)と仮定します。
     X = Y OR Z
    

    組合せを以下に記載します。

    • (現象1.のa.)
      X: 英数字項目
      Y: 表意定数SPACE/HIGH-VALUE/LOW-VALUE
      Y: 2進項目または内部10進項目
    • (現象1.のb.)
      • X: 英数字項目または外部10進項目
        Y: 表意定数SPACE/HIGH-VALUE/LOW-VALUE
        Z: 日本語項目、
        または、
      • X: 日本語項目
        Y: 日本語定数
        Z: 英数字項目または外部10進項目、
        または、
      • X: 外部10進項目
        Y: 項類が数字の特殊レジスタ
        Z: 日本語項目
    • (現象1.のc.)
      X: 表意定数ZERO
      Y: 項類が数字の特殊レジスタ
      Z: 日本語項目

なお、[条件]の4.のa.または4.のc.を満たし、かつ、条件式がPERFORM文のUNTIL指定またはSEARCH文に記述された場合は、[現象5]となります。


【補足2】

[現象4]は、次のどれかの記述に対し発生します。

  • 項類が数字の特殊レジスタと次のどれかとの比較
    • 英数字項目
    • 文字定数
    • 表意定数SPACE/HIGH-VALUE/LOW-VALUE/QUOTE
  • 特殊レジスタLENGTH OFと日本語項目の比較
  • 特殊レジスタLENGTH OFに文字定数または表意定数を指定した作用対象を含む比較
  • 次のどれかと、日本語定数との比較
    • 2進項目
    • 内部10進項目
    • 英数字項目
    • 外部10進項目
  • 定数同士の比較

これらの記述は、NetCOBOLの文法では許可されず、翻訳前ソース変換機能でも変換を行わない仕様です。

このため、本障害の修正を適用した場合、誤った変換が行われないように変更されますが、変換後ソースプログラムは翻訳エラーとなります。

NetCOBOLの文法で許可されるよう、ソースプログラムを修正してください。

6 V12.1.0 V12.2.0 PH15817

以下の条件の場合、翻訳前ソース変換機能を使用したCOBOLプログラムの変換時に、USAGE句にCOMP-Xを指定した英数字項目と、英数字項目または文字定数の比較に対し、誤った変換を行います。

その結果、変換後のCOBOLプログラムの実行時、条件式の判定が移行前のプログラムと異なる場合があります。

  1. 次のどれかの方法により、翻訳前ソース変換機能を使用している。かつ、
    • COBOLコマンドに-CVmオプションを指定して翻訳している
    • NetCOBOL Studioで翻訳オプションPRECONV(MF)を指定して翻訳している
    • COBPRECONVコマンドを使用して変換している
  2. USAGE句にCOMP-Xを指定した英数字項目を宣言している。かつ、
  3. 2.の項目と英数字項目または文字定数を比較した条件式を記述している。かつ、
  4. 3.の条件式を次のどちらかに記述している場合。
    • IF文
    • EVALUATE文の選択対象(*)

(*) EVALUATE文の選択主体は、翻訳前ソース変換機能の変換対象ではありません。

7 V10.1.0~V12.1.0 V12.2.0 PH15858

以下の条件の場合、COBOLプログラムの翻訳時に、以下のどちらかのエラーが出力される場合があります。
JMN1123I-S 許されない語'XXXX'が現れました.次の認識できる句,段落,節または部まで無効になります.
JMN2500I-S 文が現れなければいけない所に,語'XXXX'が現れました.次の文または手続き名まで読み飛ばします.
XXXX : 条件 1.の文の名前が設定されます。

[条件]

  1. 以下のどれかの文(*)を記述している。かつ、
    • EJECT
    • SKIP1
    • SKIP2
    • SKIP3
    • TITLE
  2. 翻訳オプションRSVに以下のどれかを指定している場合。
    • V30
    • V40
    • V61
    • V70
    • V81
    • V90
    • V91
    • V1020
    • V1040
    • V1050
    • V1100

* : OSIV互換の翻訳指示文で、記述した場合は注釈とみなされます。

8 V11.1.0~V12.1.0 V12.2.0 PH15997

以下の条件の場合、COBOLプログラムデバッグ時、日本語項目の表示が"?"となります。

  1. NetCOBOL V11.1.0(x64)以降を使用している。かつ、
  2. NetCOBOL Studioのデバッグ機能を使用している(*1)。かつ、
  3. 以下に示す翻訳オプションを指定してビルドしたUnicodeアプリケーションをデバッグしている。かつ、
    • RCS(UCS2)またはRCS(UCS2,LE)またはRCS(UCS2,BE)
    • RCS(UTF16)またはRCS(UTF16,LE)またはRCS(UTF16,BE)
    • ENCODE(UTF8)
    • ENCODE(UTF8,UTF16)、ENCODE(UTF8,UTF16,LE)、または
      ENCODE(UTF8,UTF16,BE)
    • ENCODE(UTF8,UTF32)、ENCODE(UTF8,UTF32,LE)、または
      ENCODE(UTF8,UTF32,BE)
  4. UTF-32エンコードが有効な日本語項目を使用している(*2)。かつ、
  5. デバッガで、4.のデータ項目を参照(*3)している場合。

*1:プロジェクトのプロパティのターゲットのビルドモードの設定がデバッグの場合。

*2:日本語項目に対して有効なENCODING句にどれかのエンコードに対して定義した符号系名を指定している。

  • UTF32
  • UTF32LE
  • UTF32BE

日本語項目に対して有効なENCODING句を指定していない場合、次のどれかの翻訳オプションを指定している。

  • ENCODE(UTF8,UTF32)
  • ENCODE(UTF8,UTF32,LE)
  • ENCODE(UTF8,UTF32,BE)

*3:次のどちらかの方法でデータ項目の値を参照している。

  • ツールチップでデータ項目を表示する。
  • [ウオッチ]ビューにデータ項目を追加する。
9 V12.1.0 V12.2.0 PH16220

以下の条件の場合、翻訳前ソース変換機能を使用したCOBOLプログラムの変換時、変換が行われない、または、誤った変換が行われる場合があります。誤った変換を行った結果、後続の翻訳処理で翻訳エラーが出力される、または、変換後のCOBOLプログラムの実行時、COBOLプログラムの動作が移行前のプログラムと異なる場合があります。

現象は、条件7.に応じて、以下のとおりとなります。

  1. 次の変換メッセージが出力され、変換が行われません。
    PRCV-m0407E 日本語項目のVALUE句に指定された継続指定のある文字定数は変換できません.
  2. 次のどちらかの変換メッセージが出力され、変換が行われません。
    PRCV-m0516E 継続指定のある文字定数から日本語項目への転記は変換できません.
    PRCV-m0517E 継続指定のある16進定数から日本語項目への転記は変換できません.
  3. 次のどちらかとなります。
    • 変換対象とすべき記述に対する変換が行われない
    • 本来変換対象とならない記述に対して、誤った変換を行う

[条件]

  1. 次のどれかの方法により、翻訳前ソース変換機能を使用している。かつ、
    • COBOLコマンドに-CVmオプションを指定して翻訳している
    • NetCOBOL Studioで翻訳オプションPRECONV(MF)を指定して翻訳している
    • COBPRECONVコマンドを使用して変換している
  2. 変換元ソースプログラムおよびCOPY文で取り込まれる登録集ファイル中に文字定数または16進文字定数を記述している。かつ、
  3. 2.の定数値の終了を示す引用符の直後に改行文字がある。かつ、
  4. 3.の引用符の文字位置(nとする)が72よりも小さい。かつ、
  5. 変換元ソースプログラムおよびCOPY文で取り込まれる登録集ファイル中にn+1番目の文字位置が3.と同じ引用符である行が存在する。かつ、
  6. 5.の行が3.の行よりも前にある。かつ、
  7. 2.の定数が次のどれかに指定されている場合。
    1. 日本語項目のVALUE句 (文字定数のみ)
    2. 日本語項目または日本語編集項目を受取り側作用対象としたMOVE文の送出し側作用対象
    3. 次のどれかに記述した条件式の右辺
      • IF文(THEN指定のあるIF文の最後の条件式を除く)
      • EVALUATE文の選択対象
      • PERFORM文のUNTIL指定
      • SEARCH文のWHEN指定

【プログラム例】

条件(7.のc.)を満たす条件式のプログラム例を示します。

000010  01 X01 PIC X(9).
000020  01 N01 PIC N(9).
000030  01 B01 PIC 9(9) BINARY.
000040  PROCEDURE DIVISION.
000050*--+---------+123456789+
000060     DISPLAY  "START".
000070*--+---------+123456789+
000080     IF  X01 = "ABC"
000090     AND SPACE = N01
000100     THEN
000110       DISPLAY "OK"
000120     END-IF.

000060の行:条件 5.の行で、27番目の文字が「"」

000080の行:条件 3.の行で、26番目の文字「"」が最後の文字

10 V12.1.0 V12.2.0 PH16439

以下の条件の場合、翻訳前ソース変換機能を使用したCOBOLプログラムの変換時、最も優先される指定である@OPTIONSに記述した一部の翻訳オプションの指定が無効となり、指定値と異なる値が有効となる場合があります。

なお、後続の翻訳処理では、@OPTIONSの指定値は通常どおり有効となります。

[条件]

  1. 以下のどれかの方法により、翻訳前ソース変換機能を有効としている。かつ、
    • COBOLコマンドに-CVmオプションを指定している
    • NetCOBOL Studioで翻訳オプションPRECONV(MF)を指定している
    • COBPRECONVコマンドを使用している
  2. 変換元ソースプログラムに存在する翻訳単位は1つ(*1)である。かつ、
  3. 変換元ソースプログラムの先頭に@OPTIONSを記述している。かつ、
  4. 3.の行に続き、連続して@OPTIONSを記述している。かつ、
  5. 4.の行に次のどれかの翻訳オプションを指定している。かつ、
    • ENCODE
    • RCS
    • RSV
    • SRF
    • BINARY(WORD)
    • TAB
  6. 5.の翻訳オプションの指定値が翻訳オプションの省略値(*2)と異なる、または、
    5.の翻訳オプションの指定値と異なる指定値を(3)の行または@OPTIONS以外の方法(*3)で有効としている場合。

*1: 翻訳前ソース変換機能では、複数の翻訳単位を記述したソースプログラムは変換できません。

*2: 翻訳前ソース変換機能における、翻訳オプションの省略値は次のとおりです。

  ENCODE(SJIS)
  RCS(ACP)
  RSV(ALL)
  SRF(FIX)
  BINARY(BYTE)
  TAB(8)

*3: 翻訳オプションの指定方法および優先順位は次のとおりです。

  1. ソースプログラム中の翻訳指示文(@OPTIONS)による指定
  2. -WCオプションによる指定
  3. 環境変数COB_OPTIONSによる指定
  4. NetCOBOL Studioの[翻訳オプション]ページによる指定(COBOLコマンドのみ指定可)

【補足】翻訳前ソース変換機能による変換時、2行目以降に記述した@OPTIONSの指定が無効となり、指定値と異なる値が有効となる場合の現象について説明します。

@OPTIONSに指定した翻訳オプションに応じて、次の現象が発生する場合があります。

  • 翻訳オプションENCODE(UTF8)またはRCS(UTF16)
    不正な変換後ソースプログラムが出力され、後続の翻訳処理で次の翻訳エラーが出力される場合がある
    JMN5590I-S 翻訳オプション@1@指定の場合,'@2@'は 使用できません.
    @1@: ENCODE(UTF8)またはRCS(UTF16)
    @2@: FUNCTION CAST-ALPHANUMERICまたはFUNCTION NATIONAL
  • 翻訳オプションENCODE(SJIS)、RCS(ACP)またはRCS(SJIS)
    次の不正な変換エラーが出力される
    PRCV-ER024S 翻訳オプション@1@は指定できません.変換を中止します.
    @1@: ENCODE(UTF8)またはRCS(UTF16)
  • 翻訳オプションRSV
    利用者語として使用されている「NetCOBOLでだけ予約語となる語」が変換されず後続の翻訳処理で翻訳エラーが出力される場合がある
  • 翻訳オプションSRF

    次のどれかの現象が発生する場合がある

    • 次の不正な変換エラーが出力される
      PRCV-ER024S 翻訳オプションSRF(FREE)は指定できません.変換を中止します.
      
    • 変換後ソースプログラムの行の終わりの一部が出力されない
    • 不正な変換エラーが出力され、変換処理が中断する
  • 翻訳オプションBINARY(WORD)
    ARITHMETIC(31)が有効な場合、後続の翻訳処理で以下の翻訳エラーが出力される
    JMN0126I-S 翻訳オプション@1@は,翻訳オプション@2@と同時に指定できません.翻訳オプション@1@の指定は無効となります.
    @1@: BINARY(BYTE)またはARITHMETIC(31)
    @2@: ARITHMETIC(31)またはBINARY(BYTE)
  • 翻訳オプションTAB

    次のどちらかの現象が発生する場合がある

    • 変換後ソースプログラムの行の終わりの一部が出力されない
    • 不正な変換エラーが出力され、変換処理が中断する
11 V12.1.0 V12.2.0 PH16578

以下の条件の場合、翻訳前ソース変換機能を使用したCOBOLプログラムの変換時、項類が日本語の作用対象を一方とする比較に対する変換規則に誤りがありました。

その結果、変換後のCOBOLプログラムの実行時、条件式の判定が移行前のプログラムと異なる場合があります。

[条件]

  1. 次のどれかの方法により、翻訳前ソース変換機能を使用している。かつ、
    • COBOLコマンドに-CVmオプションを指定して翻訳している
    • NetCOBOL Studioで翻訳オプションPRECONV(MF)を指定して翻訳している
    • COBPRECONVコマンドを使用して変換している
  2. 日本語項目または日本語編集項目を宣言している。かつ、
  3. 2.の項目と次のどれかを比較した条件式を記述している。かつ、
    • 英数字項目
    • 英字項目
    • 英数字編集項目
    • 数字編集項目
    • 外部10進項目
    • 文字定数(ALL定数は除く)
    • 16進文字定数(ALL定数は除く)
  4. 3.の条件式の作用対象が次のどれかを満たす。かつ、
    • 作用対象の長さが異なる
    • 作用対象のどれかを部分参照している
    • 作用対象のどれかのPICTURE句の反復回数を表す整数に名前付き定数を指定している
  5. 3.の条件式を次のどれかに記述している場合。
    • IF文
    • EVALUATE文の選択対象
    • PERFORM文のUNTIL指定
    • SEARCH文のWHEN指定
12 V10.1.0~V12.1.0 V12.2.0 PH16596

以下の条件の場合、Windows(x64)版 NetCOBOLとWindows(x86)版 NetCOBOLが混在した環境において、Windows(x64)版のNetCOBOLコマンドプロンプトからjava2cobコマンドを実行した時、Windows(x86)版のコマンドが起動されることがあります。

  • java2cobコマンドに-vmオプションを指定する場合(*1)
    Windows(x86)版のjava2cobコマンドは-vmオプションをサポートしていないため、Windows(x86)版のjava2cobコマンドのコマンド形式が表示されます。
  • java2cobコマンドに-vmオプションを指定しない場合
    • 64ビット版のJava環境(Oracle/富士通Java)をインストールしている、かつ、32ビット版のJava環境(Oracle/富士通Java)をインストールしていない場合。
      以下のメッセージが表示されます。
      Java VMの起動に失敗しました。JDKの環境定義(PATH,CLASSPATH)、JDKのインストールが正しく行われていることを確認してください。
    • 32ビット版のJava環境(Oracle/富士通Java)がインストールされている場合(*2)。
      ソース生成が行われます。ただし、インストールされている64ビット版と32ビット版のJavaのバージョンが異なる場合、意図しない結果となることがあります。

*1: Windows(x64)版 V12.1のみ

*2: 64ビット版のJava環境のインストールの有無は関係なし

[条件]

  1. Windows(x64)版 NetCOBOLのEnterprise EditionまたはStandard Editionをインストールしている。かつ、
  2. 1.の環境にWindows(x86)版 NetCOBOL Enterprise Edition、Professional Edition、またはStandard Editionをインストールした場合。かつ、
  3. Windows(x64)版 NetCOBOLコマンドプロンプトでjava2cobコマンドを実行した場合。
13 V12.1.0 V12.2.0 PH16634

以下の条件の場合、翻訳前ソース変換機能を使用したCOBOLプログラムの変換時、ソース中に展開済みのCOPY文の行が注釈行に変換されない場合があります。

その結果、変換後のCOBOLプログラムの翻訳時、以下のどれかの翻訳エラーが出力されます。

  • 条件(3.のa.)を満たす場合
    JMN2504I-S 利用者語'@1@'が多重定義です.
    JMN1207I-S @1@句が重複しています.
    JMN1217I-S ALPHABET句またはCLASS句で,数字定数は1以上で256以下でなければなりません.0は1と,256以上は256とみなします.
  • 条件(3.のb.)を満たす場合
    JMN1123I-S 許されない語'@1@'が現れました.次の認識できる句,段落,節または部まで無効になります .
  • 条件(4.)のCOPY文の記述が他社COBOL固有の場合
    JMN1062I-S COBOL登録集'@1@'が割り当てられていません.または,登録集として割り当てられたデ ータセットが,登録集として使用できない編成若しくはレコード形式です.
    JMN1081I-S COPY文の終止符の直後は,空白でなければなりません.
    JMN1076I-S COPY文の書き方に誤りがあります.または,分離符の終止符で止められていません.

[条件]

  1. 次のどれかの方法により、翻訳前ソース変換機能を使用している。かつ、
    1. COBOLコマンドに-CVmオプションを指定して翻訳している
    2. NetCOBOL Studioで翻訳オプションPRECONV(MF)を指定して翻訳している
    3. COBPRECONVコマンドを使用して変換している
  2. 次のどちらかにより、COPY文を記述している場合、取り込んだ登録集原文を変換後ソースプログラム中に展開している。かつ、
    • (1.のa.)または(1.のb.)を使用している
    • (1.のc.)を使用している、かつ、変換オプションEXPAND-COPYにYESを指定している
  3. 次のどちらかの記述がある。かつ、
    1. 特殊名段落にNUMERIC SIGN句を指定している
    2. ASSIGN句にEXTERNALまたはDYNAMICを指定している
  4. 3.の直後にCOPY文が記述されている場合。(*)

*: 条件4.は、それぞれ以下の状態を指します。

COPY文の直前にピリオドがある場合は、障害の発生条件に合致しません。

  • 条件(3.のa.)
      000010     NUMERIC SIGN IS TRAILING SEPARATE
      000020     COPY X.
    
  • 条件(3.のb.)
      000010     SELECT FILE01 ASSIGN TO EXTERNAL
      000020     COPY X.
    

V12.1.0

ここに記載している情報は、V12.1.0で修正されている旧版で発生した障害一覧です。

項番 発生V/L 修正V/L P番号 現象
1 V10.2.0~V12.0.0 V12.1.0 PH13322

以下の条件の場合、NetCOBOL Studioのデバッグ時に設定したブレークポイントに中断しません。

  1. プログラム名(*1)またはメソッド名(*2)が以下の場合、または
         *
         &
         #
    
    プログラム名(*1)またはメソッド名(*2)が以下の文字を含んでいる場合。かつ、
         .
         :
         '
         "
         (
         )
         ,
         ;
         空白
         タブ
         /* */
    
  2. NetCOBOL Studioを使って1.のプログラムまたはメソッドにブレークポイントを設定している。かつ、
  3. NetCOBOL Studioを使ってデバッグを開始した場合。

*1:プログラム定数またはAS指定による定数によって指定したプログラム名

*2:AS指定による定数によって指定したメソッド名

2 V10.1.0~V12.0.0 V12.1.0 PH13959

以下の条件の場合、COBOLプログラムの翻訳時に、コンパイラが無限ループをして翻訳が完了しないことがあります(*1)。

*1: 無限ループが発生しない場合、翻訳処理の結果は正しいです。

条件1)

  1. IF文の入れ子の階層(*2)が180以上(*3)ある。かつ、
  2. 1.の180番目以降のIF文にCOBOLの文を記述している場合。

または、

条件2)

  1. そとPERFORM文と節と段落が合わせて274以上(*3)ある。かつ、
  2. 1.の274番目以降の節または段落にCOBOLの文を記述している場合。

*2: IF文の入れ子の例。この例では入れ子の階層は2です。

      IF ~                   ---------+
        IF ~                 --+      |
          ~                    |      |
                    階層2   階層1
          ~                    |      |
        END-IF                --+      |
      END-IF                 ----------+

*3: 翻訳時のメモリの状態に依存するため、条件に一致しても無限ループしないことがあります。

3 V11.0.0~V12.0.0 V12.1.0 PH13961

以下の条件の場合、COBOLプログラムの翻訳時に、コンパイラが次のメッセージを出力して異常終了する場合があります。

JMN0102I-U 翻訳処理が続行不可能となりました.他の診断メッセージが表示されている場合は,それらを修正して,再度翻訳してみて下さい. (区名=JMNRAL,モジュール名=SABEMAC ,詳細コード=6202,行情報=nnnn.)
  1. 翻訳オプションOPTIMIZE(*1)が有効である。かつ、
  2. 翻訳オプションARITHMETIC(31)(*2)が有効である。かつ、
  3. 整数部1桁の2進項目を宣言している。かつ、
  4. 3.の数字項目に数字定数を転記している。かつ、
  5. 以下A、Bのどちらかに該当する算術文が存在する。かつ、
    A.以下の条件を満足する加減算
    • 作用対象が3.の数字項目。
    • 他方の作用対象の小数部桁が37桁以上の中間結果(*3)。
    B.以下の条件を満足する除算
    • 被序数が3.の数字項目。
    • 除数と商を受け取る数字項目の小数部桁が合わせて37桁。
  6. 4.と5.の文の間に下記の記述がない場合。
    • 段落
    • 下記の文
      • ON EXCEPTION指定またはNOT ON EXCEPTION指定付きのACCEPT文
      • ON SIZE ERROR指定またはNOT ON SIZE ERROR指定付きのADD文
      • ON SIZE ERROR指定またはNOT ON SIZE ERROR指定付きのCOMPUTE文
      • INVALID KEY指定またはNOT INVALID KEY指定付きのDELETE文
      • ON EXCEPTION指定またはNOT ON EXCEPTION指定付きのDISPLAY文
      • ON SIZE ERROR指定またはNOT ON SIZE ERROR指定付きのDIVIDE文
      • CALL文
      • EVALUATE文
      • EXIT文、EXIT PROGRAM文、EXIT METHOD文
      • GO TO文
      • IF文
      • INSPECT文
      • INVOKE文
      • MERGE文
      • ON SIZE ERROR指定またはNOT ON SIZE ERROR指定付きのMULTIPLY文
      • PERFORM文
      • AT END指定、NOT AT END指定、INVALID KEY指定またはNOT INVALID KEY指定付きのREAD文
      • RETURN文
      • INVALID KEY指定またはNOT INVALID KEY指定付きのREWRITE文
      • SEARCH文
      • SORT文
      • INVALID KEY指定またはNOT INVALID KEY指定付きのSTART文
      • STRING文
      • UNSTRING文
      • INVALID KEY指定、NOT INVALID KEY指定、END-OF-PAGE指定またはNOT END-OF-PAGE付きのWRITE文

*1:翻訳オプションOPTIMIZEのデフォルト値はNOOPTIMIZEです。

*2:翻訳オプションARITHMETICのデフォルト値はARITHMETIC(18)です。

*3:中間結果については、COBOL文法書の“付録D 中間結果”を参照してください。

4 V10.2.0~V12.0.0 V12.1.0 PH14444

以下の条件の場合、NetCOBOL StudioでSubversionなどのリモート上のリポジトリに存在するCOBOLソースプログラムをCOBOLエディタで開くと、開くまでに長い時間がかかることがあります。

  1. COBOLソースプログラムの手続き部に大きな段落が多数存在する場合(*)。かつ、
  2. アウトラインビューを開いている状態で、リモート上のリポジトリに存在するCOBOLソースプログラムをCOBOLエディタで開いた場合。
    または、
    リモート上のリポジトリに存在するCOBOLソースプログラムをCOBOLエディタで開いた状態で、アウトラインビューを開いた場合。

*:目安は段落数が100以上。1つの段落が50行程度。

なお、発生条件の数値はハードウェアスペックやOSの状態により変化します。

5 V10.1.0~V12.0.0 V12.1.0 PH14815

以下の条件の場合、COBOLアプリケーションの実行時に、正しく動作しないことがあります。

  1. 翻訳オプションINITVALUEに指定し、INITVALUEの値として00以外を指定している。かつ、
  2. ファクトリデータおよびオブジェクトデータのうち作業場所節に初期値を持たないデータ項目を定義している。かつ、
  3. 2.のデータ項目に値を設定せずに参照した場合。
6 V10.2.0~V12.0.0 V12.1.0 PH14957

以下の条件の場合、依存ビューおよび、構造ビューのプロジェクト要素およびソースファイルフォルダ要素にエラーや警告を示すアイコンが表示されません。また、COBOLエディタを開いたときに、エラーや警告の行に対して、テキスト・エディターの注釈設定の[テキストの表示](*)に指定された表示(エラーのデフォルトは赤色の下波線、警告のデフォルトは黄色の下波線)がされません。

*: [ウィンドウ]>[設定]メニューから[設定]ダイアログを開き、左ペインの[一般]>[エディター]>[テキスト・エディター]>[注釈]を選択することで表示されます。

  1. NetCOBOL Studioのプロジェクトに対してリモートビルドをする。かつ、
  2. プロジェクトに登録されているCOBOLソースファイルにエラーや警告の行がある場合。
7 V12.0.0 V12.1.0 PH15286

以下の条件の場合、NetCOBOL StudioのCOBOLエディタのビューにエラーアイコンが表示されて登録集ファイルを開くことができません。

  1. プロジェクトフォルダ外のパスをLIB翻訳オプションに指定している。かつ、
  2. COBOLソースファイルの手続き部に、1.の登録集ファイルを指定したCOPY文を記述している。かつ、
  3. NetCOBOL Studioのデバッグ機能を使って登録集ファイル内の行で実行中断した場合。

V12.0.0

ここに記載している情報は、V12.0.0で修正されている旧版で発生した障害一覧です。

項番 発生V/L 修正V/L P番号 現象
1 V10.1.0~V11.1.0 V12.0.0 PH08505

以下の条件の場合、コンパイラが異常終了する場合があります。このとき、特定のメッセージは出力されません。

以下の条件1、条件2のいずれかを満たす場合。

条件1)

  1. 以下の順序でREPLACE文を記述している。

    1. 書き方1のREPLACE文

    2. 書き方2のREPLACE文(REPLACE OFF)

    3. 書き方1のREPLACE文

    かつ、

  2. c.のREPLACE文の行に、別の文または注記を記述している場合。

    -例-

      REPLACE ==XXX== BY ==AAA==.
        :
      REPLACE OFF.
        :
      REPLACE ==XXX== BY ==BBB==. *> 注記
        :
    

条件2)

  1. 以下の順序でCOPY文およびREPLACE文を記述している。

    1. REPLACING指定またはDISJOINING/JOINING指定のあるCOPY文

    2. 書き方1のREPLACE文

    かつ、

  2. b.のREPLACE文の行に、別の文または注記を記述している場合。

    -例-

      COPY TEXT1 REPLACING ==XXX== BY ==AAA==.
        :
      REPLACE ==XXX== BY ==BBB==. *> 注記
        :
    
2 V11.0.0~V11.1.0 V12.0.0 PH13035

以下の条件の場合、[テンプレート]ビューのコンテキストメニューが表示されません。

  1. [テンプレート]ビューを表示している(*1)。かつ、

  2. [ワークスペースの保管間隔(分)]に設定した時間(*2)が経過した場合。


*1: [テンプレート]ビューは、以下の手順で表示できます。

  1. メニューバーから[ウィンドウ] > [ビューの表示] > [その他]を選択します。
    → [ビューの表示]ダイアログボックスが表示されます。

  2. [COBOL] > [テンプレート]を選択し、[OK]ボタンをクリックします。
    → [テンプレート]ビューが表示されます。

*2: ワークスペースの保管間隔に設定した時間は以下の手順で確認できます。

  1. メニューバーから[ウィンドウ] > [設定]を選択します。
    → [設定]ダイアログボックスが表示されます。

  2. 左のペインから[一般] > [ワークスペース]を選択します。
    → [ワークスペース]ページが表示されます。

  3. [ワークスペースの保管間隔(分)]に設定された値を確認します。

3 V11.1.0 V12.0.0 PH13456

以下の環境・条件の場合、NetCOBOL StudioでCOBOLアプリケーションをデバッグしたとき、ブレークポイントが有効にならず、実行が中断しません。

環境)

  1. クライアント側が、Windows(x64)版 NetCOBOL V12.0.0である。かつ、

  2. サーバ側が、Windows(x64)版 NetCOBOL V11.1.0である。

条件)

  1. NetCOBOL Studioのリモートデバッグ機能でCOBOLアプリケーションをデバッグしている。かつ、

  2. 以下のいずれの方法で、条件式を指定している。かつ、

    • [ウォッチ]ビュー

    • [COBOL行ブレークポイントのプロパティー]ダイアログボックス

  3. 2.の条件式に、英数字項目と文字定数との比較式を指定した場合。

※ [ウォッチ]ビューの場合、「条件式を評価できません」の状態になります。

V11.1.0

ここに記載している情報は、V11.1.0で修正されている旧版で発生した障害一覧です。

項番 発生V/L 修正V/L P番号 現象
1 V10.1.0~V11.0.1 V11.1.0 PG81806

以下の条件の場合、COBOLプログラムの翻訳時に、コンパイラが異常終了することがあります。

  1. 次のいずれかの文を記述している。かつ、

    • CALL文

    • CANCEL文

    • INVOKE文

    • CSV-FORMATが指定されたSTRING文/UNSTRING文

  2. 1.の文が条件文の中に記述されている。かつ、

  3. 2.の条件文の階層(*1)が180以上である場合(*2)。

*1:階層とは、例えば次のような場合(階層が2)を表します。

        EVALUATE ~            ────┐
        WHEN ~                        │
          COMPUTE ~           ┐      │
              ON SIZE ERROR    │      │
                               │      │
            CALL  ~           階層2   階層1 
                               │      │
          END-COMPUTE          ┘      │
        END-EVALUATE           ────┘

*2:翻訳時のメモリの状態に依存するため、条件に一致しても異常終了しないことがあります。

2 V10.1.0~V11.0.1 V11.1.0 PG98620

以下の条件の場合、COBOLプログラムの翻訳時に、コンパイラが翻訳メッセージを出力せずに異常終了する場合があります。

  1. 翻訳オプションOPTIMIZEが有効である(*1)。かつ、

  2. COBOLソースに、呼ばれるプログラムの名前を一意名で指定しているCALL文を記述している。かつ、

  3. 2.のCALL文にUSING指定を記述している。かつ、

  4. 2.のCALL文にRETURNING指定を記述している。かつ、

  5. ポインタデータ項目を設定、または参照している。かつ、

  6. 内部プログラムが存在する。かつ、

  7. 6.の手続き部の見出しにUSING指定を記述していない場合。

*1: デフォルトはNOOPTIMIZEです。

3 V11.0.0~V11.0.1 V11.1.0 PH00282

以下の条件の場合、COBOLプログラムの翻訳時に、コンパイラが以下のUレベルエラーのメッセージを出力して、異常終了する場合があります。

JMN0124I-U ソースファイル内に不当な文字があります.(区名=JMN300,行情報=n.) 翻訳を中止します.

  1. 翻訳オプションにENCODE(UTF8,UTF32)を指定している。かつ、

  2. 条件名の値に日本語16進文字定数を指定している。かつ、

  3. 2.に指定した16進文字の個数が8個未満。かつ、

  4. 2.の条件名を手続き中で使用した場合。

    例)
           @OPTIONS ENCODE(UTF8,UTF32)
           IDENTIFICATION DIVISION.
           PROGRAM-ID. SAMPLE1.
           DATA DIVISION.
           WORKING-STORAGE SECTION.
           01 D1 PIC N VALUE N" ".
           88 ISSPC VALUE NX"0020". *> 正: NX"00000020"
           PROCEDURE DIVISION.
               IF ISSPC THEN
                 DISPLAY "OK"
               END-IF
           END PROGRAM SAMPLE1.
    
4 V11.0.0~V11.0.1 V11.1.0 PH00447

以下の条件の場合、翻訳時メッセージJMN1856I-Sの埋め込み文字@1@に誤った翻訳オプション名(*1)が表示される場合があります。

(*1)"ENCODE(SJIS)"または"ENCODE(UTF8)"

  1. 翻訳オプションRCSを省略している。かつ、

  2. 翻訳オプションENCODEを省略している。かつ、

  3. COPY文書き方3のENCODING指定を記述している。かつ、

  4. 3.の符号系名に以下のいずれかを指定している場合。

    4-1-1) 翻訳オプションSCS(SJIS)を明または暗に指定している。かつ、

    4-1-2) ALPHABET句において以下と関連付けられた符号系名を指定している。

    • UTF8

    • UTF16

    • UTF16LE

    • UTF16BE

    • UTF32

    • UTF32LE

    • UTF32BE

    または、

    4-2-1) 翻訳オプションSCS(UTF8)を指定している(*2)。かつ、

    4-2-2) ALPHABET句においてSJISと関連付けられた符号系名を指定している。

(*2)翻訳オプションRCSとENCODEが省略され、かつ、SCS(UTF8)が指定された場合は、RCS(UTF16)とみなされ、実行時コード系はUnicodeとなります。

5 V10.1.0~V11.0.1 V11.1.0 PH01579

以下の条件の場合、COBOLプログラムの翻訳時に、実行時に異常終了するオブジェクトプログラムを作成するにも関わらず、翻訳メッセージを出力しません。

  1. CALL文のUSING指定に節名または段落名を書いた場合。

6 V11.0.0~V11.0.1 V11.1.0 PH01985

以下の条件の場合、COBOLプログラムの翻訳時に、翻訳エラーとならずにコンパイラが異常終了する場合があります。

  1. SYMBOLIC CHARACTER句を記述している。かつ、

  2. 1.に指定した符号系名が、ALPHABET句で以下と対応づけられている場合。

    • SJIS

    • UTF8

    • UTF16

    • UTF16LE

    • UTF16BE

    • UTF32

    • UTF32LE

    • UTF32BE

【補足】

発生条件に該当する書き方は構文規則上、誤った書き方です。

以下は、COBOL文法書の抜粋です。

4.2.3.12 SYMBOLIC CHARACTERS句
構文規則
5. 符号系名-1は、ALPHABET句において以下と対応付けた符号系名であってはいけません。
    - 機能名
    - SJIS
    - UTF8
    - UTF16
    - UTF16LE
    - UTF16BE
    - UTF32
    - UTF32LE
    - UTF32BE

    ALPHABET句におけるSJIS、UTF8、UTF16、UTF16LE、UTF16BE、UTF32、UTF32LE、およびUTF32BEは、[Win32][Winx64][Linux64]固有の機能です。

7 V11.0.0~V11.0.1 V11.1.0 PH01986

以下の条件の場合、COBOLプログラムの翻訳時に、コンパイラが異常終了します。

  1. メソッド原型が定義されたクラスをV10.5.0以前のコンパイラで翻訳している。かつ、

  2. 分離されたメソッドをV11.0.0以降のコンパイラで翻訳した場合。

【補足】

メソッド原型が定義されたクラスと、分離されたメソッドは同じVLのコンパイラで翻訳しなければなりません。本来は、発生条件に該当する場合、以下の翻訳エラーメッセージが出力されます。

JMN1768I-S メソッド原型が定義されたクラス'xxx'のリポジトリファイルは,分離されたメソッド定義の翻訳と同じVLのコンパイラによって生成されたものでなければなりません.次のソース単位の始め見出しまで無効になります.

8 V10.1.0~V11.0.1 V11.1.0 PH02032

以下の条件の場合、COBOLプログラムの翻訳時に、正しい定数の継続に対して、下記の翻訳時メッセージが出力される場合があります。

JMN1022I-S 定数の終わりの引用符がありません.B領域の終わりまでを定数とみなします.

JMN1021I-S 定数の継続において,後の行は,標識領域にハイフンを書き,引用符で始めなければなりません.定数が継続されているものとみなします.

  1. REPLACE文を記述している。かつ、

  2. 1.のREPLACE文による置き換えが行われる範囲(*1)に以下の記述がある場合。

    1. COPY文を記述している。かつ、

    2. a.のCOPY文の前(*2)がピリオド、右括弧、左括弧、コロンのいずれでもない。かつ、

    3. a.のCOPY文より後ろに複数の行に継続する定数(*3)を記述している。かつ、

    4. a.のCOPY文とc.の定数との間に複数の行に継続する文字列(*4)を記述していない。

*1:次のREPLACE文が現れるまで、または、翻訳単位の終わりまで

*2:空白、注釈行を除いた、直前の文字

*3:文字定数、16進文字定数、日本語定数、ブール定数

*4:日本語利用者語以外のCOBOLの語、PICTURE句の文字列

例)
     IDENTIFICATION DIVISION.
     PROGRAM-ID. SAMPLE1.
         REPLACE ==ABC== BY ==DEF==. *> REPLACE文の置き換え範囲開始
     ENVIRONMENT DIVISION.
     CONFIGURATION SECTION.
     SPECIAL-NAMES.
         SYMBOLIC CONSTANT
           COPY SYMCON.  *> COPY文の前がピリオド、括弧、コロンでない
         .
     DATA DIVISION.
     WORKING-STORAGE SECTION.
     01 MSG-01 PIC X(100) VALUE "ABCD…
    -                           "XYZ".    *> 複数の行に継続する定数
            :
9 V11.0.0~V11.0.1 V11.1.0 PH02110

以下の条件の場合、COBOLプログラムの翻訳時に、画面帳票定義体の読込みに失敗して以下の翻訳エラーメッセージが出力されます。

JMN1857I-S 画面帳票定義体の組み込みにUTF32エンコード方式を指定する場合,UTF32向けに変換した画面帳票定義体を指定する必要があります.画面帳票定義体の組込みを中止します.

  1. 原始プログラム中にXMDLIBが指定された書き方3のCOPY文を記述している。かつ、

  2. 以下のいずれかの指定により画面帳票定義体の日本語のエンコードにUTF-32が指定されている。かつ、

    • 翻訳オプションENCODE(UTF8,UTF32)を指定

    • 以下のいずれかにUTF32、UTF32LEまたはUTF32BEと関連付けられた符号系名を指定(*)

      1. 1.のCOPY文のENCODING指定

      2. 1.のCOPY文を記述したレコードのENCODING句

      3. 1.のCOPY文を含むレコードを記述したファイル記述項のENCODING句

  3. 環境変数SMED_SUFFIXにSMDまたはPMDを指定している場合。

(*) a、bおよびcで異なるエンコードが指定された場合、強さの関係は以下となります。

  a > b > c
10 V10.1.0~V11.0.1 V11.1.0 PH02168

以下の条件の場合、COBOLプログラムの翻訳時に、以下の不当な翻訳時メッセージが出力され、COBOLプログラムを翻訳できません。

JMN1479I-S 連結式が最大長を超えています.最大長までを連結します.

また、上記メッセージに加え、以下のメッセージも出力される場合があります。

JMN0124I-U ソースファイル内に不当な文字があります.(区名=JMNxxx,行情報=nn.) 翻訳を中止します.

  1. COBOLソースのコード系がUTF-8である。かつ、

  2. 日本語文字定数(*1)同士の連結式が記述されている。かつ、

  3. 2.で連結された文字数が54~80文字の場合。

*1: 記号定数や名前付き定数を含む

11 V10.1.0~V11.0.1 V11.1.0 PH02265

以下の条件の場合、翻訳エラー(*1)となるべきCOBOLプログラムが、エラーにならない場合があります。(*2)

*1: 以下のいずれかのメッセージが出力されません。

JMN1775I-S AS句の直後には文字定数または日本語定数を指定しなければなりません.次の認識できる段落または部まで無効になります.

JMN1107I-S プログラム名として指定できない文字列が指定されました.またはプログラム名が指定されていません.プログラム名を生成し,次の段落または部まで無効になります.

JMN1292I-S プログラム名として指定できない文字列が指定されました.またはプログラム名が指定されていません.

JMN5526I-S INVOKE文のメソッド名の指定は,一意名,文字定数または日本語文字定数でなければなりません.INVOKE文を無効とします.

JMN5561I-S メソッドの行内呼出しに指定するメソッド名は文字定数または日本語文字定数でなければなりません.メソッドの行内呼出しを無効とします.

*2: 翻訳エラーにならず、作成された目的プログラムは正しく動作します。

  1. 以下のいずれかに連結式を記述している。かつ、

    • プログラム名のAS指定

    • クラス名のAS指定

    • メソッド名のAS指定

    • プロパティ名のAS指定

    • プログラム名定数

    • INVOKE文または行内呼び出しのメソッド名の指定

  2. 1.に記述した連結式の先頭が文字定数である。かつ、

  3. 1.に記述した連結式に16進文字定数が含まれている。かつ、

  4. COBOLソースプログラムと実行時コード系が以下の組み合わせの場合。

    4-1-1) COBOLソースプログラムのコード系がSJISである。かつ、

    4-1-2) 実行時コード系がSJISである。

    または、

    4-2-1) COBOLソースプログラムのコード系がUTF-8である。かつ、

    4-2-2) 実行時コード系がUnicodeである。

または、

  1. 以下のいずれかに連結式を記述している。かつ、

    • プログラム名のAS指定

    • クラス名のAS指定

    • メソッド名のAS指定

    • プロパティ名のAS指定

    • INVOKE文または行内呼び出しのメソッド名の指定

  2. 1.に記述した連結式の先頭が日本語文字定数である。かつ、

  3. 1.に記述した連結式に日本語16進文字定数が含まれている。かつ、

  4. COBOLソースプログラムと実行時コード系が以下の組み合わせの場合。

    4-1-1) COBOLソースプログラムのコード系がSJISである。かつ、

    4-1-2) 実行時コード系がSJISである。

【補足】

以下に指定できる定数は、文字定数または日本語文字定数でなければなりません。

  • プログラム名のAS指定

  • クラス名のAS指定

  • メソッド名のAS指定

  • プロパティ名のAS指定

  • プログラム名定数

  • INVOKE文または行内呼び出しのメソッド名の指定

したがって、発生条件に示す記述は構文規則に違反しており、本来ならば翻訳エラーとなるべき場合です。

12 V11.0.0~V11.0.1 V11.1.0 PH02798

以下の条件の場合、COBOLプログラムの実行時に、STRING文(CSV)またはUNSTRING文(CSV)の実行結果が正しくない場合があります(*1)。

*1: 処理の結果、文字化けが発生する場合があります。


  1. 実行時コード系がUnicodeである。かつ、

  2. 以下のいずれかの文を記述している。かつ、

    • STRING文 書き方2

    • UNSTRING文 書き方2

  3. 2.の文のうち、以下のいずれかに日本語項目または日本語編集項目を指定している。かつ、

    • STRING文の送出し側項目

    • UNSTRING文の受取り側項目

  4. 3.の項目のエンコード方式が以下のいずれかである。かつ、

    • SJIS

    • UTF16LE (*2)

    • UTF16BE (*2)

    • UTF32

    • UTF32LE

    • UTF32BE

  5. 3.の項目のエンコード方式が実行時コードと異なる。かつ、

  6. 3.の項目を部分参照している。かつ、

  7. 6.の部分参照の長さをデータ名で指定している場合。


*2: 項目のエンディアン(LE/BE)と翻訳オプションRCSまたはENCODEで指定したエンディアンが異なる場合のみ該当。また、項目のエンコード方式が「UTF16」の場合は該当しない。


[書き方例]

OK : STRING  WK1(1:5)      INTO RCVDATA  BY CSV-FORMAT
NG : STRING  WK1(1:POS1)   INTO RCVDATA  BY CSV-FORMAT
13 V11.0.0~V11.0.1 V11.1.0 PH04215

以下の条件の場合、COBOLプログラム実行時、INVOKE文またはメソッドの行内呼出しのパラメタの受け渡しが正しく行われず、実行結果が正しくない場合があります(*1)。

*1:パラメタが文字化け、または、途中で切れます。

  1. 実行時コード系がUnicodeである。かつ、

  2. 以下のいずれかに日本語項目または日本語文字定数を指定している。かつ、

    • INVOKE文USINGパラメタ、RETURNINGパラメタ

    • メソッドの行内呼び出しのパラメタ

  3. 2.から呼び出されるメソッドの仮パラメタにANY LENGTH句を指定した日本語項目を定義している。かつ、

  4. 以下のいずれかである場合。

    • 2.に日本語項目を指定している。かつ、
      2.のパラメタのエンコード方式と、3.のパラメタのエンコード方式が異なる場合。(*2)

    • 2.に日本語文字定数を指定している。かつ、
      3.の日本語項目のエンコード方式がUTF32の場合。

*2:パラメタのエンコード方式が異なる呼び出しは誤った書き方をしているにもかかわらず、翻訳エラーになりません。

14 V10.1.0~V11.0.1 V11.1.0 PH04233

以下の条件の場合、COBOLプログラムの翻訳時に、以下の翻訳エラーメッセージが出力され、コンパイラが異常終了します。

  • V10.5以前
    システムエラー'errno=0xXXX'が'open REP,xxx'で発生しました.
    ** 診断メッセージ ** (xxx)
    xxx.cob 0: JMN0013I-S リポジトリファイルがオープンできません.出力された目的プログラムファイルは使用できません.

  • V11.0以降
    システムエラー'errno=0xXXX'が'iconv : error code=7, code no=2 from=sjisms to=utf8_4_ms'で発生しました.
    ** 診断メッセージ ** (xxx)
    xxx.cob 0: JMN0124I-U ソースファイル内に不当な文字があります.(区名=xxxxxx,行情報=xx.)翻訳を中止します.

  1. COBOLソースファイルおよび登録集ファイルのコード系がシフトJISである。かつ、

  2. 以下のいずれかの文字定数が半角カナを含む。かつ、

    • クラス名段落のAS指定の定数

    • 原文名定数(*)

  3. 2.の定数がUTF-8表現で以下の長さを超える場合。

    • クラス名段落のAS指定の定数の場合、320byte

    • 原文名定数の場合、240byte(*)

*:V10.5以前の場合、発生条件に該当しません。

15 V11.0.0~V11.0.1 V11.1.0 PH04570

以下の条件の場合、COBOLプログラムの翻訳時に、以下に示すいずれかの現象が発生する場合があります。

  • 現象1

    誤った構文に対して、以下の翻訳エラーメッセージが出力されず、翻訳が正常終了(*1)します。

    JMN2038I-S VALUE句の定数の長さは,項目の長さ以下でなければなりません.項目長に合わせ,定数の右端を切り落とします.

    *1:作成された目的プログラム中のデータ項目は項目長に合わせて定数の右端を切り落とした定数値が設定された状態で動作します。

  • 現象2

    正しい構文に対し以下の翻訳エラーメッセージが出力され、翻訳に失敗します。

    JMN2106I-S 条件名のVALUE句のTHROUGHの後の値は,THROUGHの前の値より大きくなければなりません.

  1. 以下のいずれかのエンコードの日本語項目または日本語編集項目を記述している。かつ、

    • UTF32

    • UTF32LE

    • UTF32BE

  2. 1.のデータ項目または1.のデータ項目を条件変数とする条件名にVALUE句を指定している。かつ、

  3. 2.のVALUE句に以下のいずれかを満たす日本語定数(*2)を指定している。かつ、

    1. PICTURE句に指定した大きさを超えている

    2. THROUGH指定の前後に、大小順序の正しい2つの日本語定数を指定している

  4. 3.の日本語定数が41文字以上かつ80文字以下の場合。

*2: 日本語定数同士の連結式を含む。

【補足】

それぞれの現象は、以下の発生条件を満たす場合に発生します。

  • 現象1: 発生条件3.のa.

  • 現象2: 発生条件3.のb.

16 V10.1.0~V11.0.1 V11.1.0 PH04922

以下の条件の場合、COBOLデバッガを使用したCOBOLプログラムのデバッグ中に、以下のようなシステムエラーメッセージが出力される場合があります。

[例:FORMのサンプルプログラム"SALES"をデバッグした場合]

SALES: SALES.EXE - エントリポイントが見つかりません

プロシジャーエントリポイント フser32,CharNextExA(*1)がダイナミックリンクライブラリ api-ms-win-downlevel-user32-l1-1-0.dllから見つかりませんでした。

  1. Windows7で動作している。かつ、

  2. Internet Explorerのバージョンが10である。かつ、

  3. MinWin(*2)のDLLをインポートしているDLLを使用している場合。

*1:DLL名の先頭が半角カタカナ"フ"となる。

  (正)"user32,CharNextExA"
  (誤)"フser32,CharNextExA"

*2:MinWinのDLLについて

ファイル名が"api-ms-win"で始まるdllで、Windowsのsystem32フォルダ配下に格納されています。現在、COM機能、帳票定義体を使用したプログラムで発生することが確認されています。

17 V10.1.0~V11.0.1 V11.1.0 PH06489

以下の条件の場合、COBOLプログラムの翻訳時に、コンパイラが異常終了して翻訳を中止する場合があります。特定のメッセージはありません。

  1. 項目長が8の倍数の内部ブール項目を記述している。かつ、

  2. 1.の項目にSYNCHRONIZED句を指定している。かつ、

  3. 1.の項目にVALUE句を指定している。かつ、

  4. 1.の項目が次のいずれかの条件を満たしている。かつ、

    1. 1.の項目のレベル番号が01または77である。または、

    2. 1.の項目の終端位置から1.の項目を含むレコードの終端位置までの長さ(*)が以下の長さより短い。

      • 1.の項目にOCCURS句を指定していない場合:1バイト

      • 1.の項目にOCCURS句を指定している場合:1バイト×繰り返し回数の最大値

  5. 1.の項目を次のいずれかの節に記述している場合。

    • プログラム定義の定数節

    • クラスのオブジェクト定義の作業場所節

    • クラスのオブジェクト定義の定数節

    • クラスのメソッド定義の定数節

    • プログラム定義の作業場所節

    • クラスのファクトリ定義の作業場所節

    • クラスのファクトリ定義の定数節

    • 分離されたメソッド定義の作業場所節

    • 分離されたメソッド定義の定数節

*: 終端位置は、レコード先頭からのオフセット+項目長が指す位置のことを表します。

1.の項目を含むレコード
  ┌──────────────┬─────┬─────┐
  │                            │1.の項目  │          │
  └──────────────┴─────┴─────┘
                                            ↑          ↑
                            1.の項目の終端位置          │
                                                        │
                          1.の項目を含むレコードの終端位置
18 V10.1.0~V11.0.1 V11.1.0 PH06787

以下の条件1または条件2のいずれかを満たす場合、COBOLプログラムの実行時に、仮パラメタに正しく値を受渡しできない場合があります。

  • 条件1

    1. 次の何れかの呼出しを使用している。かつ、

      • INVOKE文によるメソッド呼出し

      • メソッドの行内呼出し

    2. 1.の呼出しで次の何れかのパラメタを指定している。かつ、

      • BY CONTENTを指定したパラメタ

      • 定数節のデータ項目

      • 文字定数

    3. 1.の呼出し先の仮パラメタにJUSTIFIED句を指定している。かつ、

    4. 2.のパラメタの長さと3.の仮パラメタの長さが異なる場合。

  • 条件2

    1. 次の何れかの呼出しを使用している。かつ、

      • INVOKE文によるメソッド呼出し

      • メソッドの行内呼出し

    2. 1.の呼出しで次の何れかのパラメタを指定している。かつ、

      • BY CONTENTを指定したパラメタ

      • 定数節のデータ項目

      • 文字定数

    3. 1.の呼出し先の仮パラメタにBLANK WHEN ZERO句を指定している。かつ、

    4. 2.のパラメタから3.の仮パラメタへの転記の結果がゼロとなる場合。

【補足】

  • 仮パラメタは手続き部の見出しのUSING指定またはRETURNING指定に指定されたデータ項目を指します。

  • BY CONTENT指定のパラメタ受渡しでは仮パラメタへの転記が行われます。

    詳細については、COBOL文法書11.8.5.5.2を参照ください。

条件1の例)

[呼出し元] 
  <省略>
  WORKING-STORAGE SECTION.
  01 VAR PIC X(3).
  01 OBJ OBJECT REFERENCE CCC.
  PROCEDURE DIVISION.
       MOVE "ABC" TO VAR.
       INVOKE CCC "NEW" RETURNING OBJ.
       INVOKE OBJ "MMM" USING BY CONTENT VAR.
[呼出し先]
  CLASS-ID. CCC INHERITS FJBASE.
  <省略>
  METHOD-ID. MMM.
  DATA DIVISION.
  WORKING-STORAGE SECTION.
  LINKAGE SECTION.
  01 VAR PIC X JUSTIFIED.
  PROCEDURE DIVISION USING VAR.
       DISPLAY "VAR=" VAR.
  END METHOD MMM.
[実行結果]
  VAR=A    ←  正しくは"C"

条件2の例)

[呼出し元]
  <省略>
  WORKING-STORAGE SECTION.
  01 OBJ OBJECT REFERENCE CCC.
  01 RET-VAL PIC 9.
  PROCEDURE DIVISION.
       INVOKE CCC "NEW" RETURNING OBJ.
       MOVE OBJ::"MMM" ("000") TO RET-VAL.
  END PROGRAM PPP.
[呼出し先]
  CLASS-ID. CCC INHERITS FJBASE.
  <省略>
  METHOD-ID. MMM.
  DATA DIVISION.
  WORKING-STORAGE SECTION.
  LINKAGE SECTION.
  01 VAR PIC 9(3) BLANK WHEN ZERO.
  01 RET-VAL PIC 9.
  PROCEDURE DIVISION USING VAR RETURNING RET-VAL.
       DISPLAY "VAR=" VAR.
  END METHOD MMM.
[実行結果]
  VAR=000  ←  正しくは"   "
19 V10.1.0~V11.0.1 V11.1.0 PH08595

以下の条件の場合、翻訳オプションOPTIMIZEを指定すると、翻訳時にコンパイラが異常終了する場合があります。

  1. 翻訳オプションOPTIMIZE(*1)が有効である。かつ、

  2. 繰返し処理を記述している。かつ、

  3. 2.の繰返し処理に以下を記述している場合

    • 指標名

    • 部分参照

    • 添字付け項目

    • 乗算

*1:省略値はNOOPTIMIZEです。

本障害が発生した場合、必ず翻訳時にコンパイラが異常終了します。コンパイラが異常終了しない場合、正しいオブジェクトを生成します。

20 V10.3.0~V11.0.1 V11.1.0 PH08887

以下の条件の場合、デバッグ時の中断位置が誤った場所で表示されます。

  1. プログラムをビルドするときのソースに65535行を超えるファイルが存在する。かつ、

  2. NetCOBOL Studioを使ってプログラムをデバッグしている。かつ、

  3. プログラムの実行中断位置が65535行を超える行の場合。

21 V10.3.0~V11.0.1 V11.1.0 PH09195

以下の条件の場合、COBOLプログラム翻訳時に、コンパイラが異常終了(*1)します。

(*1)異常終了の際、以下のメッセージを出力する場合があります。

0xfffffffdの命令が0xfffffffdのメモリを参照しました。メモリがwrittenになることはできませんでした。

  1. スクリーン操作のACCEPT文を記述している。かつ、

  2. 1.のACCEPT文にWITH指定を記述している。かつ、

  3. 2.のWITHの直後に、以下のいずれかの指定(*2)を1つ以上記述している。かつ、

    • LEFT-JUSTIFY

    • RIGHT-JUSTIFY

    • SPACE-FILL

    • TRAILING-SIGN

    • UPDATE

  4. 3.の指定の直後に、PROMPT指定を記述している。かつ、

  5. 4.の指定でCHARACTERの指定を省略している(*2)。かつ、

  6. 5.の直後に、3.または4.以外の指定(*3)を1つ以上記述している場合。

    書き方の例)
    ACCEPT WDATA WITH UPDATE PROMPT AUTO.
              発生条件  3)     4)    6)
    

(*2)いずれも注釈とみなされる指定です。

(*3)以下のいずれかが該当します。

  • AUTO

  • BELL

  • BLINK

  • FULL

  • GRID

  • HIGHLIGHT

  • LOWLIGHT

  • LEFTLINE

  • OVERLINE

  • REQUIRED

  • REVERSE-VIDEO

  • SECURE

  • SIZE

  • UNDERLINE

  • FOREGROUND-COLOR

  • BACKGROUND-COLOR

  • ZERO-FILL

22 V10.1.0~V11.0.1 V11.1.0 PH10340

以下の条件の場合、COBOLプログラムが実行時メッセージ(JMP0024I-U)を出力して異常終了するとき、エラー事象と無関係の行番号が実行時メッセージに表示されます。

  1. デッドロック出口スケジュールサブルーチン(COB_DEADLOCK_EXIT)を呼び出すプログラムを記述している。かつ、

  2. 1.のプログラムまたは上位のプログラムにデッドロック出口を記述していない場合。

23 V10.1.0~V11.0.1 V11.1.0 PH11312

以下の条件の場合、COBOLプログラムの翻訳時に、コンパイラが以下のメッセージを出力して、異常終了することがあります。

JMN0102I-U 翻訳処理が続行不可能となりました.他の診断メッセージが表示されている場合は,それらを修正して,再度翻訳してみて下さい.(区名=JMNCOU,モジュール名=SABEMAC ,詳細コード=6692,行情報=nnnn.)

  1. cobolコマンドの翻訳リストを格納するファイル名を指定するオプション -P を指定している。かつ、

  2. 翻訳オプション LIST を指定している。かつ、

  3. COBOLソースファイルおよび登録集ファイルのコード系がUTF-8である(*1)。かつ、

  4. 手続き名、節名、段落名に63バイトを超える名前を記述している場合。

*1: 翻訳オプションSCS(UTF8)を指定します。

24 V10.1.0~V11.0.1 V11.1.0 PH11342

以下の条件の場合、COBOLプログラム翻訳時に、コンパイラが以下のメッセージを出力して、異常終了することがあります。

JMN0124I-U ソースファイル内に不当な文字があります.(区名=JMN220,行情報=nn.) 翻訳を中止します.

  1. 翻訳オプションSCS(UTF8)を指定している。かつ、

  2. プログラム中にSQL文を記述している。かつ、

  3. 2.の文の長さが242バイトを超えている。かつ、

  4. 2.のSQL文にASCII範囲外の文字を記述している場合

V11.0.1

ここに記載している情報は、V11.0.1で修正されている旧版で発生した障害一覧です。

項番 発生V/L 修正V/L P番号 現象
1 V10.1.0~V11.0.0 V11.0.1 PG98742 以下の[条件1]または[条件2]のいずれかの条件を満たす場合、COBOLプログラムの実行時に正しく動作しないことがあります。または、COBOLプログラムの翻訳時にコンパイラが異常終了することがあります。

[条件1]:作業場所節、定数節のいずれかにデータ項目を宣言した場合

  1. TYPE句を指定した項目を従属するレベル番号01の集団項目を定義している。かつ、
  2. 1.の集団項目にREDEFINES句を指定している。かつ、
  3. 1.のデータ項目の長さが2.で再定義されるデータ項目の長さより短い場合。

または

[条件2]:ファイル節にデータ項目を宣言した場合

  1. TYPE句を含むレコード記述項を定義している。かつ、
  2. 同じファイル記述項に1.のレコード記述項とは別のレコード記述項を定義している。(∗) かつ、
  3. 1.のレコード記述項の長さが2.のレコード記述項の長さよりも短い場合。

∗ : ファイル節で同じファイル記述項にレコード記述項を2つ以上書くと、レコード記述項の領域が暗に再定義されます。


例1) 作業場所節、定数節のいずれかにデータ項目を宣言した場合

     01 D1 PIC X(20).     ∗> SIZE 20 BYTE   D2よりD1が長い。
     01 D2 REDEFINES D1.  ∗> SIZE  8 BYTE
       02 D21 TYPE T1.    ∗> SIZE  8 BYTE

     01 T1 TYPEDEF.
       02 TD1 PIC X(8).   ∗> SIZE  8 BYTE

例2) ファイル節にデータ項目を宣言した場合

  FD FILE1.
    01 R1 PIC X(20).     ∗> SIZE 20 BYTE    R2よりR1が長い
    01 R2 TYPE T2.       ∗> SIZE  8 BYTE
                         ∗>   暗に再定義され,R1とR2は同じ領域に割り付く
    01 T2 TYPEDEF.
      02 TD2 PIC X(8).   ∗> SIZE  8 BYTE
2 V11.0.0 V11.0.1 PG99026 以下の[条件1]または[条件2]を満たす場合、COBOLプログラムの実行時に、指標名の値が正しくないことがあります。

[条件1]

  1. プログラムに局所記憶節を記述している。かつ、
  2. 基底場所節、ファイル節、作業場所節のいずれか一か所または複数の箇所に指標名を記述した項目を宣言している。かつ、
  3. 定数節および連絡節の両方を宣言していない。かつ、
  4. 1.のプログラムが2回以上呼び出された場合。

[条件2]

  1. プログラムの局所記憶節に指標名を記述した項目を宣言している。かつ、
  2. 定数節および連絡節のどちらか片方または両方を宣言している。かつ、
  3. 1.のプログラムが再帰的に呼び出された場合。
3 V10.1.0~V11.0.0 V11.0.1 PG99190 以下の条件の場合、COBOLプログラムの翻訳時に、コンパイラが以下のメッセージを出力して異常終了する場合があります。
JMN0124I-U ソースファイル内に不当な文字があります.(区名=JMNALO,行情報=0.) 翻訳を中止します.
  1. 翻訳オプションRCS(UTF16), ENCODE(UTF8,UTF16) または ENCODE(UTF8,UTF32)を指定している。かつ、
  2. 翻訳オプションCHECK(PRM),CHECK(ALL)またはSAIを指定している。かつ、
  3. ソースプログラムのコード系がSJISである。かつ、
  4. CALL文またはINVOKE文のUSING BY CONTENT指定に文字定数(日本語文字定数は除く)を指定している。かつ、
  5. 4.の文字定数が日本語文字を含む場合。

[補足]

  • 日本語文字とは、日本語の文字そのものを示します。
    例)あいうえお
  • 日本語文字定数とは、定数の値を計算機文字集合の日本語文字で表現する定数です。
    例)NC"あいうえお"
  • 発生条件5.に示す「文字定数が日本語文字を含む」とは以下のような場合です。
    例)"あいうえお"
4 V10.1.0~V11.0.0 V11.0.1 PH00163 以下の条件の場合、cobmkmfコマンドが異常終了する場合があります。
  1. cobmkmfコマンドのオペランドにCOBFLAGSマクロを指定する。かつ、
  2. COBFLAGSマクロの定義値で指定する翻訳コマンドオプションの値に空白を含めた場合。
5 V10.2.0~V11.0.0 V11.0.1 PH00165 以下の[条件1]または[条件2]の場合、NetCOBOL Studioの依存解析を実行すると、 NetCOBOL Studioが異常終了することがあります。

[条件1]

  1. 異なるプロジェクト間で、ファイルをドラッグ&ドロップで移動またはコピーしたときに、ドロップ先ファイルのフルパスの文字列の長さが260より大きい場合。

[条件2]

  1. COBOLソースの正書法が可変形式の場合。かつ、
  2. 依存ビューのコンテキストメニューから、依存関係の解析を実行する。または、プロジェクトをインポートする。かつ、
  3. 以下の条件のCOBOLソースファイルを記述している場合。
      3-1) COPY文が以下の何れかの条件の場合。
        a-1)COPY文で原文名を指定している。かつ
        a-2)COB_LIBSUFFIX環境変数の定義がない、または 
            COB_LIBSUFFIX環境変数の値が"None"の場合。かつ、
        a-3)原文名の文字列の長さが256より大きい場合。
      または、
        b-1) COPY文で原文名を指定している。かつ
        b-2) COB_LIBSUFFIX環境変数の値が"None"以外の場合。かつ、
        b-3) 原文名の長さ+COB_LIBSUFFIX環境変数の設定値の長さが、259より大きい場合。
      または、
        c-1) COPY文で原文名を指定している。かつ、
        c-2) COPY文のINまたはOF指定によって登録集名が指定されていない。かつ、
        c-3) LIB翻訳オプションが指定されている。かつ、
        c-4) 原文名の文字列の長さが255より大きい場合。
      または、
        d-1) COPY文で原文名定数を指定している。かつ、
        d-2) 原文名定数の文字列の長さが260より大きい場合。
      または、
        e-1) COPY文で登録集原文にXMDLIBまたはXFDLIBを指定している。かつ、
        e-2) 原文名の文字列の長さが256より大きい場合。
      または、
        f-1) COPY文で原文名を指定している。かつ、
        f-2) COPY文のINまたはOF指定によって登録集名を指定している。かつ、
        f-3) 環境変数COB_LIBSUFFIXの値に"None"以外を指定している。かつ、
        f-4) 原文名の文字列の長さが260より大きい場合。
    
    または、
      3-2) クラス名段落のクラス名の長さが256より大きい場合。または、
      3-3) リポジトリ段落のクラス指定子のクラス名の長さが256より大きい場合。
    
6 V10.2.0~V11.0.0 V11.0.1 PH01938 以下の条件の場合、NetCOBOL Studioからサーバに送信したCOBOLソースファイル内の一部の文字が'?'に変換されることがあります。

[環境]

リモート開発の対象サーバのOSがWindows(x64)の場合。

[条件]

  1. NetCOBOL Studioで作成したCOBOLプロジェクトのテキストファイルエンコードにMS932を指定している。かつ、
  2. NetCOBOL Studioのリモート開発設定ダイアログで、サーバ側COBOLソースのコード系に ShiftJISを指定したサーバ名を定義している。かつ、
  3. COBOLプロジェクトのリモート開発のサーバ名に、2.で定義したサーバ名を指定している。かつ、
  4. COBOLソースファイル内に以下の文字が含まれている。かつ、
    • "~" 0x8160(シフトJIS) (WAVE DASH)
    • "∥" 0x8161(シフトJIS) (DOUBLE VERTICAL LINE)
    • "−" 0x817C(シフトJIS) (MINUS SIGN)
    • "¢" 0x8191(シフトJIS) (CENT SIGN)
    • "£" 0x8192(シフトJIS) (POUND SIGN)
    • "¬" 0x81CA(シフトJIS) (NOT SIGN)
    • "¦" 0xFA55(シフトJIS) (FULLWIDTH BROKEN BAR)
  5. NetCOBOL Studioの以下の何れかのリモート開発機能を使用してサーバにCOBOLソースファイルを送信した場合。
    • メイクファイル生成
    • ビルド
    • 再ビルド
7 V10.2.0~V11.0.0 V11.0.1 PH03188 NetCOBOL StudioまたはInterstage Studioにおいて、以下の条件の場合、COBOLプロジェクト内のファイルパスが文字化けします。これにより、[現象1]または[現象2]が発生することがあります。

[現象1]

ソースファイルフォルダに登録しているソースファイルのパス文字列が文字化けした場合、そのソースファイルが翻訳対象にならずにビルドがスキップされる。

[現象2]

コンパイラやリンカが、参照するファイルを見つけることができずにビルドエラーとなる。たとえばLIB翻訳オプションに指定したパス文字列が文字化けした場合は、登録集を読み込むことができないため以下のエラーが発生する。
JMN1057I-S COBOL登録集で入出力エラーが発生しました。登録集原文の組込みを中止します。

[条件]

  1. COBOLプロジェクトの設定に指定するファイルまたはフォルダパスに、ASCIIコード以外の文字を使用している。かつ、
  2. 1.のCOBOLプロジェクトをワークスペースにインポートした場合。
8 V11.0.0~V11.0.0A V11.0.1 PH03777 以下の発生条件のとき、COBOLプログラム翻訳時に異常終了する場合があります。
  1. 以下のいずれかの項目を定義している。かつ、
    • 英数字編集項目
    • 日本語編集項目
  2. 1.の項目のPICTURE句の文字列を46文字以上(∗1)記述している。かつ、
  3. 1.の項目を以下のいずれかの転記の受け取り側に指定している場合。
    • MOVE文
    • 暗黙のMOVE文が実行される文

(∗1) ここではPICTURE句に記述された文字の数を意味します。
(例)
下記二つはどちらも同じ形式ですが、文字の数は異なります。
PIC XBXXXXXXXX = 10文字
PIC XBX(8) = 6文字

9 V10.2.0~V11.0.0 V11.0.1 PH04722 以下の条件の場合、NetCOBOL Studioの[問題]ビューに以下のエラーメッセージが表示されて、COBOLプロジェクトのビルドが失敗する場合があります。
「Target "cobol_buildtool-clean" does not exist in the project "XXX". It is used from target "clean_build".」

(XXXはCOBOLプロジェクトのプロジェクト名を示します。)

  1. COBOLプロジェクトのターゲット種別を、ダイナミックリンクライブラリに指定した場合。かつ、
  2. 1.のCOBOLプロジェクトを、ワークスペースにインポートした場合。かつ、
  3. [ナビゲータ]ビューのコンテキストメニューの[名前変更]において、2.のCOBOLプロジェクトのプロジェクト名を変更した場合。
10 V10.1.0~V11.0.0A V11.0.1 PH05538 以下の[条件1]~[条件3]のいずれかを満たす場合、COBOLプログラムの実行時、基底場所節に宣言したデータ項目を使用する文で、異常終了(ACCESS VIOLATION)または結果誤りが発生する場合があります。

[条件1]

  1. 基底場所節に宣言したデータ項目を以下のいずれかの方法で使用している。かつ、
    1. 変数で添字付けしている。または、
    2. 最左端文字位置に変数を指定した部分参照をしている。
  2. 翻訳オプションOPTIMIZEが有効である。(∗)

∗:デフォルトはNOOPTIMIZEです。


[条件2]

  1. 基底場所節に宣言したデータ項目を、以下のいずれかの文に指定している。
    • INSPECT文
    • STRING文(中核)
    • UNSTRING文(中核)

[条件3]

  1. 基底場所節にOCCURS句を指定したデータ項目を宣言している。かつ、
  2. 1.のデータ項目をINITIALIZE文に指定している。
11 V10.1.0~V11.0.0A V11.0.1 PH05861 以下の条件の場合、COBOLプログラムの実行時、部分参照した外部10進項目から数字編集項目 または浮動小数点項目への転記において、送出し側を部分参照する範囲が1桁左にずれる誤りが発生します。
  1. 送出し側が符号付き外部10進項目、受取り側が数字編集項目または浮動小数点項目のMOVE文を記述している(∗1)。かつ、
  2. 送出し側項目のSIGN句にSEPARATE CHARACTER指定(∗2)がある。かつ、
  3. 送出し側項目を部分参照している。かつ、
  4. 3.の部分参照の長さを定数で指定している場合。

∗1: 暗黙のMOVE文を含む。
∗2: TRAILING SEPARATE指定

12 V10.2.0~V11.0.0 V11.0.1 PH07796 以下の条件の場合、デバッグ時のCOBOLエディタ上でデータ項目の値がツールチップで表示されません。
  1. NetCOBOL StudioのCOBOLエディタの正書法を固定形式に設定している。かつ、
  2. デバッグ機能のブレークポイントでCOBOLプログラムの実行が中断している。かつ、
  3. COBOLエディタでデータ項目をマウスカーソルでポイントした場合。

V11.0.0

ここに記載している情報は、V11.0.0で修正されている旧版で発生した障害一覧です。

項番 発生V/L 修正V/L P番号 現象
1 V10.1.0~V10.5.0 V11.0.0 PG76651 以下の条件の場合、COBOLプログラム実行時に、長さの異なる日本語項目(日本語編集項目、組込み関数を含む)同士の大小比較の結果が正しくないことがあります。
  1. 翻訳オプションRSC(UCS2,LE)またはRCS(UTF16,LE)を指定している。かつ、
  2. 日本語項目と、日本語項目または日本語文字定数の大小比較である。かつ、
  3. 少なくとも一方が部分参照された項目またはANY LENGTH句の指定がある項目である。かつ、
  4. 比較対象の長さが異なる場合。
2 V10.1.0~V10.5.0 V11.0.0 PG85966 以下の条件の場合、誤ったデバッグ情報ファイルが出力され、正しくデバッグすることができません。
  1. 翻訳オプションTESTを指定してCOBOLプログラムを翻訳している。かつ、
  2. 原文名定数が指定されたCOPY文を記述している。かつ、
  3. 2.で取り込まれた登録集(注1)に原文名が指定されたCOPY文を記述している。かつ、
  4. コンパイラが異常終了した場合(注2)
(注1) 登録集が入れ子になっている場合は、最後の階層に至るまでのいずれかの登録集
(注2) 通常時のコンパイラが出力する翻訳時メッセージが出力されず、「0~3」以外の復 帰コードが返却されます。
3 V10.1.0~V10.5.0 V11.0.0 PG86728 以下の条件の場合、COBOLプログラムの翻訳時に、COBOLコンパイラが以下の不当な翻訳時メッセージを出力して、翻訳できなくなる場合があります。
「JMN5546I-S メソッド'mmmmm'のインタフェースは,再定義されるメソッドのインタフェースに適合していなければなりません.メソッド' mmmmm 'は無効になります.」
  1. OVERRIDE指定のメソッド定義がある。かつ、
  2. 1.のメソッドと親クラスに定義された同名のメソッドのUSINGパラメタまたはRETURNINGパラメタが以下の場合
    1. メソッドのパラメタの一方が集団項目、もう一方は集団項目または英数字項目。かつ、
    2. パラメタのサイズが一致する。
4 V10.1.0~V10.5.0 V11.0.0 PG88107 以下の条件の場合、int型2進整数項目を使用したCOBOLプログラムの翻訳時に、コンパイラが以下のメッセージを出力して異常終了します。
「JMN0102I-U 翻訳処理が続行不可能となりました.他の診断メッセージが表示されている場合は,それらを修正して,再度翻訳してみて下さい.(区名=JMN300,モジュール名=SC30MKTT,詳細コード=3209,行情報=nnn.)」
以下のいずれかの文を記述している場合に発生します。
  • 小数部のみの数字項目をint型2進整数項目へ転記する文
  • 小数部のみの演算結果をint型2進整数項目へ受け取る算術文
5 V10.1.0~V10.5.0 V11.0.0 PG88615 以下の条件の場合、COBOLプログラムの翻訳時に、COBOLコンパイラが不当なJMN1477I-Iのメッセージを出力する場合があります。
  1. 特殊名段落(SPECIAL-NAMES)を宣言している。かつ、
  2. 特殊名段落に重大コードSのコーディング誤りがある場合。
補足) メモリの状態に依存するため、発生条件を満たしても現象が発生しない場合があります。
6 V10.1.0~V10.5.0 V11.0.0 PG88616 以下の[条件1]または[条件2]の場合、COBOLプログラムの翻訳時に、COBOLコンパイラが以下の例のような不当なメッセージを出力する場合があります。
例)
JMN1019I-W line-no 標識領域は'-','*','/','D'または空白でなければなりません.空白とみなします.
JMN1123I-S line-no 許されない語'nnn'が現れました.次の認識できる句,段落,節または部まで無効になります.
JMN1255I-S line-no 01レベル項目の指定なしに02~49レベル項目が指定されています.01レベル項目とみなします.
JMN1356I-W line-no 見出し部中に誤った語'nnn'が指定されています.次の段落または部まで無効になります.
line-no: 行番号
nnn : 数字
※ 上記のメッセージは一例です。他のメッセージの場合もあります。
[条件1]
  1. Oracle Pro*COBOLのprecobコマンドを使用して、埋込みSQL文を含むCOBOLプログラムをプリコンパイルしている。かつ、
  2. INSDBINFコマンドを使用して、1.のPro*COBOLプログラムからCOBOLプログラムを生成している。かつ、
  3. 翻訳オプション"NUMBER"を指定して、2.で生成したCOBOLプログラムを翻訳した場合。
または、
[条件2]
  1. Symfowareのsqlpcobコマンドにオプション"-g"を指定して、埋込みSQL文を含むCOBOLプログラムをプリコンパイルしている。かつ、
  2. 翻訳オプション"NUMBER"を指定して、1.で生成したCOBOLプログラムを翻訳した場合。
7 V10.1.0~V10.5.0 V11.0.0 PG89665 以下の条件の場合、COBOLプログラムの翻訳時に、以下の不当な翻訳時メッセージが出力され、COBOLプログラムが翻訳できません。
「JMN2206I-S KEY IS句のデータ名'xxxxx'は,アドレス可変項目であってはなりません.」
  1. OCCURS句のKEY IS指定を記述している。かつ、
  2. 1.に指定したデータ名がレコードの中の可変位置にある場合。
8 V10.1.0~V10.5.0 V11.0.0 PG81806 以下の条件の場合、COBOLプログラムの翻訳時に、COBOLコンパイラが異常終了することがあります。
  1. 次のいずれかの文を記述している。かつ、
    • CALL文
    • CANCEL文
    • INVOKE文
    • CSV-FORMATが指定されたSTRING文/UNSTRING文
  2. 1.の文が条件文の中に記述されている。かつ、
  3. 2.の条件文の階層(注1)が180以上である場合。
(注1) 階層とは、例えば次のような場合(階層が2)を表します。
     EVALUATE ~         ---------+
     WHEN ~                      |
       COMPUTE ~        -+       |
           ON SIZE ERROR  |       |
                          |       |
         CALL ~        階層2   階層1
                          |       |
       END-COMPUTE       -+       |
     END-EVALUATE        ---------+
[補足] 翻訳時のメモリの状態に依存するため、条件に一致しても異常終了しないことがあります。
9 V10.2.0~V10.5.0 V11.0.0 PG88994 以下の条件の場合、COBOLプログラムの翻訳時に、COBOLコンパイラが異常終了(注) する場合があります。
(注) 異常終了時に特定のメッセージは出力されません。
  1. アーリバインドの特殊クラスを指定している。かつ、
  2. 1.のクラスのメソッドを行内呼び出しで呼び出している場合
10 V10.1.0~V10.5.0 V11.0.0 PG97116 以下の条件の場合、COBOLプログラムの翻訳時に、コンパイラが以下のメッセージを出力して異常終了します。
翻訳処理が続行不可能となりました.他の診断メッセージが表示されている場合は,それらを修正して,再度翻訳してみて下さい.(区名=JMNRAL,モジュール名=SABEMAC ,詳細コード=6202,行情報=nnn.)
  1. 翻訳オプションBINARY(BYTE)を指定している。かつ、
  2. 数字を引数とするMAX関数またはMIN関数を記述している。かつ、
  3. 2.の関数の引数が3個以内である。かつ、
  4. 2.の引数に2進項目を指定している。かつ、
  5. 4.の2進項目の領域長が1,3,5,6,7バイトのいずれかである(注1)。かつ、
  6. 2.の関数値が格納される一時的なデータ項目の桁数(注2)が19以上30以下であ る。かつ、
  7. 2.の引数に定数を指定していない。かつ、
  8. 2.の引数に浮動小数点項目を指定していない。かつ、
  9. 2.の引数にALLを添字とする項目を指定していない。
(注1)以下の2進項目が該当します。
  ---------------------------------------------
   桁数                    割り当てられる領域長
   符号付き    符号なし
  ---------------------------------------------
    1 ~ 2      1 ~ 2     1
    5 ~ 6      5 ~ 7     3
   10 ~ 11    10 ~ 12    5
   12 ~ 14    13 ~ 14    6
   15 ~ 16    15 ~ 16    7
  ---------------------------------------------
(注2)関数値が格納される一時的なデータ項目は以下の桁数となります。
整数部桁=全引数の整数部桁数のうち最大の値
小数部桁数=全引数の小数部桁数のうち最大の値

V10.5.0

ここに記載している情報は、V10.5.0で修正されている旧版で発生した障害一覧です。

項番 発生V/L 修正V/L P番号 現象
1 V10.1.0~V10.3.0 V10.5.0 PG88850 以下の条件の場合、COBOLプログラム実行時にプログラムが異常終了する、または、比較・演算・転記の結果が正しくない場合があります。
  1. 翻訳オプションOPTIMIZEが有効である。かつ、
  2. 以下のデータ項目を宣言している。
    1. 以下のいずれかのレコード内のデータ項目である。
      • オブジェクト定義・ファクトリ定義のファイルのレコード
      • オブジェクト定義・ファクトリ定義の作業場所節内のレコード
      かつ、
    2. 以下のいずれかの属性である。
      • 18桁以下の2進項目
      • 指標データ項目
      かつ、
    3. OCCURS句の指定がない項目である。かつ、
    4. OCCURS句の指定がある集団項目に従属していない。かつ、
    5. レコード内の位置が、OCCURS DEPENDING ON句の指定がある項目の後でない。
    かつ、
  3. 手続き部で、2.のデータ項目と領域の重なりのあるデータ項目を使用していない。かつ、
  4. 手続き部で、2.の項目に値を設定している。
2 V10.3.0 V10.5.0 PG89876 以下の条件の場合、COBOLソース領域の行数より一連番号領域の行数が少なくなります。このときにファイルを保存しようとするとJava.lang.StringIndexOutOfBoundsExceptionの例外が発生して保存ができません。
【環境】
  1. Windows版NetCOBOL 開発パッケージ V10.3.0をインストールしている、かつ
  2. Eclipse 3.4基盤のNetCOBOL Studioを使用している。
または
  1. Interstage Studio Standard-J Edition V10以降をインストールしている。かつ
  2. NetCOBOL 開発パッケージ V10.3以降に同梱されているInterstage Studio向け COBOLプラグインをインストールしている。かつ、
  3. COBOLアプリケーションを開発している。
【発生条件】
  1. テキストエディタの設定(注1)で、「テキストのドラッグアンドドロップを使用可能にする」チェックボックスがチェックされている。かつ、
  2. COBOLエディタを使用している。かつ、
  3. COBOLソースの文字列を1行以上選択して、ドラッグアンドドロップによる操作で別の行に移動した場合。
(注1) [ウィンドウ] > [設定]メニューから[設定]ダイアログを開き、左側ペインの[一般] > [エディタ] > [テキストエディタ]ノードを選択することで、設定を確認できます。
3 V10.1.0~V10.3.0 V10.5.0 PG90027 以下の条件の場合、COBOLプロジェクトをインポートすると、インポート元のプロジェクトに設定されていた以下の情報が設定されない場合があります。
  • 翻訳オプション
  • 登録集名
  • リンクオプション
  • IDLコンパイラ(Interstage Studio使用時のみ)
  • リソースコンパイラオプション
  • リモート開発
【環境】
以下のいずれかの環境である場合。
[環境1]
  1. Interstage Studio Enterprise Editionをインストールしている。かつ、
  2. COBOLアプリケーションを開発している。
[環境2]
  1. Interstage Studio Standard-J Edition V10以降をインストールしている。かつ
  2. NetCOBOL 開発パッケージ V10.3以降に同梱されているInterstage Studio向け COBOLプラグインをインストールしている。かつ、
  3. COBOLアプリケーションを開発している。
[環境3]
  1. Windows版NetCOBOL 開発パッケージ V9.0L10以降をインストールしている。かつ、
  2. NetCOBOL Studioを使用している。
【発生条件】
  1. Interstage StudioまたはNetCOBOL Studio起動後に、COBOLの依存ビューを一度も開いていない。かつ、
  2. インポートウィザードを使って、既存のCOBOLプロジェクトをインポートした場合。
4 V10.3.0 V10.5.0 PG91165 以下の条件の場合、リンク時にリンクコマンドがWindows APIライブラリを参照できずに以下のエラーメッセージを出力する場合があります。
LINK : fatal error LNK1104: ファイル 'xxxxxxxx.lib' を開くことができません。
【環境】
  1. Visual Studio 2010をインストールしている。かつ、
  2. Windows SDK 7.1をインストールしていない場合。
【発生条件】
リンクコマンドの引数にWindows APIライブラリを使用するオブジェクトファイルを指定し、リンクコマンドを実行した場合。
5 V10.1.0~V10.3.0 V10.5.0 PG92450 以下の条件の場合、翻訳オプションOPTIMIZEが有効なプログラムの実行時に、ゼロ抑制の数字編集転記において先行ゼロ列に不正な文字(ゼロ)が転記されることがあります。
  1. 翻訳オプションOPTIMIZE(注1)が有効である。かつ、
  2. 数字編集項目へ転記する文を記述している。かつ、
  3. 2.の文の位置から前方100行以内(注2)に、以下の記述がない。かつ、
    • 段落
    • 条件文
    • 手続き分岐文(注3)
  4. 2.の数字編集項目には、編集方法にゼロ抑制のみを指定している(PICTURE句 の文字列に'9','Z','*'を組み合わせて使用している)場合。
(注1)翻訳オプションのデフォルト値はNOOPTIMIZEです。
(注2)注記行、空白行はカウントしません。本障害はコンパイラの内部条件に影響されるため、発生条件に一致しても正しく転記される場合があります。
(注3)次の実行文でない文に制御の明示的な移行を起こす文を指します。

V10.3.0

ここに記載している情報は、V10.3.0で修正されている旧版で発生した障害一覧です。

項番 発生V/L 修正V/L P番号 現象
1 V10.1.0~V10.2.0 V10.3.0 PG83344 以下の条件の場合、INSDBINFコマンドが異常終了する、または、INSDBINFコマンドが出力したCOBOLプログラムの翻訳が正しく行われないことがあります。
  1. Pro*COBOLを使用している。かつ、
  2. COBOLプログラムソースの文字コードがUTF-8である。かつ、
  3. ソース中に日本語文字(3バイト文字)を記述している。
2 V10.1.0~V10.2.0 V10.3.0 PG63102 以下の条件の場合、NetCOBOL Studioでのリモート開発時、「ファイル"{0}"のパスに誤りがあるため、オープンできません。」のエラーが表示されてメイクファイル生成に失敗する場合があります。また、メイクファイル生成に失敗した場合サーバ上には作業ディレクトリとして指定したディレクトリ名を途中まで含んだディレクトリが生成される場合があります。
  1. リモート開発で[リモート開発機能を有効にする]チェックボックスをチェックし、 Windows(x64)として登録したサーバ名を指定している。かつ、
  2. サーバディレクトリにサーバ上に存在しない日本語(2バイトコード)で終了するディ レクトリ名を指定している。かつ、
  3. リモート開発でメイクファイル生成を実行する。
3 V10.2.0 V10.3.0 PG64947 以下の条件の場合、NetCOBOL Studioでのリモート開発時、リモートサーバへの接続に失敗します。
  1. クライアント(Windows)のログインIDに、リモートサーバのシェルで特殊文字として取り扱われる文字を含むIDを指定して、クライアントにログインした。かつ、
  2. クライアントのNetCOBOL Studioを起動し、リモート開発機能に関する以下のいずれかの操作を行った。
    • プロジェクトの[プロパティ]-[リモート開発]で[参照]ボタンをクリックした。
    • プロジェクトの[リモート開発]-[メイクファイル生成]を実行した。
4 V10.2.0 V10.3.0 PG70814 以下の環境および条件の場合、NetCOBOL Studioでのリモートデバッグ時、任意のデータをウォッチビューで監視していると、"‹値の検索でエラーが発生しました›"のメッセージが表示されます。
【環境】
  1. Windows NetCOBOL 開発パッケージがクライアントにインストールされている。かつ、
  2. サーバのOSがWindows Server 2008 R2である。かつ、
  3. Windows(x64) NetCOBOL 開発パッケージがサーバにインストールされている。かつ、
  4. リモート開発のためのサーバ設定を行っている。
【発生条件】
  1. NetCOBOL Studioで、Windows Server 2008 R2をリモートサーバとして、リモートデバッグを行った。かつ、
  2. ウォッチビューに任意のデータ項目を追加した。かつ、
  3. [実行]メニュー → [再開] (またはF8キー)で無条件実行させて、被デバッグプログラムの実行を最後まで行った。
5 V10.2.0 V10.3.0 PG84741 以下の条件の場合、NetCOBOL Studioで、ユーザが設定したプリコンパイラ連携情報またはリソースコンパイラオプションがCOBOLプロジェクトの設定値として保存されません。
  1. NetCOBOL StudioでCOBOLプロジェクトのプロパティ画面を開き、以下のいずれかのページで設定値を変更した。かつ、
    • [ターゲット]ページ
    • [ビルド]-[翻訳オプション]ページ
    • [ビルド]-[登録集名]ページ
    • [ビルド]-[リンクオプション]ページ
  2. 1.に示したページで設定値を変更した後、プロパティ画面の[OK]ボタンをクリックしていない。かつ、
  3. 以下のいずれかのページに遷移し、設定値を変更した後、プロパティ画面の[OK]ボタンをクリックした。
    • [ビルドツール]-[プリコンパイラ]ページ
    • [ビルドツール]-[リソースコンパイラ]ページ
6 V10.2.0 V10.3.0 PG84745 以下の[発生条件1]または[発生条件2]の場合、NetCOBOL Studioで、ローカルデバッグ後にリモートデバッグを行った、またはリモートデバッグ後にローカルデバッグを行った時に、ウォッチビューに追加されている日本語名のデータ項目の内容に対して「値を評価できません」が表示され、データ項目の値を参照できません。
【環境】
  1. Windows(x64)のNetCOBOL 開発パッケージがインストールされている。かつ、
  2. サーバにLinux(64)、Linux(Itanium)またはSolarisのNetCOBOL 開発・運用パッケージがインストールされている。かつ、
  3. リモート開発のためのサーバ設定を行っている。
【発生条件1】
  1. NetCOBOL Studioでローカルデバッグを行った。かつ、
  2. NetCOBOL Studioを再起動せずに、リモートデバッグを行った。かつ、
  3. 2.のリモートデバッグにおけるデバッグ操作で、日本語名のデータ項目をウォッ チビューに追加している。
【発生条件2】
  1. NetCOBOL Studioでリモートデバッグを行った。かつ、
  2. NetCOBOL Studioを再起動せずに、ローカルデバッグを行った。かつ、
  3. 2.のローカルデバッグにおけるデバッグ操作で、日本語名のデータ項目をウォッチビューに追加している。
7 V10.2.0 V10.3.0 P84944 以下の条件の場合、NetCOBOL Studioで実行用の初期化ファイル(COBOL85.CBR)を使用するダイナミックリンクライブラリをビルドすると、リンク時にリンカの警告メッセージ 「xxxx : warning LNK4042: オブジェクトの指定が重複しています; 余分なものは無視されます」が表示されます。
メッセージ本文中のxxxxには、ユーザが指定したDLLエントリオブジェクトの種類に対応するファイル名が埋め込まれます。
不要な警告メッセージは表示されますが、目的とするダイナミックリンクライブラリは正しく生成されるため、ダイナミックリンクライブラリの実行への影響はありません。
  1. NetCOBOL Studioにおいて、プロジェクトのプロパティ画面の[ターゲット]ページ で、以下の設定を行った。
    • [ターゲット種別]で[ダイナミックリンクライブラリ]を選択した。かつ、
    • [DLL固有の実行用の初期化ファイル(COBOL85.CBR)を使用する]のチェッ クを付けた。
リンカの警告メッセージ「xxxx : warning LNK4042: オブジェクトの指定が重複しています; 余分なものは無視されます」に埋め込まれるオブジェクトファイル名は、プロジェクトのプロパティで指定したDLLエントリオブジェクトの種類によって、以下のように変わります。
  • [DLLエントリオブジェクト]で[COBOL単体用]を選択した場合
    ‹NetCOBOLのインストール先フォルダ名›\F4AGCBDM.obj
  • [DLLエントリオブジェクト]で[他言語間結合用]を選択した場合
    ‹NetCOBOLのインストール先フォルダ名›\F4AGMLDM.obj

V10.2.0

ここに記載している情報は、V10.2.0で修正されている旧版で発生した障害一覧です。

項番 発生V/L 修正V/L P番号 現象
1 V10.1.0 V10.2.0 PG70346 以下の条件の場合、NetCOBOL Studioのプロジェクトの[リモート開発]ページにて、サーバディレクトリの[参照]ボタンを押下してディレクトリを選択すると「ファイル"{0}"のパスに誤りがあるため、オープンできません。」という不適切なエラーメッセージが表示されることがあります。
  1. リモート開発で使用するサーバのディレクトリに、ユーザのアクセス権拒否が設定されている。かつ、
  2. リモート開発対象のプロジェクトのプロパティから[リモート開発]ページを開く。 かつ、
  3. [サーバ]のコンボボックスからサーバを選択する。かつ、
  4. [参照]ボタンを押下して、1.で示したディレクトリを選択し[OK]ボタンを押す。
2 V10.1.0 V10.2.0 PG72245 以下の条件の場合、NetCOBOL Studioでリモート開発のための設定を有効にした状態でローカルビルドを実施した場合、ビルドに失敗することがあります。
  1. NetCOBOL StudioでCOBOLプロジェクトを作成した。かつ、
  2. プロジェクトに対して、プリコンパイラ連携情報([プロパティ]-[ビルドツール]-[プリコンパイラ]を設定した。かつ、
  3. プロジェクトに対して、リモート開発設定([プロパティ]-[リモート開発])を行った。かつ、
  4. プロジェクトに対して、リモート開発のためのプリコンパイラ連携情報が一度も設定されていない([リモート開発]-[メイクファイル生成]-[オプション設定]-[プリコンパイラ])。かつ、
  5. プロジェクトのビルドを実行した。
3 V10.1.0 V10.2.0 PG70339 以下の条件の場合、NetCOBOL Studioで特定のCOBOLプログラムソースをオープンすると、待ち状態が20分以上続くことがあります。
  1. 次の文字列をCOBOLソース内の、登録集名、データ名または定数の文字列などの一部または全部に、独立したトークンとして記述する。
    • PROGRAM-ID
    • CLASS-ID
    • METHOD-ID
4 V10.1.0 V10.2.0 PG71240 以下の条件の場合、INSDBINFコマンドが誤って以下のメッセージを出力します。
正しい行情報およびファイル名制御情報を出力することができませんでした. 入力ファイルまたはオプションを確認してください.
  1. Pro*COBOLを使用している。かつ、
  2. Pro*COBOLの入力ソースに、Pro*COBOLが展開するキーワード (注1)が記述されている。かつ、
  3. 条件2.の行の標識領域に"/"または"D"を記述して注記行としている。
(注1) SQL文、疑似型のデータなど。
5 V10.1.0 V10.2.0 PG71241 以下の条件の場合、INSDBINFコマンドが誤って以下のメッセージを出力します。
正しい行情報およびファイル名制御情報を出力することができませんでした. 入力ファイルまたはオプションを確認してください.
  1. Pro*COBOLを使用している。かつ、
  2. Pro*COBOLの入力ソースファイルの改行コードがLFである。かつ、
  3. EXEC SQL文をSQL先頭子("EXEC SQL")と命令文を複数行に分けて記述している。

例) EXEC SQL
      INCLUDE INCFILE
    END-EXEC
6 V10.1.0 V10.2.0 PG71243 以下の条件の場合、INSDBINFコマンドが誤って以下のメッセージを出力します。
指定されたインクルードファイルが存在しません.
  1. Pro*COBOLを使用している。かつ、
  2. INCLUDE文を使用している。かつ、
  3. インクルードファイルの指定をクォーテーション(シングルクォーテーションまたはダブルクォーテーション)で囲んで指定している。
または、
  1. Pro*COBOLを使用している。かつ、
  2. INCLUDE文を使用している。かつ、
  3. インクルードファイルの指定を拡張子なしパス指定で指定している。かつ、
    • 例1) INCLUDE D:\INCLUDE_DIR\INCF
    • 例2) INCLUDE ..\INCLUDE_DIR\INCF
  4. INSDBINFコマンドオプション-Sでインクルードファイルの拡張子を指定している。
7 V10.1.0 V10.2.0 PG71244 以下の条件の場合、INSDBINFコマンドが誤って以下のメッセージを出力します。
指定されたインクルードファイルが存在しません.
  1. Pro*COBOLを使用している。かつ、
  2. INCLUDE文を使用している。かつ、
  3. INCLUDEとインクルードファイル名を別々の行に記述し、文字列INCLUDEの直後で改行している。
例) EXEC SQL
      INCLUDE▼
      INCFILE
    END-EXEC
  ※▼改行
8 V10.1.0 V10.2.0 PG72054 以下の条件の場合、INSDBINFコマンドが誤って以下のメッセージを出力します。
正しい行情報およびファイル名制御情報を出力することができませんでした. 入力ファイルまたはオプションを確認してください.
  1. Pro*COBOLを使用している。かつ、
  2. Pro*COBOLの入力ソースに、EXEC SQL文を複数行に渡って記述している。かつ、
  3. 条件2.に当てはまるEXEC SQL文中に5カラムまたは6カラム (注2)の行がある。
    • 例1) 複数行に渡って記述されたEXEC SQL文中に5カラムの行がある場合
           ----+----1----+----2----+----3----+----4
           000090 EXEC SQL
           000100 SELECT ENAME FROM EMP
           00011▼
           000120 WHERE ESAL > 3000
           000130 END-EXEC
           ▼…改行コードを表します。
      
    • 例2) 複数行に渡って記述されたEXEC SQL文中に6カラムの行がある場合
           ----+----1----+----2----+----3----+----4
           000090 EXEC SQL
           000100 SELECT ENAME FROM EMP
           000110▼
           000120 WHERE ESAL > 3000
           000130 END-EXEC
           ▼…改行コードを表します。
      
(注2) 改行コードは含みません。
9 V10.1.0 V10.2.0 PG74245 以下の条件の場合、翻訳時異常終了することがあります。
  1. 手続き部の規模が比較的大きい(目安として1万行以上(注3))プログラムである。かつ、
  2. オブジェクト指定子を使用している。
(注3)1万行以上はあくまでも目安です。書き方によっては1万行以下で発生する可能性もあります。ただし一行に複数の文を書くようなことをしていない、標準的なプログラミング形式であれば、数万行以上なければ、現象発生の可能性は極めて低いです。
10 V10.1.0 V10.2.0 PG77217 以下の条件で作成された実行形式ファイルを対話型デバッガにてデバッグするとき、対話型デバッガがアベンドするため、デバッグが開始できません。
  1. COPY文で登録集を取り込んでいる。かつ、
  2. 取り込んだCOPY登録集が手続き部見出しのみである。かつ、
  3. 1.と2.にあてはまるソースプログラムを、翻訳オプションTESTを指定して翻訳した。
11 V10.1.0 V10.2.0 PG73470 以下の条件の場合、翻訳時に誤った指摘メッセージが出力されます。(注4)
  1. 翻訳オプションFLAGSW(STDM)またはFLAGSW(STDI)を指定している。かつ、
  2. CALL文にUSING指定を記述している。かつ、
  3. USINGに指定したパラメタが5個以下の一意名である。かつ、
  4. 3.の一意名に添字または部分参照を1個以上指定している。かつ、
  5. 4.の添字または部分参照に一意名を指定している。かつ、
  6. 3.と5.の一意名の個数の合計が6個以上である。
(注4)JMN9333I-W (STD)CALL文中のUSING句に指定した作用対象の個数は5個以下でなければなりません。処理を続行します。
12 V10.1.0 V10.2.0 PG77463 以下の条件の場合、翻訳時にCOBOLコンパイラが以下のメッセージを出力して異常終了することがあります。
「プログラム名xxxxxxxx」 0: JMN0102I-U 翻訳処理が続行不可能となりました.他の診断メッセージが表示されている場合は,それらを修正して,再度翻訳してみて下さい.(区名=JMNRAL, モジュール名=SABEMAC, 詳細コード=6202, 行情報=yy.)
  1. 表示ファイル機能を使用している。かつ、
  2. 表示ファイルの特殊レジスタ(注5)を比較条件の作用対象に指定している。かつ、
  3. 2.の特殊レジスタを日本語項目で修飾している。
(注5) 表示ファイルの特殊レジスタ
  • EDIT-MODE
  • EDIT-OPTION
  • EDIT-OPTION2
  • EDIT-OPTION3
  • EDIT-COLOR
  • EDIT-STATUS
  • EDIT-CURSOR
13 V10.1.0 V10.2.0 PG78440 以下の条件の場合、正しい実行結果が得られないことがあります。
  1. 翻訳オプションBINARY(BYTE)またはBINARY(WORD,MLBOFF)が指定されている。かつ、
  2. 以下の組み込み関数が存在する。かつ、
    [A]
    • FUNCTION MAX
    • FUNCTION MIN
    • FUNCTION MEAN
    • FUNCTION MEDIAN
    • FUNCTION RANGE
    [B]
    • FUNCTION ANNUITY
    • FUNCTION NUMVAL
    • FUNCTION NUMVAL-C
    • FUNCTION RANDOM
  3. 2.の関数の引き数が、全て9桁以下の固定小数点数字である。かつ、
  4. 2.の関数が[A]の場合、引き数が4つ以上指定されている。
14 V10.1.0 V10.2.0 PG78833 以下の条件の場合、翻訳時にCOBOLコンパイラが次のメッセージを出力して異常終了することがあります。
「プログラム名xxxxxxxx」 0: JMN0102I-U 翻訳処理が続行不可能となりました.他の診断メッセージが表示されている場合は,それらを修正して,再度翻訳してみて下さい.(区名=JMNRAL, モジュール名=SABEMAC, 詳細コード=6202, 行情報=yy.)
  1. 翻訳オプションBINARY(BYTE)が有効である。かつ、
  2. 翻訳オプションCHECK(NUMERIC)またはCHECK(ALL)が有効である。かつ、
  3. 手続き部内に、添字付けおよび部分参照付けを使用した文がある。かつ、
  4. 3.の文の添字、部分参照の最左端文字位置、または部分参照の長さのいずれかにUSAGE COMP-5の2進データ項目を指定している。かつ、
  5. 4.の2進データ項目の桁数が10桁~16桁である。
または、
  1. 翻訳オプションBINARY(BYTE)が有効である。かつ、
  2. 外部プログラムを呼び出すUSING BY VALUE指定のCALL文が存在する。かつ、
  3. 2.CALL文にUSING BY VALUE指定のデータ項目がCOMP-5の2進項目である。かつ、
  4. 3.の2進データ項目の桁数が10桁~16桁である。
15 V10.1.0 V10.2.0 PG79260 以下の環境・条件の場合、対Windows(x64)サーバに対するNetCOBOL Studioからのメイクファイル生成において、以下のメッセージが出力されてWindows(x64)サーバ上に正しいメイクファイルが生成されないことがあります。
cobmkmf ERROR : 'nmake'コマンドの実行に失敗しました。処理を中断します。
【環境】
  1. サーバ側のWindows(x64) システムに" Windows(x64) NetCOBOL Enterprise Edition 開発・運用パッケージ V10.1.0"をインストールしている。かつ、
  2. クライアント側のWindowsシステムに"Windows(x86) NetCOBOLシリーズ開発パッケージ V10.1.0"をインストールしている。
【条件】
  1. Windows(x64)サーバの環境変数PATHにnmakeコマンド(nmake.exe)(注6)の格納フォルダが設定されていない。かつ、
  2. クライアント側のNetCOBOL Studioで、[プロジェクト]メニュー→ [リモート開発] → [メイクファイル生成]を実行して、Windows(x64)サーバ上にメイクファイルを生成する。
(注6) nmakeコマンドは、Microsoft社のWindows SDKに含まれています。
16 V10.1.0 V10.2.0 PG77383 以下の条件の場合、実行時に正しい実行結果が得られないことがあります。
  1. 翻訳オプションOPTIMIZEが有効である。(注7-1)かつ、
  2. 内部10進項目を数字編集項目へ設定している文を記述している。かつ、
  3. 内部10進項目と数字編集項目のけた数は、「整数部のけた数が同じ、かつ、小数部がない」である。かつ、
  4. 数字編集項目は、編集方法にゼロ抑制のみを指定している(PICTUREの文字列には'9','Z','*'のみを使用している)。かつ、
  5. 2.の文の前に、データ項目(または中間結果)を2.の内部10進項目へ設定する文 (注7-2)を記述している。かつ、
  6. 5.のデータ項目(または中間結果)のけた数と2.の内部10進項目のけた数の関係が次のようになっている。かつ、
         ------------------------------------------------------
             データ項目(または中間結果)    内部10進項目
         ------------------------------------------------------
                  2                             3
                  4                             5
                  6                             7
                  8                             9
                 10                            11
                 12                            13
                 14                            15
                 16                            17
         ------------------------------------------------------
    
  7. 5.のデータ項目(または中間結果)と2.の内部10進項目の両方に小数部がない。
(注7-1) デフォルトの翻訳オプションはNOOPTIMIZEです。
(注7-2) 数字転記はMOVE文だけでなく、COMPUTE文などの暗黙に転記が発生する場合も該当します。
17 V10.1.0 V10.2.0 PG79472 以下の条件の場合、翻訳時に以下のメッセージを出力して異常終了することがあります。
「プログラム名xxxxxxxx」 0: JMN0102I-U 翻訳処理が続行不可能となりました.他の診断メッセージが表示されている場合は,それらを修正して,再度翻訳してみて下さい.(区名=JMNRAL, モジュール名=SABEMAC, 詳細コード=5460, 行情報=yy.)
  1. 二項演算の加減算がある。かつ、
  2. 1.の作用対象の一意名は符号付き内部10進または符号付き外部10進である。かつ、
  3. 1.の作用対象の一意名は桁数が同じである。かつ、
  4. 1.の結果の一意名は、1.の作用対象の一方と同じ一意名である。
[例]
 01 A PIC S9(4) COMP-3.
 01 B PIC S9(4) COMP-3.
 01 C PIC S9(4) DISPLAY.
 01 D PIC S9(4) DISPLAY.
      :
     COMPUTE A = A + B.
     SUBSTRUCT C FORM D.
18 V10.1.0 V10.2.0 PG79150 以下の条件の場合、翻訳時にメッセージを出力しないで異常終了することがあります。
  1. 翻訳オプションOPTIMIZEが有効である。かつ、
  2. 手続き部で、以下の一意名を使用している(注8)
    • 添字付けをしているデータ項目
    • 部分参照をしているデータ項目
    • 可変反復データ項目
    • 可変反復データ項目と同じ集団項目に含まれるデータ項目
(注8) 翻訳時のメモリの状態に依存するため、条件に一致しても異常終了しないことがあります。