KIN03EXP: SELECT INTO → CURSOR(DECLARE/OPEN/FETCH/CLOSE) pattern; SUB01DAT: COPY ZANDATAC; 基本設計書A: KIN08DBU/KIN09CSV specs updated; 品質管理: coverage stats, keyword docs, test criteria

This commit is contained in:
qiuqiuqiu
2026-06-30 21:22:15 +08:00
parent a110bccdaf
commit baa5be54d2
40 changed files with 3382 additions and 350 deletions
+253 -223
View File
@@ -1,7 +1,7 @@
# カバレッジ統計
> 本ファイルは全コードベース(KIN + ZAN + SUB)を統合したカバレッジ状況を集計する。
> 定義ファイル(COBOLキーワード網羅定義書.md)の Part 1(予約語一覧)・Part 3.1(カテゴリ定義)を参照して集計する。
> 定義ファイル(COBOLキーワード網羅定義書.md)の ## 1.(予約語一覧)・## 2.TYPE定義)を参照して集計する。
> 凡例:◎=使用済、○=使用あり(一部構文のみ)、×=未使用、△=調査中
---
@@ -62,204 +62,256 @@
---
## 2. カテゴリカバレッジ
## 2. TYPE定義カバレッジ(PICTURE句)
### 2.1 カテゴリ別使用状況
> COBOLキーワード網羅定義書.mdの ## 2.1 PICTURE記号一覧(11種)に基づき、コードベースでの使用状況を集計する。
| カテゴリ | 全文数 | 使用文数 | 使用文一覧 | 未使用文 | カバレッジ率 |
|---------|:-----:|:-------:|-----------|---------|:----------:|
| 入出力(ファイル) | 7 | 6 | READ, WRITE, OPEN, CLOSE, WRITE FROM, WRITE ADVANCING | DELETE(SEQ), REWRITE, START | 85.7% |
| 入出力(ソート) | 4 | 0 | — | SORT, MERGE, RELEASE, RETURN | 0.0% |
| 入出力(画面/システム) | 3 | 2 | ACCEPT, DISPLAY | STOP RUN(SUB03END使用), STOP literal | 66.7% |
| 算術演算 | 5 | 5 | ADD, SUBTRACT, MULTIPLY, DIVIDE, COMPUTE | —(CORRESPONDING/REMAINDERは一部使用) | 100% |
| 制御(条件分岐) | 4 | 4 | IF, EVALUATE, SEARCH, CONTINUE | — | 100% |
| 制御(繰返し) | 1 | 1 | PERFORM(UNTIL/VARYING/THRU/TEST AFTER) | — | 100% |
| 制御(分岐/呼出) | 7 | 4 | CALL, GOBACK, EXIT, GO TO | CANCEL, ENTRY, ALTER, EXIT PROGRAM | 57.1% |
| 文字操作 | 4 | 4 | STRING, UNSTRING, INSPECT, INITIALIZE | —(MOVE含む) | 100% |
| 埋込み言語 | 1 | 1 | EXEC SQL ... END-EXEC | —(EXEC CICS未使用) | 100% |
| **合計** | **38** | **27** | **(上記参照)** | **11件(ALTER,CANCEL,ENTRY,EXEC CICS,EXIT PROGRAM,MERGE,RELEASE,RETURN,REWRITE,SORT,START)** | **71.1%** |
### 2.1 PICTURE記号別使用状況
### 2.2 未カバーカテゴリ
| No. | 記号 | 名称 | 使用状況 | 使用例 |
|:---:|:----|:-----|:-------:|:------|
| 1 | X | 英数字文字 | ◎ | PIC X(1)~X(303) 全プログラム(19種の長さ) |
| 2 | G | DBCS文字 | × | 未使用(日本語項目は全てPIC Xで定義) |
| 3 | N | ナショナル/DBCS文字 | × | 未使用 |
| 4 | 9 | 数字 | ◎ | PIC 9(1)~9(9) 全プログラム(カウンタ・フラグ・集計) |
| 5 | 9(m)V9(n) | 固定小数点数 | ◎ | PIC 9(4)V9(1)WRK-ACCUM-HOURS等) |
| 6 | S9(m)V9(n) | 符号付き固定小数点数 | ○ | PIC S9(5)V9(1)ZAN03CHK |
| 7 | S9(m)V9(n) COMP-3 | パック10進符号付き固定小数 | ◎ | PIC S9(7)V9(1) COMP-3DB-OVT-HOURS |
| 8 | S9(m) COMP-3 | パック10進符号付き整数 | ◎ | PIC S9(9) COMP-3CUN-*計数項目 計15変数) |
| 9 | S9(m) COMP | 2進符号付き整数 | ◎ | PIC S9(9) COMP(索引・カウンタ) |
| 10 | S9(m) BINARY | 2進符号付き整数(COMP同義) | × | COMPで代用、BINARY表記は不使用 |
| 11 | ZZZ9 | ゼロ抑制編集 | × | 未使用(Z(3)9.9は補足形式として使用中) |
| カテゴリ | 未使用文 | 備考 |
|---------|---------|------|
| 入出力(ソート) | SORT, MERGE, RELEASE, RETURN | JCL PGM=SORTに委譲。COBOL SORT不使用 |
| 制御(分岐/呼出) | CANCEL, ENTRY, ALTER, EXIT PROGRAM | GOBACKで代用。ALTERは非推奨 |
| 入出力(ファイル) | REWRITE, START | VSAM/INDEXED非対応。DELETEはEXEC SQLのみ |
### 2.2 未使用PICTURE記号
| 記号 | 名称 | 備考 |
|:----:|:-----|:-----|
| G | DBCS文字 | 日本語項目はPIC Xで十分 |
| N | ナショナル/DBCS文字 | NSYMBOL(NATIONAL)設定時のみ必要 |
| BINARY | 2進符号付き整数 | COMPで代用可 |
| ZZZ9 | ゼロ抑制編集 | 現在不使用 |
### 2.3 補足:特殊編集形式
コードベースでは上記11種に加え、以下の編集形式が使用されている:
| 形式 | 使用先 |
|:----|:-------|
| +9(009) | WS-DISP-HV-SICK-H等(符号付き表示編集) |
| Z(3)9.9 | WS-DISP-HV-ANNUAL-H等(ゼロ抑制編集・小数点明示) |
| S9 DISPLAY | WS-DISP-CUN-DBXUPD等(COMP-3→DISPLAY変換用) |
| 9(004).9(001) | 編集出力時の小数点明示形式 |
---
## 3. 予約語・構文パターンカバレッジ
## 3. 予約語カバレッジ一覧
> 定義ファイル(COBOLキーワード網羅定義書.md Part 1)の「対応するCOBOL節/文」列に基づき、各構文パターンの使用状況を記録する。
> 優先度:高=当該プログラムタイプで必須、中=使用頻度高い、低=特殊用途
> 凡例:◎=使用済(複数PGM)、○=使用あり(単一PGM)、×=未使用
> 全201予約語(COBOLキーワード網羅定義書.md Part1 192語 + 補足9語)をアルファベット順に一覧する。
> 凡例:◎=複数PGMで使用、○=単一PGMのみ、×=未使用
### 3.1 入出力(ファイル)
#### READ
| 構文パターン | 説明 | 使用状況 | 優先度 | 備考 |
|-------------|------|:-------:|:------:|------|
| READ INTO | レコード読込+データ移動 | ◎ | 高 | 全ファイル読込PGMKIN03EXP/KIN06CLDを除く) |
| READ KEY IS | キー指定読込 | × | 高 | 逐次読込のみ、キー指定不要 |
| READ AT END | 終了条件処理 | ◎ | 高 | READ AT END / NOT AT END / END-READ |
| READ NEXT | 順次読込 | ◎ | 高 | 全READ文は順次読込 |
| READ PREVIOUS | 逆方向読込 | × | 低 | 動的アクセス時のみ |
| READ NOT AT END | 終了条件否定処理 | ○ | 中 | ZAN01CHKなど |
| READ WITH WAIT | ファイル解放待ち | × | 低 | |
| READ LOCK/IGNORE LOCK | ロック制御 | × | 低 | |
#### WRITE
| 構文パターン | 説明 | 使用状況 | 優先度 | 備考 |
|-------------|------|:-------:|:------:|------|
| WRITE FROM | 転記書出 | | 高 | KIN04CHK(2050NORMSOR)のみ |
| WRITE ADVANCING | 改行・改ページ制御 | ○ | | KIN09CSVPAGE/2 LINES/1 LINE |
| WRITE END-OF-PAGE | ページ終了処理 | × | 低 | |
| WRITE INVALID KEY | キー異常処理 | × | 中 | 索引ファイル時 |
#### OPEN
| 構文パターン | 説明 | 使用状況 | 優先度 | 備考 |
|-------------|------|:-------:|:------:|------|
| OPEN INPUT | 入力オープン | ◎ | 高 | 全ファイル入力PGM |
| OPEN OUTPUT | 出力オープン | ◎ | 高 | 全ファイル出力PGM |
| OPEN I-O | 入出力オープン | × | 高 | VSAM非対応 |
| OPEN EXTEND | 追加オープン | × | 中 | |
| OPEN WITH NO REWIND | 巻戻しなし | × | 低 | テープ時のみ |
#### CLOSE
| 構文パターン | 説明 | 使用状況 | 優先度 | 備考 |
|-------------|------|:-------:|:------:|------|
| CLOSE WITH LOCK | ロック付きクローズ | × | 低 | |
| CLOSE FOR REMOVAL | テープリール取外し | × | 低 | |
#### DELETE, REWRITE, START
| 構文パターン | 説明 | 使用状況 | 優先度 | 備考 |
|-------------|------|:-------:|:------:|------|
| DELETE(SEQ FILE) | 逐次ファイル削除 | × | 中 | EXEC SQL DELETEはKIN02UPDで使用 |
| REWRITE FROM | 書換え+転記 | × | 中 | |
| REWRITE INVALID KEY | 書換え+キー異常処理 | × | 中 | |
| START KEY IS | 開始位置指定 | × | 中 | |
| START INVALID KEY | 位置指定+異常処理 | × | 中 | |
### 3.2 入出力(ソート)
| 構文パターン | 説明 | 使用状況 | 優先度 | 備考 |
|-------------|------|:-------:|:------:|------|
| SORT ON KEY | 整列キー指定 | × | 低 | 現状未使用 |
| SORT USING | 入力ファイル指定 | × | 低 | |
| SORT GIVING | 出力ファイル指定 | × | 低 | |
| SORT INPUT PROCEDURE | 入力手続き | × | 低 | |
| SORT OUTPUT PROCEDURE | 出力手続き | × | 低 | |
| MERGE ON KEY | 結合キー指定 | × | 低 | |
| RELEASE FROM | SORTへの引渡し | × | 低 | |
| RETURN INTO | SORTからの受取り | × | 低 | |
### 3.3 入出力(画面/システム)
| 構文パターン | 説明 | 使用状況 | 優先度 | 備考 |
|-------------|------|:-------:|:------:|------|
| ACCEPT FROM DATE/DAY/TIME | システム日付時刻取得 | ○ | | KIN06CLDでACCEPT FROM COMMAND-LINE使用DATE系はSUB01DAT委譲) |
| DISPLAY UPON | 出力先指定表示 | × | 高 | DISPLAYはあるがUPON句不使用 |
| DISPLAY WITH NO ADVANCING | 改行なし表示 | × | 中 | |
| STOP RUN | プログラム終了 | ○ | | SUB03ENDのみ(STOP RUN RETURN-CODE |
| STOP literal | 一時停止 | × | 低 | |
### 3.4 算術演算
| 構文パターン | 説明 | 使用状況 | 優先度 | 備考 |
|-------------|------|:-------:|:------:|------|
| ADD TO/GIVING | 加算 | ◎ | 高 | ADD 1 TO CUN-xxx(全メインプログラム |
| ADD CORRESPONDING | 対応項目加算 | × | 中 | 未使用 |
| SUBTRACT FROM/GIVING | 減算 | ◎ | 高 | KIN07DAI6100/6300)、ZAN06UPD |
| SUBTRACT CORRESPONDING | 対応項目減算 | × | 中 | 未使用 |
| MULTIPLY BY/GIVING | 乗算 | ◎ | 中 | KIN07DAI、ZAN06UPD(時間→分変換) |
| DIVIDE INTO/BY | 除算 | ◎ | 中 | ZAN01CHK、ZAN05CAL、SUB05TIM、KIN07DAI |
| DIVIDE REMAINDER | 商と余り | | 中 | DIVIDE...GIVING...REMAINDERZAN01, ZAN05, SUB05, KIN07 |
| COMPUTE | 計算代入 | ◎ | 高 | ZAN01, ZAN03, ZAN05, KIN03, KIN06, SUB05 |
| ROUNDED | 丸め指定 | ◎ | 中 | COMPUTE ROUNDED(上記PGM |
| SIZE ERROR | サイズ異常処理 | ○ | | COMPUTE ON SIZE ERRORZAN01, ZAN03 |
### 3.5 制御(条件分岐)
| 構文パターン | 説明 | 使用状況 | 優先度 | 備考 |
|-------------|------|:-------:|:------:|------|
| IF THEN/ELSE/END-IF | 条件分岐 | ◎ | 高 | 全メインプログラム + SUB04CHK, SUB05TIM |
| EVALUATE ALSO/WHEN/OTHER | 多分岐 | ◎ | 高 | 12本中11本(KIN04/KIN06以外) |
| SEARCH ALL | バイナリサーチ | ◎ | 中 | KIN03EXP(休日), ZAN03CHK(休日) |
| SEARCH VARYING | 変数変化付探索 | × | 中 | SEARCH(非ALL)はKIN01INPのみ |
| CONTINUE | 無操作 | ◎ | 低 | SEARCH ALL AT END, EVALUATE WHEN OTHER |
### 3.6 制御(繰返し)
| 構文パターン | 説明 | 使用状況 | 優先度 | 備考 |
|-------------|------|:-------:|:------:|------|
| PERFORM 外部段落 | 段落呼出 | | 高 | 全メインプログラム |
| PERFORM THRU | 段落範囲呼出 | | | KIN03EXP2100 THRU ...-EXIT |
| PERFORM TIMES | 回数指定 | × | 中 | 未使用 |
| PERFORM UNTIL | 条件指定 | ◎ | 高 | 全メインプログラム |
| PERFORM VARYING/AFTER | 変数変化付 | | 高 | ZAN06UPD, KIN06CLD(線形探索) |
| PERFORM インライン | インライン記述 | × | 高 | 全PERFORMは外部段落呼出し |
| PERFORM TEST BEFORE/AFTER | 判定タイミング指定 | ○ | 中 | ZAN06UPDPERFORM TEST AFTER VARYING |
### 3.7 制御(分岐/呼出)
| 構文パターン | 説明 | 使用状況 | 優先度 | 備考 |
|-------------|------|:-------:|:------:|------|
| CALL USING | 引数付呼出 | ◎ | 高 | 全メインプログラム(CALL SUB01-05 |
| CALL RETURNING | 戻値付呼出 | × | 中 | RETURN-CODEは使用するがCALL RETURNING不使用 |
| CALL ON EXCEPTION | 呼出異常処理 | × | 中 | |
| GOBACK | プログラム終了 | ◎ | 高 | 全14プログラム |
| EXIT(plain) | 段落・節の共通終点 | ◎ | | 全14プログラム(xxx-EXT. EXIT. |
| EXIT PROGRAM | 呼出元復帰 | × | 高 | GOBACKで代用 |
| EXIT PARAGRAPH/SECTION | 段落・節終了 | × | 低 | |
| EXIT PERFORM/CYCLE | PERFORM脱出 | × | 低 | |
| GO TO | 制御移行 | | 中 | ZAN01CHK, KIN01INP, KIN04CHK, SUB04CHK, KIN08DBU(DEPENDING ON) |
| CANCEL ON EXCEPTION | プログラム解放 | × | 低 | |
| ALTER TO PROCEED TO | 分岐先変更 | × | 低 | 廃止予定 |
| ENTRY USING | 別エントリポイント | × | 低 | |
### 3.8 文字操作
| 構文パターン | 説明 | 使用状況 | 優先度 | 備考 |
|-------------|------|:-------:|:------:|------|
| STRING DELIMITED BY/INTO | 文字列連結 | ◎ | 高 | KIN01,02,04,06, ZAN01-04,06, SUB02MSG |
| STRING WITH POINTER | 位置指定連結 | ○ | 中 | KIN09CSV2000MAJSOR/2500-SHORT-MODE | |
| UNSTRING DELIMITED BY/INTO | 文字列分解 | ◎ | 高 | KIN01INP, KIN04CHK, ZAN01CHK |
| UNSTRING WITH POINTER | 位置指定分解 | × | 中 | |
| UNSTRING TALLYING | 分解数計数 | ○ | | KIN01INP, KIN04CHK, ZAN01CHKTALLYING IN CNT |
| INSPECT TALLYING | 文字計数 | ◎ | 中 | ZAN01CHK, KIN04CHK, SUB04CHK |
| INSPECT REPLACING | 文字置換 | ○ | 中 | KIN09CSV(CSVカンマ・改行サニタイズ) | |
| INSPECT CONVERTING | 文字変換 | × | 中 | |
| INITIALIZE REPLACING | カテゴリ別初期化 | × | 中 | 全PGMでINITIALIZE(plain)を使用。REPLACING句未使用 |
| MOVE TO | 基本代入 | ◎ | 高 | 全14プログラム |
| MOVE CORRESPONDING | 対応項目代入 | × | 中 | |
### 3.9 埋込み言語
| 構文パターン | 説明 | 使用状況 | 優先度 | 備考 |
|-------------|------|:-------:|:------:|------|
| EXEC SQL ... END-EXEC | DB2アクセス | ◎ | | KIN02UPD, KIN03EXP, KIN08DBU, KIN09CSV, ZAN06UPD |
| EXEC CICS ... END-EXEC | CICSコマンド | × | 低 | 現状バッチのみ |
### 3.10 組込み関数
| 構文パターン | 説明 | 使用状況 | 優先度 | 備考 |
|-------------|------|:-------:|:------:|------|
| FUNCTION WHEN-COMPILED | コンパイル日時取得 | | 高 | 全14メインプログラム(MSG033出力) |
| FUNCTION TRIM | 文字列前後空白除去 | ◎ | 中 | KIN08DBU(1130-MODESOR), KIN09CSV |
| FUNCTION MOD | 剰余算 | | 中 | KIN03EXP(曜日/うるう年), KIN06CLD(うるう年) |
| FUNCTION INTEGER-OF-DATE | 日付→整数変換 | ◎ | 中 | KIN03EXP, KIN06CLD |
| FUNCTION NUMVAL | 文字→数値変換 | ◎ | 中 | KIN03EXP, SUB04CHK |
| FUNCTION CURRENT-DATE | 現在日時取得 | ◎ | 高 | SUB01DAT(基本日付取得) |
| FUNCTION MIN/MAX | 最小/最大値 | | 中 | KIN07DAIFUNCTION MIN/MAX |
| FUNCTION LENGTH/REVERSE/UPPER-CASE/LOWER-CASE | その他汎用関数 | × | 低 | 未使用 |
| FUNCTION RANDOM | 乱数生成 | × | 低 | 未使用 |
| FUNCTION SUBSTITUTE | 文字列置換 | × | 中 | INSPECT REPLACINGで代用 |
| No. | 予約語 | 使用状況 | 使用プログラム/備考 |
|:---:|--------|:-------:|-------------------|
| 1 | ACCEPT | ◎ | ACCEPT FROM COMMAND-LINE(KIN06CLD,KIN08DBU)、DATE/DAY/TIME系SUB01DAT委譲 |
| 2 | ACCESS | × | |
| 3 | ADD | ◎ | ADD TO/GIVING 全メインプログラム |
| 4 | AFTER | ◎ | WRITE AFTER ADVANCING(KIN09CSV)、INSPECT AFTER(KIN09CSV)、PERFORM VARYING AFTER(ZAN06UPD) |
| 5 | ALL | ◎ | SEARCH ALL(KIN03EXP,ZAN03CHK)、INSPECT ALL(ZAN01CHK) |
| 6 | ALPHABETIC | × | |
| 7 | ALPHABETIC-UPPER | × | |
| 8 | ALSO | ◎ | EVALUATE ALSO(11プログラム) |
| 9 | AND | | 条件式 全プログラム |
| 10 | ANY | × | |
| 11 | APPLY | × | |
| 12 | ASCENDING | ◎ | OCCURS ASCENDING KEY(KIN01INP,SUB04CHK)、SEARCH ALL |
| 13 | ASSIGN | ◎ | SELECT ASSIGN TO 全プログラム |
| 14 | AT | ◎ | READ AT END、WRITE AT END-OF-PAGE、SEARCH AT END |
| 15 | AUTHOR | ◎ | IDENTIFICATION DIVISION 全プログラム |
| 16 | BINARY | × | COMP使用、BINARY表記不使用 |
| 17 | BLOCK | ◎ | FD BLOCK CONTAINS 全ファイル入出力PGM |
| 18 | BY | | PERFORM VARYING BY、MULTIPLY BY、DIVIDE BY、CALL BY REFERENCE |
| 19 | CALL | | CALL SUB01-05 全メインプログラム |
| 20 | CHARACTER | × | |
| 21 | CHARACTERS | | INSPECT CHARACTERS(ZAN01CHK,KIN04CHK,SUB04CHK) |
| 22 | CLOSE | ◎ | CLOSE 全ファイル入出力PGM |
| 23 | COMP | ◎ | USAGE COMP カウンタ/フラグ |
| 24 | COMP-3 | ◎ | USAGE COMP-3 集計/金額項目 |
| 25 | COMP-4 | × | COMPと同義だが不使用 |
| 26 | COMPUTE | ◎ | COMPUTE ROUNDED(ZAN01,ZAN03,ZAN05,KIN03,KIN06,SUB05) |
| 27 | CONDITION | × | |
| 28 | CONFIGURATION | ◎ | CONFIGURATION SECTION 全プログラム |
| 29 | CONTAINS | ◎ | FD BLOCK CONTAINS / RECORD CONTAINS |
| 30 | CONTINUE | ◎ | 全プログラム(SEARCH AT END、EVALUATE OTHER) |
| 31 | CONVERTING | × | |
| 32 | COPY | ◎ | COPY 全プログラム(C書式取込み) |
| 33 | CORR | × | MOVE CORR/ADD CORR未使用 |
| 34 | COUNT | × | UNSTRING COUNT IN未使用 |
| 35 | CURSOR | ◎ | DECLARE/OPEN/FETCH/CLOSE CURSOR(KIN02UPD,KIN09CSV) |
| 36 | DATA | ◎ | DATA DIVISION 全プログラム |
| 37 | DATE | ◎ | ACCEPT FROM DATE(SUB01DAT委譲) |
| 38 | DATE-COMPILED | ◎ | IDENTIFICATION DIVISION 全プログラム |
| 39 | DATE-WRITTEN | ◎ | IDENTIFICATION DIVISION 全プログラム |
| 40 | DECLARATIVES | × | |
| 41 | DELETE | × | COBOL DELETE(SEQ FILE)未使用。EXEC SQL DELETEはKIN02UPD |
| 42 | DELIMITED | ◎ | STRING/UNSTRING DELIMITED BY |
| 43 | DELIMITER | × | UNSTRING DELIMITER IN未使用 |
| 44 | DEPENDING | ◎ | GO TO DEPENDING ON(KIN08DBU)、OCCURS DEPENDING ON |
| 45 | DESCENDING | × | |
| 46 | DISPLAY | ◎ | DISPLAY文(MSG出力) 5プログラム |
| 47 | DISPLAY-1 | × | |
| 48 | DIVIDE | ◎ | DIVIDE GIVING REMAINDER(ZAN01,ZAN05,SUB05,KIN07) |
| 49 | DIVISION | ◎ | IDENTIFICATION/ENVIRONMENT/DATA/PROCEDURE DIVISION 全プログラム |
| 50 | DOWN | × | SET DOWN未使用 |
| 51 | DYNAMIC | × | |
| 52 | EJECT | × | |
| 53 | ELSE | ◎ | IF ELSE END-IF 全プログラム |
| 54 | END | ◎ | END-IF、END-READ、END-PERFORM等スコープターミネータ |
| 55 | END-ADD | × | |
| 56 | END-CALL | | END-CALL(CALL使用PGM) |
| 57 | END-COMPUTE | ◎ | END-COMPUTE(COMPUTE使用PGM) |
| 58 | END-DIVIDE | × | |
| 59 | END-EVALUATE | ◎ | END-EVALUATE(EVALUATE使用11PGM) |
| 60 | END-EXEC | | END-EXEC(EXEC SQL使用5PGM) |
| 61 | END-IF | ◎ | END-IF 全プログラム |
| 62 | END-PERFORM | ◎ | END-PERFORM 全プログラム |
| 63 | END-READ | ◎ | END-READ(READ使用PGM) |
| 64 | END-SEARCH | ◎ | END-SEARCH(SEARCH使用PGM) |
| 65 | END-STRING | ◎ | END-STRING(STRING使用PGM) |
| 66 | END-SUBTRACT | × | |
| 67 | END-UNSTRING | | END-UNSTRING(UNSTRING使用PGM) |
| 68 | ENVIRONMENT | | ENVIRONMENT DIVISION 全プログラム |
| 69 | ERROR | ◎ | ON SIZE ERROR(COMPUTE:ZAN01,ZAN03) |
| 70 | EVALUATE | | EVALUATE ALSO WHEN OTHER END-EVALUATE 11プログラム |
| 71 | EXEC | | EXEC SQL END-EXEC(KIN02UPD,KIN03EXP,KIN08DBU,KIN09CSV,ZAN06UPD) |
| 72 | EXCEPTION | × | CALL ON EXCEPTION未使用 |
| 73 | EXECUTE | × | |
| 74 | EXIT | ◎ | 段落共通終点 EXIT 全14プログラム |
| 75 | FALSE | × | |
| 76 | FD | ◎ | FILE DESCRIPTION 全ファイル入出力PGM |
| 77 | FILE | ◎ | FILE SECTION、FILE-CONTROL 全プログラム |
| 78 | FILE-CONTROL | ◎ | FILE-CONTROL SELECT ASSIGN 全プログラム |
| 79 | FILLER | ◎ | FILLER 全プログラム(DATA DIVISION) |
| 80 | FIRST | ◎ | INSPECT FIRST(ZAN01CHK,KIN04CHK,SUB04CHK) |
| 81 | FOR | ◎ | PERFORM VARYING FOR、INSPECT FOR |
| 82 | FROM | ◎ | ACCEPT FROM、STRING FROM、PERFORM VARYING FROM |
| 83 | GET | × | |
| 84 | GIVING | ◎ | ADD/DIVIDE/MULTIPLY/SUBTRACT GIVING |
| 85 | GO | ◎ | GO TO(ZAN01CHK,KIN01INP,KIN04CHK,SUB04CHK,KIN08DBU(DEPENDING ON)) |
| 86 | GOBACK | | GOBACK 全14プログラム |
| 87 | GREATER | × | |
| 88 | HIGH-VALUE | × | |
| 89 | I-O-CONTROL | × | I-O-CONTROL段落不使用 |
| 90 | ID | × | |
| 91 | IDENTIFICATION | ◎ | IDENTIFICATION DIVISION 全プログラム |
| 92 | IF | ◎ | IF ELSE END-IF 全プログラム |
| 93 | IN | ◎ | INSPECT TALLYING IN、SEARCH IN |
| 94 | INDEXED | ◎ | OCCURS INDEXED BY(KIN01INP,KIN03EXP,ZAN03CHK) |
| 95 | INITIAL | × | PROGRAM-ID INITIAL不使用 |
| 96 | INITIALIZE | ◎ | INITIALIZE 全プログラム(REPLACING句は×) |
| 97 | INPUT | ◎ | OPEN INPUT、INPUT-OUTPUT SECTION |
| 98 | INPUT-OUTPUT | ◎ | INPUT-OUTPUT SECTION 全プログラム |
| 99 | INSERT | ◎ | EXEC SQL INSERT(KIN02UPD,KIN08DBU) |
| 100 | INSPECT | ◎ | INSPECT TALLYING/REPLACING(ZAN01CHK,KIN04CHK,SUB04CHK,KIN09CSV) |
| 101 | INTO | ◎ | READ INTO、STRING INTO、UNSTRING INTO |
| 102 | INVALID | × | COBOL INVALID KEY未使用 |
| 103 | IS | | 条件式IS、ACCESS MODE IS等 |
| 104 | KEY | | ASCENDING/DESCENDING KEY、SEARCH KEY、OCCURS KEY |
| 105 | LABEL | ◎ | FD LABEL RECORDS STANDARD |
| 106 | LENGTH | × | FUNCTION LENGTH未使用 |
| 107 | LINKAGE | | LINKAGE SECTION サブプログラム(SUB01-05)CALL有PGM |
| 108 | LOW-VALUE | × | |
| 109 | MODE | ◎ | RECORDING MODE F |
| 110 | MOVE | ◎ | MOVE TO 全14プログラム |
| 111 | MULTIPLY | ◎ | MULTIPLY BY/GIVING(KIN07DAI,ZAN06UPD) |
| 112 | NEXT | × | |
| 113 | NOT | ◎ | NOT AT END、NOT ON ERROR、IF NOT 全プログラム |
| 114 | NUMERIC | ◎ | IF NUMERIC(SUB04CHK) |
| 115 | OBJECT-COMPUTER | ◎ | OBJECT-COMPUTER 全プログラム |
| 116 | OCCURS | ◎ | OCCURS TIMES/DEPENDING ON/INDEXED BY |
| 117 | OF | ◎ | データ参照修飾(全プログラム) |
| 118 | OMITTED | × | |
| 119 | ON | | ON SIZE ERROR、OCCURS DEPENDING ON |
| 120 | OPEN | ◎ | OPEN INPUT/OUTPUT 全ファイル入出力PGM |
| 121 | OPTIONS | × | |
| 122 | OR | | 条件式 OR、UNSTRING DELIMITED BY OR |
| 123 | ORDER | × | |
| 124 | ORGANIZATION | × | |
| 125 | OTHER | | EVALUATE WHEN OTHER |
| 126 | OUTPUT | ◎ | OPEN OUTPUT |
| 127 | PACKED-DECIMAL | × | COMP-3使用、PACKED-DECIMAL表記不使用 |
| 128 | PAGE | ◎ | WRITE ADVANCING PAGE(KIN09CSV) |
| 129 | PAGE-COUNTER | × | |
| 130 | PERFORM | ◎ | PERFORM 全14プログラム(VARYING/UNTIL/THRU/TEST AFTER) |
| 131 | PIC | ◎ | PICTURE句 全プログラム |
| 132 | POINTER | ◎ | STRING WITH POINTER(KIN09CSV) |
| 133 | PROCEDURE | ◎ | PROCEDURE DIVISION 全プログラム |
| 134 | PROGRAM-ID | | PROGRAM-ID 全プログラム |
| 135 | RANDOM | × | |
| 136 | READ | ◎ | READ INTO AT END 全ファイル読込PGM |
| 137 | RECORD | ◎ | FD RECORD CONTAINS |
| 138 | RECORDING | ◎ | FD RECORDING MODE F |
| 139 | RECORDS | ◎ | FD LABEL RECORDS STANDARD、BLOCK CONTAINS RECORDS |
| 140 | REDEFINES | ◎ | REDEFINES(各種PGM WORKING-STORAGE) |
| 141 | REMAINDER | ◎ | DIVIDE GIVING REMAINDER(ZAN01,ZAN05,SUB05,KIN07) |
| 142 | REMOVAL | × | |
| 143 | REPLACING | ◎ | COPY REPLACING、INSPECT REPLACING(KIN09CSV)。INITIALIZE REPLACINGは× |
| 144 | RERUN | × | |
| 145 | RETURN-CODE | ◎ | RETURN-CODE 全プログラム(SUB03ENDでMOVE→STOP RUN) |
| 146 | ROUNDED | ◎ | COMPUTE ROUNDED(ZAN01,ZAN03,ZAN05,KIN03,KIN06,SUB05) |
| 147 | RUN | | STOP RUN RETURN-CODE(SUB03ENDのみ) |
| 148 | SEARCH | ◎ | SEARCH ALL(KIN03EXP,ZAN03CHK)、SEARCH(KIN01INP) |
| 149 | SECTION | ◎ | CONFIGURATION/INPUT-OUTPUT/WORKING-STORAGE/LINKAGE/PROCEDURE SECTION |
| 150 | SELECT | ◎ | SELECT ASSIGN(FILE-CONTROL)全プログラム、EXEC SQL SELECT |
| 151 | SENTENCE | × | |
| 152 | SET | ◎ | SET condition-name TO TRUE(条件名設定) |
| 153 | SHIFT-IN | × | |
| 154 | SHIFT-OUT | × | |
| 155 | SIZE | ◎ | ON SIZE ERROR(COMPUTE:ZAN01CHK,ZAN03CHK) |
| 156 | SKIP2 | × | |
| 157 | SOURCE-COMPUTER | ◎ | SOURCE-COMPUTER IBM-ZSERIES 全プログラム |
| 158 | SPACE | ◎ | SPACE/SPACES INITIALIZE後、VALUE、MOVE |
| 159 | SPACES | ◎ | SPACES(SPACEと同義) |
| 160 | SQL | | EXEC SQL(KIN02UPD,KIN03EXP,KIN08DBU,KIN09CSV,ZAN06UPD) |
| 161 | STANDARD | ◎ | FD LABEL RECORDS STANDARD |
| 162 | STOP | | STOP RUN(SUB03ENDのみ) |
| 163 | STRING | ◎ | STRING DELIMITED BY INTO(KIN01,02,04,06,ZAN01-04,06,SUB02MSG) |
| 164 | SUBTRACT | ◎ | SUBTRACT FROM/GIVING(KIN07DAI,ZAN06UPD) |
| 165 | TABLE | × | |
| 166 | TALLYING | ◎ | INSPECT TALLYING、UNSTRING TALLYING IN |
| 167 | TEST | ◎ | PERFORM TEST AFTER(ZAN06UPD) |
| 168 | THEN | ◎ | IF THEN(一部PGMで明示的THEN使用) |
| 169 | THRU | ◎ | PERFORM THRU(KIN03EXP)、VALUE THRU |
| 170 | TIME | ◎ | ACCEPT FROM TIME(SUB01DAT経由) |
| 171 | TIMES | ◎ | OCCURS TIMES |
| 172 | TO | ◎ | MOVE TO、ADD TO、GO TO 全プログラム |
| 173 | TRUE | ◎ | EVALUATE TRUE、SET condition TO TRUE |
| 174 | TYPE | × | |
| 175 | UNSTRING | ◎ | UNSTRING DELIMITED BY INTO(KIN01INP,KIN04CHK,ZAN01CHK) |
| 176 | UNTIL | ◎ | PERFORM UNTIL 全プログラム |
| 177 | UP | × | SET UP未使用 |
| 178 | UPON | × | DISPLAY UPON未使用 |
| 179 | USAGE | ◎ | USAGE DISPLAY/COMP/COMP-3 |
| 180 | USE | × | |
| 181 | USING | ◎ | PROCEDURE DIVISION USING、CALL USING 全プログラム |
| 182 | VALUE | ◎ | VALUE 全プログラム(88条件名、初期値) |
| 183 | VALUES | ◎ | VALUES(88条件名複数値) |
| 184 | VARYING | ◎ | PERFORM VARYING(ZAN06UPD,KIN06CLD)、SEARCH VARYING(KIN01INP) |
| 185 | WHEN | ◎ | EVALUATE WHEN、SEARCH WHEN |
| 186 | WHEN-COMPILED | ◎ | FUNCTION WHEN-COMPILED 全14プログラム |
| 187 | WITH | ◎ | STRING WITH POINTER、WRITE WITH ADVANCING |
| 188 | WORKING-STORAGE | ◎ | WORKING-STORAGE SECTION 全プログラム |
| 189 | WRITE | ◎ | WRITE FROM/ADVANCING 全ファイル出力PGM |
| 190 | WRITE-ONLY | × | |
| 191 | ZERO | ◎ | ZERO/ZEROS VALUE 0、MOVE ZERO |
| 192 | ZEROS | ◎ | ZEROS(ZEROと同義) |
| 193 | ALTER | × | 非推奨 |
| 194 | CANCEL | × | |
| 195 | ENTRY | × | |
| 196 | MERGE | × | JCL PGM=SORTに委譲 |
| 197 | RELEASE | × | COBOL SORT未使用 |
| 198 | RETURN | × | COBOL RETURN文未使用(RETURN-CODEは特殊レジスタ) |
| 199 | REWRITE | × | VSAM非対応 |
| 200 | SORT | × | JCL PGM=SORTに委譲 |
| 201 | START | × | 順次読込のみ |
---
@@ -275,20 +327,16 @@
| カバレッジ率(◎/35 | 45.7% |
| カバレッジ率(◎+○/35 | 48.6% |
| 実装対象限定(1-9,13-15,24-26,28,30-31= 20種中 | 17件 = 85.0% |
| **カテゴリカバレッジ(9カテゴリ** | |
| 全カテゴリ数 | 9 |
| カバー済カテゴリ(使用文あり) | 8 / 9 |
| 未カバーカテゴリ | 入出力(ソート)(4文すべて未使用) |
| カテゴリカバレッジ率 | 88.9% |
| **ステートメントカバレッジ(45ユニーク** | |
| 全ステートメント数 | 45 |
| 使用済ステートメント | 37 |
| 未使用ステートメント | 8 |
| カバレッジ率 | 82.2% |
| **予約語カバレッジ** | |
| 全予約語数(COBOLキーワード網羅定義書.md準拠) | 193 |
| 使用予約語数 | 137 |
| カバレッジ率 | 71.0% |
| **PICTURE記号カバレッジ(Section 2.1** | |
| 全記号数(11種) | 11 |
| 使用済記号(◎+○) | 7 |
| 未使用記号(×) | 4 |
| カバレッジ率 | 63.6% |
| **予約語カバレッジ(Section 3** | |
| 全予約語数(COBOLキーワード網羅定義書.md Part1 + 補足9語) | 201 |
| 使用予約語数(◎+○) | 137 |
| 未使用予約語数(×) | 64 |
| カバレッジ率 | 68.2% |
| **TYPE定義カバレッジ(11種)** | |
| 全TYPE定義数 | 11 |
| 使用済TYPE | 7X, 9, 9V9, S9V9, S9V9 COMP-3, S9 COMP-3, S9 COMP |
@@ -296,23 +344,5 @@
| 未使用TYPE | 4G, N, BINARY, ZZZ9 |
| TYPEカバレッジ率 | 63.6%(特殊含め90.9% |
## 5. サブシステムA プログラム実装状況
| No. | プログラムID | プログラム名 | プログラムタイプ | 実装 | 備考 |
|:---:|:-----------:|:------------|:----------------:|:----:|------|
| 1 | KIN01INP | 休暇申請CSV取込・検証処理 | 振り分け(IF) + CSV→FB | ◎ | 実装済 |
| 2 | KIN02UPD | 休暇申請DB更新処理 | DB更新(INSERT/DELETE/SELECT | ◎ | 実装済 |
| 3 | KIN03EXP | 休暇日別展開処理 | キーブレイク + DB検索 | ◎ | 実装済 |
| 4 | KIN04CHK | 打刻項目チェック処理 | 項目チェック(重複無) | ◎ | 実装済 |
| 5 | KIN05MAT | 打刻休暇照合処理 | マッチング(1:N) + キーブレイク | ◎ | 実装済 |
| 6 | KIN06CLD | 出勤日カレンダー生成処理 | GETPUT + DB検索 | ◎ | 実装済 |
| 7 | KIN07DAI | 日別勤怠計算処理 | マッチング(1:N) + EVALUATE分岐 | ◎ | 実装済 |
| 8 | KIN08DBU | 勤怠DB更新処理 | DB更新 + SYSIN読込 | ◎ | 実装済 |
| 9 | KIN09CSV | 勤怠CSV出力処理 | 編集出力(WRITE AFTER ADVANCING | ◎ | 実装済 |
**サブシステムA全9プログラム実装完了**
---
> 本ファイルは全コードベース(KIN01-09 + ZAN01-06 + SUB01-05 = 20プログラム)を統合したカバレッジ状況。
> サブシステムA 全9プログラム実装済。定義ファイル(COBOLキーワード網羅定義書.md)と合わせて参照すること。
> 定義ファイル(COBOLキーワード網羅定義書.md)と合わせて参照すること。