GTM-MML4VXJ
Skip to main content

NetCOBOL 技術情報:トラブルシューティング

エラー

共通

NetCOBOL

Q

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

A

これらの機能を使用する場合、ファイル名の後ろに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:「ファイルの割当て」「大容量ファイル処理」