- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:COBOLで入力レコードフォーマットが可変の場合)
COBOLで入力レコードフォーマットが可変の場合の対応方法
このQ&Aのポイント
- COBOLのプログラミングで、入力レコードのフォーマットが可変の場合、どのように定義すれば必要な項目を得られるかを解説します。
- 具体的な例を挙げながら、可変なレコードフォーマットの場合の対応方法を説明します。
- 入力レコードのフォーマットが決まっていない場合の対応策についても考えてみます。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
noname#193571
回答No.1
いろんなやり方があると思います。 一例として。 DATA DIVISIONでは、1024バイトの1項目だけ記述。 WORKING-STORAGE SECTIONに、1024バイトの項目と、A,B,Cそれぞれのフォーマットの項目を定義。入力ファイルをREAD INTO文か、READした後のMOVEで、1024バイトの項目に転送。 フラグを判定しながら、A,B,Cのフォーマットの項目にその部分だけ転送して処理することを繰り返す。 フラグの判定とA,B,Cのフォーマットへの転送は部分参照を使います。
その他の回答 (1)
- notnot
- ベストアンサー率47% (4900/10358)
回答No.2
REDEFINE で同じ領域に3種類のレコードを定義します。 フラグを見てどれかのレコードを使って処理。
質問者
補足
ありがとうございます。 当初REDEFINEで定義することも考えたのですが、 レコードの内容が不明の場合にどのように定義するのかがわかりませんでした。。。 WORKING STORAGE SECTION に1レコード分の定義と3種類の定義をする場合、 どのようにREDIFINEを定義するのでしょうか?
お礼
素早い回答ありがとうございました。 なるほど、部分参照というのがあるのですね! 各フォーマット毎に必要な分だけ転送できるので便利ですね。 これでできそうです。