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

3.1 NetCOBOL開発環境

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

表3.1 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. 比較対象の長さが異なる場合。

2

V10.1.0

V10.5.0

PG85966

以下の条件の場合、誤ったデバッグ情報ファイルが出力され、正しくデバッグすることができません。

  1. 翻訳オプションTESTを指定してCOBOLプログラムを翻訳している。かつ、

  2. 原文名定数が指定されたCOPY文を記述している。かつ、

  3. 2.で取り込まれた登録集(*1)に原文名が指定されたCOPY文を記述している。かつ、

  4. コンパイラが異常終了した場合(*2)。


*1 : 登録集が入れ子になっている場合は、最後の階層に至るまでのいずれかの登録集

*2 : 通常時のコンパイラが出力する翻訳時メッセージが出力されず、「0~3」以外の復帰コードが返却されます

3

V10.1.0

V10.5.0

PG86728

以下の条件の場合、COBOLプログラムの翻訳時に、COBOLコンパイラが以下の不当な翻訳時メッセージを出力して、翻訳できなくなる場合があります。

「JMN5546I-S メソッド'mmmmm'のインタフェースは,再定義されるメソッドのインタフェースに適合していなければなりません.メソッド' mmmmm 'は無効になります.」

  1. OVERRIDE指定のメソッド定義がある。かつ、

  2. 1.のメソッドと親クラスに定義された同名のメソッドのUSINGパラメタまたはRETURNINGパラメタが以下の場合

    1. メソッドのパラメタの一方が集団項目、もう一方は集団項目または英数字項目。かつ、

    2. パラメタのサイズが一致する。

4

V10.1.0

V10.5.0

PG88107

以下の条件の場合、int型2進整数項目を使用したCOBOLプログラムの翻訳時に、コンパイラが以下のメッセージを出力して異常終了します。

「JMN0102I-U 翻訳処理が続行不可能となりました.他の診断メッセージが表示されている場合は,それらを修正して,再度翻訳してみて下さい.(区名=JMN300,モジュール名=SC30MKTT,詳細コード=3209,行情報=nnn.)」

以下のいずれかの文を記述している場合に発生します。

  • 小数部のみの数字項目をint型2進整数項目へ転記する文

  • 小数部のみの演算結果をint型2進整数項目へ受け取る算術文

5

V10.1.0

V10.5.0

PG88615

以下の条件の場合、COBOLプログラムの翻訳時に、COBOLコンパイラが不当なJMN1477I-Iのメッセージを出力する場合があります。

  1. 特殊名段落(SPECIAL-NAMES)を宣言している。かつ、

  2. 特殊名段落に重大コードSのコーディング誤りがある場合。


補足) メモリの状態に依存するため、発生条件を満たしても現象が発生しない場合があります。

6

V10.1.0

V10.5.0

PG88616

以下の[条件1]または[条件2]の場合、COBOLプログラムの翻訳時に、COBOLコンパイラが以下の例のような不当なメッセージを出力する場合があります。

例)

JMN1019I-W  line-no  標識領域は'-','*','/','D'または空白でなければなりません.空白とみなします.
JMN1123I-S  line-no  許されない語'nnn'が現れました.次の認識できる句,段落,節または部まで無効になります.
JMN1255I-S  line-no  01レベル項目の指定なしに02~49レベル項目が指定されています.01レベル項目とみなします.
JMN1356I-W  line-no  見出し部中に誤った語'nnn'が指定されています.次の段落または部まで無効になります.

line-no: 行番号

nnn : 数字

※ 上記のメッセージは一例です。他のメッセージの場合もあります。

[条件1]

  1. Oracle Pro*COBOLのprecobコマンドを使用して、埋込みSQL文を含むCOBOLプログラムをプリコンパイルしている。かつ、

  2. INSDBINFコマンドを使用して、1.のPro*COBOLプログラムからCOBOLプログラムを生成している。かつ、

  3. 翻訳オプション"NUMBER"を指定して、2.で生成したCOBOLプログラムを翻訳した場合。

または、

[条件2]

  1. Symfowareのsqlpcobコマンドにオプション"-g"を指定して、埋込みSQL文を含むCOBOLプログラムをプリコンパイルしている。かつ、

  2. 翻訳オプション"NUMBER"を指定して、1.で生成したCOBOLプログラムを翻訳した場合。

7

V10.1.0

V10.5.0

PG89665

以下の条件の場合、COBOLプログラムの翻訳時に、以下の不当な翻訳時メッセージが出力され、COBOLプログラムが翻訳できません。

「JMN2206I-S KEY IS句のデータ名'xxxxx'は,アドレス可変項目であってはなりません.」

  1. OCCURS句のKEY IS指定を記述している。かつ、

  2. 1.に指定したデータ名がレコードの中の可変位置にある場合。

8

V10.1.0

V10.5.0

PG81806

以下の条件の場合、COBOLプログラムの翻訳時に、COBOLコンパイラが異常終了することがあります。

  1. 次のいずれかの文を記述している。かつ、

    • CALL文

    • CANCEL文

    • INVOKE文

    • CSV-FORMATが指定されたSTRING文/UNSTRING文

  2. 1.の文が条件文の中に記述されている。かつ、

  3. 2.の条件文の階層(*1)が180以上である場合。


*1:階層とは、例えば次のような場合(階層が2)を表します。

        EVALUATE ~            ────┐
        WHEN ~                        │
          COMPUTE ~           ┐      │
              ON SIZE ERROR    │      │
                               │      │
            CALL  ~           階層2   階層1 
                               │      │
          END-COMPUTE          ┘      │
        END-EVALUATE           ────┘

[補足]翻訳時のメモリの状態に依存するため、条件に一致しても異常終了しないことがあります。

9

V10.2.0

V10.5.0

PG88994

以下の条件の場合、COBOLプログラムの翻訳時に、COBOLコンパイラが異常終了(*)する場合があります。

(*)異常終了時に特定のメッセージは出力されません。

  1. アーリバインドの特殊クラスを指定している。かつ、

  2. 1.のクラスのメソッドを行内呼び出しで呼び出している場合

10

V10.1.0

V10.5.0

PG97116

以下の条件の場合、COBOLプログラムの翻訳時に、コンパイラが以下のメッセージを出力して異常終了します。

翻訳処理が続行不可能となりました.他の診断メッセージが表示されている場合は,それらを修正して,再度翻訳してみて下さい.(区名=JMNRAL,モジュール名=SABEMAC ,詳細コード=6202,行情報=nnn.)
  1. 翻訳オプションBINARY(BYTE)を指定している。かつ、

  2. 数字を引数とするMAX関数またはMIN関数を記述している。かつ、

  3. 2.の関数の引数が3個以内である。かつ、

  4. 2.の引数に2進項目を指定している。かつ、

  5. 4.の2進項目の領域長が1,3,5,6,7バイトのいずれかである(*1)。かつ、

  6. 2.の関数値が格納される一時的なデータ項目の桁数(*2)が19以上30以下である。かつ、

  7. 2.の引数に定数を指定していない。かつ、

  8. 2.の引数に浮動小数点項目を指定していない。かつ、

  9. 2.の引数にALLを添字とする項目を指定していない。


*1:以下の2進項目が該当します。

   ---------------------------------------------
    桁数                    割り当てられる領域長
    符号付き   符号なし  
   ---------------------------------------------
    1 ~ 2      1 ~ 2      1
    5 ~ 6      5 ~ 7      3
    10 ~ 11   10 ~ 12     5
    12 ~ 14   13 ~ 14     6
    15 ~ 16   15 ~ 16     7
   ---------------------------------------------

*2:関数値が格納される一時的なデータ項目は以下の桁数となります。

      整数部桁=全引数の整数部桁数のうち最大の値
      小数部桁数=全引数の小数部桁数のうち最大の値

11

V10.1.0

V11.0.0

PG98742

以下の[条件1]または[条件2]を満たす場合、COBOLプログラムの実行時に正しく動作しない、または、COBOLプログラムの翻訳時にコンパイラが異常終了する場合があります。

[条件1]:作業場所節、局所記憶節(*1)、定数節のいずれかにデータ項目を宣言した場合

  1. TYPE句を指定した項目を従属するレベル番号01の集団項目を定義している。かつ、

  2. 1.の集団項目にREDEFINES句を指定している。かつ、

  3. 1.のデータ項目の長さが、2.で再定義されるデータ項目の長さより短い場合。

[条件2]:ファイル節にデータ項目を宣言した場合

  1. TYPE句を含むレコード記述項を定義している。かつ、

  2. 同じファイル記述項に1.のレコード記述項とは別のレコード記述項を定義している。(*2) かつ、

  3. 1.のレコード記述項の長さが、2.のレコード記述項の長さよりも短い場合。


*1: 局所記憶節は、NetCOBOL V11以降の機能です。

*2: ファイル節で同じファイル記述項にレコード記述項を2つ以上書くと、レコード記述項の領域が暗に再定義されます。


例1) 作業場所節、局所記憶節、定数節のいずれかにデータ項目を宣言した場合

     01 D1 PIC X(20).     *> SIZE 20 BYTE   D2よりD1が長い。
     01 D2 REDEFINES D1.  *> SIZE  8 BYTE
       02 D21 TYPE T1.    *> SIZE  8 BYTE

     01 T1 TYPEDEF.
       02 TD1 PIC X(8).   *> SIZE  8 BYTE

例2) ファイル節にデータ項目を宣言した場合

  FD FILE1.
    01 R1 PIC X(20).     *> SIZE 20 BYTE    R2よりR1が長い
    01 R2 TYPE T2.       *> SIZE  8 BYTE    暗に再定義され,R1とR2は同じ領域に割り付く

    01 T2 TYPEDEF.
      02 TD2 PIC X(8).   *> SIZE  8 BYTE

12

V11.0.0

PG99026

以下の[条件1]または[条件2]を満たす場合、COBOLプログラムの実行時に、指標名の値が正しくないことがあります。

[条件1]

  1. プログラムに局所記憶節を記述している。かつ、

  2. 基底場所節、ファイル節、作業場所節のいずれか一か所または複数の箇所に指標名を記述した項目を宣言している。かつ、

  3. 定数節および連絡節の両方を宣言していない。かつ、

  4. 1.のプログラムが2回以上呼び出された場合。

[条件2]

  1. プログラムの局所記憶節に指標名を記述した項目を宣言している。かつ、

  2. 定数節および連絡節のどちらか片方または両方を宣言している。かつ、

  3. 1.のプログラムが再帰的に呼び出された場合。

13

V10.1.0

V11.0.0

PG99190

以下の条件の場合、COBOLプログラムの翻訳時に、コンパイラが以下のメッセージを出力して異常終了する場合があります。

JMN0124I-U  ソースファイル内に不当な文字があります.(区名=JMNALO,行情報=0.)翻訳を中止します.
  1. 翻訳オプションRCS(UTF16), ENCODE(UTF8,UTF16)またはENCODE(UTF8,UTF32)を指定している。かつ、

  2. 翻訳オプションCHECK(PRM),CHECK(ALL)またはSAIを指定している。かつ、

  3. ソースプログラムのコード系がSJISである。かつ、

  4. CALL文またはINVOKE文のUSING BY CONTENT指定に文字定数(日本語文字定数は除く)を指定している。かつ、

  5. 4.の文字定数が日本語文字を含む場合。


[補足]

  • 日本語文字とは、日本語の文字そのものを示します。
        例)あいうえお

  • 日本語文字定数とは、定数の値を計算機文字集合の日本語文字で表現する定数です。
        例)NC"あいうえお"

  • 発生条件5.に示す「文字定数が日本語文字を含む」とは以下のような場合です。
        例)"あいうえお"

14

V10.1.0

V11.0.0

PH00163

以下の条件の場合、cobmkmfコマンドが異常終了する場合があります。

[発生条件]

  1. cobmkmfコマンドのオペランドにCOBFLAGSマクロを指定する。かつ、

  2. COBFLAGSマクロの定義値で指定する翻訳コマンドオプションの値に空白を含めた場合。

15

V10.2.0

V11.0.0

PH00165

以下の[条件1]または[条件2]の場合、NetCOBOL Studioの依存解析を実行すると、NetCOBOL Studioが異常終了することがあります。

[条件1]

  1. 異なるプロジェクト間で、ファイルをドラッグ&ドロップで移動またはコピーしたときに、ドロップ先ファイルのフルパスの文字列の長さが260より大きい場合。


[条件2]

  1. COBOLソースの正書法が可変形式の場合。かつ、

  2. 依存ビューのコンテキストメニューから、依存関係の解析を実行する。
    または、プロジェクトをインポートする。かつ、

  3. 以下の条件のCOBOLソースファイルを記述している場合。
    3-1) COPY文が以下の何れかの条件の場合。
      a-1) COPY文で原文名を指定している。かつ
      a-2) COB_LIBSUFFIX環境変数の定義がない、または
            COB_LIBSUFFIX環境変数の値が"None"の場合。かつ、
      a-3) 原文名の文字列の長さが256より大きい場合。
    または、
      b-1) COPY文で原文名を指定している。かつ
      b-2) COB_LIBSUFFIX環境変数の値が"None"以外の場合。かつ、
      b-3) 原文名の長さ+COB_LIBSUFFIX環境変数の設定値の長さが、259より大きい場合。
    または、
      c-1) COPY文で原文名を指定している。かつ、
      c-2) COPY文のINまたはOF指定によって登録集名が指定されていない。かつ、
      c-3) LIB翻訳オプションが指定されている。かつ、
      c-4) 原文名の文字列の長さが255より大きい場合。
    または、
      d-1) COPY文で原文名定数を指定している。かつ、
      d-2) 原文名定数の文字列の長さが260より大きい場合。
    または、
      e-1) COPY文で登録集原文にXMDLIBまたはXFDLIBを指定している。かつ、
      e-2) 原文名の文字列の長さが256より大きい場合。
    または、
      f-1) COPY文で原文名を指定している。かつ、
      f-2) COPY文のINまたはOF指定によって登録集名を指定している。かつ、
      f-3) 環境変数COB_LIBSUFFIXの値に"None"以外を指定している。かつ、
      f-4) 原文名の文字列の長さが260より大きい場合。

    または、
    3-2) クラス名段落のクラス名の長さが256より大きい場合。または、
    3-3) リポジトリ段落のクラス指定子のクラス名の長さが256より大きい場合。

16

V10.2.0

V11.0.0

PH01938

以下の条件の場合、NetCOBOL Studioからサーバに送信したCOBOLソースファイル内の一部の文字が'?'に変換されることがあります。

[環境]

リモート開発の対象サーバのOSがWindows(x64)の場合。

[条件]

  1. NetCOBOL Studioで作成したCOBOLプロジェクトのテキストファイルエンコードにMS932を指定している。かつ、

  2. NetCOBOL Studioのリモート開発設定ダイアログで、サーバ側COBOLソースのコード系にShiftJISを指定したサーバ名を定義している。かつ、

  3. COBOLプロジェクトのリモート開発のサーバ名に、2)で定義したサーバ名を指定している。かつ、

  4. COBOLソースファイル内に以下の文字が含まれている。かつ、

    • “~” 0x8160(シフトJIS)(WAVE DASH)

    • “∥” 0x8161(シフトJIS)(DOUBLE VERTICAL LINE)

    • “-” 0x817C(シフトJIS)(MINUS SIGN)

    • “¢” 0x8191(シフトJIS)(CENT SIGN)

    • “£” 0x8192(シフトJIS)(POUND SIGN)

    • “¬” 0x81CA(シフトJIS)(NOT SIGN)

    • “¦” 0xFA55(シフトJIS)(FULLWIDTH BROKEN BAR)

  5. NetCOBOL Studioの以下の何れかのリモート開発機能を使用してサーバにCOBOLソースファイルを送信した場合。

    • メイクファイル生成

    • ビルド

    • 再ビルド

17

V10.2.0

V11.0.0

PH03188

NetCOBOL StudioまたはInterstage Studioにおいて、以下の条件の場合、COBOLプロジェクト内のファイルパスが文字化けします。これにより、[現象1]または[現象2]が発生することがあります。

[現象1]

ソースファイルフォルダに登録しているソースファイルのパス文字列が文字化けした場合、そのソースファイルが翻訳対象にならずにビルドがスキップされる。

[現象2]

コンパイラやリンカが、参照するファイルを見つけることができずにビルドエラーとなる。たとえばLIB翻訳オプションに指定したパス文字列が文字化けした場合は、登録集を読み込むことができないため以下のエラーが発生する。

JMN1057I-S COBOL登録集で入出力エラーが発生しました。登録集原文の組込みを中止します。

[条件]

  1. COBOLプロジェクトの設定に指定するファイルまたはフォルダパスに、ASCIIコード以外の文字を使用している。かつ、

  2. 1.のCOBOLプロジェクトをワークスペースにインポートした場合。

18

V11.0.0

V11.0.0A

PH03777

以下の発生条件のとき、COBOLプログラム翻訳時に異常終了する場合があります。

[発生条件]

  1. 以下のいずれかの項目を定義している。かつ、

    • 英数字編集項目

    • 日本語編集項目

  2. 1.の項目のPICTURE句の文字列を46文字以上(*1)記述している。かつ、

  3. 1.の項目を以下のいずれかの転記の受け取り側に指定している場合。

    • MOVE文

    • 暗黙のMOVE文が実行される文

(*1)

ここではPICTURE句に記述された文字の数を意味します。

(例)

下記二つはどちらも同じ形式ですが、文字の数は異なります。

PIC XBXXXXXXXX = 10文字

PIC XBX(8) = 6文字

19

V10.2.0

V11.0.0

PH04722

以下の条件の場合、NetCOBOL Studioの[問題]ビューに以下のエラーメッセージが表示されて、COBOLプロジェクトのビルドが失敗する場合があります。

「Target "cobol_buildtool-clean" does not exist in the project "XXX". 
   It is used from target "clean_build".」

(XXXはCOBOLプロジェクトのプロジェクト名を示します。)

  1. COBOLプロジェクトのターゲット種別を、ダイナミックリンクライブラリに指定した場合。かつ、

  2. 1.のCOBOLプロジェクトを、ワークスペースにインポートした場合。かつ、

  3. [ナビゲータ]ビューのコンテキストメニューの[名前変更]において、2.のCOBOLプロジェクトのプロジェクト名を変更した場合。

20

V10.1.0

V11.0.0A

PH05538

以下の[条件1]~[条件3]のいずれかを満たす場合、COBOLプログラムの実行時、基底場所節に宣言したデータ項目を使用する文で、異常終了(ACCESS VIOLATION)または結果誤りが発生する場合があります。

[条件1]

  1. 基底場所節に宣言したデータ項目を以下のいずれかの方法で使用している。かつ、

    1-1) 変数で添字付けしている。または、

    1-2) 最左端文字位置に変数を指定した部分参照をしている。

  2. 翻訳オプションOPTIMIZEが有効である。(*)

    *:デフォルトはNOOPTIMIZEです。

[条件2]

  1. 基底場所節に宣言したデータ項目を、以下のいずれかの文に指定している。

    • INSPECT文

    • STRING文(中核)

    • UNSTRING文(中核)

[条件3]

  1. 基底場所節にOCCURS句を指定したデータ項目を宣言している。かつ、

  2. 1.のデータ項目をINITIALIZE文に指定している。

21

V10.1.0

V11.0.0A

PH05861

以下の条件の場合、COBOLプログラムの実行時、部分参照した外部10進項目から数字編集項目または浮動小数点項目への転記において、送出し側を部分参照する範囲が1桁左にずれる誤りが発生します。

  1. 送出し側が符号付き外部10進項目、受取り側が数字編集項目または浮動小数点項目のMOVE文を記述している(*1)。かつ、

  2. 送出し側項目のSIGN句にSEPARATE CHARACTER指定(*2)がある。かつ、

  3. 送出し側項目を部分参照している。かつ、

  4. 3.の部分参照の長さを定数で指定している場合。

*1: 暗黙のMOVE文を含む。

*2: TRAILING SEPARATE指定

22

V10.2.0

V11.0.0

PH07796

以下の条件の場合、デバッグ時のCOBOLエディタ上でデータ項目の値がツールチップで表示されません。

  1. NetCOBOL StudioのCOBOLエディタの正書法を固定形式に設定している。かつ、

  2. デバッグ機能のブレークポイントでCOBOLプログラムの実行が中断している。かつ、

  3. COBOLエディタでデータ項目をマウスカーソルでポイントした場合。

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