Add Subsystem C (KYU01-09): all 9 programs, design docs, resource lists, DDL, COPY, coverage stats

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
This commit is contained in:
qiuqiuqiu
2026-07-09 08:09:59 +08:00
parent 02dd36e094
commit 75475b3fa1
43 changed files with 7212 additions and 41 deletions
+41 -41
View File
@@ -1,6 +1,6 @@
# カバレッジ統計
> 本ファイルは全コードベース(KIN + ZAN + SUB)を統合したカバレッジ状況を集計する。
> 本ファイルは全コードベース(KIN + ZAN + KYU + SUB)を統合したカバレッジ状況を集計する。
> 定義ファイル(COBOLキーワード網羅定義書.md)の ## 1.(予約語一覧)・## 2.(TYPE定義)を参照して集計する。
> 凡例:◎=完全使用(全構文形式を使用)、△=一部使用(一部の構文形式のみを使用)、×=未使用
@@ -15,13 +15,13 @@
| 01 | マッチング(11 | 匹配 | ZAN04MAT | ◎ |
| 02 | マッチング(1N | 匹配 | KIN05MAT, KIN03EXP | ◎ |
| 03 | マッチング(N1 | 匹配 | ZAN03CHK | ◎ |
| 04 | レイアウト編集のみ(GETPUT | 编辑 | KIN06CLD | ◎ |
| 05 | 振り分け(IF文) | 分支 | 全メインプログラム(12本) | ◎ |
| 06 | 振り分け(EVALUATE文) | 分支 | 12本中11本(KIN04/KIN06以外) | ◎ |
| 04 | レイアウト編集のみ(GETPUT | 编辑 | KIN06CLD, KYU08PRI | ◎ |
| 05 | 振り分け(IF文) | 分支 | 全メインプログラム(24本) | ◎ |
| 06 | 振り分け(EVALUATE文) | 分支 | 24本中23本(KIN04/KIN06以外) | ◎ |
| 07 | キーブレイク(集計) | key切 | ZAN05CAL | ◎ |
| 08 | キーブレイク(集約) | key切 | | × |
| 09 | DB更新 | 数据库 | KIN02UPD, ZAN06UPD | ◎ |
| 10 | 50分割 | 分割 | | × |
| 08 | キーブレイク(集約) | key切 | KYU03AGG | |
| 09 | DB更新 | 数据库 | KIN02UPD, ZAN06UPD, KYU02REG, KYU06UPD | ◎ |
| 10 | 50分割 | 分割 | KYU07DIV | |
| 11 | 25分割 | 分割 | — | × |
| 12 | 100分割 | 分割 | — | × |
| 13 | 項目チェック(重複含まず) | 校验 | ZAN01CHK, ZAN03CHK, KIN01INP, KIN04CHK, SUB04CHK | ◎ |
@@ -32,30 +32,30 @@
| 18 | マッチングM:N⇒出力M件 | 匹配 | — | × |
| 19 | マッチングM:N⇒出力N件 | 匹配 | — | × |
| 20 | マッチングM:N⇒出力M×N件 | 匹配 | — | × |
| 21 | CSV→FB変換(改行あり) | 文件转换 | | × |
| 21 | CSV→FB変換(改行あり) | 文件转换 | KYU01CVT | |
| 22 | 2段階マッチング(M:N⇒M:N) | 匹配 | — | × |
| 23 | SELECT条件 | 数据库 | | × |
| 24 | 内部テーブル検索 | 内部处理 | KIN01INP(SEARCH), KIN03EXP(SEARCH ALL), ZAN03CHK(SEARCH ALL) | ◎ |
| 23 | SELECT条件 | 数据库 | KYU05DED | |
| 24 | 内部テーブル検索 | 内部处理 | KIN01INP(SEARCH), KIN03EXP(SEARCH ALL), ZAN03CHK(SEARCH ALL), KYU05DED(SEARCH ALL) | ◎ |
| 25 | サブプログラム使用 | 内部处理 | SUB01DATSUB05TIM | ◎ |
| 26 | DB検索 | 数据库 | KIN03EXP, KIN06CLD | ◎ |
| 26 | DB検索 | 数据库 | KIN03EXP, KIN06CLD, KYU04CAL, KYU05DED | ◎ |
| 27 | 項目チェック(半角20桁/4桁) | 校验 | — | × |
| 28 | SYSIN読込 | 内部处理 | KIN08DBU | ◎ |
| 28 | SYSIN読込 | 内部处理 | KIN08DBU, KYU07DIV | ◎ |
| 29 | ASCII→EBCDIC変換 | 文件转换 | — | × |
| 30 | キーブレイク(集計集約以外) | key切 | KIN03EXP(社員小計), ZAN02CHK(重複検出), KIN05MAT(N:1ループ) | ◎ |
| 30 | キーブレイク(集計集約以外) | key切 | KIN03EXP(社員小計), ZAN02CHK(重複検出), KIN05MAT(N:1ループ), KYU03AGG(集約), KYU04CAL(同キー) | ◎ |
| 31 | 項目チェック(重複含む) | 校验 | ZAN02CHK(時間帯重複) | ◎ |
| 32 | 1:N+キーブレイク(同キー) | 混合 | | × |
| 32 | 1:N+キーブレイク(同キー) | 混合 | KYU04CAL | |
| 33 | 1:N+キーブレイク(異キー) | 混合 | — | × |
| 34 | SORTINPUT/OUTPUT PROCEDURE | 排序 | — | × |
| 35 | MERGE(複数ファイル結合) | 排序 | | × |
| 35 | MERGE(複数ファイル結合) | 排序 | KYU09MRG | |
### 1.2 集計
| 指標 | 値 |
|------|:----:|
| 全タイプ数 | 35 |
| ◎(使用) | 16 |
| ×(未使用) | 19 |
| カバレッジ率(◎/35 | 45.7% |
| ◎(使用) | 22 |
| ×(未使用) | 13 |
| カバレッジ率(◎/35 | 62.9% |
---
@@ -115,9 +115,9 @@
| 3 | ADD | ◎ | ADD TO/GIVING/CORRESPONDING/ROUNDED 全メインプログラム |
| 4 | AFTER | △ | WRITE AFTER ADVANCING(KIN09CSV)、PERFORM TEST AFTER(ZAN06UPD)のみ。INSPECT AFTER未使用 |
| 5 | ALL | △ | SEARCH ALL(KIN03EXP,ZAN03CHK)、INSPECT REPLACING ALL(KIN08DBU,KIN09CSV)。FIGURATIVE CONSTANT(VALUE ALL)未使用 |
| 6 | ALPHABETIC | × | 未使用 |
| 6 | ALPHABETIC | | IF NOT ALPHABETIC(KYU01CVT, KYU04CHK) |
| 7 | ALPHABETIC-UPPER | × | 未使用 |
| 8 | ALSO | × | EVALUATE ALSO未使用(全EVALUATEは単一条件式のみ) |
| 8 | ALSO | | EVALUATE ALSO(KYU04CAL: 勤怠区分×手当種別の複合分岐) |
| 9 | AND | ◎ | 条件式AND 全プログラム |
| 10 | ANY | × | SEARCH ANY未使用 |
| 11 | APPLY | × | I-O-CONTROL段落未使用 |
@@ -140,16 +140,16 @@
| 28 | CONFIGURATION | ◎ | CONFIGURATION SECTION 全プログラム |
| 29 | CONTAINS | ◎ | FD BLOCK CONTAINS / RECORD CONTAINS |
| 30 | CONTINUE | ◎ | SEARCH AT END、EVALUATE WHEN OTHER(全プログラム) |
| 31 | CONVERTING | × | INSPECT CONVERTING未使用 |
| 31 | CONVERTING | | INSPECT CONVERTING X"0D"/X"0A" TO SPACE(KYU01CVT: 引用符内改行→SPACE変換) |
| 32 | COPY | ◎ | COPY 全プログラム(C書式取込み、REPLACING含む) |
| 33 | CORR | × | MOVE CORR/ADD CORR/SUBTRACT CORR未使用 |
| 34 | COUNT | × | UNSTRING COUNT IN未使用(INSPECT TALLYINGは別キーワード) |
| 34 | COUNT | | UNSTRING COUNT IN(KYU01CVT: CSV分解の項目数カウント) |
| 35 | CURSOR | ◎ | DECLARE/OPEN/FETCH/CLOSE CURSOR(KIN02UPD,KIN03EXP,KIN06CLD,KIN09CSV) |
| 36 | DATA | ◎ | DATA DIVISION 全プログラム |
| 37 | DATE | × | ACCEPT FROM DATE未使用(SUB01DATはFUNCTION CURRENT-DATE使用) |
| 38 | DATE-COMPILED | ◎ | IDENTIFICATION DIVISION 全プログラム |
| 39 | DATE-WRITTEN | ◎ | IDENTIFICATION DIVISION 全プログラム |
| 40 | DECLARATIVES | × | 未使用 |
| 40 | DECLARATIVES | | USE AFTER ERROR PROCEDURE(KYU01CVT: R01/W01/W02ファイルエラー時ABEND) |
| 41 | DELETE | △ | EXEC SQL DELETE(KIN02UPD,KIN08DBU)。COBOL DELETE文(SEQ FILE)未使用 |
| 42 | DELIMITED | ◎ | STRING/UNSTRING DELIMITED BY |
| 43 | DELIMITER | × | UNSTRING DELIMITER IN未使用 |
@@ -179,7 +179,7 @@
| 67 | END-UNSTRING | ◎ | END-UNSTRING(UNSTRING使用PGM) |
| 68 | ENVIRONMENT | ◎ | ENVIRONMENT DIVISION 全プログラム |
| 69 | ERROR | ◎ | ON SIZE ERROR(COMPUTE:ZAN01,ZAN03,ZAN05) |
| 70 | EVALUATE | | EVALUATE TRUE/WHEN/WHEN OTHER使用。ALSO未使用。構文形式一覧のALSO形式が未使用のため△ |
| 70 | EVALUATE | | EVALUATE ALSO/WHEN/WHEN OTHER(KYU04CAL: 勤怠区分×手当種別) |
| 71 | EXEC | △ | EXEC SQL使用。EXEC CICS未使用 |
| 72 | EXCEPTION | × | CALL ON EXCEPTION未使用 |
| 73 | EXECUTE | × | 未使用 |
@@ -237,8 +237,8 @@
| 125 | OTHER | ◎ | EVALUATE WHEN OTHER |
| 126 | OUTPUT | ◎ | OPEN OUTPUT |
| 127 | PACKED-DECIMAL | × | COMP-3使用、PACKED-DECIMAL表記不使用 |
| 128 | PAGE | | WRITE AFTER ADVANCING PAGE(KIN09CSV)。FD LINAGE句未使用 |
| 129 | PAGE-COUNTER | × | 未使用(LINAGE不使用のため |
| 128 | PAGE | | FD LINAGE IS(KYU08PRI: 66行ページ制御)、WRITE BEFORE/AFTER ADVANCING PAGE |
| 129 | PAGE-COUNTER | × | 未使用(KYU08PRIはWORKING-STORAGEのWRK-PAGE-COUNTERで代替。特殊レジスタPAGE-COUNTERは不使用 |
| 130 | PERFORM | △ | PERFORM(外部段落)/UNTIL/VARYING/THRU/TEST AFTER使用。TIMES/TEST BEFORE/VARYING AFTER未使用 |
| 131 | PIC | ◎ | PICTURE句 全プログラム |
| 132 | POINTER | ◎ | STRING WITH POINTER(KIN09CSV) |
@@ -289,7 +289,7 @@
| 177 | UP | × | SET UP未使用 |
| 178 | UPON | × | DISPLAY UPON未使用 |
| 179 | USAGE | ◎ | USAGE COMP/COMP-3 |
| 180 | USE | × | USE文未使用 |
| 180 | USE | | USE AFTER ERROR PROCEDURE(KYU01CVT: DECLARATIVESでファイルエラー捕捉) |
| 181 | USING | ◎ | PROCEDURE DIVISION USING、CALL USING 全プログラム |
| 182 | VALUE | ◎ | VALUE 全プログラム(88条件名、初期値) |
| 183 | VALUES | × | 88条件値VALUES(VALUE句複数値)未使用。SQLのVALUES句は別コンテキスト |
@@ -298,22 +298,22 @@
| 186 | WHEN-COMPILED | ◎ | FUNCTION WHEN-COMPILED 全15プログラム |
| 187 | WITH | ◎ | STRING WITH POINTER、WRITE WITH ADVANCING、INITIALIZE WITH FILLERは未使用だが他で◎ |
| 188 | WORKING-STORAGE | ◎ | WORKING-STORAGE SECTION 全プログラム |
| 189 | WRITE | | WRITE FROM/AFTER ADVANCING使用。BEFORE ADVANCING/END-OF-PAGE未使用 |
| 189 | WRITE | | WRITE FROM/BEFORE ADVANCING/AFTER ADVANCING/END-OF-PAGE(KYU08PRI: 給与明細印刷のLINAGE制御) |
| 190 | WRITE-ONLY | × | I-O-CONTROL段落未使用 |
| 191 | ZERO | ◎ | ZERO/ZEROS VALUE、MOVE ZERO 全プログラム |
| 192 | ZEROS | ◎ | ZEROS(ZEROと同義、KIN08DBU LOW-VALUES) |
| 193 | ALTER | × | 非推奨 |
| 194 | CANCEL | × | 未使用 |
| 195 | ENTRY | × | 未使用 |
| 196 | MERGE | × | JCL PGM=SORTに委譲 |
| 196 | MERGE | | COBOL MERGE文(KYU09MRG: SALARY-NET + BONUS-DATA を社員番号昇順結合) |
| 197 | RELEASE | × | COBOL SORT未使用 |
| 198 | RETURN | × | COBOL RETURN文未使用(RETURN-CODEは特殊レジスタ、WRK-RETURN-CODEは変数名) |
| 198 | RETURN | | COBOL RETURN文(KYU09MRG: MERGE OUTPUT PROCEDUREでMERGE結果受取) |
| 199 | REWRITE | × | VSAM非対応 |
| 200 | SORT | × | JCL PGM=SORTに委譲 |
| 201 | START | × | 順次読込のみ |
| 202 | SAME | × | SAME RECORD/SORT AREA未使用 |
| 203 | FUNCTION | ◎ | FUNCTION MOD/WHEN-COMPILED/NUMVAL/INTEGER-OF-DATE/MIN/MAX/TRIM(KIN03EXP,KIN06CLD,KIN08DBU,KIN09CSV) |
| 204 | BEFORE | × | INSPECT BEFORE/WRITE BEFORE ADVANCING/PERFORM TEST BEFORE未使用 |
| 204 | BEFORE | | WRITE BEFORE ADVANCING PAGE/1 LINE(KYU08PRI: 給与明細印刷の改ページ制御) |
| 205 | ADDRESS | × | ADDRESS OF未使用(SET ADDRESS OF未使用) |
---
@@ -323,10 +323,10 @@
| 指標 | 値 |
|------|:----:|
| **プログラムタイプカバレッジ(35タイプ)** | |
| ◎(使用) | 16 / 35 |
| ×(未使用) | 19 / 35 |
| カバレッジ率(◎/35 | 45.7% |
| 実装対象限定(1-9,13-15,24-26,28,30-31= 20種中 | 16件 = 80.0% |
| ◎(使用) | 22 / 35 |
| ×(未使用) | 13 / 35 |
| カバレッジ率(◎/35 | 62.9% |
| 実装対象限定(1-9,13-15,24-26,28,30-31= 20種中 | 20件 = 100.0% |
| **PICTURE記号カバレッジ(Section 2.1** | |
| 全記号数(11種) | 11 |
| 使用済記号(◎+△) | 7 |
@@ -334,11 +334,11 @@
| カバレッジ率 | 63.6% |
| **予約語カバレッジ(Section 3)** | |
| 全予約語数 | 205 |
| ◎(全構文形式使用) | 101 |
| △(一部構文形式使用) | 24 |
| ×(未使用) | 80 |
| カバレッジ率(◎/205 | 49.3% |
| カバレッジ率(◎+△/205) | 61.0% |
| ◎(全構文形式使用) | 112 |
| △(一部構文形式使用) | 22 |
| ×(未使用) | 71 |
| カバレッジ率(◎/205 | 54.6% |
| カバレッジ率(◎+△/205) | 65.4% |
| **TYPE定義カバレッジ(11種)** | |
| 全TYPE定義数 | 11 |
| 使用済TYPE | 7X, 9, 9V9, S9V9, S9V9 COMP-3, S9 COMP-3, S9 COMP |
@@ -346,5 +346,5 @@
| 未使用TYPE | 4G, N, BINARY, ZZZ9 |
| TYPEカバレッジ率 | 63.6%(特殊含め90.9% |
> 本ファイルは全コードベース(KIN01-09 + ZAN01-06 + SUB01-05 = 20プログラム)を統合したカバレッジ状況。
> 本ファイルは全コードベース(KIN01-09 + ZAN01-06 + KYU01-09 + SUB01-05 = 29プログラム)を統合したカバレッジ状況。
> 定義ファイル(COBOLキーワード網羅定義書.md)と合わせて参照すること。