ファイルの機能(大容量ファイル【UNIXのみの機能】、ファイルの高速処理、他のファイルシステム)を使用するCOBOLアプリケーションを作成する場合、翻訳時に「JMN1001I-W 終止符,コンマまたはセミコロンの後は、空白でなければなりません.空白があるものとみなします.」のエラーになる、または実行時に意図したファイルを操作できない場合があります。

ファイルの機能(大容量ファイル【UNIXのみの機能】、ファイルの高速処理、他のファイルシステム)を使用するCOBOLアプリケーションを作成する場合、翻訳時に「JMN1001I-W 終止符,コンマまたはセミコロンの後は、空白でなければなりません.空白があるものとみなします.」のエラーになる、または実行時に意図したファイルを操作できない場合があります。
これらの機能を使用する場合、ファイル名の後ろにLFSやLBSAMなどのキーワードを追加します。 このときの環境変数とASSIGN句の指定に誤りがある可能性がありますので、確認してください。

ファイル名の指定には、3つの方法があります。
ファイル名「home/xx/data」を大容量ファイル(LFS)として扱う場合を、例として説明します。

  1. 環境変数でファイル名を指定する場合

    ASSIGN句に、ファイル識別名を指定します。このとき、「LFS」を指定しません。
    ---
    ASSIGN TO OUTDATA
    ---
    ASSIGN句に指定したファイル識別名を環境変数として、ファイル名を定義します。このとき、「LFS」を指定します。
    ---
    $ OUTDATA=/home/xx/data,LFS ; export OUTDATA
    ---
    以下のASSIGN句の指定では、OUTDATAはファイル識別名とみなされません。
    例1) 翻訳時にエラーとなります。
    ---
    ASSIGN TO OUTDATA,LFS
    ---
    例2)「OUTDATA」というファイルを操作します。環境変数(OUTDATA)にファイル名を指定しても有効となりません。
    ---
    ASSIGN TO "OUTDATA,LFS"
    ---

  2. ASSIGN句にデータ名を記述した場合

    ASSIGN句に記述したデータ名にファイル名を指定する場合、「LFS」の指定が必要です。
    ---
    MOVE "home/xx/data,LFS" TO OUTDATA.
    ---

  3. ASSIGN句にファイル識別名定数を記述した場合

    ASSIGN句に直接、ファイル名を指定する場合、「LFS」の指定が必要です。
    ---
    ASSIGN TO "/home/xx/data ,LFS"
    ---

詳細は、以下のマニュアルを参照してください。

NetCOBOL使用手引書
  • Windows:「ファイルの割当て」「ファイルの高速処理」
  • Solaris, Linux:「ファイルの割当て」「大容量ファイル処理」
製品・サービス区分 NetCOBOL
製品・サービス情報
対象製品NetCOBOL
バージョン
プラットフォームWindows, Linux, Solaris
アンサー種別 技術サポート
このページの先頭へ