ページの先頭行へ戻る
NetCOBOL V12.2.0 リリース情報
FUJITSU Software

3.1 NetCOBOL開発環境

ここに記載する情報は、以下の製品に適用されます。

表3.1 NetCOBOL開発環境のプログラム修正一覧

項番

V/L(注)

P番号

現象

1

V12.0.0

V12.1.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

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

PH15790

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

  • 以下のメッセージが出力され、変換処理が中断する

     PRCV-ER108S COBOL登録集'****'が割り当てられていません.
  • 異なるパスに存在する登録集ファイルを読み込む

  1. 以下のどれかの方法により、翻訳前ソース変換機能を有効にしている。かつ、

    • COBOLコマンドに-CVmオプションを指定している

    • NetCOBOL Studioで翻訳オプションPRECONV(MF)を指定している

    • COBPRECONVコマンドを使用している

  2. COPY文に IN/OF 登録集名を記述している場合。

4

V12.1.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

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

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

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

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

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

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

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

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

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.

注: V/Lは障害が存在する範囲を示します。