表2.2 NetCOBOL運用環境の障害修正に関する互換情報項番 | VL (注) | P番号 | 変更内容 |
---|
1 | V11.0.0 ~ V11.0.1 | PH10390 | 以下の条件の場合、COBOLアプリケーションの実行時に、DISPLAY-OF関数で後置空白を含む日本語文字を英数字文字に変換すると、後置空白が除去されずに変換される問題を修正しました。(注) 注) 発生頻度はメモリの状態に依存します。 次のいずれかを指定してUnicodeアプリケーションを作成している。かつ、 翻訳時のコンパイラのバージョンがV10.1~V10.5(*)である。かつ、 実行時のランタイムシステムのバージョンがV11.0以降である。かつ、 DISPLAY-OF関数を使用している。かつ、 DISPLAY-OF関数の引数に後置空白を含む日本語文字を指定している場合。
*: Windows 32bit版 NetCOBOL V10.0、V10.1、V10.2、V10.3またはV10.5 |
2 | V11.0.0 ~ V11.0.1 | PH08039 | 以下の条件の場合、COBOLアプリケーションの実行時に、OSIV系形式の実行時パラメタの受け取りデータ項目に不定な値(*1)が格納される問題を修正しました。 COBOLソース中に、OSIV系形式の実行時パラメタを受け取る記述をしている。かつ、 翻訳オプションRCSを指定していない。または、翻訳オプションRCS(SJIS)を指定して翻訳している。かつ、 主プログラムを以下のNetCOBOLで翻訳している。かつ、 Windows NetCOBOL V11.0以降のランタイムシステムで実行している。かつ、 環境変数@CBR_CONVERT_CHARACTERの指定なし、または “ICONV”または“FJ_ICONV”を指定している。かつ、 OSIV系形式の実行時パラメタにSJIS範囲外の文字(*2)を指定して実行した場合。
*1: 代替文字(_)が格納されるべきところに、意図しない文字が格納されます。値はメモリの状態により異なります。 *2: Unicode固有文字 |
3 | V90L10 ~ V11.0.1 | PH06622 | 以下の条件のとき、COBOLプログラム実行時にFORMAT句なし印刷ファイルのREDEFINES句を指定した項目を含む集団項目の出力で、CHARACTER TYPE句またはPRINTING POSITION句が有効にならず、指定した印字属性または印字位置が正しく出力されない問題を修正しました。 UNICODEアプリケーションの場合、上記現象に加えて、以下の現象が発生する場合があります。 [条件] FORMAT句なし印刷ファイルを使用している。かつ、 帳票出力に連携製品を使用せずにプリンタに直接出力している。かつ、 WRITE文に指定したレコード項目またはWRITE文のFROM句に指定したデータ 項目がREDEFINES句を指定したデータ項目を従属する集団項目である。かつ、 3.のREDEFINES句を指定した集団項目に次のいずれかを記述している。かつ、 3.のREDEFINES句を指定した集団項目以降の3.と同じレベル番号に次のいずれかを記述している場合。 CHARACTER TYPE句を指定した基本項目または集団項目がある。 PRINTING POSITION句指定した基本項目または集団項目がある。 従属するデータ項目に有効となるCHARACTER TYPE句を指定している集団項目がある。 従属するデータ項目にPRINTING POSITION句を指定している集団項目がある。
(*1):次のいずれかの項目にREDEFINES句を指定した場合、翻訳時にJMN2224I-W が出力され、項目に指定した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 |
4 | V12L50 ~ V10.5.0 | PH01026 | 以下の条件の場合、翻訳オプションNSPCOMP(ASP)を指定したとき、実行時に日本語空白を2バイトのANK空白と見なした文字比較が正しく判定されない問題を修正しました。 翻訳オプションNSPCOMP(ASP)を指定して翻訳したプログラムを実行している。かつ、 次のいずれかの指定により、データ項目のエンコードがシフトJISである。かつ、 翻訳オプションRCS省略時または 翻訳オプションRCS(SJIS)指定時または 翻訳オプションENCODE(SJIS,SJIS)指定時 次のいずれかの文字比較を行っている。かつ、 日本語項目を作用対象とする日本語文字比較 集団項目を作用対象とする文字比較 ただし、次に示す条件を除く。
3.の文字比較で比較対象の文字が次の文字コードの範囲である。かつ、 X"8181"~X"819F" X"81E0"~X"81FC"
比較対象のどちらか一方は、4)の文字位置の次の文字が日本語空白(X"8140")である。かつ、 5.の他方が次のいずれかである場合。
|
5 | V10.0.0 ~ V10.5.0 | PG97090 | 以下の条件の場合、COBOLプログラム実行時、NATIONAL-OF関数で変換した文字に対応する日本語文字がなかったとき、引数-2に指定した代用文字に正しく置き換わらない問題を修正しました。 翻訳オプションRCS(UTF16,BE)を指定して翻訳したプログラムである。かつ、 NATIONAL-OF関数を使用している。かつ、 2.の関数に引数-2を指定している。かつ、 2.の関数に指定した引数-1に英数字文字ではないデータが指定され、内部的にコード変換エラー(対応する日本語文字がない)が発生した場合。
|
6 | V7.0L10 ~ V10.5.0 | PG76651 | 以下のいずれかの条件の場合、COBOLプログラム実行時に、長さの異なる日本語項目(日本語編集項目、組込み関数を含む)同士の大小比較の結果が正しくない問題を修正しました。 [条件1] 翻訳オプションRCS(UCS2,LE)またはRCS(UTF16,LE)を指定している。かつ、 日本語項目と、日本語項目または日本語文字定数の大小比較を行っている。かつ、 比較対象の一方の長さが4文字(8バイト)である。かつ、 比較対象のもう一方の長さが5文字(10バイト)以上である場合。
[条件2] 翻訳オプションRCS(UCS2,LE)またはRCS(UTF16,LE)を指定している。かつ、 日本語項目と、日本語項目または日本語文字定数の大小比較を行っている。かつ、 比較対象の長さの差が以下の場合。 6文字(12バイト)以上。かつ、 文字数が2の倍数(バイト数が4の倍数)
[条件3] 以下のいずれかの翻訳オプションが有効である。かつ、 RCS(SJIS) RCS(UCS2,BE) RCS(UTF16,BE)
日本語項目と、日本語項目または日本語文字定数の大小比較である。かつ、 比較対象の長さの差が5文字(10バイト)以上の場合。
[条件4] 翻訳オプションRCS(UCS2,LE)またはRCS(UTF16,LE)を指定している。かつ、 4文字(8バイト)以上の日本語項目と、以下の表意定数の大小比較である場合。
[条件5] 翻訳オプションRCS(UCS2,LE)またはRCS(UTF16,LE)を指定している。かつ、 日本語項目と、以下の表意定数の大小比較である場合。
[条件6] 翻訳オプションRCS(UCS2,LE)またはRCS(UTF16,LE)を指定している。かつ、 日本語項目と、日本語項目または日本語文字定数の大小比較である。かつ、 少なくとも一方が部分参照された項目またはANY LENGTH句が指定された項目である。かつ、 比較対象の長さが異なる場合。
【注意事項】 |
7 | V7.0L10 ~ V10.3.0 | PG87520 | 以下のいずれかの条件の場合、実行時に内部ブール項目の転記結果に誤りが発生する問題を修正しました。(注) 注)送出し側データ項目の直後に割り当てられた領域の状態によって、結果が異なります。 【条件1】 内部ブール項目から内部ブール項目への転記である。かつ、 送出し側データ項目と受取り側データ項目のデータ開始位置(*)が異なる。かつ、 送出し側データ項目のデータ開始位置(*)+(送出し側データ項目の長さと受取り側データ項目の長さの小さい方) > 32 である。または受取り側データ項目のデータ開始位置(*)+受取り側データ項目の長さ > 32 である。かつ、 受取り側データ項目が集団項目に従属している。かつ、 受取り側データ項目の転記開始位置が、4.の集団項目のバイト境界の位置にない。かつ、 「送出し側データ項目のビット長」<「受取り側のビットデータ開始位置から最初のバイト境界までのビット長」である。かつ、 送出し側データ項目のビットデータがバイト境界を跨ぐ位置にある。または、送出し側データ項目の開始位置から6.の「受取り側の最初のバイト境界までのビット長」までの間にバイト境界がある場合
* : バイト内相対ビット位置を指します。 条件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 である。かつ、 以下のいずれかである。かつ、 送出し側データ項目の長さ>1 である。 受取り側データ項目が添え字参照されている。 受取り側データ項目の長さ>25 である。
受取り側データ項目の転記開始位置が、バイト境界の位置にない。かつ、 「送出し側データ項目のビット長」<「受取り側のビットデータ開始位置から最初のバイト境界までのビット長」である。かつ、 送出し側データ項目のビットデータがバイト境界を跨ぐ位置にある。または、送出し側データ項目の開始位置から6.の「受取り側の最初のバイト境界までのビット長」までの間にバイト境界がある場合
条件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. |
8 | V10.0.0 ~ V10.1.0 | PG72597 | 以下の条件の場合、実行時に、WRITE AFTER/BEFORE ADVANCING 0 LINEの実行がWRITE AFTER/BEFORE ADVANCING PAGEとして処理される問題を修正しました。 行順ファイルで外部ファイルハンドラと連携している。かつ、 1.でOPENしたファイルに対してAFTER/BEFORE ADVANCING 0 LINE指定のWRITE文を実行している。
|
9 | V10.0.0 ~ V10.1.0 | PG77099 | 以下の条件の場合、実行環境変数@CBR_SSIN_FILE=THREADが有効にならず、ACCEPT文のファイル入力で、プロセスで1つの入力ファイルが共有される問題を修正しました。(注) マルチスレッドで動作するアプリケーションである。かつ、 実行環境変数@CBR_SSIN_FILE=THREADを指定している。かつ、 ACCEPT文を実行しファイルからデータを入力した。
注:実行環境変数@CBR_SSIN_FILE=THREADを指定した場合、ACCEPT文のファイル入力で、スレッド単位に入力ファイルをオープンすることができます。 |
10 | V10.0.0 ~ V10.1.0 | PG78976 | 以下の条件の場合、Interstage Business Application Serverの汎用ログに出力されるデータが文字化けする問題を修正しました。 DISPLAY文の機能名SYSOUTまたはCONSOLEの出力先を汎用ログにしている。かつ、 翻訳オプションRCS(UTF16,BE)またはRCS(UCS2,BE)を指定している。かつ、 日本語項目のデータを出力した。
|
11 | V6.0L10 ~ V10.1.0 | PG64106 | 以下の条件の場合、SEARCH文(SEARCH ALL)の表検索の実行結果に誤りが発生する問題を修正しました。 SEARCH文(SEARCH ALL)が存在する。かつ、 SEARCH文のWHEN指定に複数の条件を記述している、または、WHEN指定のキー項目に指定されている添字が多次元である。かつ、 条件の左辺(キー項目)に次のいずれかのUSAGEの項目を記述している。かつ、 件の右辺(比較対象項目)に浮動小数点項目または浮動小数点定数を記述している。
|
12 | V6.0L10 ~ V10.1.0 | PG73346 | 以下の条件の場合、実行時に、実行時メッセージJMP0320I-I/Uに埋め込まれる8桁の16進文字の下位4桁に不要なゼロ列が設定される問題を修正しました。 COBOLファイルシステム(注)を使用したファイル操作を行っている。かつ、 以下のいずれかの入出力文を実行している。かつ、 READ文 WRITE文 REWRITE文 DELETE文 START文
2.の入出力文の実行が失敗した。
注:ファイルの高速処理(BSAM)を指定している場合、該当しません。 |
13 | V9.0L10 ~ V10.0.0 | PG66368 | 以下の条件の場合、SELECT文の実行結果に誤りが発生する問題(残りの部分に空白文字(X"20")が補われず、X"00"が補われてしまう)を修正しました。 COBOLプログラムで定義したデータ項目(英数字項目)がデータベースで宣言されている長さより大きい。かつ、 データベースにODBC経由で接続している。かつ、 SQL文の副問合せにホスト変数を指定している。かつ、 3.を指定したSELECT文を実行した。
|
14 | V8.0L10 ~ V9.0L20 | PG55438 | 以下の条件の場合、誤った指定方法にもかかわらず、OPEN文の実行が成功する問題を修正しました。 ファイルの連結機能を指定している。かつ、 ファイルの割り当てで、1の指定を示す文字列”CONCAT(ファイル名)”に続いて、誤った文字が指定されている。かつ、 OPEN文を実行した。
|
15 | V6.0L10 ~ V9.0L20 | PG61062 | 以下の条件の場合、実行時に入出力状態値'04'が返却されない問題を修正しました。 可変長の順ファイルを使用している。かつ、 1.のファイルの定義にFILE STATUS句を指定している。かつ、 1.のファイルに対し、COBOLファイルシステム(*)を使用している。かつ、 1.のファイルに対し、READ文を実行している。かつ、 4.で読み込んだレコードの長さが、プログラムで定義した最大レコード長を超えている場合。
|
16 | V6.0L10 ~ V9.0L20 | PG60835 | 以下の条件の場合、レコードの区切り文字である復帰コード(0x0D)がレコードのデータとして読み込まれる問題を修正しました。 行順ファイルを使用している。かつ、 翻訳オプションRCS(UCS2)を指定している。かつ、 1.のファイルのレコード定義として、日本語項目を指定している。かつ、 1.のファイルに対し、ファイルの高速処理(BSAM)を指定している。かつ、 1.のファイルに対し、READ文を実行している。かつ、 5.で読み込んだレコードの長さ(バイト数)が、最大レコード長から2バイト減算した長さと一致した。
|
17 | V6.0L10 ~ V9.0L20 | PG61503 | 以下の条件の場合、COBOLファイルユーティリティの実行で、誤ったレコードキー属性(注)を持つ索引ファイルが作成される問題を修正しました。 注:重複を許さない指定を行ったにもかかわらず、重複を許すレコードキー情報を持つ索引ファイルが作成されます。その結果、以下の現象が発生します。 [現象] [条件] COBOLファイルユーティリティの以下のいずれかの機能を使用している。かつ、 ファイルロードコマンド(cobfload) ファイルロード関数(COB_FILE_LOAD)
作成するファイルのファイル編成として、索引ファイルを指定している。かつ、 作成する索引ファイルに対し、複数のレコードキーを指定している。かつ、 3.のレコードキーのうち、重複を許す指定をしているものがある。かつ、 4.のレコードキーよりも後ろに、重複を許さないレコードキーを指定した。
|
18 | V6.0L10 ~ V9.0L20 | PG61656 | 以下の条件の場合、実行時にCURRENT-DATE関数が返す時差情報に誤りが発生する問題を修正しました。 CURRENT-DATE関数を使用している。かつ、 グリニッジ標準時と、地方時間の月が異なる。
|
19 | V6.0L10 ~ V9.0L10 | PG50258 | 以下の条件の場合、実行時にSEARCH 文(SEARCH ALL)のWHEN 指定の条件を満足 する表要素を検索できない場合がある問題を修正しました。 COBOL プログラムにSEARCH 文(SEARCH ALL)を記述。かつ、 SEARCH 文のWHEN 指定に複数の条件を記述、または、WHEN 指定のキー項目に指定されている添字が多次元。かつ、 条件の左辺(キー項目)に次のいずれかの項目を記述。かつ、 符号なし外部10 進項目 符号付き外部10 進項目 符号なし内部10 進項目 符号付き内部10 進項目
条件の右辺(比較対象項目)に符号なし内部10 進項目を記述している。
|
20 | V6.0L10 ~ V9.0L10 | PG51442 | 以下の条件の場合、実行時にSEARCH 文(SEARCH ALL)のWHEN指定の条件を満足する表要素を検索できない場合がある問題を修正しました。 アプリケーションの実行時の文字コード系をUnicodeにするため、以下の指定をしている。かつ、COBOLプログラムに翻訳オプションRCS(UCS-2)を指定して翻訳している。 SEARCH文(SEARCH ALL)を記述している。かつ、 SEARCH文のWHEN指定に複数の条件を記述している。または、WHEN指定のキー項目に指定されている添字が多次元である。かつ、 条件の左辺(キー項目)または右辺(比較対象項目)に日本語項目または日本語編集項目を記述している。かつ、 4. の条件の他方に集団項目を記述している。
|
21 | V6.0L10 ~ V7.2L10 | P806792 | 以下の条件の場合、実行時にSORT 文およびMERGE 文の実行結果に誤りが発生する問題を修正しました。 COLLATING SEQUENCE を指定。かつ、 KEY 句に、日本語項目、ブール項目、数字項目、数字編集項目、または日本語編集項目を指定した。
|
22 | V6.0L10 ~ V7.2L10 | PG39242 | 以下の条件の場合、実行時にFOR句を指定したSQL文の実行結果に誤りが発生する問題を修正しました。 カーソルまたは動的カーソルを使用する。かつ、 FOR句に値2以上を指定してFETCH文を実行する。かつ、 2の直後に、FOR句の指定が無いまたはFOR句に値1を指定したFETCH文を実行した。
|
23 | V6.0L10 ~ V7.2L10 | PG40057 | 以下の条件の場合、文字比較で結果異常になる場合がある問題を修正しました。 NSPCOMP(ASP)翻訳オプションを指定。かつ、 文字定数または16 進文字定数を指定したALL 定数と、英数字項目または集団項目からなるデータ項目を比較。かつ、 ALL 定数の長さが2 バイト以上。かつ、 ALL 定数よりデータ項目の長さが大きい。
|
21 | V6.0L10 ~ V7.0L10 | PG17343 | 以下の条件の場合、エラーが発生してもCOBOLアプリケーションにエラー通知されない問題を修正しました。 FORMAT句なし印刷ファイルを使用している。かつ、 ListWORKS連携で電子帳票出力を行っている。かつ、 ListWORKSが帳票登録処理でエラーを検出した
|
24 | V6.0L10 ~ V6.1L21 | PG13434 | 以下の条件の場合、COMサーバに誤ったデータが渡る問題を修正しました。 COM連携で、null文字を含んだ文字列を引数に渡した。
|
25 | V3.0L10 ~ V6.0L10 | P801843 | 以下の条件の場合、作成されるファイルの内容が意図したとおりに整列されない問題を修正しました。 COBOLファイルユーティリティを利用している。かつ、 文字コードに、JEF(EBCDIC/ASCII)またはJEF(EBCDIC/KANA)を指定している。かつ、 整列コマンドを使用している。かつ、 整列キーにPIC X()を指定している。
|
27 | V4.0L20 ~ V6.0L10 | P138211 | 以下の条件の場合、実行時に作成されるファイル名が正しくない問題を修正しました。 Btrieveを利用している。かつ、 ファイル名(パス名も含む)に指定した文字列の長さが、32バイトを超えている。かつ、 OPEN文を実行した。
|
28 | V6.0L10 | P802223 | 以下の条件の場合、コマンド行引数の取出し時に先頭のダブルクォーテーションが欠落して取得される問題を修正しました。 環境変数@CBR_DOUBLEQUOTE=DATAを指定している。かつ、 コマンド行引数にダブルクォーテーション付きの引数を指定している。かつ、 コマンド行引数操作機能を利用して,上記の引数を取得した。
|
29 | V4.0L20 ~ V6.0L10 | P069589 | 以下の条件の場合、実行時に作成されるファイル名が正しくない問題を修正しました。 RDMファイルを利用している。かつ、 ファイル名(パス名も含む)に指定した文字列の長さが、32バイトを超えている場合。かつ、 OPEN文を実行した。
|
30 | V6.0L10 | P803149 | 以下の条件の場合、COMサーバに誤ったデータが渡る問題を修正しました。 特殊クラス"*COM"を使用してCOMサーバのメソッドを呼び出している。かつ、 メソッドのUSINGパラメタに日本語項目または日本語編集項目を指定している。かつ、 2のデータが全て日本語の空白である。かつ、 2でパラメタとして指定した日本語項目または日本語編集項目データの前に、連続して日本語項目または日本語編集項目のデータを定義している。かつ、 4のデータの末尾が空白である。
|