
COBOLで以下のエラーが発生しています。
↓
xxファイルの'READ'文で,実行順序の誤りが発生しました.'AT-END '. PGM=xx. LINE=xxx
PGの内容としては、
2つのinputファイルを読み込み、マッチング処理を行ってoutputするという処理です。
エラー行数は、2つ目のinputファイルをreadするところでエラーとなっています。
2つの異なったファイルをreadすることができないのでしょうか。
どこがNGなのかわかりません。
追記すべき箇所があれば記載します。
アドバイスをお願いします。
No.1ベストアンサー
- 回答日時:
実行順序の誤りということは、
OPENしていないのにREADした。CLOSEしてからREADした。そういうエラーです。
2つの異なるファイルを読むのはできます。
OSとメモリーが許す限り、いくつでも開いて読むことができますね。
この回答への補足
早速のご回答ありがとうございます。
DISPLAYを入れてみましたが、OPEN,CLOSEはできているようでした。
ファイルREADのタイミングで、DISPLAYをいれてみると以下のようになりました。
FL1 READ
FL2 READ
FL2 READ
FL1 READ
FL2 READ
FL2はCSVファイルで、手作成しています。
データは1行しか格納されていません。
一回目はちゃんと読めているようですが、2回目の読み込みでAT ENDの判定が
うまくいってないような雰囲気です・・・
記載しながら、気づきました!!
FL2を最後まで読み込んでしまっているため、
2回目の読み込みでエラーになっていたようです。
FL1のレコードを元に、FL2の全レコードを検索したかったので、
FL2のOPEN,CLOSEタイミングを変更し、毎度1レコード目から検索するように
したところうまくいきました!!!
アドバイスいただきありがとうございました。
No.2
- 回答日時:
コンパイラやOSの型番も書いた方がよいかもしれませんね。
もちろん2つの異なったファイルを読み込む事はOKです。
・ファイルのオープンの仕方は間違っていないか?SAMファイルをシーケンシャル読み出しなのか、ISAMをシーケンシャル読み出しなのかでも変わると思います。
・ファイル長、ブロック長等に間違いはないか?
この回答への補足
早速の回答ありがとうございます。
コンパイラ:NETCOBOL
OS:Windows 7 です。
上記回答の補足にも記載しましたが、
FL2のインプットファイルはCSVファイルで手作成しました。
このCSVファイルには
ORGANIZATION IS LINE SEQUENTIAL.
の定義を記載しています。
記載しながら、気づきました!!
FL2を最後まで読み込んでしまっているため、
2回目の読み込みでエラーになっていたようです。
FL1のレコードを元に、FL2の全レコードを検索したかったので、
FL2のOPEN,CLOSEタイミングを変更し、毎度1レコード目から検索するように
したところうまくいきました!!!
アドバイスいただきありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
COBOLのINVALID KEYが理解できません
その他(プログラミング・Web制作)
-
COBOLの改行
その他(プログラミング・Web制作)
-
COBOLのMOVEで桁数が異なる場合
その他(プログラミング・Web制作)
-
-
4
COBOL・全角判定
その他(プログラミング・Web制作)
-
5
COBOLでのNOT = の AND条件
その他(プログラミング・Web制作)
-
6
【COBOL】文字列から数値項目に転記するにあたって
その他(プログラミング・Web制作)
-
7
COBOL等でのHIGH_VALUEについて
IT・エンジニアリング
-
8
COBOLで文字タイプを数字タイプに変換する方法
その他(プログラミング・Web制作)
-
9
COBOLについて
その他(プログラミング・Web制作)
-
10
S9タイプからXタイプにデータは移行できるのか。(COBOL)
その他(プログラミング・Web制作)
-
11
オブジェクトの中のプロパティを認識できません
Java
-
12
COBOL プログラミング
その他(プログラミング・Web制作)
-
13
改行コード(CR/LF)の設定の仕方
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【COBOL】read文でエラー
-
access テキストボックスの値取得
-
PowerShellを使って関連付けら...
-
「パス名が無効です」の発生原因
-
エクセルで質問です。 ハイパー...
-
エクセル VBA dll 読み込...
-
FTPの送信結果を検知したい
-
Returnに対するGoSubがありません
-
データベースソフトのアクセス2...
-
NAS上のファイルの使用中が解除...
-
アクセスのクエリでコンパイル...
-
OUTLOOK VBA 指定フォルダ内の...
-
エクセルマクロでエラーの原因...
-
VB.NETでNTFSのストリームの読...
-
VB スクリプトで
-
Excelファイルのマクロによる排...
-
Adobeのプレミアプロの書き出し...
-
PHP 設定ファイルの読み込みエ...
-
batファイルでレジストリキーの...
-
Access2010 コンパイルエラー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 2003 のエラーメッセージ
-
access テキストボックスの値取得
-
「パス名が無効です」の発生原因
-
エクセルで質問です。 ハイパー...
-
【関数】同じ関数なのに、エラ...
-
VB6 Dir関数で52エラー発生
-
batファイルでレジストリキーの...
-
Returnに対するGoSubがありません
-
ExcelVBAで既に開いてるwordを...
-
NAS上のファイルの使用中が解除...
-
アクセスのクエリでコンパイル...
-
【COBOL】read文でエラー
-
PowerShellを使って関連付けら...
-
エクセルマクロでエラーの原因...
-
fgets関数のEOFの扱い方について
-
VBでファイルが開かれているか...
-
FORTRANの実行エラーについて
-
VBから参照できないCのDLLを使...
-
gccを行ってもexeファイルが生...
-
fcloseで発生するエラーについて。
おすすめ情報