COBOLコピーブック形式の固定幅レコードを解析する
COBOLコピーブックで定義された固定幅レコードをCSVに変換します。典型的なメインフレームのフィールドレイアウト、PIC句、データ抽出について解説します。
Legacy Formats
詳細な説明
COBOLコピーブックレコード
COBOLコピーブックはメインフレームシステム上の固定幅レコードの構造を定義します。PIC(PICTURE)句を使用してフィールド名、データ型、長さを指定します。このツールはCOBOLを直接解析しませんが、コピーブック定義をカラム定義に変換できます。
PIC句からカラム幅への変換
| PIC句 | 幅 | 説明 |
|---|---|---|
PIC X(10) |
10 | 英数字、10文字 |
PIC 9(5) |
5 | 数値、5桁 |
PIC 9(7)V99 |
9 | 暗黙小数点付き数値(整数7桁 + 小数2桁) |
PIC S9(5) |
5 | 符号付き数値(符号は最終バイトに含まれる場合あり) |
PIC X(3) |
3 | 英数字、3文字 |
コピーブック例
01 CUSTOMER-RECORD.
05 CUST-TYPE PIC XX.
05 CUST-ID PIC 9(8).
05 CUST-NAME PIC X(30).
05 CUST-BALANCE PIC 9(8)V99.
05 CUST-STATUS PIC X.
対応するカラム定義
| カラム | 幅 | 揃え方向 | トリム |
|---|---|---|---|
| CUST-TYPE | 2 | 左 | はい |
| CUST-ID | 8 | 右 | はい |
| CUST-NAME | 30 | 左 | はい |
| CUST-BALANCE | 10 | 右 | はい |
| CUST-STATUS | 1 | 左 | はい |
サンプルデータ
01 12345678John Smith 000012345.67A
01 98765432Jane Doe 000098765.43A
02 11223344Bob Johnson 000000100.00I
考慮事項
PIC 9(8)V99の暗黙の小数点は、値0000123456が00001234.56を表すことを意味します。小数点の挿入には後処理が必要な場合があります- 符号付き数値(
PIC S9(5))は最終バイトにオーバーパンチ符号を使用する場合があり、特別な処理が必要です - このツールでデータを処理するには、事前にEBCDICからASCIIへの変換が必要です
ユースケース
IBMメインフレームのCOBOLアプリケーションからモダンシステムへのデータ移行、データウェアハウス用のバッチファイル出力の変換、レガシーVSAMや順次ファイルからのレコード抽出に使用します。