COBOLで入力レコードフォーマットが可変の場合
COBOLのプログラミングの質問です。
基本的な質問かもしれませんが。。。
入力となるレコードのフォーマットが可変である場合、
DATA DIVISIONをどのように定義をすれば必要な項目を得られるでしょうか?
たとえば以下の場合です。
入力レコード:1024バイト
レコード内容:開始4バイトは固定。
以降は、A(10バイト)、B(20バイト)、C(30バイト)のいずれかのパターンが来る。
※AからCの先頭1バイトのフラグでA,B,Cのどれかがわかる
Aのフォーマット
1バイト目:フラグ、2~4バイト目:レコード長、5~10バイト目:会社名
Bのフォーマット
1バイト目:フラグ、2~4バイト目:レコード長、5~10バイト目:会社名、
11~20バイト目:会社の従業員数
Cのフォーマット
1バイト目:フラグ、2~4バイト目:レコード長、5~10バイト目:会社名、
11~20バイト目:会社の従業員数、21~30バイト目:会社の売上金額
[レコードの例]
1レコード目:固定部,C,B,A,B,B・・・B,B
2レコード目:固定部,A,C,C,A,B・・・B,C
上記のレコードから、会社名や会社の売上金額を取り出すようにしたいです。
入力レコードのフォーマットが決まっていれば、その項目にそって定義すればよいと思いますが
決まっていない場合の方法がわかりません。
また、読み込んでから判断する必要があるため、どうしてよいかわかりません。
質問内容がわかりにくくてすみませんが、わかる方がいましたらよろしくおねがいします。
お礼
参考になりました! ふつうに全パターン網羅して出力してました。 ありがとうございます