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

3.2 NetCOBOL運用環境

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

表3.2 NetCOBOL運用環境のプログラム修正一覧

項番

V/L(注)

P番号

現象

1

V10.1.0

V10.5.0

PG76651

以下の条件の場合、COBOLプログラム実行時に、長さの異なる日本語項目(日本語編集項目、組込み関数を含む)同士の大小比較の結果が正しくないことがあります。

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

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

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

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

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

2

V10.1.0

V10.5.0

PG88590

以下の条件の場合、COBOLプログラム実行時、SORT文の実行で無限ループが

発生する場合があります。

  1. PowerSORTをインストールしていない環境である。かつ、

  2. 整列併合の対象ファイルのレコード長が21477から21484バイトである。かつ、

  3. 2.のファイルに対して、SORT文またはMERGE文を実行した場合。

3

V10.1.0

V10.5.0

PG91976

以下の条件の場合、COBOLプログラム実行時に、OPEN文の実行でアクセス違反例外(EXCEPTION_ACCESS_VIOLATION)で異常終了する場合があります。(注)

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

  1. 下記のいずれかのファイル編成である。かつ、

    1. 行順ファイル、または、

    2. FORMAT句なし印刷ファイル

  2. 1.のファイル管理記述項のASSIGN句にファイル識別名を指定している。かつ、

  3. 2.のファイル識別名に対してファイルが割り当てられていない。かつ、

  4. 1.のファイルに対してOPEN文を実行した場合。

4

V10.3.0

V10.5.0

PG93367

以下の条件の場合、Javaクライアントにエラー通知されない場合があります。

  1. Migration CJC for INTARFRM連携機能を使用している。かつ、

  2. Javaクライアントでサーバアプリケーションの応答を待っている。かつ、

  3. 通信エラーが発生した場合。

5

V10.1.0

V10.5.0

PG96520

以下の条件の場合、COBOLプログラム実行時、トレース情報のファイルに出力される実行時メッセージが、トレース情報ファイル以外のファイル(ソケットを含む)に出力される場合があります。

  1. TRACE機能を使用している。かつ、

  2. 複数のプロセスが同じトレース情報のファイル名を指定している場合。

6

V10.1.0

V10.5.0

PG97090

以下の条件のとき、COBOLプログラム実行時、NATIONAL-OF関数で変換した文字に対応する日本語文字がなかった場合、引数-2に指定した代用文字に正しく置き換わりません。

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

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

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

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

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

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.の文字位置がデータ項目の末尾である。

9

V11.0.0

PH03200

以下の条件の場合、COBOLプログラムの実行時に、索引キー項目の大小順序どおりにレコードが書き出されません。

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

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

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

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

10

V10.1.0

V11.0.0A

PH08330

以下の条件のとき、スクリーン機能のDISPLAY文またはACCEPT文実行時に、アクセス違反例外(EXCEPTION_ACCESS_VIOLACTION)で異常終了する場合があります。(注)

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

  1. Micro Focus固有機能のDISPLAY文またはACCEPT文を使用している。かつ、

  2. 1.のDISPLAY文またはACCEPT文に添え字付けされたデータ項目を指定している場合。

11

V11.0.0

V11.0.0A

PG99231

以下の条件のとき、COBOLファイルアクセスルーチンの実行で以下のエラーが発生し、ファイルのオープンに失敗します。

  • エラー番号:FA_EBADFILE(105)

  • 入出力状態:90

[条件]

  1. COBOLファイルアクセスルーチンの入出力対象となるファイルが索引ファイルである。かつ、

  2. 1.の索引キーがUTF-32リトルエンディアンの日本語項目である。かつ、

  3. ファイルをオープンするAPI関数(*1)に対し、レコードキーリストにNULLポインタを指定(*2)している。かつ、

  4. ファイルをオープンするAPI関数を実行した場合。

(*1):対象となるAPI関数は以下のとおりです。

  • cobfa_open

  • cobfa_openW

(*2):本指定により、既存のファイルの索引構成とレコード形式、レコード長を認識してファイルをオープンします。

12

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句を指定している。(*1)

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

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

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

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

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

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

(*1):次のいずれかの項目にREDEFINES句を指定した場合、翻訳時に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

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