# KS60770 詳細設計書

| 項目 | 内容 |
|---|---|
| プログラムID | KS60770（ソース名 KS60770P） |
| プログラム名 | 請求明細データ 見出し（ヘッダー部）抽出 |
| 言語 | PL/I（OPTIONS(MAIN)）。パターン PPB0010P（ファイルのIO・SINGLE） |
| 業務ID | NSSQNN50（ソースの +DC GYOM） |
| 起動JOB | DAISEQ4J ステップ No.18 |
| 作成日 | 2026/10/13 |
| 作成方法 | ソースコードからのリバース作成 |

## 前提

- INCLUDE の SQALLHED、SQALLDTB、SQALLDTC、SQALLDTD、SDPSQALA は、添付ソースを展開して解析した（付録A～E）。
- 外部手続きの CALL はなく、ブラックボックス（BB）として扱う部分はない。
- 帳票は出力しない。入出力のイメージを6章に示す（値は架空）。
- データIDの意味は、同じ入力を読む KS60144P・KS60135P の解析結果による。
- ★印は、ソースから読み取れる潜在的な問題点または注意点を示す。

---

## 1. 概要

### 1.1 機能

ソース先頭のコメント：「請求明細全送状データを読み、ヘッダー部のみ出力する。」

1. 請求明細の全データ（INFILE）を先頭から読む。
2. **見出しデータ（データID 00）**だけを対象にし、請求額＝運賃＋料金＋消費税＋保険料を計算する。
3. 請求額が **0 でない**見出しデータを、そのまま OUTFILE に書く。
4. 明細データ（01、21、22、31、33、45 等）は読み飛ばす。
5. 終了時に入力件数・出力件数を表示する。

出力は、後続の SORT（請求先番号順）を経て KS60780P の入力になり、KS60760P が作った郵送集約の対応表と突き合わせて、事業所用・エコデリバー用の配信帳票（KS60790P）の元データになる（推定）。

### 1.2 処理概要図

```
 TEMP.DAISEQ4J.WORK0620 ──▶ INFILE ──▶ KS60770P ──▶ OUTFILE ──▶ TEMP.KS60750J.WORK0050
 （請求明細 全店所・全件）             │      （見出しデータのうち請求額≠0）
                                       ▼                    │
                                 件数メッセージ              ▼
                                               No.21 SORT3（19,8,PD）→ WORK0090
                                                             ▼
                                     No.22・23 KS60780P（WORK0060／0080 と突合せ）→ …→ KS60790P
```

---

## 2. 外部インターフェース

### 2.1 ファイル一覧

| DD名 | 編成／属性（DCL） | 入出力 | 内容 | 読込／書出領域 |
|---|---|---|---|---|
| INFILE | RECORD INPUT（順次・可変長） | 入力 | 請求明細の全データ（見出し＋明細） | INAREA CHAR(560) VAR |
| OUTFILE | RECORD OUTPUT（順次・可変長） | 出力 | 見出しデータ（請求額≠0）だけ | INAREA（読んだものをそのまま） |

### 2.2 JCL との対応（DAISEQ4J No.18）

| DD名 | データセット | DISP | 属性 | 作成元／利用先 |
|---|---|---|---|---|
| INFILE | TEMP.DAISEQ4J.WORK0620 | SHR | VB | 作成：No.3 SORT。KS60144P（No.8）、KS60135P（No.11）も同じデータを読む |
| OUTFILE | TEMP.KS60750J.WORK0050 | (NEW,KEEP,DELETE) | RECFM=VB、BLKSIZE=12000、SPACE=(CYL,(300,100),RLSE)、DASD09 | 事前削除：No.14。利用：No.21 SORT3 |

- JCL に SYSPRINT の DD がない。DISPLAY のメッセージはジョブログに出る。

### 2.3 入出力ファイルの違い

| 観点 | INFILE（入力） | OUTFILE（出力） |
|---|---|---|
| データセット | WORK0620 | KS60750J.WORK0050 |
| 中身 | 全店所の請求明細（見出し＋明細の全データID） | **見出しデータ（ID 00）のうち請求額が 0 でないもの**だけ |
| レコード長 | 80～560バイト（5種類） | 560バイト（見出しデータのみ） |
| レイアウト | SQALLHED／SQALLDTB／SQALLDTC／SQALLDTD／SDPSQALA | SQALLHED のみ（内容は変えない） |
| 件数 | 全件 | 請求先の数（請求額0を除く）程度 |
| 並び | 配信店・請求先番号等の順 | 同左（後続の SORT3 で請求先番号順に並べ替え） |

同じ WORK0620 から作られる他の中間ファイルとの違い：

| ファイル | 作成PG | 抽出条件 | 中身 |
|---|---|---|---|
| WORK062S | KS60135P | 郵送対象店所（SEQTRYTN）かつ 訂正以外 | 見出し＋明細 |
| **KS60750J.WORK0050** | **KS60770P（本PG）** | **全店所。見出しのみ、請求額≠0** | **見出しのみ** |

- 本PG は店所や優先印刷マスターでは絞り込まない。郵送集約の対象かどうかは、後続の KS60780P で KS60760P の対応表と突き合わせて決まる（推定）。

---

## 3. データ定義

### 3.1 入力エリア

| 名称 | 属性 | 内容 |
|---|---|---|
| INAREA | CHAR(560) VAR | INFILE の読込域。OUTFILE にもそのまま書く |
| INARA | DEF INAREA：DUMMYA BIN(15)＋SQALLHED | 見出し（ID 00）として参照 |
| INARB／INARC／INARD／INARX | DEF INAREA＋SQALLDTB／SQALLDTC／SQALLDTD／SDPSQALA | 宣言のみ（未使用） |

参照する項目：

| 項目 | 位置 | 長さ | 属性 | 用途 |
|---|---|---|---|---|
| SDTADTID | 33 | 2 | PIC'(2)9' | データID。全レイアウト共通の位置。00 のみ処理 |
| SDTAUNTI | 221 | 5 | FIXED DEC(9) | 鑑：運賃 |
| SDTARYOK | 226 | 5 | FIXED DEC(9) | 鑑：料金 |
| SDTATTAX | 231 | 5 | FIXED DEC(9) | 鑑：消費税 |
| SDTAHOKR | 236 | 5 | FIXED DEC(9) | 鑑：保険料 |

- 請求額の計算式（運賃＋料金＋消費税＋保険料）は、KS60151P・KS60152P が請求書4行目に印字する「ご請求額」と同じ。

### 3.2 ワークエリア

| 名称 | 属性 | 初期値 | 内容 |
|---|---|---|---|
| EOF_SW | BIT(1) | '1'B | INFILE の終了で '0'B |
| WKSYUJ | FIXED DEC(9) | 0 | 請求額（運賃＋料金＋消費税＋保険料） |
| ICNT | FIXED DEC(9) | 0 | 入力件数（★ **加算されない**） |
| OCNT | FIXED DEC(9) | 0 | 出力件数 |
| CCNT、OUT_SW、II | － | － | 未使用 |

---

## 4. 処理フロー

```
開始
 ├─ ON ENDFILE(INFILE) → EOF_SW='0'B
 ├─ OPEN INFILE、OUTFILE
 ├─ INFILE を1件読む
 ├─ DO WHILE（INFILE が終わるまで）
 │     SDTADTID = 00 ？
 │       ├ YES → WKSYUJ ← SDTAUNTI＋SDTARYOK＋SDTATTAX＋SDTAHOKR
 │       │        WKSYUJ ≠ 0 なら OUTFILE に INAREA を WRITE、OCNT ＋1
 │       └ NO  → 何もしない（明細データ）
 │     INFILE を1件読む
 │  END
 ├─ DISPLAY 入力件数・出力件数
 ├─ CLOSE INFILE、OUTFILE
終了
```

---

## 5. 処理詳細

### 5.1 主処理

| 手順 | 内容 |
|---|---|
| 1 | SDTADTID（33～34バイト目）が 00 か判定する。00 以外は何もしない |
| 2 | WKSYUJ ← SDTAUNTI ＋ SDTARYOK ＋ SDTATTAX ＋ SDTAHOKR |
| 3 | WKSYUJ ≠ 0 なら `WRITE FILE(OUTFILE) FROM(INAREA)`（見出しデータを長さ・内容そのままで書く）、OCNT ＋1 |
| 4 | INFILE を1件読む |

- 請求額がマイナス（訂正などで返金になる請求先）も「0 でない」ので出力される。
- 請求額が 0 の請求先（請求する金額がない請求先）は出力されない。
- 歩引（SDTAAAAA）、再計算税（SDTAATAX）、サーチャージ（SDTATENK）は計算に含めない。
- ★ 4項目の合計が 9桁（999,999,999）を超えると、SIZE 条件が既定で無効のため上位桁が切り捨てられる。現実的な金額では起こらない。
- ★ 見出しデータの金額項目に正しいパック10進でない値があると、データ例外（0C7）で異常終了する。

### 5.2 終了処理

1. 次の2行を DISPLAY する。
   - `<<<  INPUT COUNT = ` ∥ ICNT
   - `<<< OUTPUT COUNT = ` ∥ OCNT
2. INFILE と OUTFILE を CLOSE する。

- ★ ICNT は加算する処理がないため、INPUT COUNT は**常に 0** と表示される。入力件数の確認には使えない。

---

## 6. 入出力イメージ

### 6.1 入力（WORK0620）と出力（WORK0050）の対比

| No | 配信店 | 請求先番号 | データID | 内容 | 請求額（運賃＋料金＋税＋保険） | 判定 | 出力 |
|---|---|---|---|---|---|---|---|
| 1 | 1001 | 1234567-00001 | 00 | 見出し | 48,840 | 0 でない | ○ |
| 2～4 | 1001 | 1234567-00001 | 01 | 送り状明細 | － | 明細のため対象外 | × |
| 5 | 1001 | 1234567-00002 | 00 | 見出し | 0 | 請求額 0 | × |
| 6 | 1001 | 1234567-00002 | 01 | 送り状明細 | － | 対象外 | × |
| 7 | 1001 | 2345678-00000 | 00 | 見出し | −1,100 | 0 でない（マイナス） | ○ |
| 8 | 1001 | 2345678-00000 | 33 | 一括訂正 | － | 対象外 | × |
| 9 | 1002 | 3456789-00000 | 00 | 見出し | 12,000 | 0 でない | ○ |
| 10 | 1002 | 3456789-00000 | 45 | POSメイト等 | － | 対象外 | × |
| 11 | 1305 | 4567890-00000 | 00 | 見出し | 3,300 | 0 でない | ○ |

- 出力の4件は、入力の見出しデータ（560バイト）とバイト単位で同じ。並びも入力の順のまま。
- 配信店による絞り込みはないため、郵送対象店所（SEQTRYTN）以外の配信店（例：1002）も出力される。

### 6.2 出力ファイルのイメージ（レコードの先頭部分）

```
位置  1   5         15      22         33 35
      配信 予備       請求先番号 区分       ID …（以下 SQALLHED の見出し項目、全560バイト）
No.1  1001          (パック)  （空白）     00 …
No.7  1001          (パック)  （空白）     00 …
No.9  1002          (パック)  （空白）     00 …
No.11 1305          (パック)  （空白）     00 …
```

- 15～21バイト目の請求先番号はパック10進（7バイト）のため、文字としては読めない。
- 見出しデータ全体のダンプイメージは、KS60144 出力ファイル解説 10.3(2) の「見出しデータ（請求先A）」と同じ形式。

### 6.3 メッセージ（ジョブログ）

```
<<<  INPUT COUNT =            0
<<< OUTPUT COUNT =            4
```

- ★ INPUT COUNT は入力件数（11件）に関係なく 0 になる（5.2）。

### 6.4 参考：後続 SORT3 のキー

- `SORT FIELDS=(19,8,PD,A)`：可変長レコードの4バイトのレコード長部（RDW）を含む位置のため、データの **15～22バイト目**（8バイト）をパック10進として比較する。
- 請求先番号 SDTASQNO は 15～21バイト目（7バイト）で、22バイト目は区分（SDTASPA1）の先頭バイトである。
- ★ キーの長さが請求先番号より1バイト長く、区分の1バイト目がパック10進の最終桁（符号部）として扱われる。見出しデータの区分の先頭は通常空白（X'40'）のため、並びは実質的に請求先番号順になると考えられるが、DFSORT のパック10進の扱いによっては順序が変わる可能性がある（要確認）。

---

## 7. 異常処理

| 事象 | 検出 | 処理 |
|---|---|---|
| INFILE の終了 | ENDFILE 条件 | EOF_SW='0'B でループを終える（正常） |
| INFILE が0件 | なし | 出力0件で正常終了 |
| 金額項目が不正なパック10進 | データ例外（0C7） | ON 定義なし → 異常終了 |
| その他 | － | ON ERROR の定義なし → PL/I 標準のエラー処理（異常終了） |
| リターンコード | － | 設定なし（正常時は 0） |

---

## 8. 留意事項（★）

1. **INPUT COUNT が常に 0**：ICNT の加算がない（5.2）。
2. **請求額 0 の請求先は後続に渡らない**：0円の請求先は、事業所用・エコデリバー用の配信帳票（KS60790P）の対象にならない（推定）。一方、KS60144P・KS60151P・KS60152P の請求書は請求額 0 でも作られるため、扱いが異なる。
3. **マイナスの請求額は出力される**。
4. **請求額にサーチャージ・歩引を含めない**：KS60151P の「ご請求額」と同じ式だが、サーチャージ（SDTATENK）がある請求先でも、4項目の合計が 0 なら出力されない。
5. **後続 SORT3 のキー長**（6.4）。
6. **SYSPRINT の DD がない**：メッセージはジョブログに出る。
7. **未使用の変数**：CCNT、OUT_SW、II（KS60135P と同じパターンからの流用と推定）。

---

## 9. 未使用項目

| 項目 | 内容 |
|---|---|
| INARB、INARC、INARD、INARX | 各レイアウトの重ね定義（SDTADTID は INARA の名前で参照） |
| SQALLHED の SDTADTID、SDTAUNTI、SDTARYOK、SDTATTAX、SDTAHOKR 以外 | 参照なし（出力にはそのまま含まれる） |
| ICNT | 表示のみ（加算なし） |
| CCNT、OUT_SW、II | 宣言のみ |
| BUILTIN の ADDR、SUBSTR、HIGH、LOW、LENGTH、STRING、VERIFY、UNSPEC | 宣言のみ |

---

## 付録A SQALLHED（見出し、データID 00、560バイト）

| LV | 項目名 | 属性 | 繰返し | 位置 | 長さ | 本PGでの使用 |
|---|---|---|---|---|---|---|
| 02 | SDTASHTN | PIC'(4)9' |  | 1 | 4 |  |
| 02 | SDTAKKKK | CHAR(10) |  | 5 | 10 |  |
| 02 | SDTASQNO | FIXED DEC(13) |  | 15 | 7 |  |
| 02 | SDTASPA1 | CHAR(11) |  | 22 | 11 |  |
| 02 | SDTADTID | PIC'(2)9' |  | 33 | 2 | データID：00 のレコードだけ対象 |
| 02 | SDTAKARI | PIC'(1)9' |  | 35 | 1 |  |
| 02 | SDTADPKB | PIC'(1)9' |  | 36 | 1 |  |
| 02 | SDTAYYMM | PIC'(4)9' |  | 37 | 4 |  |
| 02 | SDTAHYMD | PIC'(6)9' |  | 41 | 6 |  |
| 02 | SDTACKTT | PIC'(4)9' |  | 47 | 4 |  |
| 02 | SDTAKIKN | （集団項目） |  | 51 | 12 |  |
| 03 | 　SDTAKYMD | PIC'(6)9' |  | 51 | 6 |  |
| 03 | 　SDTASYMD | PIC'(6)9' |  | 57 | 6 |  |
| 02 | SDTASQN1 | CHAR(8) |  | 63 | 8 |  |
| 02 | SDTASQNI | CHAR(64) |  | 71 | 64 |  |
| 02 | SDTASQN2 | CHAR(5) |  | 135 | 5 |  |
| 02 | SDTASQNM | CHAR(36) |  | 140 | 36 |  |
| 02 | SDTAPKEI | PIC'(1)9' |  | 176 | 1 |  |
| 02 | SDTAPKBN | CHAR(1) |  | 177 | 1 |  |
| 02 | SDTAHYOG | （集団項目） |  | 178 | 20 |  |
| 03 | 　SDTANNNO | PIC'(1)9' | 20 | 178 | 1×20＝20 |  |
| 02 | SDTABIKB | PIC'(1)9' |  | 198 | 1 |  |
| 02 | SDTAZKIN | PIC'(1)9' |  | 199 | 1 |  |
| 02 | SDTAZKI1 | PIC'(1)9' |  | 200 | 1 |  |
| 02 | SDTAJIKB | PIC'(1)9' |  | 201 | 1 |  |
| 02 | SDTABBKB | PIC'(1)9' |  | 202 | 1 |  |
| 02 | SDTAHHTN | PIC'(4)9' |  | 203 | 4 |  |
| 02 | SDTASPAC | CHAR(14) |  | 207 | 14 |  |
| 02 | SDTAHEAD | （集団項目） |  | 221 | 340 |  |
| 03 | 　SDTAMTTO | （集団項目） |  | 221 | 30 |  |
| 04 | 　　SDTAUNTI | FIXED DEC(9) |  | 221 | 5 | 請求額の計算（運賃） |
| 04 | 　　SDTARYOK | FIXED DEC(9) |  | 226 | 5 | 請求額の計算（料金） |
| 04 | 　　SDTATTAX | FIXED DEC(9) |  | 231 | 5 | 請求額の計算（消費税） |
| 04 | 　　SDTAHOKR | FIXED DEC(9) |  | 236 | 5 | 請求額の計算（保険料） |
| 04 | 　　SDTAAAAA | FIXED DEC(9) |  | 241 | 5 |  |
| 04 | 　　SDTAATAX | FIXED DEC(9) |  | 246 | 5 |  |
| 03 | 　SDTAYUNN | CHAR(7) |  | 251 | 7 |  |
| 03 | 　SDTAYUNO | PIC'(5)9' |  | 258 | 5 |  |
| 03 | 　SDTAJKAN | （集団項目） |  | 263 | 124 |  |
| 04 | 　　SDTAJKA1 | CHAR(34) |  | 263 | 34 |  |
| 04 | 　　SDTAJKA2 | CHAR(38) |  | 297 | 38 |  |
| 04 | 　　SDTAJKA3 | CHAR(52) |  | 335 | 52 |  |
| 03 | 　SDTAJKNA | （集団項目） |  | 387 | 129 |  |
| 04 | 　　SDTAJKN1 | CHAR(32) |  | 387 | 32 |  |
| 04 | 　　SDTAJKN2 | CHAR(47) |  | 419 | 47 |  |
| 04 | 　　SDTAJKN3 | CHAR(50) |  | 466 | 50 |  |
| 03 | 　SDTADTEL | CHAR(12) |  | 516 | 12 |  |
| 03 | 　SDTABANK | FIXED DEC(7) |  | 528 | 4 |  |
| 03 | 　SDTAKONO | PIC'(1)9' |  | 532 | 1 |  |
| 03 | 　SDTAKOBA | FIXED DEC(9) |  | 533 | 5 |  |
| 03 | 　SDTABAN1 | FIXED DEC(7) |  | 538 | 4 |  |
| 03 | 　SDTAKON1 | PIC'(1)9' |  | 542 | 1 |  |
| 03 | 　SDTAKOB1 | FIXED DEC(9) |  | 543 | 5 |  |
| 03 | 　SDTATKB3 | PIC'(1)9' |  | 548 | 1 |  |
| 03 | 　SDTATENK | FIXED DEC(9) |  | 549 | 5 |  |
| 03 | 　SDTASPA2 | CHAR(7) |  | 554 | 7 |  |

## 付録B SQALLDTB（送り状明細、データID 01・21・31・95、230バイト）

| LV | 項目名 | 属性 | 繰返し | 位置 | 長さ | 本PGでの使用 |
|---|---|---|---|---|---|---|
| 02 | SDTBSEHT | PIC'(4)9' |  | 1 | 4 |  |
| 02 | SDTBKKKK | CHAR(10) |  | 5 | 10 |  |
| 02 | SDTBSENO | FIXED(13) |  | 15 | 7 |  |
| 02 | SDTBPSEQ | CHAR(11) |  | 22 | 11 |  |
| 02 | SDTBDTID | PIC'(2)9' |  | 33 | 2 | （SDTADTID として参照） |
| 02 | SDTBYYMD | FIXED(7) |  | 35 | 4 |  |
| 02 | SDTBMOCH | PIC'(1)9' |  | 39 | 1 |  |
| 02 | SDTBOKRN | FIXED(11) |  | 40 | 6 |  |
| 02 | SDTBRECT | PIC'(1)9' |  | 46 | 1 |  |
| 02 | SDTBTENS | FIXED(5) |  | 47 | 3 |  |
| 02 | SDTBMONI | （集団項目） |  | 50 | 29 |  |
| 03 | 　SDTBCHCD | FIXED(5) |  | 50 | 3 |  |
| 03 | 　SDTBNIAD | CHAR(12) |  | 53 | 12 |  |
| 03 | 　SDTBNINA | CHAR(14) |  | 65 | 14 |  |
| 02 | SDTBKOSU | FIXED(5) |  | 79 | 3 |  |
| 02 | SDTBKKGG | FIXED(5) |  | 82 | 3 |  |
| 02 | SDTBKEIY | （集団項目） |  | 85 | 8 |  |
| 03 | 　SDTBUUNN | FIXED(7) |  | 85 | 4 |  |
| 03 | 　SDTBRYKE | FIXED(7) |  | 89 | 4 |  |
| 02 | SDTBTATE | FIXED(7) |  | 93 | 4 |  |
| 02 | SDTBWARI | FIXED(5) |  | 97 | 3 |  |
| 02 | SDTBHOKN | （集団項目） |  | 100 | 7 |  |
| 03 | 　SDTBFUTT | PIC'(1)9' |  | 100 | 1 |  |
| 03 | 　SDTBKING | FIXED(5) |  | 101 | 3 |  |
| 03 | 　SDTBEENN | FIXED(5) |  | 104 | 3 |  |
| 02 | SDTBDAII | （集団項目） |  | 107 | 13 |  |
| 03 | 　SDTBDAKU | PIC'(1)9' |  | 107 | 1 |  |
| 03 | 　SDTBDAKI | FIXED(7) |  | 108 | 4 |  |
| 03 | 　SDTBRONN | FIXED(7) |  | 112 | 4 |  |
| 03 | 　SDTBTESO | FIXED(7) |  | 116 | 4 |  |
| 02 | SDTBRYRY | （集団項目） |  | 120 | 44 |  |
| 03 | 　SDTBWAWA | （集団項目） |  | 120 | 9 |  |
| 04 | 　　SDTBWAHA | FIXED(5) |  | 120 | 3 |  |
| 04 | 　　SDTBWACH | FIXED(5) |  | 123 | 3 |  |
| 04 | 　　SDTBWAFU | FIXED(5) |  | 126 | 3 |  |
| 03 | 　SDTBTESU | （集団項目） |  | 129 | 6 |  |
| 04 | 　　SDTBTECH | FIXED(5) |  | 129 | 3 |  |
| 04 | 　　SDTBTERE | FIXED(5) |  | 132 | 3 |  |
| 03 | 　SDTBSHSH | FIXED(5) |  | 135 | 3 |  |
| 03 | 　SDTBHHAI | FIXED(5) |  | 138 | 3 |  |
| 03 | 　SDTBKOSO | FIXED(7) |  | 141 | 4 |  |
| 03 | 　SDTBCHOS | FIXED(5) |  | 145 | 3 |  |
| 03 | 　SDTBKONP | FIXED(7) |  | 148 | 4 |  |
| 03 | 　SDTBYUDO | FIXED(7) |  | 152 | 4 |  |
| 03 | 　SDTBETCC | FIXED(7) |  | 156 | 4 |  |
| 03 | 　SDTBYOBI | FIXED(7) |  | 160 | 4 |  |
| 02 | SDTBKIRO | （集団項目） |  | 164 | 8 |  |
| 03 | 　SDTBKISH | FIXED(3) |  | 164 | 2 |  |
| 03 | 　SDTBKKRO | FIXED(5) |  | 166 | 3 |  |
| 03 | 　SDTBKICC | FIXED(5) |  | 169 | 3 |  |
| 02 | SDTBAINI | CHAR(14) |  | 172 | 14 |  |
| 02 | SDTBSEKU | CHAR(10) |  | 186 | 10 |  |
| 02 | SDTBTANO | CHAR(13) |  | 196 | 13 |  |
| 02 | SDTBHNCD | FIXED(7) |  | 209 | 4 |  |
| 02 | SDTBTELL | CHAR(10) |  | 213 | 10 |  |
| 02 | SDTBJIKB | PIC'(1)9' |  | 223 | 1 |  |
| 02 | SDTBBTAX | FIXED(7) |  | 224 | 4 |  |
| 02 | SDTBSPAC | CHAR(3) |  | 228 | 3 |  |

## 付録C SQALLDTC（一括付替・訂正、データID 22・33、80バイト）

| LV | 項目名 | 属性 | 繰返し | 位置 | 長さ | 本PGでの使用 |
|---|---|---|---|---|---|---|
| 02 | SDTCSEHA | PIC'(4)9' |  | 1 | 4 |  |
| 02 | SDTCKKKK | CHAR(10) |  | 5 | 10 |  |
| 02 | SDTCSENO | FIXED(13) |  | 15 | 7 |  |
| 02 | SDTCETCC | CHAR(11) |  | 22 | 11 |  |
| 02 | SDTCDDID | PIC'(2)9' |  | 33 | 2 | （SDTADTID として参照） |
| 02 | SDTCTETU | FIXED(7) |  | 35 | 4 |  |
| 02 | SDTCTTTN | FIXED(5) |  | 39 | 3 |  |
| 02 | SDTCUNCH | FIXED(9) |  | 42 | 5 |  |
| 02 | SDTCUNZK | FIXED(9) |  | 47 | 5 |  |
| 02 | SDTCOLDS | FIXED(13) |  | 52 | 7 |  |
| 02 | SDTCRIYU | PIC'(2)9' |  | 59 | 2 |  |
| 02 | SDTCAINA | CHAR(14) |  | 61 | 14 |  |
| 02 | SDTCJIKB | PIC'(1)9' |  | 75 | 1 |  |
| 02 | SDTCSPAC | CHAR(5) |  | 76 | 5 |  |

## 付録D SQALLDTD（POSメイト等、データID 45・55・65、90バイト）

| LV | 項目名 | 属性 | 繰返し | 位置 | 長さ | 本PGでの使用 |
|---|---|---|---|---|---|---|
| 02 | SDTDSEHA | PIC'(4)9' |  | 1 | 4 |  |
| 02 | SDTDKKKK | CHAR(10) |  | 5 | 10 |  |
| 02 | SDTDSENO | FIXED(13) |  | 15 | 7 |  |
| 02 | SDTDETCC | CHAR(11) |  | 22 | 11 |  |
| 02 | SDTDDDID | PIC'(2)9' |  | 33 | 2 | （SDTADTID として参照） |
| 02 | SDTDYYYY | FIXED(7) |  | 35 | 4 |  |
| 02 | SDTDYUDA | FIXED(9) |  | 39 | 5 |  |
| 02 | SDTDMUDA | FIXED(9) |  | 44 | 5 |  |
| 02 | SDTDUNCH | FIXED(9) |  | 49 | 5 |  |
| 02 | SDTDUNZK | FIXED(9) |  | 54 | 5 |  |
| 02 | SDTDSONO | FIXED(9) |  | 59 | 5 |  |
| 02 | SDTDJIKB | PIC'(1)9' |  | 64 | 1 |  |
| 02 | SDTDSPAC | CHAR(26) |  | 65 | 26 |  |

## 付録E SDPSQALA（デパート請求、データID 02、100バイト）

| LV | 項目名 | 属性 | 繰返し | 位置 | 長さ | 本PGでの使用 |
|---|---|---|---|---|---|---|
| 02 | SSALSEHA | PIC'(4)9' |  | 1 | 4 |  |
| 02 | SSALKKKK | CHAR(10) |  | 5 | 10 |  |
| 02 | SSALSENO | FIXED(13) |  | 15 | 7 |  |
| 02 | SSALPSEQ | CHAR(11) |  | 22 | 11 |  |
| 02 | SSALDDID | PIC'(2)9' |  | 33 | 2 | （SDTADTID として参照） |
| 02 | SSALUKET | （集団項目） |  | 35 | 7 |  |
| 03 | 　SSALUKYM | FIXED(7) |  | 35 | 4 |  |
| 03 | 　SSALUKTE | FIXED(5) |  | 39 | 3 |  |
| 02 | SSALMIUN | （集団項目） |  | 42 | 10 |  |
| 03 | 　SSALUNCN | FIXED(9) |  | 42 | 5 |  |
| 03 | 　SSALRYOK | FIXED(9) |  | 47 | 5 |  |
| 02 | SSALWARI | FIXED(7) |  | 52 | 4 |  |
| 02 | SSALHONA | （集団項目） |  | 56 | 8 |  |
| 03 | 　SSALHOKN | FIXED(7) |  | 56 | 4 |  |
| 03 | 　SSALHOKE | FIXED(7) |  | 60 | 4 |  |
| 02 | SSALDAIB | （集団項目） |  | 64 | 28 |  |
| 03 | 　SSALDAII | （集団項目） |  | 64 | 14 |  |
| 04 | 　　SSALDAKI | FIXED(9) |  | 64 | 5 |  |
| 04 | 　　SSALDARO | FIXED(9) |  | 69 | 5 |  |
| 04 | 　　SSALDASO | FIXED(7) |  | 74 | 4 |  |
| 03 | 　SSALDABE | （集団項目） |  | 78 | 14 |  |
| 04 | 　　SSALDABN | FIXED(9) |  | 78 | 5 |  |
| 04 | 　　SSALDABS | FIXED(9) |  | 83 | 5 |  |
| 04 | 　　SSALDABT | FIXED(7) |  | 88 | 4 |  |
| 02 | SSALMAIS | FIXED(7) |  | 92 | 4 |  |
| 02 | SSALJIKB | PIC'(1)9' |  | 96 | 1 |  |
| 02 | SSALSPAC | CHAR(4) |  | 97 | 4 |  |
