Files
cobol-java-v3/layout/ファイル定義書_xxxxxxx.md

6.6 KiB
Raw Permalink Blame History

ファイル定義書

変更履歴

No 変更内容 担当者 変更日 承認者 備考
1 新規作成 AI YYYY/MM/DD

Layout(レコードレイアウト)

ファイル基本情報

ファイル名 COPY ID 媒体 レコード形式 レコード長
PS FB

レコード定義

No レベル 項目名 項目名(英字名) 属性 バイト数 OCCURS 開始位置 REDEFINES 所属グループ 備考
1
2
3
4

記載説明

項目 説明
媒体 ファイル(PS)の場合は"PS"と記録
レコード形式 固定長(FB)または可変長(VB)と記録
レコード長 レコード長は全項目のバイト数を合計して記録。FDのRECORD SIZEと一致させること。REDEFINES項目は合計に含まない。
レベル レベル番号の定義:01, 03, 05, 07, 09... と飛び飛びのレベル番号とする。同じレベル番号は兄弟関係となる。
属性(PIC TYPE) 属性(TYPE)とバイト数を記入するものとする。原則PIC記法で記録。COBOL記述に沿ったシートの記載内容に準拠。

COBOLデータ型一覧

No COBOL記述 略記法 バイト数 説明 日本語説明 バイト数(例)
1 PIC X(n) X(n) n 英数字 固定長英数字 X(10) 10
2 PIC G(n) G(n) n×2 DBCS文字 ダブルバイト文字(日本語) G(20) 40
3 PIC 9(n) 9(n) n 数字・10進(符号無) 符号無し整数 9(7) 7
4 PIC S9(n) S9(n) n 数字・10進(符号有) 符号付き整数 S9(7) 7
5 PIC S9(n)V9(m) S9(n)V9(m) n+m 数字・10進(符号有・小数) 暗黙小数点付き(DISPLAY) S9(7)V9(2) 9
6 PIC S9(n) COMP-3 S9(n) COMP-3 INT((n+2)/2) パック10進(符号有) 内部10進数 S9(7) COMP-3 4
7 PIC 9(n) COMP-3 9(n) COMP-3 INT((n+1)/2) パック10進(符号無) 内部10進数(符号無) 9(7) COMP-3 4
8 PIC S9(n)V9(m) COMP-3 S9(n)V9(m) COMP-3 INT((n+m+2)/2) パック10進(符号有・小数) 暗黙小数点付きCOMP-3 S9(7)V9(2) COMP-3 5
9 PIC S9(4) COMP S9(4) COMP 2 2進(2バイト) 半語長バイナリ S9(4) COMP 2
10 PIC S9(9) COMP S9(9) COMP 4 2進(4バイト) 全語長バイナリ S9(9) COMP 4
11 PIC S9(18) COMP S9(18) COMP 8 2進(8バイト) 2語長バイナリ S9(18) COMP 8
12 PIC S9(n)V9(m) COMP S9(n)V9(m) COMP n+m≦4→2, ≦9→4, ≦18→8 2進(符号有・小数) 暗黙小数点付きCOMP S9(9)V9(2) COMP 8
13 PIC S9(n) BINARY S9(n) BINARY n≦4→2, n≦9→4, n≦18→8 2進(バイナリ) COMPと同一 S9(15) BINARY 8
14 ZZZ9 ZZZ9 Zの数+9の数 数字編集パターン ゼロ抑制編集 ZZZZ9 5

COBOL記述例

例1: 基本レイアウト

COBOL定義:

01  TEST-RECORD.
    03  FIELD-1       PIC X(10).
    03  FIELD-2       PIC S9(7) COMP-3.
    03  FIELD-3       PIC 9(4).
    03  FIELD-4       PIC S9(9) COMP.
    03  FILLER        PIC X(5).

FD記述:

No レベル 項目名 項目名(英字名) 属性(PIC TYPE) バイト数 OCCURS 開始位置 REDEFINES 所属グループ 備考
1 01 テストレコード TEST-RECORD 1
2 03 フィールド1 FIELD-1 X 10 1 TEST-RECORD
3 03 フィールド2 FIELD-2 S9(7) COMP-3 5 11 TEST-RECORD
4 03 フィールド3 FIELD-3 9(4) 4 16 TEST-RECORD
5 03 予約 FILLER X(5) 5 20 TEST-RECORD

例2: REDEFINESを使用する場合

COBOL定義:

01  REDEF-REC.
    03  BASE-FIELD    PIC X(10).
    03  REDEF-FIELD   REDEFINES BASE-FIELD.
      05  INFO-1      PIC X(5).
      05  INFO-2      PIC X(5).

FD記述:

No レベル 項目名 項目名(英字名) 属性(PIC TYPE) バイト数 OCCURS 開始位置 REDEFINES 所属グループ 備考
1 01 REDEFINESレコード REDEF-REC 1
2 03 ベースフィールド BASE-FIELD X(10) 10 1 REDEF-REC
3 03 再定義フィールド REDEF-FIELD 11 BASE-FIELD REDEF-REC
4 05 情報1 INFO-1 9(5) 5 11 REDEF-REC
5 05 情報2 INFO-2 9(5) 5 16 REDEF-REC

例3: OCCURSを使用する場合

COBOL定義:

01  OCCURS-REC.
    03  OCCURS-ITEM  OCCURS 3.
      05  SUB-1      PIC X(5).
    03  AFTER-ITEM   PIC 9(3).

FD記述:

No レベル 項目名 項目名(英字名) 属性(PIC TYPE) バイト数 OCCURS 開始位置 REDEFINES 所属グループ 備考
1 01 OCCURSレコード OCCURS-REC 1
2 03 OCCURS項目 OCCURS-ITEM 3 1 OCCURS-REC
3 05 サブ項目1 SUB-1 X(5) 5 1 OCCURS-REC
4 03 OCCURS後 AFTER-ITEM 9(3) 3 16 OCCURS-REC

例4: OCCURSの多重入れ子

COBOL定義:

01  OCCURS-MULTI-REC.
    03  GRP-ITEM      OCCURS 3.
      05  SUB1        PIC X(5).
      05  SUB2        OCCURS 4.
        07  SUB2-DATA PIC 9(3).
    03  AFTER-ITEM    PIC 9(3).

FD記述:

No レベル 項目名 項目名(英字名) 属性(PIC TYPE) バイト数 OCCURS 開始位置 REDEFINES 所属グループ 備考
1 01 OCCURS多重入れ子レコード OCCURS-MULTI-REC 1
2 03 グループ項目 GRP-ITEM 3 1 OCCURS-MULTI-REC
3 05 サブ項目1 SUB-1 X(5) 5 1 OCCURS-MULTI-REC
4 05 サブ項目2 SUB-2 4 6 OCCURS-MULTI-REC
5 07 サブ項目2データ SUB2-DATA 9(3) 3 6 OCCURS-MULTI-REC
6 03 OCCURS後 AFTER-ITEM 9(3) 3 52 OCCURS-MULTI-REC