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

2.2.4 障害修正に関する互換情報について

ここでは、NetCOBOL運用環境について、NetCOBOL V10.2.0以降で実施された障害修正により動作が変わるものを、以下の表で説明します。

表2.2 NetCOBOL運用環境の障害修正に関する互換情報

項番

VL(注)

P番号

変更内容

1

V12.0.0

PH15066

以下の条件の場合、COBOLアプリケーションの実行時に、富士通メインフレーム形式の内部浮動小数点項目の値がゼロであるにもかかわらず、2進項目へ変換した結果がゼロにならない問題を修正しました。(注1)

注1: メモリの状態に依存します。(不定)


  1. NetCOBOL Enterprise Editionをインストールしている。かつ、

  2. 翻訳オプションFLOAT(M)を指定してプログラムを翻訳している。かつ、

  3. 内部浮動小数点項目から2進項目への変換をしている。かつ、

  4. 内部浮動小数点項目の値がゼロである場合。

2

V12.0.0

PH15042

以下の条件の場合、COBOLアプリケーションの実行時に、SORT文の整列結果が正しくない問題を修正しました。

  1. NetCOBOL Enterprise Editionをインストールしている。かつ、

  2. PowerSORTがインストールされている。かつ、

  3. 翻訳オプションFLOAT(M)を指定してCOBOLプログラムを翻訳している。かつ、

  4. 整列キーに内部浮動小数点項目を指定している。かつ、

  5. 4.の整列キーでSORT文を実行した場合。

3

V11.0.0

V11.0.1

PH10390

以下の条件の場合、COBOLアプリケーションの実行時に、DISPLAY-OF関数で後置空白を含む日本語文字を英数字文字に変換すると、後置空白が除去されずに変換されてしまう問題を修正しました。(注1)

注1: 発生頻度はメモリの状態に依存します。


  1. 次のどちらかを指定してUnicodeアプリケーションを作成している。かつ、

    • 翻訳オプションRCS(UTF16)、または

    • 翻訳オプションRCS(UCS2)を指定して翻訳している。

  2. 翻訳時のコンパイラのバージョンがV10.1~V10.5(*)である。かつ、

  3. 実行時のランタイムシステムのバージョンがV11.0以降である。かつ、

  4. DISPLAY-OF関数を使用している。かつ、

  5. DISPLAY-OF関数の引数に後置空白を含む日本語文字を指定している場合。

*: Windows(x64) NetCOBOL V10.1、V10.2、V10.3、またはV10.5

4

V10.1.0

V11.0.0A

PH06622

以下の条件の場合、COBOLアプリケーションの実行時に、FORMAT句なし印刷ファイルのREDEFINES句を指定した項目を含む集団項目の出力で、CHARACTER TYPE句またはPRINTING POSITION句が有効にならず、指定した印字属性または印字位置が正しく出力されない問題を修正しました。

UNICODEアプリケーションの場合、上記現象に加えて、以下の現象が発生する場合があります。

  • 実行時メッセージ

    • 実行時メッセージ「JMP0320I 'CNVER=xx'」が出力される

  • 日本語項目の文字化け

    • 日本語項目に格納したデータの印字結果が文字化けする

[条件]

  1. FORMAT句なし印刷ファイルを使用している。かつ、

  2. 帳票出力に連携製品を使用せずにプリンタに直接出力している。かつ、

  3. WRITE文に指定したレコード項目またはWRITE文のFROM句に指定したデータ 項目がREDEFINES句を指定したデータ項目を従属する集団項目である。かつ、

  4. 3.のREDEFINES句を指定した集団項目に次のどれかを記述している。かつ、

    • 従属する集団項目がある。

    • 従属する日本語項目がある。

    • 従属するデータ項目に有効となるCHARACTER TYPE句を指定している。(*)

    • 従属するデータ項目に有効となるPRINTING POSITION句を指定している。(*)

  5. 3.のREDEFINES句を指定した集団項目以降の3.と同じレベル番号に次のどれかを記述している場合。

    • CHARACTER TYPE句を指定した基本項目または集団項目がある。

    • PRINTING POSITION句指定した基本項目または集団項目がある。

    • 従属するデータ項目に有効となるCHARACTER TYPE句を指定している集団項目がある。

    • 従属するデータ項目にPRINTING POSITION句を指定している集団項目がある。

* :次のどちらかの項目にREDEFINES句を指定した場合、COBOLプログラムの翻訳時にJMN2224I-W が出力され、項目に指定したCHARACTER TYPE句またはPRINTING POSITION句が無効であることを警告されます。

  • CHARACTER TYPE句指定またはPRINTING POSITION句を記述したデータ項目

  • CHARACTER TYPE句またはPRINTING POSITION句が有効になるデータ項目を従属する集団項目

[現象が発生するプログラム例]

DATA DIVISION.
WORKING-STORAGE SECTION.
01  DATA1.
  03  DATA2.
    05  DATA31.
      07  DATA31A   PIC X(10).
    05  DATA32  REDEFINES DATA31.
      07  DATA32A.                          *>発生条件4
        09  DATA32A1  PIC X(5).
        09  DATA32A2  PIC X(5).
    05  DATA33.                             *>発生条件5
       07  DATA33A    PIC N(5) MODE-1.
PROCEDURE DIVISION.
    WRITE PRINT-REC FROM DATA1 AFTER PAGE.  *>発生条件3

5

V11.0.0

PH03200

以下の条件の場合、COBOLアプリケーションの実行時に、索引キー項目の大小順序どおりにレコードが書き出されない問題を修正しました。

派生する現象として、 意図したレコードが読み込まれない場合があります。

  1. 翻訳オプションENCODE(SJIS,SJIS)を指定して翻訳したプログラムを実行している。かつ、

  2. 主レコードキー、または副レコードキーの項目属性が日本語項目である。かつ、

  3. WRITE文を実行した場合。

6

V10.1.0

V10.5.0A、

V11.0.0

PH01026

以下の条件の場合、COBOLアプリケーションの実行時に、日本語空白を2バイトのANK空白と見なした文字比較が正しく判定されない問題を修正しました。

  1. 翻訳オプションNSPCOMP(ASP)を指定して翻訳したプログラムを実行している。かつ、

  2. 次のどれかの指定により、データ項目のエンコードがシフトJISである。かつ、

    • 翻訳オプションRCS省略時、または
      翻訳オプションRCS(SJIS)指定時、または
      翻訳オプションENCODE(SJIS,SJIS)指定時

  3. 次のどちらかの文字比較をしている。かつ、

    • 日本語項目を作用対象とする日本語文字比較

    • 集団項目を作用対象とする文字比較

      ただし、次に示す条件を除く。

      • 日本語項目を含まない集団項目同士の比較

      • 明または暗に属性が表示用でない項目を含む集団項目の比較

  4. 3.の文字比較で比較対象の文字が次の文字コードの範囲である。かつ、

    • X"8181"~X"819F"

    • X"81E0"~X"81FC"

  5. 比較対象のどちらか一方は、4.の文字位置の次の文字が日本語空白(X"8140")である。かつ、

  6. 5.の他方が次のどちらかである場合。

    • 5.の日本語空白と同じ文字位置に2バイトのANK空白(X"2020")がある。

    • 4.の文字位置がデータ項目の末尾である。

7

V11.0.0

PH00258

以下の条件の場合、Unicodeアプリケーションの実行時に、可変長の日本語項目と表意定数との文字比較が正しく行われない問題を修正しました。

具体的には、COBOLプログラムのIF文等で文字比較をしたとき、等しくないにもかかわらず、等しいと誤って判定されることがあります。

  1. NetCOBOL V11.0の開発環境で翻訳されたプログラムを実行している。かつ、

  2. 次に示す翻訳オプションを指定して翻訳し、Unicodeアプリケーションを作成している。かつ、

    • RCS(UCS2)またはRCS(UCS2,LE)

    • RCS(UTF16)またはRCS(UTF16,LE)

    • ENCODE(UTF8)

    • ENCODE(UTF8,UTF16)またはENCODE(UTF8,UTF16,LE)またはENCODE(UTF8,UTF16,BE)

    • ENCODE(UTF8,UTF32)またはENCODE(UTF8,UTF32,LE)またはENCODE(UTF8,UTF32,BE)

    【補足】
    RCSオプションの省略値はRCS(SJIS)、ENCODEオプションの省略値はENCODE(SJIS,SJIS)です。

  3. 日本語項目(日本語編集項目または関数の型が日本語となる組込み関数を含む)と表意定数(ALL定数またはSPACE)の文字比較である。かつ、

  4. 3.の日本語項目が次のどれかの指定により可変長である。かつ、

    • 部分参照子の長さにデータ名を指定している

    • 部分参照子の最左端文字位置にデータ名を指定し、長さを省略している

    • ANY LENGTH句を指定している

    【補足】
    関数の型が日本語となる組込み関数にはANY LENGTH句は指定できません。

  5. 比較対象の日本語項目のエンディアンがリトルエンディアンである(*)。かつ、

  6. 日本語1文字毎の下位1バイト(リトルエンディアン表現では先頭1バイト)以外は等しい文字同士である。かつ、

  7. 6.の下位1バイト(リトルエンディアン表現では先頭1バイト)が異なる文字を比較した場合。


*: エンディアンがリトルエンディアンになる条件は、以下のどれかの場合。

  • 次に示す翻訳オプションを指定して翻訳している場合。

    • RCS(UCS2)

    • RCS(UCS2,LE)

    • RCS(UTF16)

    • RCS(UTF16,LE)

  • 次に示す翻訳オプションを指定して翻訳したプログラムで、日本語項目にENCODING句を指定していない場合。

    • ENCODE(UTF8)

    • ENCODE(UTF8,UTF16)

    • ENCODE(UTF8,UTF16,LE)

    • ENCODE(UTF8,UTF32)

    • ENCODE(UTF8,UTF32,LE)

  • ALPHABET句で次に示すエンコード方式が関連づけられた符号系名を日本語項目のENCODING句に指定している場合。

    • UTF16

    • UTF16LE

    • UTF32

    • UTF32LE


[可変長のコーディング例]

 DATA  DIVISION.
 WORKING-STORAGE  SECTION.
 01  NDATA    PIC N(100) VALUE NC"富士通ふじつう".
 01  LEN       PIC 9(3) VALUE 10.
 01  COUNTER  PIC 9(3).
 PROCEDURE  DIVISION.
     MOVE  4  TO  COUNTER.
     IF  NDATA(4:10) = SPACE ~          <---- OK(固定長)
     IF  NDATA(4:) = SPACE ~            <---- OK(固定長)
     IF  NDATA(4:LEN) = SPACE ~         <---- NG(可変長)  ★★
     IF  NDATA(COUNTER :10) = SPACE ~   <---- OK(固定長)
     IF  NDATA(COUNTER:) = SPACE ~      <---- NG(可変長)  ★★
     IF  NDATA(COUNTER:LEN) = SPACE ~   <---- NG(可変長)  ★★

8

V10.1.0

V10.5.0

PG97090

以下の条件の場合、COBOLアプリケーションの実行時に、NATIONAL-OF関数で変換した文字に対応する日本語文字がなかった場合、引数-2に指定した代用文字に正しく置き換わらない問題を修正しました。

  1. 翻訳オプションRCS(UTF16,BE)を指定して翻訳したプログラムである。かつ、

  2. NATIONAL-OF関数を使用している。かつ、

  3. 2.の関数に引数-2を指定している。かつ、

  4. 2.の関数に指定した引数-1に英数字文字ではないデータが指定され、内部的にコード変換エラー(対応する日本語文字がない)が発生した場合。

9

V10.1.0

PG79859

以下の条件の場合、NetCOBOL Studioのリモートデバッグ機能を使用してCOBOLアプリケーションをデバッグしたとき、デバッグ中に以下の予期せぬメッセージが出力される問題を修正しました。

ドライブにディスクがありません。ディスクをドライブに挿入してください。
  1. NetCOBOL Studioのリモートデバッグ機能でCOBOLアプリケーションをデバッグしている。かつ、

  2. デバッグ対象プロセスで動作するロードモジュールにデバッグ情報ファイル(PDBファイル)(*)を作成しているものがある。かつ、

  3. 2.で示したロードモジュールの格納されたフォルダに2.で示したデバッグ情報ファイルが存在しない。かつ、

  4. NetCOBOLを使用しているシステムにおいて、仮想CDドライブのマウント解除などにより、現在は参照できない状態のドライブがある。かつ、

  5. 2.で示したデバッグ情報ファイルを作成したドライブと、4.で示した参照できない状態のドライブのドライブ文字が一致している。

*:デバッグ情報ファイル(PDBファイル)は、リンクコマンドにリンクオプション"/DEBUG"を指定した場合に作成されます。

10

V10.1.0

PG79852

以下の条件の場合、COBOLアプリケーションの実行時に、アプリケーションエラーまたは実行時メッセージが発生したとき、診断機能において、診断レポートを出力する前に以下の予期せぬメッセージが出力される問題を修正しました。

ドライブにディスクがありません。ディスクをドライブに挿入してください。
  1. 環境変数@CBR_JUSTINTIME_DEBUG=NOが設定されていない。かつ、

  2. 診断対象であるプロセスで動作するロードモジュールにデバッグ情報ファイル(PDBファイル)(*)を作成しているものがある。かつ、

  3. 2.で示したロードモジュールの格納されたフォルダに2.で示したデバッグ情報ファイルが存在しない。かつ、

  4. NetCOBOLを使用しているシステムにおいて、仮想CDドライブのマウント解除などにより、現在は参照できない状態のドライブがある。かつ、

  5. 2.で示したデバッグ情報ファイルを作成したドライブと、4.で示した参照できない状態のドライブのドライブ文字が一致している。

*:デバッグ情報ファイル(PDBファイル)は、リンクコマンドにリンクオプション"/DEBUG"を指定した場合に作成されます。

11

V10.1.0

PG77099

以下の条件の場合、実行環境変数@CBR_SSIN_FILE=THREADが有効にならず、ACCEPT文のファイル入力で、プロセスで1つの入力ファイルが共有される問題を修正しました。(*)

  1. マルチスレッドで動作するアプリケーションである。かつ、

  2. 実行環境変数@CBR_SSIN_FILE=THREADを指定している。かつ、

  3. ACCEPT文を実行しファイルからデータを入力した。

*:実行環境変数@CBR_SSIN_FILE=THREADを指定した場合、ACCEPT文のファイル入力で、スレッド単位に入力ファイルをオープンできます。

12

V10.1.0

V10.5.0

PG76651

以下の条件の場合、COBOLアプリケーションの実行時に、長さの異なる日本語項目(日本語編集項目、組込み関数を含む)同士の大小比較の結果が正しくない問題を修正しました。

  1. 翻訳オプションRSC(UCS2,LE)またはRSC(UTF16,LE)を指定している。かつ、

  2. 日本語項目と、日本語項目または日本語文字定数の大小比較である。かつ、

  3. 少なくとも一方が部分参照された項目またはANY LENGTH句の指定がある項目である。かつ、

  4. 比較対象の長さが異なる場合。

[注意]V11.0以降のNetCOBOLコンパイラで翻訳した場合のみ修正されます。

13

V10.1.0

PG73346

以下の条件の場合、COBOLアプリケーションの実行時に、実行時メッセージJMP0320I-I/Uに埋め込まれる8桁の16進文字の下位4桁に不要なゼロ列が設定される問題を修正しました。

  1. COBOLファイルシステム(*)を使用したファイル操作をしている。かつ、

  2. 以下のどれかの入出力文を実行している。かつ、

    • READ文

    • WRITE文

    • REWRITE文

    • DELETE文

    • START文

  3. 2.の入出力文の実行が失敗した。

*:ファイルの高速処理(BSAM)を指定している場合、該当しません。

注:VLは、障害が存在する範囲を示します。