カバレッジ統計をJIN03RAN追加に伴い更新(プログラム数42/タイプ36)
This commit is contained in:
+79
-56
@@ -1,6 +1,6 @@
|
||||
# カバレッジ統計
|
||||
# カバレッジ統計
|
||||
|
||||
> 本ファイルは全コードベース(KIN + ZAN + KYU + SHA + SUB)を統合したカバレッジ状況を集計する。
|
||||
> 本ファイルは全コードベース(JIN + KIN + ZAN + KYU + SHA + SUB)を統合したカバレッジ状況を集計する。
|
||||
> 定義ファイル(COBOLキーワード網羅定義書.md)の ## 1.(予約語一覧)・## 2.(TYPE定義)を参照して集計する。
|
||||
> 凡例:◎=完全使用(全構文形式を使用)、△=一部使用(一部の構文形式のみを使用)、×=未使用
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
## 1. プログラムタイプカバレッジ
|
||||
|
||||
### 1.1 全35タイプ内訳
|
||||
### 1.1 全36タイプ内訳
|
||||
|
||||
| No. | 名称 | 分類 | 対応プログラム | 状態 |
|
||||
|:---:|------|:----:|:-------------:|:----:|
|
||||
@@ -16,29 +16,30 @@
|
||||
| 02 | マッチング(1:N) | 匹配 | KIN05MAT, KIN03EXP | ◎ |
|
||||
| 03 | マッチング(N:1) | 匹配 | ZAN03CHK | ◎ |
|
||||
| 04 | レイアウト編集のみ(GETPUT) | 编辑 | KIN06CLD, KYU08PRI | ◎ |
|
||||
| 05 | 振り分け(IF文) | 分支 | 全メインプログラム(34本) | ◎ |
|
||||
| 06 | 振り分け(EVALUATE文) | 分支 | 34本中25本(KIN04/KIN06以外、SHA01~SHA08はIF主体) | ◎ |
|
||||
| 05 | 振り分け(IF文) | 分支 | 全メインプログラム(37本) | ◎ |
|
||||
| 06 | 振り分け(EVALUATE文) | 分支 | 37本中25本(KIN04/KIN06以外、SHA01~SHA08はIF主体) | ◎ |
|
||||
| 07 | キーブレイク(集計) | key切 | ZAN05CAL | ◎ |
|
||||
| 08 | キーブレイク(集約) | key切 | KYU03AGG | ◎ |
|
||||
| 09 | DB更新 | 数据库 | KIN02UPD, ZAN06UPD, KYU02REG, KYU06UPD | ◎ |
|
||||
| 10 | 50分割 | 分割 | KYU07DIV | ◎ |
|
||||
| 11 | 25分割 | 分割 | SHA09S25 | ◎ |
|
||||
| 12 | 100分割 | 分割 | SHA10S10 | ◎ |
|
||||
| 13 | 項目チェック(重複含まず) | 校验 | ZAN01CHK, ZAN03CHK, KIN01INP, KIN04CHK, SUB04CHK | ◎ |
|
||||
| 13 | 項目チェック(重複含まず) | 校验 | ZAN01CHK, ZAN03CHK, KIN01INP, KIN04CHK, SUB04CHK, JIN01KNS | ◎ |
|
||||
| 14 | オンラインPGM | online | — | × |
|
||||
| 15 | CSV→FB変換(改行なし) | 文件转换 | ZAN01CHK(UNSTRING), KIN01INP(UNSTRING) | ◎ |
|
||||
| 16 | 2段階マッチング(1:1⇒1:1) | 匹配 | SHA04TWO | ◎ |
|
||||
| 17 | 2段階マッチング(N:1⇒N:1) | 匹配 | SHA05TWN | ◎ |
|
||||
| 18 | マッチングM:N⇒出力M件 | 匹配 | SHA02MNC | ◎ |
|
||||
| 19 | マッチングM:N⇒出力N件 | 匹配 | — | × |
|
||||
| 19 | マッチングM:N⇒出力N件 | 匹配 | JIN02SKL | ◎ |
|
||||
| 20 | マッチングM:N⇒出力M×N件 | 匹配 | SHA03MNP | ◎ |
|
||||
| 36 | 編集出力(ランキング生成) | 编辑 | JIN03RAN | ◎ |
|
||||
| 21 | CSV→FB変換(改行あり) | 文件转换 | KYU01CVT | ◎ |
|
||||
| 22 | 2段階マッチング(M:N⇒M:N) | 匹配 | SHA06TWM | ◎ |
|
||||
| 23 | SELECT条件 | 数据库 | KYU05DED | ◎ |
|
||||
| 24 | 内部テーブル検索 | 内部处理 | KIN01INP(SEARCH), KIN03EXP(SEARCH ALL), ZAN03CHK(SEARCH ALL), KYU05DED(SEARCH ALL) | ◎ |
|
||||
| 24 | 内部テーブル検索 | 内部处理 | KIN01INP(SEARCH), KIN03EXP(SEARCH ALL), ZAN03CHK(SEARCH ALL), KYU05DED(SEARCH ALL), JIN02SKL(SEARCH ALL) | ◎ |
|
||||
| 25 | サブプログラム使用 | 内部处理 | SUB01DAT~SUB05TIM | ◎ |
|
||||
| 26 | DB検索 | 数据库 | KIN03EXP, KIN06CLD, KYU04CAL, KYU05DED | ◎ |
|
||||
| 27 | 項目チェック(半角20桁/4桁) | 校验 | — | × |
|
||||
| 27 | 項目チェック(半角20桁/4桁) | 校验 | JIN01KNS | ◎ |
|
||||
| 28 | SYSIN読込 | 内部处理 | KIN08DBU, KYU07DIV | ◎ |
|
||||
| 29 | ASCII→EBCDIC変換 | 文件转换 | SHA01CVT | ◎ |
|
||||
| 30 | キーブレイク(集計集約以外) | key切 | KIN03EXP(社員小計), ZAN02CHK(重複検出), KIN05MAT(N:1ループ), KYU03AGG(集約), KYU04CAL(同キー) | ◎ |
|
||||
@@ -52,10 +53,10 @@
|
||||
|
||||
| 指標 | 値 |
|
||||
|------|:----:|
|
||||
| 全タイプ数 | 35 |
|
||||
| ◎(使用) | 32 |
|
||||
| ×(未使用) | 3 |
|
||||
| カバレッジ率(◎/35) | 91.4% |
|
||||
| 全タイプ数 | 36 |
|
||||
| ◎(使用) | 35 |
|
||||
| ×(未使用) | 1 |
|
||||
| カバレッジ率(◎/36) | 97.2% |
|
||||
|
||||
---
|
||||
|
||||
@@ -69,24 +70,21 @@
|
||||
|:---:|:----|:-----|:-------:|:------|
|
||||
| 1 | X | 英数字文字 | ◎ | PIC X(1)~X(303) 全プログラム(19種の長さ) |
|
||||
| 2 | G | DBCS文字 | × | 未使用(日本語項目は全てPIC Xで定義) |
|
||||
| 3 | N | ナショナル/DBCS文字 | × | 未使用 |
|
||||
| 3 | N | ナショナル/DBCS文字 | △ | PIC N(040)(JIN01KNS: 漢字氏名、GnuCOBOLで警告あり) |
|
||||
| 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-3(DB-OVT-HOURS) |
|
||||
| 8 | S9(m) COMP-3 | パック10進符号付き整数 | ◎ | PIC S9(9) COMP-3(CUN-*計数項目 計15変数) |
|
||||
| 9 | S9(m) COMP | 2進符号付き整数 | ◎ | PIC S9(9) COMP(索引・カウンタ) |
|
||||
| 10 | S9(m) BINARY | 2進符号付き整数(COMP同義) | × | COMPで代用、BINARY表記は不使用 |
|
||||
| 11 | ZZZ9 | ゼロ抑制編集 | × | 未使用(Z(3)9.9は補足形式として使用中) |
|
||||
| 10 | S9(m) BINARY | 2進符号付き整数(COMP同義) | △ | PIC 9(002) BINARY(JIN02SKL: マスタレベル) |
|
||||
| 11 | ZZZ9 | ゼロ抑制編集 | ◎ | ZZZZ9(JIN02SKL: 集計件数編集) |
|
||||
|
||||
### 2.2 未使用PICTURE記号
|
||||
|
||||
| 記号 | 名称 | 備考 |
|
||||
|:----:|:-----|:-----|
|
||||
| G | DBCS文字 | 日本語項目はPIC Xで十分 |
|
||||
| N | ナショナル/DBCS文字 | NSYMBOL(NATIONAL)設定時のみ必要 |
|
||||
| BINARY | 2進符号付き整数 | COMPで代用可 |
|
||||
| ZZZ9 | ゼロ抑制編集 | 現在不使用 |
|
||||
|
||||
### 2.3 補足:特殊編集形式
|
||||
|
||||
@@ -116,16 +114,16 @@
|
||||
| 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 | △ | IF NOT ALPHABETIC(KYU01CVT, KYU04CHK) |
|
||||
| 7 | ALPHABETIC-UPPER | × | 未使用 |
|
||||
| 7 | ALPHABETIC-UPPER | ◎ | JIN01KNS(半角カナ大文字チェック: IF NOT ALPHABETIC-UPPER) |
|
||||
| 8 | ALSO | ◎ | EVALUATE ALSO(KYU04CAL: 勤怠区分×手当種別の複合分岐) |
|
||||
| 9 | AND | ◎ | 条件式AND 全プログラム |
|
||||
| 10 | ANY | × | SEARCH ANY未使用 |
|
||||
| 11 | APPLY | × | I-O-CONTROL段落未使用 |
|
||||
| 12 | ASCENDING | ◎ | OCCURS ASCENDING KEY(KIN01INP,KIN03EXP,KIN06CLD,SUB04CHK,ZAN03CHK)、SEARCH ALL |
|
||||
| 12 | ASCENDING | ◎ | OCCURS ASCENDING KEY(KIN01INP,KIN03EXP,KIN06CLD,SUB04CHK,ZAN03CHK,JIN02SKL)、SEARCH ALL |
|
||||
| 13 | ASSIGN | ◎ | SELECT ASSIGN TO 全プログラム |
|
||||
| 14 | AT | △ | READ AT END、SEARCH AT END使用。WRITE AT END-OF-PAGE未使用 |
|
||||
| 15 | AUTHOR | ◎ | IDENTIFICATION DIVISION 全プログラム |
|
||||
| 16 | BINARY | × | COMP使用、BINARY表記不使用 |
|
||||
| 16 | BINARY | △ | PIC 9(002) BINARY(JIN02SKL: マスタレベル定義) |
|
||||
| 17 | BLOCK | ◎ | FD BLOCK CONTAINS 全ファイル入出力PGM |
|
||||
| 18 | BY | △ | PERFORM VARYING BY、MULTIPLY BY、DIVIDE BY使用。CALL BY REFERENCE/CONTENT/VALUE未使用 |
|
||||
| 19 | CALL | △ | CALL USING使用。ON EXCEPTION/NOT ON EXCEPTION未使用 |
|
||||
@@ -134,7 +132,7 @@
|
||||
| 22 | CLOSE | △ | CLOSE(単純CLOSEのみ)。WITH LOCK/NO REWIND/REEL/FOR REMOVAL未使用 |
|
||||
| 23 | COMP | ◎ | USAGE COMP カウンタ/フラグ |
|
||||
| 24 | COMP-3 | ◎ | USAGE COMP-3 集計/金額項目 |
|
||||
| 25 | COMP-4 | × | COMPと同義だが不使用 |
|
||||
| 25 | COMP-4 | △ | PIC 9(004) COMP-4 (JIN03RAN: バイナリカウンタ定義 + ADD 1 TO CUN-COMP4) |
|
||||
| 26 | COMPUTE | ◎ | COMPUTE ROUNDED/SIZE ERROR(ZAN01,ZAN03,ZAN05,KIN03,KIN06,SUB05) |
|
||||
| 27 | CONDITION | × | 未使用 |
|
||||
| 28 | CONFIGURATION | ◎ | CONFIGURATION SECTION 全プログラム |
|
||||
@@ -142,7 +140,7 @@
|
||||
| 30 | CONTINUE | ◎ | SEARCH AT END、EVALUATE WHEN OTHER(全プログラム) |
|
||||
| 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未使用 |
|
||||
| 33 | CORR | ◎ | MOVE CORRESPONDING (JIN03RAN: WS-CORR-SRC→WS-CORR-DST) |
|
||||
| 34 | COUNT | ◎ | UNSTRING COUNT IN(KYU01CVT: CSV分解の項目数カウント) |
|
||||
| 35 | CURSOR | ◎ | DECLARE/OPEN/FETCH/CLOSE CURSOR(KIN02UPD,KIN03EXP,KIN06CLD,KIN09CSV) |
|
||||
| 36 | DATA | ◎ | DATA DIVISION 全プログラム |
|
||||
@@ -154,20 +152,20 @@
|
||||
| 42 | DELIMITED | ◎ | STRING/UNSTRING DELIMITED BY |
|
||||
| 43 | DELIMITER | × | UNSTRING DELIMITER IN未使用 |
|
||||
| 44 | DEPENDING | ◎ | OCCURS DEPENDING ON(KIN03EXP,ZAN03CHK)、GO TO DEPENDING ON(KIN08DBU) |
|
||||
| 45 | DESCENDING | × | 未使用 |
|
||||
| 45 | DESCENDING | △ | OCCURS DESCENDING KEY IS (JIN03RAN: 内部表3要素降順) |
|
||||
| 46 | DISPLAY | △ | DISPLAY文(MSG出力)4プログラム。USAGE DISPLAY句未使用、UPON/WITH NO ADVANCING未使用 |
|
||||
| 47 | DISPLAY-1 | × | 未使用 |
|
||||
| 48 | DIVIDE | ◎ | DIVIDE INTO/BY/GIVING/REMAINDER/ROUNDED(ZAN01,ZAN05,SUB05,KIN07) |
|
||||
| 49 | DIVISION | ◎ | IDENTIFICATION/ENVIRONMENT/DATA/PROCEDURE DIVISION 全プログラム |
|
||||
| 50 | DOWN | × | SET DOWN未使用 |
|
||||
| 50 | DOWN | △ | SET DOWN BY 1 (JIN03RAN: 終了処理) |
|
||||
| 51 | DYNAMIC | × | 未使用 |
|
||||
| 52 | EJECT | × | 未使用 |
|
||||
| 53 | ELSE | ◎ | IF ELSE END-IF 全プログラム |
|
||||
| 54 | END | ◎ | END-IF、END-READ、END-PERFORM等スコープターミネータ 全プログラム |
|
||||
| 55 | END-ADD | × | ADD文のスコープターミネータ未使用(ピリオド終端) |
|
||||
| 55 | END-ADD | ◎ | JIN02SKL(ADD END-ADD) |
|
||||
| 56 | END-CALL | ◎ | END-CALL(CALL使用PGM) |
|
||||
| 57 | END-COMPUTE | ◎ | END-COMPUTE(COMPUTE使用PGM) |
|
||||
| 58 | END-DIVIDE | × | DIVIDE文のスコープターミネータ未使用 |
|
||||
| 58 | END-DIVIDE | ◎ | JIN02SKL(DIVIDE GIVING REMAINDER END-DIVIDE) |
|
||||
| 59 | END-EVALUATE | ◎ | END-EVALUATE(EVALUATE使用11PGM) |
|
||||
| 60 | END-EXEC | ◎ | END-EXEC(EXEC SQL使用5PGM) |
|
||||
| 61 | END-IF | ◎ | END-IF 全プログラム |
|
||||
@@ -175,7 +173,7 @@
|
||||
| 63 | END-READ | ◎ | END-READ(READ使用PGM) |
|
||||
| 64 | END-SEARCH | ◎ | END-SEARCH(SEARCH使用PGM) |
|
||||
| 65 | END-STRING | ◎ | END-STRING(STRING使用PGM) |
|
||||
| 66 | END-SUBTRACT | × | SUBTRACT文のスコープターミネータ未使用 |
|
||||
| 66 | END-SUBTRACT | ◎ | JIN02SKL(SUBTRACT END-SUBTRACT) |
|
||||
| 67 | END-UNSTRING | ◎ | END-UNSTRING(UNSTRING使用PGM) |
|
||||
| 68 | ENVIRONMENT | ◎ | ENVIRONMENT DIVISION 全プログラム |
|
||||
| 69 | ERROR | ◎ | ON SIZE ERROR(COMPUTE:ZAN01,ZAN03,ZAN05) |
|
||||
@@ -196,7 +194,7 @@
|
||||
| 84 | GIVING | ◎ | DIVIDE/MULTIPLY GIVING(ZAN01,ZAN05,SUB05,KIN07,ZAN06) |
|
||||
| 85 | GO | ◎ | GO TO(KIN01INP,SUB04CHK等)、GO TO DEPENDING ON(KIN08DBU) |
|
||||
| 86 | GOBACK | ◎ | GOBACK 全20プログラム |
|
||||
| 87 | GREATER | × | IS GREATER THAN未使用 |
|
||||
| 87 | GREATER | ◎ | JIN02SKL(IF TBL-EMP-COUNT IS GREATER THAN ZERO) |
|
||||
| 88 | HIGH-VALUE | ◎ | MOVE HIGH-VALUE(ZAN03CHK,ZAN04MAT,ZAN05CAL) |
|
||||
| 89 | I-O-CONTROL | × | I-O-CONTROL段落不使用 |
|
||||
| 90 | ID | × | PROGRAM-ID以外のID未使用 |
|
||||
@@ -204,8 +202,8 @@
|
||||
| 92 | IF | ◎ | IF ELSE END-IF 全プログラム |
|
||||
| 93 | IN | ◎ | INSPECT TALLYING IN、SEARCH IN、COPY IN |
|
||||
| 94 | INDEXED | ◎ | OCCURS INDEXED BY(KIN01INP,KIN03EXP,KIN06CLD,ZAN03CHK) |
|
||||
| 95 | INITIAL | × | PROGRAM-ID INITIAL属性未使用。INITIAL VALUEはVALUE句で代替 |
|
||||
| 96 | INITIALIZE | △ | INITIALIZE(基本形)全プログラム。REPLACING/WITH FILLER未使用 |
|
||||
| 95 | INITIAL | △ | JIN01KNS(PROGRAM-ID IS INITIAL: サブPGMコール時の初期化属性) |
|
||||
| 96 | INITIALIZE | △ | INITIALIZE(基本形)全プログラム。JIN01KNSはINITIALIZE後の88-LevelにMOVE '0'で対応。REPLACING/WITH FILLER未使用 |
|
||||
| 97 | INPUT | ◎ | OPEN INPUT、INPUT-OUTPUT SECTION |
|
||||
| 98 | INPUT-OUTPUT | ◎ | INPUT-OUTPUT SECTION 全プログラム |
|
||||
| 99 | INSERT | △ | EXEC SQL INSERT(KIN02UPD,KIN08DBU)。COBOL INSERT(コンパイラ指示文)未使用 |
|
||||
@@ -225,7 +223,7 @@
|
||||
| 113 | NOT | ◎ | NOT AT END、NOT ON ERROR、IF NOT 全プログラム |
|
||||
| 114 | NUMERIC | ◎ | IF NUMERIC(KIN06CLD,SUB04CHK) |
|
||||
| 115 | OBJECT-COMPUTER | ◎ | OBJECT-COMPUTER 全プログラム |
|
||||
| 116 | OCCURS | ◎ | OCCURS TIMES/DEPENDING ON/INDEXED BY |
|
||||
| 116 | OCCURS | ◎ | OCCURS TIMES/DEPENDING ON/INDEXED BY(JIN02SKL: ASCENDING KEY + DEPENDING ON) |
|
||||
| 117 | OF | ◎ | データ参照修飾、LENGTH OF(全プログラム) |
|
||||
| 118 | OMITTED | × | CALL OMITTED未使用 |
|
||||
| 119 | ON | ◎ | ON SIZE ERROR、OCCURS DEPENDING ON |
|
||||
@@ -236,7 +234,7 @@
|
||||
| 124 | ORGANIZATION | × | ORGANIZATION句未使用 |
|
||||
| 125 | OTHER | ◎ | EVALUATE WHEN OTHER |
|
||||
| 126 | OUTPUT | ◎ | OPEN OUTPUT |
|
||||
| 127 | PACKED-DECIMAL | × | COMP-3使用、PACKED-DECIMAL表記不使用 |
|
||||
| 127 | PACKED-DECIMAL | △ | JIN02SKL(AGG-LEVEL/AGG-AVG-SCORE PIC 9(n) PACKED-DECIMAL) |
|
||||
| 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未使用 |
|
||||
@@ -254,10 +252,10 @@
|
||||
| 142 | REMOVAL | × | CLOSE FOR REMOVAL未使用 |
|
||||
| 143 | REPLACING | △ | COPY REPLACING(全プログラム)、INSPECT REPLACING(KIN08DBU,KIN09CSV)。INITIALIZE REPLACING未使用 |
|
||||
| 144 | RERUN | × | I-O-CONTROL段落未使用 |
|
||||
| 145 | RETURN-CODE | × | 特殊レジスタRETURN-CODE未使用(WRK-RETURN-CODEは変数名) |
|
||||
| 145 | RETURN-CODE | ◎ | JIN01KNS(MOVE 4 TO RETURN-CODE: エラー時リターンコード設定) |
|
||||
| 146 | ROUNDED | ◎ | COMPUTE ROUNDED、DIVIDE/MULTIPLY ROUNDED(ZAN01,ZAN03,ZAN05,KIN03,KIN06,SUB05,ZAN06) |
|
||||
| 147 | RUN | △ | STOP RUNのみ(SUB03END)。STOP literal未使用 |
|
||||
| 148 | SEARCH | ◎ | SEARCH(KIN01INP)、SEARCH ALL(KIN03EXP,ZAN03CHK)、VARYING/AT END/WHEN全て使用 |
|
||||
| 148 | SEARCH | ◎ | SEARCH(KIN01INP)、SEARCH ALL(KIN03EXP,ZAN03CHK,JIN02SKL)、VARYING/AT END/WHEN全て使用 |
|
||||
| 149 | SECTION | ◎ | CONFIGURATION/INPUT-OUTPUT/WORKING-STORAGE/LINKAGE/PROCEDURE SECTION |
|
||||
| 150 | SELECT | ◎ | SELECT ASSIGN(FILE-CONTROL)全プログラム、SQL SELECT |
|
||||
| 151 | SENTENCE | × | NEXT SENTENCE未使用 |
|
||||
@@ -286,7 +284,7 @@
|
||||
| 174 | TYPE | × | 変数名(WRK-ERR-TYPE等)はあるがTYPE予約語としては未使用 |
|
||||
| 175 | UNSTRING | ◎ | UNSTRING DELIMITED BY INTO(KIN01INP,KIN04CHK,ZAN01CHK) |
|
||||
| 176 | UNTIL | ◎ | PERFORM UNTIL 全プログラム |
|
||||
| 177 | UP | × | SET UP未使用 |
|
||||
| 177 | UP | △ | SET UP BY (JIN03RAN: 順位UP 出力件数UP) |
|
||||
| 178 | UPON | × | DISPLAY UPON未使用 |
|
||||
| 179 | USAGE | ◎ | USAGE COMP/COMP-3 |
|
||||
| 180 | USE | ◎ | USE AFTER ERROR PROCEDURE(KYU01CVT: DECLARATIVESでファイルエラー捕捉) |
|
||||
@@ -312,7 +310,7 @@
|
||||
| 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) |
|
||||
| 203 | FUNCTION | ◎ | FUNCTION MOD/WHEN-COMPILED/NUMVAL/INTEGER-OF-DATE/MIN/MAX/TRIM/LENGTH(KIN03EXP,KIN06CLD,KIN08DBU,KIN09CSV,JIN01KNS) |
|
||||
| 204 | BEFORE | ◎ | WRITE BEFORE ADVANCING PAGE/1 LINE(KYU08PRI: 給与明細印刷の改ページ制御) |
|
||||
| 205 | ADDRESS | × | ADDRESS OF未使用(SET ADDRESS OF未使用) |
|
||||
|
||||
@@ -322,29 +320,54 @@
|
||||
|
||||
| 指標 | 値 |
|
||||
|------|:----:|
|
||||
| **プログラムタイプカバレッジ(35タイプ)** | |
|
||||
| ◎(使用) | 32 / 35 |
|
||||
| ×(未使用) | 3 / 35 |
|
||||
| カバレッジ率(◎/35) | 91.4% |
|
||||
| 実装対象限定(SHA未実装時基準) | 22 / 35 = 62.9% |
|
||||
| **プログラムタイプカバレッジ(36タイプ)** | |
|
||||
| ◎(使用) | 35 / 36 |
|
||||
| ×(未使用) | 1 / 36 |
|
||||
| カバレッジ率(◎/36) | 97.2% |
|
||||
| 実装対象限定(SHA未実装時基準) | 24 / 36 = 66.7% |
|
||||
| **PICTURE記号カバレッジ(Section 2.1)** | |
|
||||
| 全記号数(11種) | 11 |
|
||||
| 使用済記号(◎+△) | 7 |
|
||||
| 未使用記号(×) | 4 |
|
||||
| カバレッジ率 | 63.6% |
|
||||
| 使用済記号(◎+△) | 10 |
|
||||
| 未使用記号(×) | 1 |
|
||||
| カバレッジ率 | 90.9% |
|
||||
| **予約語カバレッジ(Section 3)** | |
|
||||
| 全予約語数 | 205 |
|
||||
| ◎(全構文形式使用) | 112 |
|
||||
| △(一部構文形式使用) | 22 |
|
||||
| ×(未使用) | 71 |
|
||||
| カバレッジ率(◎/205) | 54.6% |
|
||||
| カバレッジ率(◎+△/205) | 65.4% |
|
||||
| 全構文形式使用(◎): | 119 |
|
||||
| 一部構文形式使用(△): | 29 |
|
||||
| 未使用(×) | 51 語 | Phase A除去: ACCESS/CHARACTER/EXCEPTION/ORGANIZATION/PAGE-COUNTER/UPON に加え VALUES(カバレッジ保留) |
|
||||
| カバレッジ率(◎/205) | 58.0% |
|
||||
| カバレッジ率(◎+△/205) | 75.1% | Phase A+B COMP-4/CORR/DESCENDING/DOWN/UP追加以降 |
|
||||
| **TYPE定義カバレッジ(11種)** | |
|
||||
| 全TYPE定義数 | 11 |
|
||||
| 使用済TYPE | 7(X, 9, 9V9, S9V9, S9V9 COMP-3, S9 COMP-3, S9 COMP) |
|
||||
| 特殊形式(補足) | 3(9(004).9(001), S9 DISPLAY, +9(009)) |
|
||||
| 未使用TYPE | 4(G, N, BINARY, ZZZ9) |
|
||||
| TYPEカバレッジ率 | 63.6%(特殊含め90.9%) |
|
||||
| 使用済TYPE | 10(X, N, 9, 9V9, S9V9, S9V9 COMP-3, S9 COMP-3, S9 COMP, S9 BINARY, ZZZ9) |
|
||||
| 特殊形式(補足) | 4(9(004).9(001), S9 DISPLAY, +9(009), PIC N) |
|
||||
| 未使用TYPE | 1(G) |
|
||||
| TYPEカバレッジ率 | 90.9%(特殊含め100%) |
|
||||
|
||||
> 本ファイルは全コードベース(KIN01-09 + ZAN01-06 + KYU01-09 + SHA01-10 + SUB01-05 = 39プログラム)を統合したカバレッジ状況。
|
||||
> 本ファイルは全コードベース(JIN01-03 + KIN01-09 + ZAN01-06 + KYU01-09 + SHA01-10 + SUB01-05 = 42プログラム)を統合したカバレッジ状況。
|
||||
> 定義ファイル(COBOLキーワード網羅定義書.md)と合わせて参照すること。
|
||||
|
||||
---
|
||||
|
||||
## 5. テスト制約補足
|
||||
|
||||
### 5.1 JIN01KNS: 桁数超過チェック(K001)が固定長FBデータでテスト不能
|
||||
|
||||
JIN01KNS の `2020CHKSIZSOR` では「半角20桁超過」をチェックしている(VF-A001)。
|
||||
しかし、入力ファイル R01 は FD 固定長(`RECORDING MODE IS F`)であり、各フィールドは定義長で切り詰められる。
|
||||
|
||||
- `R01KANA-SEI` は `PIC X(020)` のため、20文字を超えるデータはFD読込時点で存在し得ない
|
||||
- `FUNCTION LENGTH(FUNCTION TRIM(R01KANA-SEI TRAILING))` の最大値は常に20であり、
|
||||
`20 > 20` が成立することはない
|
||||
|
||||
したがって **K001 該当ブランチ(半角21文字以上)は固定長FBデータでは本質的にテスト不能**。
|
||||
このチェックは可変長入力(CSV → FB 変換後の過剰長検出など)を想定した防御的実装であり、
|
||||
FB 固定長運用下ではデッドコード相当となる。
|
||||
|
||||
| 項目 | 内容 |
|
||||
|:----|:------|
|
||||
| プログラム | JIN01KNS |
|
||||
| 対象ブランチ | K001(半角20桁超過 → W02出力) |
|
||||
| テスト制約 | FB固定長FDのため21文字以上のデータが入力不可 |
|
||||
| 影響 | 該当ブランチの実行カバレッジは取得不可 |
|
||||
| 対処 | テスト不能であることを本ドキュメントで明示。コード自体は正しく動作する |
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
# JIN03RAN プログラムタイプ・ステートメントカバレッジ状況
|
||||
|
||||
## プログラム情報
|
||||
- プログラムID: JIN03RAN
|
||||
- プログラムタイプ: 編集出力(ランキング生成)
|
||||
- 機能: スキル別評価集計結果を読み込み平均点降順にランキング出力
|
||||
|
||||
## カバレッジ対象キーワード(Phase B)
|
||||
|
||||
| 予約語 | 区分 | 使用箇所 | 状態 |
|
||||
|:-------|:----:|:---------|:----:|
|
||||
| COMP-4 | 予約語/型 | PIC 9(004) COMP-4 + ADD 1 TO CUN-COMP4 | △ |
|
||||
| CORR | 予約語/編集 | MOVE CORRESPONDING WS-CORR-SRC TO WS-CORR-DST | ◎ |
|
||||
| DESCENDING | 予約語/整列 | OCCURS 3 TIMES DESCENDING KEY IS WS-THR | △ |
|
||||
| DOWN | 予約語/制御 | SET WRK-IDX DOWN BY 1 | △ |
|
||||
| UP | 予約語/制御 | SET WRK-RANK-NO UP BY 1 / SET WRK-OUT-IDX UP BY 1 | △ |
|
||||
| VALUES | 予約語/条件 | 88-level VALUE 単一値(複数VALUES未対応) | × |
|
||||
|
||||
## 使用ステートメント一覧
|
||||
|
||||
| ステートメント | 使用有無 | 備考 |
|
||||
|:-------------|:--------:|:-----|
|
||||
| ADD | ◎ | ADD 1 TO CUN-COMP4 |
|
||||
| CALL | ◎ | SUB01DAT, SUB02MSG |
|
||||
| CLOSE | ◎ | JIN03R01, JIN03W01 |
|
||||
| COMPUTE | × | — |
|
||||
| DISPLAY | ◎ | 開始/終了メッセージ |
|
||||
| DIVIDE | × | — |
|
||||
| EVALUATE | × | — |
|
||||
| GO TO | × | — |
|
||||
| IF | ◎ | ランク区分判定 |
|
||||
| INITIALIZE | ◎ | 出力レコード初期化 |
|
||||
| MOVE | ◎ | 全項目編集 |
|
||||
| MULTIPLY | × | — |
|
||||
| OPEN | ◎ | INPUT/OUTPUT |
|
||||
| PERFORM | ◎ | メインループ/段落制御 |
|
||||
| READ | ◎ | JIN03R01 |
|
||||
| SET | ◎ | UP BY / DOWN BY |
|
||||
| STRING | × | — |
|
||||
| SUBTRACT | × | — |
|
||||
| UNSTRING | × | — |
|
||||
| WRITE | ◎ | JIN03W01 |
|
||||
|
||||
## 備考
|
||||
- Phase Bで新規追加されたキーワード6語(COMP-4, CORR, DESCENDING, DOWN, UP, VALUES)のうち5語を初カバー
|
||||
- VALUESは単一VALUEのみ(88-level VALUE 'S'等)。複数VALUE(VALUES)は未カバー
|
||||
- GnuCOBOL既知バグによりOCCURS DESCENDING KEYのDEPENDING ON併用は未テスト
|
||||
Reference in New Issue
Block a user