KYU programs for payroll calculation: KYU01CVT - CSV conversion KYU02REG - attendance registration KYU03AGG - aggregation KYU04CAL - salary calculation KYU05DED - deduction calculation KYU06UPD - DB update KYU07DIV - division/pay-slip KYU08PRI - print output KYU09MRG - merge output Includes: - Source programs (9 .cbl) - Compiled executables (9 .exe) - Detailed design docs (9 + sign-off) - Basic design doc (subsystem C overview) - Resource lists (9) - DDL schema (schema_kyu.sql) - COPY book (KYU99REC.cpy) - Coverage statistics update - DB definition update (STATUS values) - Overall system design document
50 lines
2.1 KiB
Markdown
50 lines
2.1 KiB
Markdown
# KYU01CVT 使用資源一覧
|
||
|
||
## プログラム概要
|
||
- **プログラムID**: KYU01CVT
|
||
- **プログラム名**: 社員マスタCSV→FB変換処理
|
||
- **処理概要**: CSV形式の社員マスタを固定長80Bに変換する。引用符内改行をINSPECT CONVERTINGで処理し、項目チェックはSUB04CHKで実施。
|
||
|
||
## 使用ファイル
|
||
|
||
| DD名 | ファイル識別子 | 編成 | レコード形式 | レコード長 | COPY句 |
|
||
|------|---------------|------|-------------|-----------|--------|
|
||
| KYU01R01 | CSV-INPUT | 順編成 | V (可変長) | 500B | なし(自前定義) |
|
||
| KYU01W01 | EMP-RECORD | 順編成 | F (固定長) | 80B | KYU01REC |
|
||
| KYU01W02 | ERROR-LOG | 順編成 | V (可変長) | 200B | KYU99REC |
|
||
|
||
## 使用COPY句
|
||
|
||
| COPY句 | 用途 | 使用箇所 |
|
||
|--------|------|---------|
|
||
| KYU01REC | レコード定義(W01出力ファイル) | FILE SECTION |
|
||
| KYU99REC | エラーログレコード定義(W02出力ファイル) | FILE SECTION |
|
||
| ZANMSGAC | メッセージ編集サブPGM連絡領域 | WORKING-STORAGE |
|
||
| ZANENDAC | ABENDサブPGM連絡領域 | WORKING-STORAGE |
|
||
| ZANCHKAC | 項目チェックサブPGM連絡領域 | WORKING-STORAGE |
|
||
|
||
## 使用サブプログラム
|
||
|
||
| サブPGM | 役割 | CALL箇所 |
|
||
|---------|------|---------|
|
||
| SUB02MSG | メッセージ編集出力 | 4000MSGOUTSOR |
|
||
| SUB03END | ABEND処理 | 9999ABDSOR |
|
||
| SUB04CHK | 社員番号/時給数値チェック | 2000MAJSOR |
|
||
|
||
## 使用DB2テーブル
|
||
|
||
なし(DB操作なし)
|
||
|
||
## 処理フロー
|
||
1. 初期処理(開始メッセージ→OPEN→初回読込)
|
||
2. コメント行(#)はスキップ
|
||
3. 引用符状態チェック(奇数個の"で状態反転)
|
||
- 引用符内 → 行蓄積→次行読込
|
||
- 引用符外 → INSPECT CONVERTING(改行→SPACE)→ CSV分解
|
||
4. CSV分解(UNSTRINGで9項目に分解)
|
||
5. 項目数≠9 → ERROR-LOG出力
|
||
6. 社員番号空チェック → ERROR-LOG出力
|
||
7. SUB04CHK(EMP-ID数値チェック、HOURLY-RATE数値チェック)
|
||
8. EMP-RECORD編集→W01出力
|
||
9. 終了処理(CLOSE→件数出力→終了メッセージ)
|