第3章 プログラム修正一覧
3.1 NetCOBOL開発環境
ここに記載する情報は、以下の製品に適用されます。
・ NetCOBOL Base Edition 開発パッケージ for .NET
・ NetCOBOL Standard Edition 開発パッケージ for .NET
・ NetCOBOL Enterprise Edition 開発パッケージ for .NET 表3.1 NetCOBOL開発環境のプログラム修正一覧
項番 V/L(注) P番号 現象
1 V2.0L10
~ V7.0.0
PH08595 以下の条件の場合、翻訳オプションOPTIMIZEを指定したとき、翻訳時にコンパイラが
異常終了する場合があります。
1. 翻訳オプションOPTIMIZE(*1)が有効である。かつ、
2. 繰返し処理を記述している。かつ、
3. 2.の繰返し処理に以下を記述している場合
- 指標名
- 部分参照
- 添字付け項目
- 乗算
*1:.NETの場合、デフォルトはNOOPTIMIZEです。
※本障害が発生した場合、必ず翻訳時にコンパイラが異常終了します。
コンパイラが異常終了しない場合、正しいオブジェクトを生成します 2 V6.0.0
~ V7.0.0
PH09133 以下の条件の場合、Visual Studioの使用時、以下のメッセージが表示され、プロジェ
クトのオープンに失敗する場合があります。
プロジェクトをアップグレード中に以下のエラーが発生しました:バージョン文字列の 部分が短すぎるか、または長すぎます
1. V3.0またはV3.1のCOBOL開発環境で作成または保存したプロジェクトを開く
場合。
3 V4.1.0
~ V7.0.0
PH09137 以下の条件の場合、Visual StudioデバッガーでCOBOLプログラムのデバッグ時、変
数に値を設定すると入力した値と異なる値が設定される場合があります。
1. Visual Studioデバッガーの以下のいずれかで監視中の数字データ項目の値を
変更する。かつ、
- [自動変数]ウィンドウ
- [ローカル]ウィンドウ
- [ウォッチ]ウィンドウ
- [クイックウォッチ]ウィンドウ
- データチップ
2. 入力したデータの桁数が10桁以上である。かつ、
3. 入力したデータに小数点が含まれる場合。
項番 V/L(注) P番号 現象
4 V7.0.0 PH09597 以下の条件の場合、CSV形式データを操作するSTRING文/UNSTRING文を記述し
たSQL CLRデータベースオブジェクトをデータベースへ配置するとき、以下のメッセー
ジが出力され、配置に失敗します。
メッセージ 6211、レベル 16、状態 1、行 1
CREATE ASSEMBLY failed because type 'ClassLibrary1.HelloWorld' in safe assembly 'ClassLibrary1' has a static field '__REIEntry_1'.
Attributes of static fields in safe assemblies must be marked readonly in Visual C#, ReadOnly in Visual Basic, or initonly in Visual C++ and intermediate language.
1. NetCOBOL for .NETを使用して、SQL Serverの内部で実行されるSQL CLR データベースオブジェクトを作成している場合。
2. SQL CLRデータベースオブジェクトのメソッドに、以下のいずれかの文(*1)を記
述している。
- STRING文(書き方2)
- UNSTRING文(書き方2) かつ、
3. 以下のオプションがいずれも有効である(*2)。
- コンパイラオプション /verifiable
- 翻訳オプション RCS(SJIS-UCS2)
- 翻訳オプション INITONLY
- 翻訳オプション SQLSCOPE(METHOD)
*1:CSV形式データを操作する文です。
*2:コンパイラオプション /optionset:sqlclr を指定した場合も該当します。
5 V3.0L10
~ V7.0.0
PH10339 以下の条件の場合、以下のいずれかの現象が発生する場合があります。
・ COBOLプログラムの実行時、2進項目のフィールドへ誤った値が転記される。ま
たは、
・ 編集項目のフィールドに転記を行うプログラムの翻訳時、コンパイラが以下のメッ セージを出力して異常終了する。
An internal error occurred. (Code: 1005, Parameter: -1073741819) STATISTICS: HIGHEST SEVERITY CODE=U
The compilation process was stopped.
1. MOVE文の受取り側に複数のデータ項目を記述している。かつ、
2. 1の文の2番目以降の受取り側にフィールド参照を記述している。かつ、
3. 2の参照するフィールドが以下のいずれかの項目である。
- USAGE IS COMPUTATIONAL句を指定した数字項目(*1)
- USAGE IS BINARY句を指定した数字項目(*2)
- 数字編集項目
- 英数字編集項目
- 日本語編集項目
*1: 翻訳オプションASCOMP5(ALL)または、ASCOMP5(COMP)指定時は除く。
*2: 翻訳オプションASCOMP5(ALL)または、ASCOMP5(BINARY)指定時は除く。
項番 V/L(注) P番号 現象
6 V1.0L10
~ V7.0.0
PH13334 以下の条件の場合、まれにcobolcコマンドが「内部エラーです。(コード:4012,
パラメータ: 183)」のエラーメッセージを表示してエラーが発生することがあります。
(MSBuildによってcobolcを実行している場合は「error MSB6006: "cobolc.exe" はコー ド 3 を伴って終了しました。」のメッセージが表示されます。)
[環境]
マルチコアプロセッサまたは複数のプロセッサを搭載したコンピュータの場合。
[条件]
同時に複数のcobolcコマンドが実行される場合。(例えば、MSBuildの並列ビルド機能 を利用した場合など)
7 V1.0L10
~ V7.0.0
PH13959 以下の条件の場合、翻訳時にコンパイラが無限ループをして翻訳が完了しないこと
があります(*1)。
1. IF文の入れ子の階層(*2)が180以上(*3)ある。かつ、
2. 1.の180番目以降のIF文にCOBOLの文を記述している場合。
または、
1. そとPERFORM文と節と段落が合わせて274以上(*3)ある。かつ、
2. 1.の274番目以降の節または段落にCOBOLの文を記述している場合。
*1:無限ループが発生しない場合、翻訳処理の結果は正しいです。
*2:IF文の入れ子の例。この例では入れ子の階層は2です。
IF ~ ---+
IF ~ --+ | ~ | | <COBOL 文> 階層2 階層1 ~ | | END-IF --+ | END-IF ---+
*3:翻訳時のメモリの状態に依存するため、条件に一致しても無限ループしないこと があります。
8 V7.0.0 PH14299 以下の条件の場合、エディタの動作が遅くなる場合があります。具体的には以下の動
作が遅くなります。
・ スクロールやタグジャンプ等によりエディタでの表示領域が変わる場合、または、
・ エディタ上で文字を入力する場合。
[環境]
以下のVisual Studioを利用している場合。
・ Visual Studio 2015
・ Visual Studio 2017
Visual Studioのロケールによって現象が発生する場合と発生しない場合があります。
[発生条件]
1. プロジェクトが開かれた直後である、かつ、
2. 約1万行以上のソースコードをエディタで開いた場合、または、
データ部のデータ項目が約100個以上記述されている場合、または、
リポジトリ段落の型指定子が約100個以上定義されている場合、または、
メソッド定義が約100個以上定義されている場合。
項番 V/L(注) P番号 現象
なお、発生条件の数値は目安です。ハードウェアスペックやOSの状態、またはVisual
Studioにインストールされている他のプラグイン等の機能により数値が前後する場合が
あります。
注:V/Lは、障害が存在する範囲を示します。