ページの先頭行へ戻る
NetCOBOL for .NET V8.0.0 リリース情報
FUJITSU Software

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

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

項番

V/L(注)

P番号

変更内容

1

V1.0L10

V3.0L10

PG50258

以下の条件のとき、実行時にSEARCH ALL文でWHEN指定の条件を満足する表要素を検索できない問題を修正しました。

  1. COBOLプログラムにSEARCH文(SEARCH ALL)を記述している。かつ、

  2. SEARCH文のWHEN指定に複数の条件を記述している、または、

  3. WHEN指定のキー項目に指定されている添字が多次元である。かつ、

  4. 条件の左辺(キー項目)に次のいずれかの項目を記述している。かつ、

    • 符号なし外部10進項目

    • 符号付き外部10進項目

    • 符号なし内部10進項目

    • 符号付き内部10進項目

  5. 条件の右辺(比較対象項目)に符号なし内部10進項目を記述している場合。

2

V1.0L10

V3.0L10

PG51442

以下の条件のとき、実行時にSEARCH ALL文でWHEN指定の条件を満足する表

要素を検索できない問題を修正しました。

  1. COBOLプログラムに翻訳オプション RCS(UCS2)を指定して翻訳している。

  2. SEARCH文(SEARCH ALL)を記述している。かつ、

  3. SEARCH文のWHEN指定に複数の条件を記述している、または、

  4.   WHEN指定のキー項目に指定されている添字が多次元である。かつ、

  5. 条件の左辺(キー項目)または右辺(比較対象項目)に日本語項目または日本語編集項目を記述している。かつ、

  6. 4.の条件の他方に集団項目を記述している場合。

3

V1.0L10

V3.1L10

PG55438

以下の条件のとき、誤った指定方法にもかかわらず、実行時にOPEN文が成功する問題を修正しました。

  1. ファイルの連結機能を指定している。かつ、

  2. ファイルの割り当てで、1 の指定を示す文字列"CONCAT(ファイル名)"に続いて、誤った文字が指定されている。かつ、

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

4

V1.0L10

V3.1L10

PG61062

以下の条件のとき、実行時にファイルの入出力状態値として"04"が設定されない問題を修正しました。

  1. 可変長のレコード順ファイルを使用している。かつ、

  2. 1. のファイルの定義にFILE STATUS 句を指定している。かつ、

  3. 1.のファイルに対し、COBOL ファイルシステム(*)を使用している。かつ、

  4. 1.のファイルに対し、READ 文を実行している。かつ

  5. 4.で読み込んだレコードの長さがプログラムで定義した最大レコード長を超えている場合。

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

5

V1.0L10

V3.1L10

PG61503

以下の条件のとき、COBOL ファイルユーティリティの実行で、誤ったレコードキー属性(*1)を持つ索引ファイルが作成される問題を修正しました。

  1. COBOL ファイルユーティリティの以下のいずれかの機能を使用している。かつ、

    • ファイルロードコマンド(cobfload)

    • ファイルロード関数(COB_FILE_LOAD)

  2. 作成するファイルのファイル編成として、索引ファイルを指定している。かつ、

  3. 作成する索引ファイルに対し、複数のレコードキーを指定している。かつ、

  4. 3.のレコードキーのうち、重複を許す指定をしているものがある。かつ、

  5. 4.のレコードキーよりも後ろに、重複を許さないレコードキーを指定した場合。

*1: 重複を許さない指定を行ったにもかかわらず、重複を許すレコードキー情報を持つ索引ファイルが作成されます。この結果、以下の現象が発生します。

  • 重複を許さない指定を行い、入力となるファイルにキーが重複するレコードが存在する場合、エラーを検出する仕様ですが、エラーを検出しないで正常に終了します。

  • 作成された索引ファイルに対して、COBOL プログラムでALTERNATE RECORDKEY 句のDUPLICATES 指定を省略してOPEN 文を実行した場合、レコードキーの重複可否に誤りがある旨のエラーが出力されます。

6

V1.0L10

V3.1L10

PG61656

以下の条件のとき、実行時にCURRENT-DATE 関数が返す時差情報に誤りが発生する問題を修正しました。

  1. CURRENT-DATE 関数を使用している。かつ、

  2. グリニッジ標準時と、地方時間の月が異なる場合。

7

V1.0L10

V3.1L10

PG64106

以下の条件のとき、実行時に、SEARCH ALL文で正しく表検索できない問題を修正しました。

  1. SEARCH文(SEARCH ALL)が存在する。かつ

  2. SEARCH文のWHEN指定に複数の条件を記述している、または、WHEN指定のキー項目に指定されている添字が多次元である。かつ、

  3. 条件の左辺(キー項目)に次のいずれかのUSAGEの項目を記述している。かつ、

    • COMP-5 (翻訳オプションASCOMP5によりみなされたものも含む)

    • BINARY-SHORT

    • BINARY-LONG

    • BINARY-DOUBLE

  4. 条件の右辺(比較対象項目)に浮動小数点項目または浮動小数点定数を記述している場合。

8

V4.0.0

PG73611

以下の条件のとき、COBOLプログラム実行時に、AFTER/BEFORE ADVANCING 0 LINE指定のWRITE文の実行がAFTER/BEFORE ADVANCING PAGE指定のWRITE文として処理される問題を修正しました。

  1. 行順ファイルで外部ファイルハンドラと連携している。かつ、

  2. 1.でOPENしたファイルに対してAFTER/BEFORE ADVANCING 0 LINE指定のWRITE文を実行している場合。

9

V1.0L10~

V4.2.0

PG87520

以下の[条件1]または[条件2]のとき、COBOLプログラムの実行時に、内部ブール項目の転記結果に誤りがある問題(注)を修正しました。

注)送出し側データ項目の直後に割り当てられた領域の状態によって、結果が異なります。

[条件1]

  1. 内部ブール項目から内部ブール項目への転記である。かつ、

  2. 送出し側データ項目と受取り側データ項目のデータ開始位置(*)が異なる。かつ、

  3. 送出し側データ項目のデータ開始位置(*)+(送出し側データ項目の長さと受取り側データ項目の長さの小さい方) > 32 である。
    または
    受取り側データ項目のデータ開始位置(*)+受取り側データ項目の長さ > 32 である。かつ、

  4. 受取り側データ項目が集団項目に従属している。かつ、

  5. 受取り側データ項目の転記開始位置が、4)の集団項目のバイト境界の位置にない。かつ、

  6. 「送出し側データ項目のビット長」<「受取り側のビットデータ開始位置(*)から最初のバイト境界までのビット長」である。かつ、

  7. 送出し側データ項目のビットデータが以下のいずれかの状態にある場合。

    • 送出し側データ項目のビットデータがバイト境界を跨ぐ位置にある。

    • 送出し側データ項目の開始位置(*)から「受取り側の最初のバイト境界までのビット長」までの間にバイト境界がある。

(*) バイト内相対ビット位置(オフセット)を指します。


条件1の例)

 DATA DIVISION.
 WORKING-STORAGE SECTION.
 01  DATA1.
    02  DATA1-1    PIC 1(5) BIT.
    02  DATA1-2    PIC 1(4) BIT.
    02  DATA1-3    PIC 1(7) BIT.
 01  DATA2.
    02  DATA2-1    PIC 1(1) BIT.
    02  DATA2-2    PIC 1(32) BIT.
 01 ANS-DATA       PIC 1(32) BIT VALUE B"1111".
 PROCEDURE DIVISION.
       MOVE X"FFFF" TO DATA1.
       MOVE DATA1-2 TO DATA2-2.
       IF DATA2-2 = ANS-DATA
         THEN DISPLAY "OK"
         ELSE DISPLAY "NG"       *> B"11111110-00000000"
       END-IF.

[条件2]

  1. 内部ブール項目から内部ブール項目への転記である。かつ、

  2. 送出し側データ項目または受取り側データ項目が添え字参照されている。かつ、

  3. 受取り側データ項目の長さ>1 である。かつ、

  4. 以下のいずれかである。かつ、

    • 送出し側データ項目の長さ>1 である。

    • 受取り側データ項目が添え字参照されている。

    • 受取り側データ項目の長さ>25 である。

  5. 受取り側データ項目の転記開始位置が、バイト境界の位置にない。かつ、

  6. 「送出し側データ項目のビット長」<「受取り側のビットデータ開始位置(*)から最初のバイト境界までのビット長」である。かつ、

  7. 送出し側データ項目のビットデータが以下のいずれかの状態にある場合。

    • 送出し側データ項目のビットデータがバイト境界を跨ぐ位置にある。

    • 送出し側データ項目の開始位置(*)から「受取り側の最初のバイト境界までのビット長」までの間にバイト境界がある。

(*) バイト内相対ビット位置(オフセット)を指します。


条件2の例)

 DATA DIVISION.
 WORKING-STORAGE SECTION.
 01  DATA1.
    02  DATA1-1    PIC 1(5) BIT.
    02  DATA1-2    PIC 1(4) BIT.
    02  DATA1-3    PIC 1(7) BIT.
 01  DATA2.
   02   DATA2-1 PIC 1(10) BIT OCCURS 5 TIMES.
 01 ANS-DATA       PIC 1(10) BIT VALUE B"1111".
 01 CNT            PIC 9 VALUE 2.
 PROCEDURE DIVISION.
       MOVE X"FFFF" TO DATA1.
       MOVE DATA1-2 TO DATA2-1(CNT).
       IF DATA2-1(CNT) = ANS-DATA
         THEN DISPLAY "OK"
         ELSE DISPLAY "NG"       *> B"1111110000"
       END-IF.

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