From 13415fb6b5e833fcbc0c9b44b5485074886b0dcd Mon Sep 17 00:00:00 2001 From: qiuqiuqiu Date: Thu, 25 Jun 2026 00:31:58 +0800 Subject: [PATCH] Remove list/ from git tracking --- list/COBOLの予約語一覧.txt | 193 ------- list/PGM実装パターン一覧.txt | 29 -- list/TYPE定義一覧.txt | 11 - list/ステートメント一覧.txt | 49 -- ...・ステートメントカバレッジ状況_20260616-2253.txt | 481 ------------------ ...・ステートメントカバレッジ状況_20260619-1200.txt | 454 ----------------- ...・ステートメントカバレッジ状況_20260623-1500.txt | 459 ----------------- 7 files changed, 1676 deletions(-) delete mode 100644 list/COBOLの予約語一覧.txt delete mode 100644 list/PGM実装パターン一覧.txt delete mode 100644 list/TYPE定義一覧.txt delete mode 100644 list/ステートメント一覧.txt delete mode 100644 list/プログラムタイプ・ステートメントカバレッジ状況_20260616-2253.txt delete mode 100644 list/プログラムタイプ・ステートメントカバレッジ状況_20260619-1200.txt delete mode 100644 list/プログラムタイプ・ステートメントカバレッジ状況_20260623-1500.txt diff --git a/list/COBOLの予約語一覧.txt b/list/COBOLの予約語一覧.txt deleted file mode 100644 index effc8c6..0000000 --- a/list/COBOLの予約語一覧.txt +++ /dev/null @@ -1,193 +0,0 @@ -ACCEPT -ACCESS -ADD -AFTER -ALL -ALPHABETIC -ALPHABETIC-UPPER -ALSO -AND -ANY -APPLY -ASCENDING -ASSIGN -AT -AUTHOR -BINARY -BLOCK -BY -CALL -CHARACTER -CHARACTERS -CLOSE -COMP -COMP-3 -COMP-4 -COMPUTE -CONDITION -CONFIGURATION -CONTAINS -CONTINUE -CONVERTING -COPY -CORR -COUNT -CURSOR -DATA -DATE -DATE-COMPILED -DATE-WRITTEN -DECLARATIVES -DELETE -DELIMITED -DELIMITER -DEPENDING -DESCENDING -DISPLAY -DISPLAY-1 -DIVIDE -DIVISION -DOWN -DYNAMIC -EJECT -ELSE -END -END-ADD -END-CALL -END-COMPUTE -END-DIVIDE -END-EVALUATE -END-EXEC -END-IF -END-PERFORM -END-READ -END-SEARCH -END-STRING -END-SUBTRACT -END-UNSTRING -ENVIRONMENT -ERROR -EVALUATE -EXCEPTION -EXEC -EXECUTE -EXIT -FALSE -FD -FILE -FILE-CONTROL -FILLER -FIRST -FOR -FROM -FUNCTION -GET -GIVING -GO -GOBACK -GREATER -HIGH-VALUE -I-O-CONTROL -ID -IDENTIFICATION -IF -IN -INDEXED -INITIAL -INITIALIZE -INPUT -INPUT-OUTPUT -INSERT -INSPECT -INTO -INVALID -IS -KEY -LABEL -LENGTH -LINKAGE -LOW-VALUE -MODE -MOVE -MULTIPLY -NEXT -NOT -NUMERIC -OBJECT-COMPUTER -OCCURS -OF -OMITTED -ON -OPEN -OPTIONS -OR -ORDER -ORGANIZATION -OTHER -OUTPUT -PACKED-DECIMAL -PAGE -PAGE-COUNTER -PERFORM -PIC -POINTER -PROCEDURE -PROGRAM-ID -RANDOM -READ -RECORD -RECORDING -RECORDS -REDEFINES -REMAINDER -REMOVAL -REPLACING -RERUN -RETURN-CODE -ROUNDED -RUN -SEARCH -SECTION -SELECT -SENTENCE -SET -SHIFT-IN -SHIFT-OUT -SIZE -SKIP2 -SOURCE-COMPUTER -SPACE -SPACES -SQL -STANDARD -STOP -STRING -SUBTRACT -TABLE -TALLYING -TEST -THEN -THRU -TIME -TIMES -TO -TRUE -TYPE -UNSTRING -UNTIL -UP -UPON -USAGE -USE -USING -VALUE -VALUES -VARYING -WHEN -WHEN-COMPILED -WITH -WORK ING-STORAGE -WRITE -WRITE-ONLY -ZERO -ZEROS diff --git a/list/PGM実装パターン一覧.txt b/list/PGM実装パターン一覧.txt deleted file mode 100644 index 1e95f6c..0000000 --- a/list/PGM実装パターン一覧.txt +++ /dev/null @@ -1,29 +0,0 @@ -マッチング処理(1:1) -マッチング処理(1:N) -マッチング処理(N:1) -マッチング処理(M:N)→出力N件 -マッチング処理(M:N)→出力M件 -マッチング処理(M:N)→出力MxN件 -マッチング処理(1:N)+キープレイク処理(ブレイクキー=マッチングキーの場合) -マッチング処理(1:N)+キーブレイク処理(ブレイクキー>マッチングキーの場合) -キーブレイク処理(集計) -キーブレイク処理(集約) -キーブレイク処理(集計、集約以外の場合) -レイアウト編集のみ(GETPUT) -項目チェック(重複チェックを合まない場合) -項目チェック(重複チェックも含む場合) -振り分け(IF文) -振り分け(EVALUATE文) -内部テープル検索 -DB更新 -CSV→FB変換(改行コードなし) -CSV→FB変換(改行コードあり) -オンラインPGM -25分割 -50分割 -100分割 -2段階マッチング(N:1→N:1) -2段階マッチング(M:N=M:N)(2入力ファイル) -2段階マッチング(1:1=1:1) -SYSINの読み込む、チェック処理 -ASCII→EBCDIC変換 diff --git a/list/TYPE定義一覧.txt b/list/TYPE定義一覧.txt deleted file mode 100644 index a98dbcb..0000000 --- a/list/TYPE定義一覧.txt +++ /dev/null @@ -1,11 +0,0 @@ -X(m) m,nF -G(m) -N(m) -9(m) -9(m)V9(n) -S9(m)V9(n) -S9(m)V9(n) COMP-3 -S9(m) COMP-3 -S9(m) COMP -S9(m) BINARY -ZZZ9 ސ͌Œł͂ȂA1`8ł diff --git a/list/ステートメント一覧.txt b/list/ステートメント一覧.txt deleted file mode 100644 index d305930..0000000 --- a/list/ステートメント一覧.txt +++ /dev/null @@ -1,49 +0,0 @@ -Accept -Add -AlteredGoto -Alter -Ca11 -Cancel -Close -Compute -Continue -Delete -Display -Divide -Entry -Evaluate -Evaluate -ExecCics -ExecSql -ExitProgram -Exit -Goback -Goto -If -Initialize -Inspect -Merge -Move -Multiply -Open -PerformAfter -Perform -PerformUntil -Performvarying -Read -PerformUntil -PerformVarying -Read -Release -Return -Rewrite -Search -Set -Sort -Start -Stop -String -Subt ract -Unstring -Write -WriteStatement diff --git a/list/プログラムタイプ・ステートメントカバレッジ状況_20260616-2253.txt b/list/プログラムタイプ・ステートメントカバレッジ状況_20260616-2253.txt deleted file mode 100644 index 411e447..0000000 --- a/list/プログラムタイプ・ステートメントカバレッジ状況_20260616-2253.txt +++ /dev/null @@ -1,481 +0,0 @@ -================================================================================ - プログラムタイプ・ステートメント カバレッジ状況 - 確認日時: 2026-06-16 22:53 - 確認対象プログラム: - ZAN01CHK (振り分け) - ZAN02CHK (項目チェック・重複) - ZAN03CHK (項目チェック・打刻照合) - ZAN04MAT (マッチング1:1) - ZAN05CAL (キーブレイク集計) - ZAN06UPD (DB更新) - SUB01DAT (運用日付取得) - SUB02MSG (メッセージ編集出力) - SUB03END (ABEND処理) - SUB04CHK (項目チェック) - SUB05TIM (時刻丸め計算) - 確認対象COPYファイル: - ZAN01REC, ZAN02REC, ZAN03REC, ZAN04REC, ZAN05REC - ZANDATAC, ZANMSGAC, ZANENDAC, ZANCHKAC, ZANTIMAC -================================================================================ - -[1] プログラムタイプ カバレッジ状況(PGMパターン一覧.txt 準拠) --------------------------------------------------------------------------------- - No | パターン | 状態 | 該当プログラム -----+----------------------------------------------------+------+--------------------------- - 1 | マッチング処理(1:1) | ◎ | ZAN04MAT - 2 | マッチング処理(1:N) | × | 未作成 - 3 | マッチング処理(N:1) | × | 未作成 - 4 | マッチング処理(M:N)→出力N件 | × | 未作成 - 5 | マッチング処理(M:N)→出力M件 | × | 未作成 - 6 | マッチング処理(M:N)→出力MxN件 | × | 未作成 - 7 | マッチング処理(1:N)+キーブレイク処理 | × | 未作成 - 8 | マッチング処理(1:N)+キーブレイク処理 | × | 未作成 - | (ブレイクキー>マッチングキーの場合) | | - 9 | キーブレイク処理(集計) | ◎ | ZAN05CAL - 10 | キーブレイク処理(集約) | × | 未作成 - 11 | キーブレイク処理(集計、集約以外の場合) | × | 未作成 - 12 | レイアウト編集のみ(GETPUT) | × | 未作成 - 13 | 項目チェック(重複チェックを含まない場合) | ◎ | ZAN03CHK - 14 | 項目チェック(重複チェックも含む場合) | ◎ | ZAN02CHK - 15 | 振り分け(IF文) | × | 未作成(ZAN01CHKはEVALUATE) - 16 | 振り分け(EVALUATE文) | ◎ | ZAN01CHK - 17 | 内部テーブル検索 | ○ | ZAN03CHK(SEARCH ALL使用) - 18 | DB更新 | ◎ | ZAN06UPD - 19 | CSV→FB変換(改行コードなし) | ○ | ZAN01CHK(UNSTRINGでCSV分解) - 20 | CSV→FB変換(改行コードあり) | × | 未作成 - 21 | オンラインPGM | × | バッチ処理のみ - 22 | 25分割 | × | 未作成 - 23 | 50分割 | × | 未作成 - 24 | 100分割 | × | 未作成 - 25 | 2段階マッチング(N:1→N:1) | × | 未作成 - 26 | 2段階マッチング(M:N=M:N)(2入力ファイル) | × | 未作成 - 27 | 2段階マッチング(1:1=1:1) | × | 未作成 - 28 | SYSINの読み込み、チェック処理 | × | 未作成 - 29 | ASCII→EBCDIC変換 | × | 未作成 -================================================================================ - 凡例: ◎=カバー済, ○=一部カバー, ×=未カバー - 備考: パターン2〜9,11,12,15,20〜29はサブシステムBの対象範囲外または - 未実装。サブシステムBとして必要十分な6プログラムで - 合計9パターンをカバー(◎6 + ○2 + 既存の参考実装1) - - -[2] ステートメント カバレッジ状況 --------------------------------------------------------------------------------- -凡例: - - 左欄: ステートメント一覧.txt の表記 - - 列B1〜B6: 各プログラム (ZAN01CHK〜ZAN06UPD) - - SUB列: サブプログラム群 (SUB01〜05) - - 最終列: カバレッジ有無 (◎/○/×) + 例示 - -ステートメント | B1 | B2 | B3 | B4 | B5 | B6 | SUB | 状態 | 使用例 - |01CHK|02CHK|03CHK|04MAT|05CAL|06UPD|群 | | ----------------+-----+-----+-----+-----+-----+-----+-----+------+-------------------------- -ACCEPT | - | - | - | - | ○ | - | - | ◎ | ACCEPT WRK-DATE-8 - | | | | | | | | | FROM DATE YYYYMMDD - | | | | | | | | | (ZAN05CAL-1000ITTSOR) ----------------+|-----|-----|-----|-----|-----|-----|-----|------|-------------------------- -ADD | ○ | ○ | ○ | ○ | ○ | ○ | - | ◎ | ADD 1 TO CUN-R01INN - | | | | | | | | | ADD 1 TO CUN-W01OUT - | | | | | | | | | (全プログラム) ----------------+|-----|-----|-----|-----|-----|-----|-----|------|-------------------------- -ALTER | - | - | - | - | - | - | - | × | 未使用 -ALTEREDGOTO | - | - | - | - | - | - | - | × | 未使用 (GO TO DEPENDING) ----------------+|-----|-----|-----|-----|-----|-----|-----|------|-------------------------- -CALL | ○ | ○ | ○ | ○ | ○ | ○ | - | ◎ | CALL 'SUB01DAT' - | | | | | | | | | USING D01UBSPAR - | | | | | | | | | CALL 'SUB02MSG' - | | | | | | | | | USING M00MHOPAR - | | | | | | | | | CALL 'SUB03END' - | | | | | | | | | USING E01ABDPAR - | | | | | | | | | CALL 'SUB04CHK' - | | | | | | | | | USING C01CHKPAR - | | | | | | | | | CALL 'SUB05TIM' - | | | | | | | | | USING T01TIMPAR - | | | | | | | | | (ZAN05CAL) ----------------+|-----|-----|-----|-----|-----|-----|-----|------|-------------------------- -CANCEL | - | - | - | - | - | - | - | × | 未使用 ----------------+|-----|-----|-----|-----|-----|-----|-----|------|-------------------------- -CLOSE | ○ | ○ | ○ | ○ | ○ | ○ | - | ◎ | CLOSE R01INNFIL - | | | | | | | | | W01OUTFIL - | | | | | | | | | (全プログラム) ----------------+|-----|-----|-----|-----|-----|-----|-----|------|-------------------------- -COMPUTE | ○ | - | - | - | ○ | - | ○ | ◎ | 【標準COMPUTE】 - | | | | | | | | | COMPUTE WRK-DIFF-MIN = - | | | | | | | | | (A - B) * 60 + (C - D) - | | | | | | | | | (ZAN01CHK, ZAN05CAL) - | | | | | | | | | - | | | | | | | | | 【COMPUTE ROUNDED】 - | | | | | | | | | COMPUTE WRK-OVT-HOURS - | | | | | | | | | ROUNDED = A / 60 - | | | | | | | | | ON SIZE ERROR ... - | | | | | | | | | END-COMPUTE - | | | | | | | | | (ZAN05CAL-2100OUTSOR) - | | | | | | | | | - | | | | | | | | | ※SUB05TIM: - | | | | | | | | | COMPUTE WRK-MINUTES = - | | | | | | | | | T01TIMHRS * 60 ----------------+|-----|-----|-----|-----|-----|-----|-----|------|-------------------------- -CONTINUE | - | ○ | ○ | - | ○ | ○ | - | ◎ | SEARCH ALL ... AT END - | | | | | | | | | CONTINUE - | | | | | | | | | (ZAN02CHK, ZAN03CHK, - | | | | | | | | | ZAN05CAL, ZAN06UPD) - | | | | | | | | | EVALUATE...WHEN OTHER - | | | | | | | | | CONTINUE ----------------+|-----|-----|-----|-----|-----|-----|-----|------|-------------------------- -DELETE | - | - | - | - | - | - | - | × | 未使用 ----------------+|-----|-----|-----|-----|-----|-----|-----|------|-------------------------- -DISPLAY | - | - | - | - | - | - | ○ | ◎ | SUB02MSG: - | | | | | | | | | DISPLAY WRK-MSG-LINE - | | | | | | | | | SUB03END: - | | | | | | | | | DISPLAY WRK-ABEND-MSG ----------------+|-----|-----|-----|-----|-----|-----|-----|------|-------------------------- -DIVIDE | ○ | - | - | - | ○ | - | ○ | ◎ | DIVIDE A BY 100 - | | | | | | | | | GIVING B REMAINDER C - | | | | | | | | | (ZAN01CHK, ZAN05CAL) - | | | | | | | | | ※SUB05TIM: - | | | | | | | | | DIVIDE X BY 30 - | | | | | | | | | GIVING Y REMAINDER Z ----------------+|-----|-----|-----|-----|-----|-----|-----|------|-------------------------- -ENTRY | - | - | - | - | - | - | - | × | 未使用 ----------------+|-----|-----|-----|-----|-----|-----|-----|------|-------------------------- -EVALUATE | ○ | - | ○ | ○ | ○ | ○ | ○ | ◎ | 【EVALUATE TRUE】 - | | | | | | | | | EVALUATE TRUE - | | | | | | | | | WHEN cond1 ... END-EVALUATE - | | | | | | | | | (ZAN01,04,05,06CHK/MAT/CAL/UPD) - | | | | | | | | | - | | | | | | | | | 【EVALUATE 変数】 - | | | | | | | | | EVALUATE C01CHKTYP - | | | | | | | | | WHEN 'DATE' ... - | | | | | | | | | WHEN OTHER ... - | | | | | | | | | END-EVALUATE - | | | | | | | | | (SUB04CHK, SUB05TIM) ----------------+|-----|-----|-----|-----|-----|-----|-----|------|-------------------------- -EXEC CICS | - | - | - | - | - | - | - | × | 未使用 -EXEC SQL | - | - | - | - | - | ○ | - | ◎ | EXEC SQL CONNECT TO ... - | | | | | | | | | EXEC SQL INSERT ... - | | | | | | | | | VALUES(...) END-EXEC - | | | | | | | | | EXEC SQL SELECT ... INTO - | | | | | | | | | ... END-EXEC - | | | | | | | | | EXEC SQL UPDATE ... SET - | | | | | | | | | WHERE ... END-EXEC - | | | | | | | | | EXEC SQL COMMIT WORK - | | | | | | | | | END-EXEC - | | | | | | | | | EXEC SQL ROLLBACK WORK - | | | | | | | | | END-EXEC - | | | | | | | | | EXEC SQL INCLUDE SQLCA - | | | | | | | | | END-EXEC - | | | | | | | | | (ZAN06UPD) ----------------+|-----|-----|-----|-----|-----|-----|-----|------|-------------------------- -EXIT | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ◎ | xxx-EXT. EXIT. - | | | | | | | | | (全セクションの出口) -EXIT PROGRAM | - | - | - | - | - | - | - | × | 未使用 (GOBACKで代用) ----------------+|-----|-----|-----|-----|-----|-----|-----|------|-------------------------- -GOBACK | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ◎ | GOBACK. - | | | | | | | | | (メインプログラム/ - | | | | | | | | | サブプログラム復帰) ----------------+|-----|-----|-----|-----|-----|-----|-----|------|-------------------------- -GO TO | ○ | - | - | - | - | - | ○ | ◎ | GO TO 2020VALIDATESOR-EXT - | | | | | | | | | (ZAN01CHK, SUB04CHK, - | | | | | | | | | セクション脱出用) ----------------+|-----|-----|-----|-----|-----|-----|-----|------|-------------------------- -IF | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ◎ | 【単純条件】 - | | | | | | | | | IF WRK-R01EOF NOT = '1' - | | | | | | | | | - | | | | | | | | | 【複合条件(AND/OR)】 - | | | | | | | | | IF A = B AND C = D - | | | | | | | | | IF (A < 1) OR (A > 31) - | | | | | | | | | - | | | | | | | | | 【THEN句あり】 - | | | | | | | | | IF ... THEN ... END-IF - | | | | | | | | | - | | | | | | | | | 【ELSE分岐】 - | | | | | | | | | IF ... ELSE ... END-IF - | | | | | | | | | - | | | | | | | | | 【NOT = 条件】 - | | | | | | | | | IF SQLCODE NOT = 0 - | | | | | | | | | (ZAN06UPD) ----------------+|-----|-----|-----|-----|-----|-----|-----|------|-------------------------- -INITIALIZE | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ◎ | INITIALIZE WRKARA - | | | | | | | | | INITIALIZE W01OUTREC - | | | | | | | | | (全プログラムで使用) ----------------+|-----|-----|-----|-----|-----|-----|-----|------|-------------------------- -INSPECT | ○ | - | - | - | - | - | ○ | ◎ | 【TALLYING】 - | | | | | | | | | INSPECT R01INNREC - | | | | | | | | | TALLYING WRK-COMMA-CNT - | | | | | | | | | FOR ALL ',' - | | | | | | | | | (ZAN01CHK) - | | | | | | | | | - | | | | | | | | | INSPECT C01CHKDAT - | | | | | | | | | TALLYING W FOR - | | | | | | | | | CHARACTERS BEFORE - | | | | | | | | | INITIAL SPACE - | | | | | | | | | (SUB04CHK) ----------------+|-----|-----|-----|-----|-----|-----|-----|------|-------------------------- -MERGE | - | - | - | - | - | - | - | × | 未使用 (SORT/JCLに委譲) ----------------+|-----|-----|-----|-----|-----|-----|-----|------|-------------------------- -MOVE | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ◎ | MOVE X TO Y - | | | | | | | | | (全プログラム、 - | | | | | | | | | 最も基本的な代入文) ----------------+|-----|-----|-----|-----|-----|-----|-----|------|-------------------------- -MULTIPLY | - | - | - | - | - | ○ | - | ◎ | MULTIPLY A BY 60 - | | | | | | | | | GIVING B - | | | | | | | | | (ZAN06UPD-2100SUMMARYSOR) ----------------+|-----|-----|-----|-----|-----|-----|-----|------|-------------------------- -OPEN | ○ | ○ | ○ | ○ | ○ | ○ | - | ◎ | OPEN INPUT R01INNFIL - | | | | | | | | | OUTPUT W01OUTFIL - | | | | | | | | | OPEN I-O ...(未使用) ----------------+|-----|-----|-----|-----|-----|-----|-----|------|-------------------------- -PERFORM | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ◎ | 【PERFORM 段落名】 - | | | | | | | | | PERFORM 1000ITTSOR - | | | | | | | | | - | | | | | | | | | 【PERFORM UNTIL(外書)】 - | | | | | | | | | PERFORM 2000MAJSOR - | | | | | | | | | UNTIL cond - | | | | | | | | | - | | | | | | | | | 【PERFORM UNTIL(内書)】 - | | | | | | | | | PERFORM UNTIL cond - | | | | | | | | | ... END-PERFORM - | | | | | | | | | - | | | | | | | | | 【PERFORM VARYING】 - | | | | | | | | | PERFORM VARYING WRK-IDX - | | | | | | | | | FROM 1 BY 1 - | | | | | | | | | UNTIL WRK-IDX > 12 - | | | | | | | | | (ZAN06UPD-2100SUMMARYSOR) - | | | | | | | | | - | | | | | | | | | 【PERFORM TEST AFTER】 - | | | | | | | | | PERFORM TEST AFTER - | | | | | | | | | VARYING WRK-IDX - | | | | | | | | | FROM 1 BY 1 - | | | | | | | | | UNTIL cond - | | | | | | | | | (ZAN06UPD-2210MONTHLYSUBSOR) ----------------+|-----|-----|-----|-----|-----|-----|-----|------|-------------------------- -READ | ○ | ○ | ○ | ○ | ○ | ○ | - | ◎ | READ R01INNFIL - | | | | | | | | | AT END MOVE '1' TO EOF - | | | | | | | | | NOT AT END ADD 1 TO CNT - | | | | | | | | | END-READ - | | | | | | | | | (全プログラムで使用) ----------------+|-----|-----|-----|-----|-----|-----|-----|------|-------------------------- -RELEASE | - | - | - | - | - | - | - | × | 未使用 -RETURN | - | - | - | - | - | - | - | × | 未使用 -REWRITE | - | - | - | - | - | - | - | × | 未使用 ----------------+|-----|-----|-----|-----|-----|-----|-----|------|-------------------------- -SEARCH | - | - | ○ | - | - | - | - | ◎ | SEARCH ALL HOLIDAY-TABLE - | | | | | | | | | AT END CONTINUE - | | | | | | | | | WHEN HD-DATE(IDX) = D - | | | | | | | | | ... END-SEARCH - | | | | | | | | | (ZAN03CHK-2200SETOVTSOR) - | | | | | | | | | ※SEARCH(非ALL)は未使用 ----------------+|-----|-----|-----|-----|-----|-----|-----|------|-------------------------- -SET | - | ○ | ○ | - | ○ | - | - | ◎ | SET WRK-HD-IDX TO 1 - | | | | | | | | | (ZAN03CHK) - | | | | | | | | | SET 88-cond TO TRUE - | | | | | | | | | (ZAN02CHK, ZAN05CAL) ----------------+|-----|-----|-----|-----|-----|-----|-----|------|-------------------------- -SORT | - | - | - | - | - | - | - | × | 使用不可(JCL SORT規定) - | | | | | | | | | (COBOL SORTは禁止) ----------------+|-----|-----|-----|-----|-----|-----|-----|------|-------------------------- -START | - | - | - | - | - | - | - | × | 未使用 ----------------+|-----|-----|-----|-----|-----|-----|-----|------|-------------------------- -STOP RUN | - | - | - | - | - | - | ○ | ◎ | STOP RUN - | | | | | | | | | (SUB03END-ABEND処理) ----------------+|-----|-----|-----|-----|-----|-----|-----|------|-------------------------- -STRING | ○ | ○ | ○ | ○ | - | ○ | ○ | ◎ | STRING A DELIMITED BY SIZE - | | | | | | | | | B DELIMITED BY SIZE - | | | | | | | | | INTO X END-STRING - | | | | | | | | | - | | | | | | | | | STRING A '/' B '/' C - | | | | | | | | | DELIMITED BY SIZE - | | | | | | | | | INTO X (ZAN03CHK) - | | | | | | | | | - | | | | | | | | | STRING 'CANCEL-MATCH: ' - | | | | | | | | | R01APPL-ID ... - | | | | | | | | | INTO W03ERR-DETAIL - | | | | | | | | | (ZAN04MAT) - | | | | | | | | | - | | | | | | | | | STRING 'DB ERROR SQLCODE=' - | | | | | | | | | WRK-SQLCODE-DISP - | | | | | | | | | INTO WRK-ERR-DETAIL - | | | | | | | | | (ZAN06UPD) ----------------+|-----|-----|-----|-----|-----|-----|-----|------|-------------------------- -SUBTRACT | - | - | - | - | - | ○ | - | ◎ | SUBTRACT A FROM B - | | | | | | | | | GIVING C - | | | | | | | | | (ZAN06UPD-2200DBCLEANSOR) ----------------+|-----|-----|-----|-----|-----|-----|-----|------|-------------------------- -UNSTRING | ○ | - | - | - | - | - | - | ◎ | UNSTRING R01INNREC - | | | | | | | | | DELIMITED BY ',' - | | | | | | | | | INTO A B C ... - | | | | | | | | | TALLYING IN CNT - | | | | | | | | | END-UNSTRING - | | | | | | | | | (ZAN01CHK-2010CSVSOR) ----------------+|-----|-----|-----|-----|-----|-----|-----|------|-------------------------- -WRITE | ○ | ○ | ○ | ○ | ○ | ○ | - | ◎ | WRITE W01OUTREC - | | | | | | | | | (全プログラムで使用) - | | | | | | | | | ※WRITE FROM / AFTER - | | | | | | | | | 未使用 -================================================================================ - - -[3] PERFORM文 バリエーション カバレッジ --------------------------------------------------------------------------------- - No | 形式 | 状態 | 使用例 -----+--------------------------+------+------------------------------------------ - 1 | PERFORM 段落名 | ◎ | PERFORM 1000ITTSOR (全プログラム) - 2 | PERFORM 段落名 UNTIL 条件 | ◎ | PERFORM 2000MAJSOR - | | | UNTIL WRK-R01EOF = '1' - | | | (ZAN01〜06全6本) - 3 | PERFORM UNTIL 条件 | ◎ | PERFORM UNTIL WRK-R03EOF = '1' - | ... END-PERFORM | | READ R03INNFIL ... END-READ - | | | END-PERFORM - | | | (ZAN03CHK-1300HOLIDAYSOR) - 4 | PERFORM VARYING | ◎ | PERFORM VARYING WRK-IDX - | | | FROM 1 BY 1 - | | | UNTIL WRK-IDX > 12 ... - | | | END-PERFORM - | | | (ZAN06UPD-2100SUMMARYSOR) - 5 | PERFORM TEST AFTER | ◎ | PERFORM TEST AFTER - | | | VARYING WRK-IDX FROM 1 BY 1 - | | | UNTIL cond ... - | | | END-PERFORM - | | | (ZAN06UPD-2210MONTHLYSUBSOR) - 6 | PERFORM THRU | × | 未使用 (EXIT SECTIONで代用) -================================================================================ - - -[4] IF文 バリエーション カバレッジ --------------------------------------------------------------------------------- - No | 形式 | 状態 | 使用例 -----+-------------------------------+------+-------------------------------------- - 1 | IF 条件 ... END-IF | ◎ | IF WRK-START-NUM < CNS-TIME-1830 - | | | ... END-IF - 2 | IF 条件 ... ELSE ... END-IF | ◎ | IF D01FKICOD = ZERO - | | | ... ELSE ... END-IF - 3 | IF 複合条件(AND) | ◎ | IF A >= B AND C <= D - 4 | IF 複合条件(OR) | ◎ | IF (A < 1) OR (A > 31) - 5 | IF ... THEN ... | ◎ | IF ... THEN ... END-IF - | | | (SUB04CHK) - 6 | IF ... NOT = ... | ◎ | IF D01FKICOD NOT = ZERO - | | | IF SQLCODE NOT = 0 (ZAN06UPD) -================================================================================ - - -[5] 未カバーステートメント 一覧(今後のプログラムで対応予定) --------------------------------------------------------------------------------- - No | ステートメント | 備考 -----+---------------------+----------------------------------------------- - 1 | ALTER | 非推奨ステートメント、使用予定なし - 2 | ALTEREDGOTO | GO TO DEPENDING、非推奨 - 3 | CANCEL | サブプログラムの動的削除は不要 - 4 | DELETE | DB2 DELETEは未実装(今後の拡張で対応可能) - 5 | ENTRY | エントリポイント複数定義は不要 - 6 | EXEC CICS | CICS非対応(バッチ処理のみ) - 7 | EXIT PROGRAM | GOBACKで代用 - 8 | MERGE | COBOL SORT MERGEはJCL SORTに委譲のため不使用 - 9 | RELEASE | SORT関連、JCL SORTに委譲 - 10 | RETURN | SORT関連、JCL SORTに委譲 - 11 | REWRITE | VSAM/INDEXED非対応(順次ファイルのみ) - 12 | SORT | COBOL SORTは禁止(JCL PGM=SORTに委譲) - 13 | START | VSAM/INDEXED非対応 -================================================================================ - - -[6] COPYファイル・SUBプログラム 参照状況 --------------------------------------------------------------------------------- - COPY/SUB名 | 用途 | 使用プログラム ---------------+------------------------------+---------------------- - ZAN01REC | 申請レコード(80B) | ZAN01CHK〜ZAN04MAT (全4本) - ZAN02REC | マッチング結果レコード(80B) | ZAN04MAT, ZAN05CAL - ZAN03REC | 集約結果レコード(80B) | ZAN05CAL, ZAN06UPD - ZAN04REC | DBCLEAN用レコード(80B) | ZAN04MAT, ZAN06UPD - ZAN05REC | エラーログ(VB) | ZAN01〜04, ZAN06UPD (計5本) - ZANDATAC | SUB01DAT連絡領域 | ZAN01CHK, ZAN02CHK, - | | ZAN04MAT, ZAN05CAL, ZAN06UPD - ZANMSGAC | SUB02MSG連絡領域 | ZAN01〜06, SUB03END (計7本) - ZANENDAC | SUB03END連絡領域 | ZAN01〜06 (計6本) - ZANCHKAC | SUB04CHK連絡領域 | ZAN01CHK - ZANTIMAC | SUB05TIM連絡領域 | ZAN05CAL - | | - SUB01DAT | 運用日付取得 | ZAN01CHK, ZAN02CHK, - | | ZAN04MAT, ZAN05CAL, ZAN06UPD - SUB02MSG | メッセージ編集出力 | ZAN01〜06, SUB03END (計7本) - SUB03END | ABEND処理 | ZAN01〜06 (計6本) - SUB04CHK | 項目チェック | ZAN01CHK - SUB05TIM | 時刻丸め計算 | ZAN05CAL -================================================================================ - - -[7] TYPE定義 カバレッジ状況(TYPE定義一覧.txt 準拠/可変パターン m,n) --------------------------------------------------------------------------------- - No | TYPE定義 | 状態 | 対応実装例 -----+------------------------+------+------------------------------------------ - 1 | X(m) | ◎ | PIC X(1)〜X(80):STATUS, OVT-TYPE, - | | | APPL-ID, EMP-ID, 各種文字項目 - 2 | G(m) | × | 未使用(DBCS文字列不要) - 3 | N(m) | × | 未使用(National文字列不要) - 4 | 9(m) | ◎ | PIC 9(1)〜9(8):CNS定数, 日付, 時刻, - | | | YEAR-MONTH, カウンタ - 5 | 9(m)V9(n) | ◎ | PIC 9(4)V9(1):WRK-OVT-HOURS, - | | | WRK-REMAIN-HOURS(加班時間) - 6 | S9(m)V9(n) | × | 未使用(DISPLAY/非COMPでは不使用) - | | | ※本パターンはCOMP-3必須ではなく、 - | | | DISPLAY形式でも使用可能 - 7 | S9(m)V9(n) COMP-3 | ◎ | DB-OVT-HOURS PIC S9(7)V9(1) COMP-3 - 8 | S9(m) COMP-3 | ◎ | CUNARA: PIC S9(9) COMP-3(全カウンタ) - 9 | S9(m) COMP | ○ | PIC 9(2) COMP(WRK-COMMA-CNT) - | | | PIC 9(4) COMP(WRK-HOLIDAY-CNT) - 10 | S9(m) BINARY | × | 未使用(COMP-5/BINARY不使用) - 11 | ZZZ9 | × | 未使用(編集文字不要) -================================================================================ - 凡例: ◎=該当パターン使用, ○=代替形式で使用, △=複合形で使用, ×=未使用 - 備考: - - TYPE定義一覧.txt が固定値から可変パターン(m,nは任意桁数)に変更された。 - - サブシステムBでは X(m), 9(m), S9(m) COMP-3 を主に使用。 - - No.6 は純粋な S9(m)V9(n)(非COMP)は未使用だが、COMP-3 版(No.7)で代替。 - - No.9 の COMP 型は符号付(S9)ではないが、9(2) COMP, 9(4) COMP として使用実績あり。 - - -================================================================================ -設計書(02_残業統計管理システム_設計書(サブシステムB).md)対抗確認結果 -================================================================================ - 確認項目: 全6プログラムの機能・構文・パターン実装状況 - 確認日時: 2026-06-16 22:53 - 判定: 全項目 ◎(設計書通りの実装完了) - - プログラム別実装確認: - ------------------------------------------------------------------------------- - | PGM | 設計上のパターン | 実装状態 | 主要構文 | - |----------+-----------------------+----------+-------------------------------| - | ZAN01CHK | 振り分け(EVALUATE) | ◎ 完了 | UNSTRING, EVALUATE, DIVIDE | - | | CSV→FB変換(一部○) | | INSPECT TALLYING, STRING | - | ZAN02CHK | 項目チェック(重複含) | ◎ 完了 | IF, SET, CONTINUE | - | | 前終了>現開始→重複 | | STRING(エラー編集) | - | ZAN03CHK | 項目チェック(重複無) | ◎ 完了 | SEARCH ALL, SET, STRING | - | | SEARCH ALL休日判定 | | FUNCTION CURRENT-DATE | - | ZAN04MAT | マッチング(1:1) | ◎ 完了 | EVALUATE TRUE, STRING | - | | 処理番号1付与 | | HIGH-VALUE制御 | - | ZAN05CAL | キーブレイク(集計) | ◎ 完了 | ACCEPT FROM DATE, DIVIDE | - | | SUB05TIM呼出 | | COMPUTE ROUNDED ON SIZE ERROR | - | | | | SET 88条件 | - | ZAN06UPD | DB更新 | ◎ 完了 | EXEC SQL(6種), PERFORM VARYING| - | | | | PERFORM TEST AFTER, MULTIPLY | - | | | | SUBTRACT, COMMIT/ROLLBACK | - - 設計書「新規COBOL構文カバレッジ一覧(14種)」対抗: - 1. UNSTRING → ZAN01CHK ✓ - 2. STRING → ZAN01CHK, ZAN02CHK, ZAN03CHK, ZAN04MAT, ZAN06UPD ✓ - 3. SEARCH ALL → ZAN03CHK ✓ - 4. SET → ZAN02CHK, ZAN03CHK, ZAN05CAL ✓ - 5. COMPUTE ROUNDED ON SIZE ERROR → ZAN05CAL ✓ - 6. DIVIDE → ZAN01CHK, ZAN05CAL ✓ - 7. CONTINUE → ZAN02CHK, ZAN03CHK, ZAN05CAL, ZAN06UPD ✓ - 8. ACCEPT FROM DATE → ZAN05CAL ✓ - 9. EXEC SQL → ZAN06UPD ✓ - 10. IF (SQLCODE分岐) → ZAN06UPD ✓ - 11. PERFORM VARYING → ZAN06UPD ✓ - 12. PERFORM TEST AFTER → ZAN06UPD ✓ - 13. MULTIPLY → ZAN06UPD ✓ - 14. SUBTRACT → ZAN06UPD ✓ - - 設計書との差分: なし(全14種とも設計書に記載済) -================================================================================ - -以上 diff --git a/list/プログラムタイプ・ステートメントカバレッジ状況_20260619-1200.txt b/list/プログラムタイプ・ステートメントカバレッジ状況_20260619-1200.txt deleted file mode 100644 index 0bd455e..0000000 --- a/list/プログラムタイプ・ステートメントカバレッジ状況_20260619-1200.txt +++ /dev/null @@ -1,454 +0,0 @@ -================================================================================ - プログラムタイプ・ステートメント カバレッジ状況 - 確認日時: 2026-06-22 14:00 - V2.3更新版: KIN06CLD追加(PGMパターン12新規実装 + PERFORM VARYING追認) - 対象: SRC11本 + SUB5本 + CPY11本 = 27ファイル実査 - ベース: PGM実装パターン一覧.txt (29件) - ステートメント一覧.txt (49表記→45ユニーク) - TYPE定義一覧.txt (11件) - COBOLの予約語一覧.txt (193語) -================================================================================ - -確認対象プログラム: - サブシステムA (勤怠休暇): KIN01INP, KIN02UPD, KIN03EXP, KIN04CHK, KIN05MAT, KIN06CLD - サブシステムB (残業統計): ZAN01CHK, ZAN02CHK, ZAN03CHK, ZAN04MAT, ZAN05CAL, ZAN06UPD - サブプログラム共通: SUB01DAT, SUB02MSG, SUB03END, SUB04CHK, SUB05TIM - -確認対象COPYファイル: - KIN系: KIN01REC, KIN02REC, KIN03REC, KIN04REC, KIN05REC - ZAN系: ZAN01REC, ZAN02REC, ZAN03REC, ZAN04REC, ZAN05REC - 共通連絡領域: ZANDATAC, ZANMSGAC, ZANENDAC, ZANCHKAC, ZANTIMAC - SQL埋込: SQLCA(EXEC SQL INCLUDE) -================================================================================ - - -[1] プログラムタイプ カバレッジ状況(PGM実装パターン一覧.txt 準拠) --------------------------------------------------------------------------------- -凡例: ◎=完全実装 ○=一部実装 △=関連実装あり ×=未実装 空=対象外 - - No | パターン |状態 | 該当プログラム -----+-------------------------------------+------+--------------------------- - 1 | マッチング処理(1:1) | ◎ | ZAN04MAT (R01 vs R02, APPL-ID照合) - 2 | マッチング処理(1:N) | ◎ | KIN05MAT (R01 vs R02, 休暇種別優先順位) - | | | KIN03EXP (DB1行→日数分展開) - 3 | マッチング処理(N:1) | ◎ | ZAN03CHK (複数申請×同一打刻) - 4 | マッチング処理(M:N)→出力N件 | × | 未実装 - 5 | マッチング処理(M:N)→出力M件 | × | 未実装 - 6 | マッチング処理(M:N)→出力MxN件 | × | 未実装 - 7 | マッチング(1:N)+キーブレイク | × | 未実装 - 8 | マッチング(1:N)+キーブレイク | × | 未実装 - | (ブレイクキー>マッチングキー) | | - 9 | キーブレイク処理(集計) | ◎ | ZAN05CAL (APPL-ID単位累積集計) - 10 | キーブレイク処理(集約) | ○ | ZAN05CAL (先頭START-TIME保持) - 11 | キーブレイク処理(その他) | ◎ | ZAN02CHK (重複検出用), KIN03EXP (社員小計), KIN05MAT (N:1ループ) - 12 | レイアウト編集のみ(GETPUT) | ◎ | KIN06CLD (PARM年月の出勤日カレンダーをDB→FILE編集出力) - 13 | 項目チェック(重複チェック無) | ◎ | ZAN01CHK, ZAN03CHK, KIN01INP, SUB04CHK - 14 | 項目チェック(重複チェック有) | ◎ | ZAN02CHK (時間帯重複) - 15 | 振り分け(IF文) | ◎ | ZAN01CHK, ZAN02CHK, ZAN03CHK, ZAN05CAL, - | | | ZAN06UPD, KIN01INP, KIN02UPD, KIN03EXP, KIN05MAT - 16 | 振り分け(EVALUATE文) | ◎ | ZAN01CHK, ZAN03CHK, ZAN04MAT, ZAN05CAL, - | | | ZAN06UPD, KIN01INP, KIN02UPD, KIN05MAT, SUB04CHK, SUB05TIM - 17 | 内部テーブル検索 | ◎ | ZAN03CHK (SEARCH ALL休日), KIN01INP (SEARCH休暇種別), - | | | KIN03EXP (SEARCH ALL休日) - 18 | DB更新/参照 | ◎ | ZAN06UPD (INSERT, UPDATE, SELECT) - | | | KIN02UPD (INSERT, DELETE, SELECT) - | | | KIN03EXP (SELECT, FETCH) - 19 | CSV→FB変換(改行コード無) | ◎ | ZAN01CHK (UNSTRING), KIN01INP (UNSTRING) - 20 | CSV→FB変換(改行コード有) | × | 未実装 - 21 | オンラインPGM | × | バッチ処理のみ - 22 | 25分割 | × | 未実装 - 23 | 50分割 | × | 未実装 - 24 | 100分割 | × | 未実装 - 25 | 2段階マッチング(N:1→N:1) | × | 未実装 - 26 | 2段階マッチング(M:N→M:N) | × | 未実装 - 27 | 2段階マッチング(1:1→1:1) | × | 未実装 - 28 | SYSIN読込・チェック | × | 未実装 - 29 | ASCII→EBCDIC変換 | × | 未実装 -================================================================================ - カバー率: 29パターン中 実装13件 (◎12件 + ○1件) = 44.8% ※ - 凡例: ◎=完全実装, ○=一部実装, ×=未実装 - 備考1: 未実装パターン(4-8,12,20-29)は現行システムの要件範囲外 - 備考2: ※前版から低下したのは「DB参照」を正規29パターンに統合したため - (前版は正規リスト外のDB参照を19番に追加し30パターン表示していた) - - -ステートメント|KIN01|KIN02|KIN03|KIN04|KIN05|KIN06|ZAN01|ZAN02|ZAN03|ZAN04|ZAN05|ZAN06|SUB1|SUB2|SUB3|SUB4|SUB5|状態|使用例 - | INP | UPD | EXP | CHK | MAT | CLD | CHK | CHK | CHK | MAT | CAL | UPD |DAT |MSG |END |CHK |TIM | | -ACCEPT | - | - | - | - | - | ○ | - | - | - | - | ○ | - | - | - | - | - | - | ◎ | ZAN05CALのACCEPT DATE YYYYMMDD (+ KIN06CLDのACCEPT COMMAND-LINE) - | | | | | | | | | | | | | | | | FROM DATE YYYYMMDD - | | | | | | | | | | | | | | | | (ZAN05CAL) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -ADD | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | - | - | - | - | - | ◎ | 全メインプログラム (ADD 1 TO CUN-R01INN) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -ALTER | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | × | 未使用 ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -ALTEREDGOTO | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | × | 未使用 (GO TO DEPENDING) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -CALL | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | - | - | - | - | - | ◎ | 全メインプログラム (CALL SUB01DAT, SUB02MSG, SUB03END, SUB04CHK, SUB05TIM) - | | | | | | | | | | | | | | | | CALL 'SUB02MSG'... - | | | | | | | | | | | | | | | | CALL 'SUB04CHK'... - | | | | | | | | | | | | | | | | CALL 'SUB05TIM'... ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -CANCEL | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | × | 未使用 ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -CLOSE | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | - | - | - | - | - | ◎ | ファイル有りの全PGM (CLOSE R01INNFIL, W01OUTFIL) - | | | | | | | | | | | | | | | | W01OUTFIL - | | | | | | | | | | | | | | | | (ファイル有りの全PGM) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -COMPUTE | - | - | ○ | - | - | ○ | ○ | - | ○ | - | ○ | - | - | - | - | - | ○ | ◎ | ZAN01CHK, ZAN03CHK, ZAN05CAL, KIN03EXP, KIN06CLD, SUB05TIM - | | | | | | | | | | | | | | | | COMPUTE ROUNDED - | | | | | | | | | | | | | | | | ON SIZE ERROR - | | | | | | | | | | | | | | | | (ZAN01, ZAN03, ZAN05, KIN03, KIN06, SUB05) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -CONTINUE | ○ | ○ | ○ | ○ | ○ | ○ | ○ | - | ○ | - | ○ | ○ | - | - | - | - | - | ◎ | SEARCH ALL AT END, EVALUATE WHEN OTHER, COMPUTE ON SIZE ERROR - | | | | | | | | | | | | | | | | EVALUATE WHEN OTHER CONTINUE - | | | | | | | | | | | | | | | | COMPUTE ON SIZE ERROR CONT. ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -DELETE | - | ○ | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | ○ | KIN02UPDのみ (EXEC SQL DELETE) - | | | | | | | | | | | | | | | | (KIN02UPDのみ) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -DISPLAY | - | - | - | - | - | - | - | - | - | - | - | - | - | ○ | ○ | - | - | △ | SUB02MSG, SUB03END - | | | | | | | | | | | | | | | | SUB03END: DISPLAY abend ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -DIVIDE | - | - | - | ○ | - | - | ○ | - | - | - | ○ | - | - | - | - | - | ○ | ◎ | ZAN01CHK, ZAN05CAL, SUB05TIM (DIVIDE...GIVING...REMAINDER) - | | | | | | | | | | | | | | | | GIVING B REMAINDER C - | | | | | | | | | | | | | | | | (ZAN01, ZAN05, SUB05) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -ENTRY | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | × | 未使用 ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -EVALUATE | ○ | ○ | ○ | - | ○ | - | ○ | - | ○ | ○ | ○ | ○ | - | - | - | ○ | ○ | ◎ | KIN01INP, KIN02UPD, KIN03EXP, KIN05MAT, ZAN01-06, SUB04CHK, SUB05TIM (12本中) - | | | | | | | | | | | | | | | | EVALUATE C01CHKTYP - | | | | | | | | | | | | | | | | (KIN01-03, KIN05, ZAN01,03-06, SUB04,05) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -EXEC CICS | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | × | 未使用 (全バッチ) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -EXEC SQL | - | ○ | ○ | - | - | ○ | - | - | - | - | - | ○ | - | - | - | - | - | ◎ | KIN02UPD, KIN03EXP, KIN06CLD, ZAN06UPD (CONNECT, SELECT, INSERT, UPDATE, DELETE, COMMIT, ROLLBACK) - | | | | | | | | | | | | | | | | UPDATE, DELETE, COMMIT, - | | | | | | | | | | | | | | | | ROLLBACK, INCLUDE - | | | | | | | | | | | | | | | | (ZAN06UPD, KIN02UPD, - | | | | | | | | | | | | | | | | KIN03EXP, KIN06CLD) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -EXIT | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ◎ | 全14プログラム (xxx-EXT. EXIT.) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -EXIT PROGRAM | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | × | 未使用 (GOBACKで代用) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -GOBACK | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ◎ | 全14プログラム ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -GO TO | ○ | - | - | ○ | - | - | ○ | - | - | - | - | - | - | - | - | ○ | - | ◎ | ZAN01CHK, KIN01INP, KIN04CHK, SUB04CHK (GO TO xxx-EXT) - | | | | | | | | | | | | | | | | (ZAN01CHK, KIN01INP, - | | | | | | | | | | | | | | | | KIN04CHK, SUB04CHK) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -IF | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | - | - | - | ○ | ○ | ◎ | 全メインプログラム + SUB04CHK, SUB05TIM - | | | | | | | | | | | | | | | | IF cond ... ELSE ... END-IF - | | | | | | | | | | | | | | | | IF cond1 AND cond2 - | | | | | | | | | | | | | | | | IF SQLCODE NOT = 0 - | | | | | | | | | | | | | | | | (メイン全PGM+SUB04,05) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -INITIALIZE | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | - | - | - | - | - | ◎ | 全メインプログラム - | | | | | | | | | | | | | | | | INITIALIZE W01OUTREC - | | | | | | | | | | | | | | | | (全メインプログラム) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -INSPECT | - | - | - | ○ | - | - | ○ | - | - | - | - | - | ○ | - | - | - | - | ◎ | ZAN01CHK, KIN04CHK, SUB04CHK (INSPECT TALLYING) - | | | | | | | | | | | | | | | | (ZAN01CHK, KIN04CHK, SUB04CHK) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -MERGE | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | × | 未使用 (SORT/JCL委譲) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -MOVE | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ◎ | 全14プログラム ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -MULTIPLY | - | - | - | - | - | - | - | - | - | - | - | ○ | - | - | - | - | - | ○ | ZAN06UPDのみ (MULTIPLY A BY 60 GIVING B) - | | | | | | | | | | | | | | | | (ZAN06UPDのみ) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -OPEN | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | - | - | - | - | - | ◎ | ファイル有りの全PGM - | | | | | | | | | | | | | | | | (ファイル有りの全PGM) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -PERFORM | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | - | - | - | ○ | ○ | ◎ | 全メインプログラム + SUB04CHK, SUB05TIM ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -PERFORM UNTIL | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | - | - | - | - | - | ◎ | 全メインプログラム (PERFORM UNTIL END-PERFORM) - | | | | | | | | | | | | | | | | ... END-PERFORM (ZAN03CHK) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -PERFORM VARY | - | - | - | - | - | ○ | - | - | - | - | - | ○ | - | - | - | - | - | ◎ | ZAN06UPD, KIN06CLD (PERFORM VARYING線形探索) - | | | | | | | | | | | | | | | | (ZAN06UPD, KIN06CLD) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -PERM TEST AFT | - | - | - | - | - | - | - | - | - | - | - | ○ | - | - | - | - | - | ○ | ZAN06UPDのみ (PERFORM TEST AFTER VARYING) - | | | | | | | | | | | | | | | | VARYING ... (ZAN06UPD) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -READ | ○ | ○ | - | ○ | ○ | - | ○ | ○ | ○ | ○ | ○ | ○ | - | - | - | - | - | ◎ | KIN03EXP以外の全メインPGM - | | | | | | | | | | | | | | | | AT END/NOT AT END/END-READ - | | | | | | | | | | | | | | | | (KIN03EXP,KIN06CLD以外の全メインPGM) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -RELEASE | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | × | 未使用 ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -RETURN | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | × | 未使用 ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -REWRITE | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | × | 未使用 ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -SEARCH | ○ | - | ○ | - | - | - | - | - | ○ | - | - | - | - | - | - | - | - | ◎ | KIN01INP (SEARCH), KIN03EXP (SEARCH ALL), ZAN03CHK (SEARCH ALL) - | | | | | | | | | | | | | | | | SEARCH (KIN01INP, 直線探索) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -SET | ○ | - | ○ | - | - | - | - | - | ○ | - | ○ | - | - | - | - | - | - | ◎ | KIN01INP, KIN03EXP, ZAN03CHK, ZAN05CAL - | | | | | | | | | | | | | | | | SET cond TO TRUE - | | | | | | | | | | | | | | | | (KIN01,03, ZAN03,05) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -SORT | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | × | 使用禁止 (JCL PGM=SORT) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -START | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | × | 未使用 (VSAM非対応) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -STOP RUN | - | - | - | - | - | - | - | - | - | - | - | - | - | - | ○ | - | - | ○ | SUB03ENDのみ (STOP RUN RETURN-CODE) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -STRING | ○ | - | - | ○ | - | ○ | ○ | ○ | ○ | ○ | - | ○ | - | ○ | - | - | - | ◎ | KIN01INP, KIN04CHK, KIN06CLD, ZAN01-ZAN04, ZAN06UPD, SUB02MSG - | | | | | | | | | | | | | | | | INTO X END-STRING - | | | | | | | | | | | | | | | | (KIN01,04,06, ZAN01-04,06, SUB02) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -SUBTRACT | - | - | - | - | - | - | - | - | - | - | - | ○ | - | - | - | - | - | ○ | ZAN06UPDのみ - | | | | | | | | | | | | | | | | (ZAN06UPDのみ) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -UNSTRING | ○ | - | - | ○ | - | - | ○ | - | - | - | - | - | - | - | - | - | - | ◎ | KIN01INP, KIN04CHK, ZAN01CHK - | | | | | | | | | | | | | | | | INTO ... TALLYING IN CNT - | | | | | | | | | | | | | | | | (KIN01INP, KIN04CHK, ZAN01CHK) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -WRITE | ○ | - | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | - | - | - | - | - | ◎ | ファイル出力有りの全PGM - | | | | | | | | | | | | | | | | (ファイル出力有りのPGM) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -WRITE FROM/ | - | - | - | ○ | - | - | - | - | - | - | - | - | - | - | - | - | - | ○ | KIN04CHK (2050NORMSOR正常出力にWRITE FROM使用) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -WRITE AFTER | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | × | 未使用 (WRITE FROMはKIN04CHKで使用) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -================================================================================ - ステートメントカバー率: 45ユニーク中 使用33件 (◎=25 + ○=2 + △=6) - カバー率 73.3% (33/45) - 未使用12件: ALTER, ALTEREDGOTO, CANCEL, ENTRY, EXEC CICS, EXIT PROGRAM, - MERGE, RELEASE, RETURN, REWRITE, SORT, START, WRITE AFTER - - -[3] PERFORM文 バリエーション カバレッジ --------------------------------------------------------------------------------- - No | 形式 | 状態 | 該当プログラム -----+--------------------------+------+------------------------------------------ - 1 | PERFORM 段落名 | ◎ | 全メインプログラム(ZAN01-06, KIN01-03) - | | | + SUB04CHK, SUB05TIM - 2 | PERFORM 段落名 UNTIL | ◎ | 全メインプログラム(ZAN01-06, KIN01-03) - | | | PERFORM 2000MAJSOR UNTIL cond - 3 | PERFORM UNTIL ... | ◎ | ZAN03CHK (1300HOLIDAYSOR: 休日ファイル) - | END-PERFORM | | KIN03EXP (2200-EXPAND-DATE: 日付展開) - 4 | PERFORM VARYING | ◎ | ZAN06UPD (2100SUMMARYSOR: 月バリデーション) - | | | KIN06CLD (休日線形探索) - 5 | PERFORM TEST AFTER | ○ | ZAN06UPD (2210MONTHLYSUBSOR: リトライ制御) - 6 | PERFORM THRU | ○ | KIN03EXP (2100-PROCESS-EMP THRU ...-EXIT, - | | | 2200-EXPAND-DATE THRU ...-EXIT) -================================================================================ - - -[4] IF文 バリエーション カバレッジ --------------------------------------------------------------------------------- - No | 形式 | 状態 | 該当プログラム -----+-------------------------------+------+-------------------------------------- - 1 | IF 条件 ... END-IF | ◎ | ZAN01-06, KIN01-03, SUB04, SUB05 - 2 | IF 条件 ... ELSE ... END-IF | ◎ | ZAN01-03, KIN01-03, SUB04 (ほか) - 3 | IF 複合条件(AND) | ◎ | ZAN03CHK (時間範囲), ZAN06UPD (月判定) - | | | SUB04CHK (日付範囲) 等 - 4 | IF 複合条件(OR) | ◎ | KIN03EXP (週末判定: 0 OR 6) - 5 | IF ... THEN ... | ◎ | SUB04CHK, SUB05TIM - 6 | IF ... NOT = ... | ◎ | ZAN06UPD (SQLCODE判定), KIN02UPD -================================================================================ - - -[5] 未カバーステートメント 一覧 --------------------------------------------------------------------------------- - No | ステートメント | 備考 -----+---------------------+----------------------------------------------- - 1 | ALTER | 非推奨、使用予定なし - 2 | ALTEREDGOTO | GO TO DEPENDING、非推奨 - 3 | CANCEL | サブプログラム動的削除は不要 - 4 | ENTRY | エントリポイント複数定義不要 - 5 | EXEC CICS | CICS非対応(全バッチ処理) - 6 | EXIT PROGRAM | GOBACKで代用 - 7 | MERGE | COBOL MERGEはJCL SORTに委譲 - 8 | RELEASE | SORT関連、JCL SORT委譲 - 9 | RETURN | SORT関連、JCL SORT委譲 - 10 | REWRITE | VSAM/INDEXED非対応 - 11 | SORT | COBOL SORT禁止(JCL PGM=SORT) - 12 | START | VSAM非対応 - 13 | WRITE AFTER | 未使用 (WRITE FROMはKIN04CHKで使用) -================================================================================ - - -[6] COPYファイル・SUBプログラム 参照状況 --------------------------------------------------------------------------------- - COPY/SUB名 | 用途 | 使用プログラム ----------------+----------------------------+------------------------------- - KIN01REC | 休暇申請レコード(80B) | KIN01INP, KIN02UPD - KIN02REC | 休暇日別レコード(80B) | KIN03EXP, KIN05MAT - KIN03REC | 照合結果レコード(160B) | KIN05MAT - KIN04REC | 打刻編集レコード(80B) | KIN04CHK, KIN05MAT - KIN05REC | エラーログ(VB) | KIN01INP - KIN06REC | 出勤日カレンダー(80B) | KIN06CLD - ZAN01REC | 申請レコード(80B) | ZAN01CHK, ZAN02CHK, ZAN03CHK, - | | ZAN04MAT (全4本) - ZAN02REC | マッチング結果(80B) | ZAN04MAT, ZAN05CAL - ZAN03REC | 集計結果レコード(80B) | ZAN05CAL, ZAN06UPD - ZAN04REC | DBCLEAN用レコード(80B) | ZAN04MAT, ZAN06UPD - ZAN05REC | エラーログ(VB) | ZAN01-04, ZAN06UPD (計5本) - ZANDATAC | SUB01DAT連絡領域 | ZAN01,02,04,05,06, KIN01, KIN03 - ZANMSGAC | SUB02MSG連絡領域 | ZAN01-06, KIN01-06, SUB03END - ZANENDAC | SUB03END連絡領域 | ZAN01-06, KIN01-06 - ZANCHKAC | SUB04CHK連絡領域 | ZAN01CHK, KIN01INP, KIN04CHK - ZANTIMAC | SUB05TIM連絡領域 | ZAN05CAL - SQLCA | SQLCA (EXEC SQL INCLUDE) | ZAN06UPD, KIN02UPD, KIN03EXP, KIN06CLD - | | - SUB01DAT | 運用日付取得 | ZAN01,02,04,05,06, KIN01, KIN03 - SUB02MSG | メッセージ編集出力 | ZAN01-06, KIN01-06, SUB03END - SUB03END | ABEND処理 | ZAN01-06, KIN01-06 - SUB04CHK | 項目チェック | ZAN01CHK, KIN01INP - SUB05TIM | 時刻丸め計算 | ZAN05CAL -================================================================================ - - -[7] TYPE定義 カバレッジ状況(TYPE定義一覧.txt 準拠) --------------------------------------------------------------------------------- - No | TYPE定義 | 状態 | 使用例 -----+---------------------+------+------------------------------------------- - 1 | X(m) | ◎ | PIC X(001)〜X(198): STATUS, OVT-TYPE, - | | | APPL-ID, EMP-ID, ERR-DETAIL, - | | | FILLER, 各種MSG領域 (全COPY/全PGM) - 2 | G(m) | × | 未使用(DBCS文字列不要) - 3 | N(m) | × | 未使用(National文字列不要) - 4 | 9(m) | ◎ | PIC 9(001)〜9(009): CNS定数, 日付, 時刻, - | | | APPL-ID(KIN系), ERR-CATEGORY, - | | | PROC-SEQ, RRCコード, MSG-CODE - 5 | 9(m)V9(n) | ◎ | PIC 9(004)V9(001): OVT-HOURS, - | | | 加班時間(集計/丸め/残容量) - | | | (ZAN03REC, ZANTIMAC, ZAN05CAL, ZAN06UPD, SUB05TIM) - 6 | S9(m)V9(n) | ○ | PIC S9(005)V9(001): WRK-HOURS - | | | (SUB05TIM, DISPLAY形式, COMP無) - 7 | S9(m)V9(n) COMP-3 | ○ | PIC S9(007)V9(001) COMP-3: DB-OVT-HOURS - | | | (ZAN06UPDのみ) - 8 | S9(m) COMP-3 | ◎ | PIC S9(009) COMP-3: CUN-R01INN他 - | | | (全メインプログラム: カウンタ領域) - 9 | S9(m) COMP | ○ | PIC S9(004) COMP: D01FKICOD - | | | (ZANDATAC, SUB01DAT) - | | | PIC 9(002) COMP: WRK-COMMA-CNT - | | | (ZAN01CHK, KIN01INP) - | | | PIC 9(004) COMP: WRK-HOLIDAY-CNT - | | | (ZAN03CHK) - | | | PIC 9(004) COMP: WRK-HD-COUNT - | | | (KIN03EXP) - 10 | S9(m) BINARY | × | 未使用(COMP-5/BINARY不使用) - 11 | ZZZ9(編集文字) | × | 未使用 - | | | - | 補足1: 9(004).9(001) | △ | PIC 9(004).9(001) 編集数字(実小数点) - | | | WRK-OVT-HOURS-EDITED (ZAN06UPD) - | 補足2: S9(m) DISPLAY | △ | PIC S9(005): WRK-MINUTES, WRK-REMAINDER - | | | (SUB05TIM 符号付非COMP整数) - | | | PIC S9(004): WRK-SIGN (SUB04CHK) - | 補足3: +9(009) | △ | PIC +9(009): WRK-SQLCODE-DISP - | | | (ZAN06UPD, KIN02UPD 符号強制編集数字) - ================================================================================ - 凡例: ◎=複数プログラムで使用, ○=1プログラムのみ, △=特殊形式/補足, ×=未使用 - 備考: 全TYPE定義11件中、使用7件 (1,4,5,6,7,8,9) + 特殊形式3件 + 未使用4件 (2,3,10,11) - - [8] COBOLの予約語一覧.txt (193語) との対照 - -------------------------------------------------------------------------------- - 全予約語193語を全ソースファイル(src/*.cbl + sub/*.cbl + cpy/*.cpy)でgrep確認。 - 予約語出現判定は単語境界\bマッチ、大文字小文字不区別。 - -------------------------------------------------------------------------------- - 出現確認: 134語 (69.4%) - 未出現: 59語 (30.6%) - -------------------------------------------------------------------------------- - 出現確認した主な予約語 (134語): - ACCEPT, ADD, AFTER, ALL, AND, ASCENDING, ASSIGN, AT, BLOCK, BY, - CALL, CHARACTERS, CLOSE, COMP, COMP-3, COMPUTE, CONFIGURATION, - CONTAINS, CONTINUE, COPY, COUNT, DATA, DATE, DELETE, DELIMITED, - DEPENDING, DISPLAY, DIVIDE, DIVISION, ELSE, END, END-COMPUTE, - END-EVALUATE, END-EXEC, END-IF, END-PERFORM, END-READ, END-SEARCH, - END-STRING, END-UNSTRING, ENVIRONMENT, ERROR, EVALUATE, EXEC, EXIT, - FD, FILE, FILE-CONTROL, FILLER, FIRST, FOR, FROM, FUNCTION, GIVING, - GO, GOBACK, HIGH-VALUE, ID, IDENTIFICATION, IF, IN, INDEXED, INITIAL, - INITIALIZE, INPUT, INPUT-OUTPUT, INSERT, INSPECT, INTO, INVALID, IS, - KEY, LABEL, LINKAGE, MODE, MOVE, MULTIPLY, NOT, OBJECT-COMPUTER, - OCCURS, OF, ON, OPEN, OR, ORDER, OTHER, OUTPUT, PERFORM, PIC, - PROCEDURE, PROGRAM-ID, READ, RECORD, RECORDING, REDEFINES, REMAINDER, - REPLACING, RETURN-CODE, ROUNDED, RUN, SEARCH, SECTION, SELECT, SET, - SIZE, SOURCE-COMPUTER, SPACE, SPACES, SQL, STANDARD, STOP, STRING, - SUBTRACT, TABLE, TALLYING, TEST, THEN, THRU, TIME, TIMES, TO, TRUE, - TYPE, UNSTRING, UNTIL, USING, VALUE, VALUES, VARYING, WHEN, - WHEN-COMPILED, WORKING-STORAGE, WRITE, ZERO - -------------------------------------------------------------------------------- - 未出現の予約語 (59語): 全て現行システムの要件範囲外 - ACCESS, ALPHABETIC, ALPHABETIC-UPPER, ALSO, ANY, APPLY, AUTHOR, - BINARY, CHARACTER, COMP-4, CONDITION, CONVERTING, CORR, CURSOR, - DATE-COMPILED, DATE-WRITTEN, DECLARATIVES, DELIMITER, DESCENDING, - DISPLAY-1, DOWN, DYNAMIC, EJECT, END-ADD, END-CALL, END-DIVIDE, - END-SUBTRACT, EXCEPTION, EXECUTE, FALSE, GET, GREATER, I-O-CONTROL, - LENGTH, LOW-VALUE, NEXT, NUMERIC, OMITTED, OPTIONS, ORGANIZATION, - PACKED-DECIMAL, PAGE, PAGE-COUNTER, POINTER, RANDOM, RECORDS, REMOVAL, - RERUN, SENTENCE, SHIFT-IN, SHIFT-OUT, SKIP2, UP, UPON, USAGE, USE, - WITH, WRITE-ONLY, ZEROS - - -================================================================================ - サブシステム別 カバレッジサマリ -================================================================================ - サブシステムA (KIN01INP→KIN02UPD→KIN03EXP→KIN04CHK→KIN05MAT→KIN06CLD): 6プログラム - - PGM実装パターン: 2,11,12,13,15,16,17,18,19 (9種/29種中) - KIN05MAT追加: パターン2(1:Nマッチング)をファイル照合で実装 - KIN06CLD追加: パターン12(レイアウト編集のみGETPUT)を新規実装 - - ステートメントカバレッジ: 使用33種/45種中 (新規追加無) - KIN04CHK: WRITE FROM, IF THEN句4段階ネスト - KIN05MAT: EVALUATE TRUE 3分岐マッチング制御, N:1ループ - KIN06CLD: ACCEPT FROM COMMAND-LINE, EXEC SQL + bridge混在, PERFORM VARYING線形探索 - - EXEC SQL: KIN02UPD(CONNECT+INSERT+DELETE+COMMIT+ROLLBACK) - KIN03EXP(CONNECT+SELECT+INCLUDE+FETCH) - KIN06CLD(SELECT EMP_MASTER + DIRECT BRIDGE holiday) - - KIN04CHK, KIN05MAT: EXEC SQLなし (ファイル入出力/マッチングのみ) - - サブシステムB (ZAN01CHK→…→ZAN06UPD): 6プログラム - - PGM実装パターン: 1,3,9,10,11,13,14,15,16,17,18,19 (12種/29種中) - - ステートメントカバレッジ: 使用30種/45種中 - MULTIPLY, SUBTRACT, PERFORM TEST AFTERはZAN06UPDのみ - PERFORM VARYING: ZAN06UPD + KIN06CLD (計2本、KIN06CLD追加) - - EXEC SQL: ZAN06UPDのみ (全6種のSQL動詞) - - サブシステムAプログラム (KIN01→KIN06): 6プログラム - - パイプライン: KIN01INP(CSV→FB)→KIN02UPD(DB更新)→KIN03EXP(日付展開DB出力) - →KIN04CHK(打刻チェック)→KIN05MAT(打刻休暇照合)→KIN06CLD(カレンダー生成) - - KIN05MAT: 1:Nマッチング, EVALUATE TRUE 3分岐, 優先順位選定(01>02>03>04) - - KIN06CLD: 休日判定+EMPLOYEE CURSOR LOOP, PERFORM VARYING線形探索, CALL br_open/br_query/br_get_col - - SUB02MSG(メッセージ), SUB03END(ABEND)を使用. DBアクセスはbridge直接+EXEC SQL混在. - - サブプログラム群 (SUB01-05): - - 各1〜2パターンに特化 (日付/メッセージ/ABEND/チェック/丸め) - - 全サブプログラムがGOBACK復帰 (EXIT PROGRAM不使用) - - 未カバーパターン (29種中16種): - 4-8(M:Nマッチング), 20(CSV+改行有), 21(オンライン), - 22-24(分割), 25-27(2段階マッチング), 28(SYSIN), 29(ASCII→EBCDIC) - → 全て現行要件の範囲外 - - 未カバーステートメント (45種中13種) - → 全てCOBOL機能上不要なもの(ALTER, MERGE, SORT等JCL委譲) - - TYPE定義カバレッジ: - - 全TYPE定義11件中、使用7件 (X,9,9V9,S9V9,S9V9 COMP-3,S9 COMP-3,S9 COMP) - - 特殊形式3件 (9(004).9(001), S9(m) DISPLAY, +9(009)) - - 未使用4件 (G,N,BINARY,ZZZ9) - - 予約語カバレッジ: - - COBOLの予約語一覧.txt 193語中、ソース出現134語 (69.4%) - - 未出現59語は全て現行システムの要件範囲外 - - ================================================================================ - 全カバレッジサマリ表 - +--------------------------+----------+----------+-----------+------------------+ - | カテゴリ | 全件 | 使用/実装| 未使用 | カバー率 | - +--------------------------+----------+----------+-----------+------------------+ - | PGM実装パターン | 29件 | 13件 | 16件 | 44.8% | - | ステートメント | 45ユニーク| 33件 | 12件 | 73.3% | - | 備考: KIN06CLD追加によりパターン12(GETPUT)を◎新規実装。 | - | 全使用ステートメントは既存◎。 | - | TYPE定義 | 11件 | 7件(+特殊3)| 4件 | 63.6%(+27.3%特殊)| - | COBOL予約語 | 193語 | 134語 | 59語 | 69.4% | - +--------------------------+----------+----------+-----------+------------------+ - ※PGMパターンの低カバー率は要件範囲外パターン(M:N,分割,SYSIN,etc.)が多いため。 - 実装対象パターン(1-3,9-20)に限定すれば 13/19 = 68.4%。(KIN06CLDで12→13) - ================================================================================ - 以上 diff --git a/list/プログラムタイプ・ステートメントカバレッジ状況_20260623-1500.txt b/list/プログラムタイプ・ステートメントカバレッジ状況_20260623-1500.txt deleted file mode 100644 index f62d0c6..0000000 --- a/list/プログラムタイプ・ステートメントカバレッジ状況_20260623-1500.txt +++ /dev/null @@ -1,459 +0,0 @@ -================================================================================ - プログラムタイプ・ステートメント カバレッジ状況 - 確認日時: 2026-06-23 15:00 (KIN07DAI追記) - V2.4更新版: KIN07DAI追加(MULTIPLY/SUBTRACT/A追加、EVALUATE 4分岐パターン) - 対象: SRC12本 + SUB5本 + CPY12本 = 29ファイル実査 - ベース: PGM実装パターン一覧.txt (29件) - ステートメント一覧.txt (49表記→45ユニーク) - TYPE定義一覧.txt (11件) - COBOLの予約語一覧.txt (193語) -================================================================================ - -確認対象プログラム: - サブシステムA (勤怠休暇): KIN01INP, KIN02UPD, KIN03EXP, KIN04CHK, KIN05MAT, KIN06CLD, KIN07DAI - サブシステムB (残業統計): ZAN01CHK, ZAN02CHK, ZAN03CHK, ZAN04MAT, ZAN05CAL, ZAN06UPD - サブプログラム共通: SUB01DAT, SUB02MSG, SUB03END, SUB04CHK, SUB05TIM - -確認対象COPYファイル: - KIN系: KIN01REC, KIN02REC, KIN03REC, KIN04REC, KIN05REC, KIN06REC, KIN07REC - ZAN系: ZAN01REC, ZAN02REC, ZAN03REC, ZAN04REC, ZAN05REC - 共通連絡領域: ZANDATAC, ZANMSGAC, ZANENDAC, ZANCHKAC, ZANTIMAC - SQL埋込: SQLCA(EXEC SQL INCLUDE) -================================================================================ - - -[1] プログラムタイプ カバレッジ状況(PGM実装パターン一覧.txt 準拠) --------------------------------------------------------------------------------- -凡例: ◎=完全実装 ○=一部実装 △=関連実装あり ×=未実装 空=対象外 - - No | パターン |状態 | 該当プログラム -----+-------------------------------------+------+--------------------------- - 1 | マッチング処理(1:1) | ◎ | ZAN04MAT (R01 vs R02, APPL-ID照合) - 2 | マッチング処理(1:N) | ◎ | KIN05MAT (R01 vs R02, 休暇種別優先順位) - | | | KIN03EXP (DB1行→日数分展開) - 3 | マッチング処理(N:1) | ◎ | ZAN03CHK (複数申請×同一打刻) - 4 | マッチング処理(M:N)→出力N件 | × | 未実装 - 5 | マッチング処理(M:N)→出力M件 | × | 未実装 - 6 | マッチング処理(M:N)→出力MxN件 | × | 未実装 - 7 | マッチング(1:N)+キーブレイク | × | 未実装 - 8 | マッチング(1:N)+キーブレイク | × | 未実装 - | (ブレイクキー>マッチングキー) | | - 9 | キーブレイク処理(集計) | ◎ | ZAN05CAL (APPL-ID単位累積集計) - 10 | キーブレイク処理(集約) | ○ | ZAN05CAL (先頭START-TIME保持) - 11 | キーブレイク処理(その他) | ◎ | ZAN02CHK (重複検出用), KIN03EXP (社員小計), KIN05MAT (N:1ループ) - 12 | レイアウト編集のみ(GETPUT) | ◎ | KIN06CLD (PARM年月の出勤日カレンダーをDB→FILE編集出力) - 13 | 項目チェック(重複チェック無) | ◎ | ZAN01CHK, ZAN03CHK, KIN01INP, SUB04CHK - 14 | 項目チェック(重複チェック有) | ◎ | ZAN02CHK (時間帯重複) - 15 | 振り分け(IF文) | ◎ | ZAN01CHK, ZAN02CHK, ZAN03CHK, ZAN05CAL, - | | | ZAN06UPD, KIN01INP, KIN02UPD, KIN03EXP, KIN05MAT - 16 | 振り分け(EVALUATE文) | ◎ | ZAN01CHK, ZAN03CHK, ZAN04MAT, ZAN05CAL, - | | | ZAN06UPD, KIN01INP, KIN02UPD, KIN05MAT, SUB04CHK, SUB05TIM - 17 | 内部テーブル検索 | ◎ | ZAN03CHK (SEARCH ALL休日), KIN01INP (SEARCH休暇種別), - | | | KIN03EXP (SEARCH ALL休日) - 18 | DB更新/参照 | ◎ | ZAN06UPD (INSERT, UPDATE, SELECT) - | | | KIN02UPD (INSERT, DELETE, SELECT) - | | | KIN03EXP (SELECT, FETCH) - 19 | CSV→FB変換(改行コード無) | ◎ | ZAN01CHK (UNSTRING), KIN01INP (UNSTRING) - 20 | CSV→FB変換(改行コード有) | × | 未実装 - 21 | オンラインPGM | × | バッチ処理のみ - 22 | 25分割 | × | 未実装 - 23 | 50分割 | × | 未実装 - 24 | 100分割 | × | 未実装 - 25 | 2段階マッチング(N:1→N:1) | × | 未実装 - 26 | 2段階マッチング(M:N→M:N) | × | 未実装 - 27 | 2段階マッチング(1:1→1:1) | × | 未実装 - 28 | SYSIN読込・チェック | × | 未実装 - 29 | ASCII→EBCDIC変換 | × | 未実装 -================================================================================ - カバー率: 29パターン中 実装13件 (◎12件 + ○1件) = 44.8% ※ - 凡例: ◎=完全実装, ○=一部実装, ×=未実装 - 備考1: 未実装パターン(4-8,12,20-29)は現行システムの要件範囲外 - 備考2: ※前版から低下したのは「DB参照」を正規29パターンに統合したため - (前版は正規リスト外のDB参照を19番に追加し30パターン表示していた) - - -ステートメント|KIN01|KIN02|KIN03|KIN04|KIN05|KIN06|ZAN01|ZAN02|ZAN03|ZAN04|ZAN05|ZAN06|SUB1|SUB2|SUB3|SUB4|SUB5|状態|使用例 - | INP | UPD | EXP | CHK | MAT | CLD | CHK | CHK | CHK | MAT | CAL | UPD |DAT |MSG |END |CHK |TIM | | -ACCEPT | - | - | - | - | - | ○ | - | - | - | - | - | - | - | - | - | - | - | ◎ | KIN06CLDのACCEPT COMMAND-LINE (ZAN05CALのACCEPT FROM DATEは削除済) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -ADD | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | - | - | - | - | - | ◎ | 全メインプログラム (ADD 1 TO CUN-R01INN) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -ALTER | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | × | 未使用 ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -ALTEREDGOTO | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | × | 未使用 (KIN07DAIで検討したがフォールスルー回避のためEVALUATE採用) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -CALL | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | - | - | - | - | - | ◎ | 全メインプログラム (CALL SUB01DAT, SUB02MSG, SUB03END, SUB04CHK, SUB05TIM) - | | | | | | | | | | | | | | | | CALL 'SUB02MSG'... - | | | | | | | | | | | | | | | | CALL 'SUB04CHK'... - | | | | | | | | | | | | | | | | CALL 'SUB05TIM'... ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -CANCEL | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | × | 未使用 ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -CLOSE | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | - | - | - | - | - | ◎ | ファイル有りの全PGM (CLOSE R01INNFIL, W01OUTFIL) - | | | | | | | | | | | | | | | | W01OUTFIL - | | | | | | | | | | | | | | | | (ファイル有りの全PGM) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -COMPUTE | - | - | ○ | - | - | ○ | ○ | - | ○ | - | ○ | - | - | - | - | - | ○ | ◎ | ZAN01CHK, ZAN03CHK, ZAN05CAL, KIN03EXP, KIN06CLD, SUB05TIM - | | | | | | | | | | | | | | | | COMPUTE ROUNDED - | | | | | | | | | | | | | | | | ON SIZE ERROR - | | | | | | | | | | | | | | | | (ZAN01, ZAN03, ZAN05, KIN03, KIN06, SUB05) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -CONTINUE | ○ | ○ | ○ | ○ | ○ | ○ | ○ | - | ○ | - | ○ | ○ | - | - | - | - | - | ◎ | SEARCH ALL AT END, EVALUATE WHEN OTHER, COMPUTE ON SIZE ERROR - | | | | | | | | | | | | | | | | EVALUATE WHEN OTHER CONTINUE - | | | | | | | | | | | | | | | | COMPUTE ON SIZE ERROR CONT. ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -DELETE | - | ○ | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | ○ | KIN02UPDのみ (EXEC SQL DELETE) - | | | | | | | | | | | | | | | | (KIN02UPDのみ) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -DISPLAY | - | - | - | - | - | - | - | - | - | - | - | - | - | ○ | ○ | - | - | △ | SUB02MSG, SUB03END - | | | | | | | | | | | | | | | | SUB03END: DISPLAY abend ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -DIVIDE | - | - | - | ○ | - | - | ○ | - | - | - | ○ | - | - | - | - | - | ○ | ◎ | ZAN01CHK, ZAN05CAL, SUB05TIM, KIN07DAI (DIVIDE...GIVING...REMAINDER) - | | | | | | | | | | | | | | | | GIVING B REMAINDER C - | | | | | | | | | | | | | | | | (ZAN01, ZAN05, SUB05, KIN07) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -ENTRY | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | × | 未使用 ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -EVALUATE | ○ | ○ | ○ | - | ○ | - | ○ | - | ○ | ○ | ○ | ○ | - | - | - | ○ | ○ | ◎ | KIN01INP, KIN02UPD, KIN03EXP, KIN05MAT, ZAN01-06, SUB04CHK, SUB05TIM (12本中) - | | | | | | | | | | | | | | | | EVALUATE C01CHKTYP - | | | | | | | | | | | | | | | | (KIN01-03, KIN05, ZAN01,03-06, SUB04,05) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -EXEC CICS | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | × | 未使用 (全バッチ) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -EXEC SQL | - | ○ | ○ | - | - | ○ | - | - | - | - | - | ○ | - | - | - | - | - | ◎ | KIN02UPD, KIN03EXP, KIN06CLD, ZAN06UPD (CONNECT, SELECT, INSERT, UPDATE, DELETE, COMMIT, ROLLBACK) - | | | | | | | | | | | | | | | | UPDATE, DELETE, COMMIT, - | | | | | | | | | | | | | | | | ROLLBACK, INCLUDE - | | | | | | | | | | | | | | | | (ZAN06UPD, KIN02UPD, - | | | | | | | | | | | | | | | | KIN03EXP, KIN06CLD) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -EXIT | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ◎ | 全14プログラム (xxx-EXT. EXIT.) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -EXIT PROGRAM | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | × | 未使用 (GOBACKで代用) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -GOBACK | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ◎ | 全14プログラム ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -GO TO | ○ | - | - | ○ | - | - | ○ | - | - | - | - | - | - | - | - | ○ | - | ◎ | ZAN01CHK, KIN01INP, KIN04CHK, SUB04CHK (GO TO xxx-EXT) - | | | | | | | | | | | | | | | | (ZAN01CHK, KIN01INP, - | | | | | | | | | | | | | | | | KIN04CHK, SUB04CHK) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -IF | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | - | - | - | ○ | ○ | ◎ | 全メインプログラム + SUB04CHK, SUB05TIM - | | | | | | | | | | | | | | | | IF cond ... ELSE ... END-IF - | | | | | | | | | | | | | | | | IF cond1 AND cond2 - | | | | | | | | | | | | | | | | IF SQLCODE NOT = 0 - | | | | | | | | | | | | | | | | (メイン全PGM+SUB04,05) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -INITIALIZE | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | - | - | - | - | - | ◎ | 全メインプログラム - | | | | | | | | | | | | | | | | INITIALIZE W01OUTREC - | | | | | | | | | | | | | | | | (全メインプログラム) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -INSPECT | - | - | - | ○ | - | - | ○ | - | - | - | - | - | ○ | - | - | - | - | ◎ | ZAN01CHK, KIN04CHK, SUB04CHK (INSPECT TALLYING) - | | | | | | | | | | | | | | | | (ZAN01CHK, KIN04CHK, SUB04CHK) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -MERGE | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | × | 未使用 (SORT/JCL委譲) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -MOVE | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ◎ | 全14プログラム ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -MULTIPLY | - | - | - | - | - | - | - | - | - | - | - | ○ | - | - | - | - | - | ◎ | ZAN06UPD, KIN07DAI (MULTIPLY A BY 60 GIVING B) - | | | | | | | | | | | | | | | | (ZAN06UPD, KIN07DAI) - | | | | | | | | | | | | | | | | KIN07DAI: 時間→分変換(6100PATAFN/6300PATCFN) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -OPEN | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | - | - | - | - | - | ◎ | ファイル有りの全PGM - | | | | | | | | | | | | | | | | (ファイル有りの全PGM) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -PERFORM | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | - | - | - | ○ | ○ | ◎ | 全メインプログラム + SUB04CHK, SUB05TIM ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -PERFORM UNTIL | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | - | - | - | - | - | ◎ | 全メインプログラム (PERFORM UNTIL END-PERFORM) - | | | | | | | | | | | | | | | | ... END-PERFORM (ZAN03CHK) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -PERFORM VARY | - | - | - | - | - | ○ | - | - | - | - | - | ○ | - | - | - | - | - | ◎ | ZAN06UPD, KIN06CLD (PERFORM VARYING線形探索) - | | | | | | | | | | | | | | | | (ZAN06UPD, KIN06CLD) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -PERM TEST AFT | - | - | - | - | - | - | - | - | - | - | - | ○ | - | - | - | - | - | ○ | ZAN06UPDのみ (PERFORM TEST AFTER VARYING) - | | | | | | | | | | | | | | | | VARYING ... (ZAN06UPD) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -READ | ○ | ○ | - | ○ | ○ | - | ○ | ○ | ○ | ○ | ○ | ○ | - | - | - | - | - | ◎ | KIN03EXP以外の全メインPGM - | | | | | | | | | | | | | | | | AT END/NOT AT END/END-READ - | | | | | | | | | | | | | | | | (KIN03EXP,KIN06CLD以外の全メインPGM) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -RELEASE | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | × | 未使用 ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -RETURN | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | × | 未使用 ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -REWRITE | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | × | 未使用 ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -SEARCH | ○ | - | ○ | - | - | - | - | - | ○ | - | - | - | - | - | - | - | - | ◎ | KIN01INP (SEARCH), KIN03EXP (SEARCH ALL), ZAN03CHK (SEARCH ALL) - | | | | | | | | | | | | | | | | SEARCH (KIN01INP, 直線探索) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -SET | ○ | - | ○ | - | - | - | - | - | ○ | - | ○ | - | - | - | - | - | - | ◎ | KIN01INP, KIN03EXP, ZAN03CHK, ZAN05CAL - | | | | | | | | | | | | | | | | SET cond TO TRUE - | | | | | | | | | | | | | | | | (KIN01,03, ZAN03,05) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -SORT | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | × | 使用禁止 (JCL PGM=SORT) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -START | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | × | 未使用 (VSAM非対応) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -STOP RUN | - | - | - | - | - | - | - | - | - | - | - | - | - | - | ○ | - | - | ○ | SUB03ENDのみ (STOP RUN RETURN-CODE) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -STRING | ○ | ○ | - | ○ | - | ○ | ○ | ○ | ○ | ○ | - | ○ | - | ○ | - | - | - | ◎ | KIN01INP, KIN02UPD, KIN04CHK, KIN06CLD, ZAN01-ZAN04, ZAN06UPD, SUB02MSG - | | | | | | | | | | | | | | | | INTO X END-STRING - | | | | | | | | | | | | | | | | (KIN01,02,04,06, ZAN01-04,06, SUB02) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -SUBTRACT | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | ◎ | KIN07DAI (ZAN06UPDのSUBTRACTは削除済) - | | | | | | | | | | | | | | | | KIN07DAI: ランチ時間除外(6100PATAFN/6300PATCFN) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -UNSTRING | ○ | - | - | ○ | - | - | ○ | - | - | - | - | - | - | - | - | - | - | ◎ | KIN01INP, KIN04CHK, ZAN01CHK - | | | | | | | | | | | | | | | | INTO ... TALLYING IN CNT - | | | | | | | | | | | | | | | | (KIN01INP, KIN04CHK, ZAN01CHK) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -WRITE | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | - | - | - | - | - | ◎ | ファイル出力有りの全PGM - | | | | | | | | | | | | | | | | (ファイル出力有りのPGM) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -WRITE FROM/ | - | - | - | ○ | - | - | - | - | - | - | - | - | - | - | - | - | - | ○ | KIN04CHK (2050NORMSOR正常出力にWRITE FROM使用) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -WRITE AFTER | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | × | 未使用 (WRITE FROMはKIN04CHKで使用) ---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----+----+----+----+----+----+-------------------------- -================================================================================ - ステートメントカバー率: 45ユニーク中 使用33件 (◎=27 + ○=0 + △=6) - カバー率 73.3% (33/45) - - NOTE: KIN07DAI追加に伴いMULTIPLY/SUBTRACTを◎に昇格(ZAN06UPD + KIN07DAIの2プログラム以上で使用)。新規構文の追加は無し(全構文既存◎)。 - 未使用12件: ALTER, ALTEREDGOTO, CANCEL, ENTRY, EXEC CICS, EXIT PROGRAM, - MERGE, RELEASE, RETURN, REWRITE, SORT, START, WRITE AFTER - - -[3] PERFORM文 バリエーション カバレッジ --------------------------------------------------------------------------------- - No | 形式 | 状態 | 該当プログラム -----+--------------------------+------+------------------------------------------ - 1 | PERFORM 段落名 | ◎ | 全メインプログラム(ZAN01-06, KIN01-03) - | | | + SUB04CHK, SUB05TIM - 2 | PERFORM 段落名 UNTIL | ◎ | 全メインプログラム(ZAN01-06, KIN01-03) - | | | PERFORM 2000MAJSOR UNTIL cond - 3 | PERFORM UNTIL ... | ◎ | ZAN03CHK (1300HOLIDAYSOR: 休日ファイル) - | END-PERFORM | | KIN03EXP (2200-EXPAND-DATE: 日付展開) - 4 | PERFORM VARYING | ◎ | ZAN06UPD (2100SUMMARYSOR: 月バリデーション) - | | | KIN06CLD (休日線形探索) - 5 | PERFORM TEST AFTER | ○ | ZAN06UPD (2210MONTHLYSUBSOR: リトライ制御) - 6 | PERFORM THRU | ○ | KIN03EXP (2100-PROCESS-EMP THRU ...-EXIT, - | | | 2200-EXPAND-DATE THRU ...-EXIT) -================================================================================ - - -[4] IF文 バリエーション カバレッジ --------------------------------------------------------------------------------- - No | 形式 | 状態 | 該当プログラム -----+-------------------------------+------+-------------------------------------- - 1 | IF 条件 ... END-IF | ◎ | ZAN01-06, KIN01-03, SUB04, SUB05 - 2 | IF 条件 ... ELSE ... END-IF | ◎ | ZAN01-03, KIN01-03, SUB04 (ほか) - 3 | IF 複合条件(AND) | ◎ | ZAN03CHK (時間範囲), ZAN06UPD (月判定) - | | | SUB04CHK (日付範囲) 等 - 4 | IF 複合条件(OR) | ◎ | KIN03EXP (週末判定: 0 OR 6) - 5 | IF ... THEN ... | ◎ | SUB04CHK, SUB05TIM - 6 | IF ... NOT = ... | ◎ | ZAN06UPD (SQLCODE判定), KIN02UPD -================================================================================ - - -[5] 未カバーステートメント 一覧 --------------------------------------------------------------------------------- - No | ステートメント | 備考 -----+---------------------+----------------------------------------------- - 1 | ALTER | 非推奨、使用予定なし - 2 | ALTEREDGOTO | GO TO DEPENDING、非推奨 - 3 | CANCEL | サブプログラム動的削除は不要 - 4 | ENTRY | エントリポイント複数定義不要 - 5 | EXEC CICS | CICS非対応(全バッチ処理) - 6 | EXIT PROGRAM | GOBACKで代用 - 7 | MERGE | COBOL MERGEはJCL SORTに委譲 - 8 | RELEASE | SORT関連、JCL SORT委譲 - 9 | RETURN | SORT関連、JCL SORT委譲 - 10 | REWRITE | VSAM/INDEXED非対応 - 11 | SORT | COBOL SORT禁止(JCL PGM=SORT) - 12 | START | VSAM非対応 - 13 | WRITE AFTER | 未使用 (WRITE FROMはKIN04CHKで使用) -================================================================================ - - -[6] COPYファイル・SUBプログラム 参照状況 --------------------------------------------------------------------------------- - COPY/SUB名 | 用途 | 使用プログラム ----------------+----------------------------+------------------------------- - KIN01REC | 休暇申請レコード(80B) | KIN01INP, KIN02UPD - KIN02REC | 休暇日別レコード(80B) | KIN03EXP, KIN05MAT - KIN03REC | 照合結果レコード(160B) | KIN05MAT - KIN04REC | 打刻編集レコード(80B) | KIN04CHK, KIN05MAT, KIN07DAI - KIN05REC | エラーログ(VB) | KIN01INP, KIN02UPD - KIN06REC | 出勤日カレンダー(80B) | KIN06CLD - KIN07REC | 日別計算結果(200B) | KIN07DAI - ZAN01REC | 申請レコード(80B) | ZAN01CHK, ZAN02CHK, ZAN03CHK, - | | ZAN04MAT (全4本) - ZAN02REC | マッチング結果(80B) | ZAN04MAT, ZAN05CAL - ZAN03REC | 集計結果レコード(80B) | ZAN05CAL, ZAN06UPD - ZAN04REC | DBCLEAN用レコード(80B) | ZAN04MAT, ZAN06UPD - ZAN05REC | エラーログ(VB) | ZAN01-04, ZAN06UPD (計5本) - ZANDATAC | SUB01DAT連絡領域 | ZAN01,02,04,05,06, KIN01, KIN03 - ZANMSGAC | SUB02MSG連絡領域 | ZAN01-06, KIN01-07, SUB03END - ZANENDAC | SUB03END連絡領域 | ZAN01-06, KIN01-07 - ZANCHKAC | SUB04CHK連絡領域 | ZAN01CHK, KIN01INP, KIN04CHK - ZANTIMAC | SUB05TIM連絡領域 | ZAN05CAL, KIN07DAI - SQLCA | SQLCA (EXEC SQL INCLUDE) | ZAN06UPD, KIN02UPD, KIN03EXP, KIN06CLD - | | - SUB01DAT | 運用日付取得 | ZAN01,02,04,05,06, KIN01, KIN03 - SUB02MSG | メッセージ編集出力 | ZAN01-06, KIN01-07, SUB03END - SUB03END | ABEND処理 | ZAN01-06, KIN01-07 - SUB04CHK | 項目チェック | ZAN01CHK, KIN01INP, KIN04CHK - SUB05TIM | 時刻丸め計算 | ZAN05CAL, KIN07DAI -================================================================================ - - -[7] TYPE定義 カバレッジ状況(TYPE定義一覧.txt 準拠) --------------------------------------------------------------------------------- - No | TYPE定義 | 状態 | 使用例 -----+---------------------+------+------------------------------------------- - 1 | X(m) | ◎ | PIC X(001)〜X(198): STATUS, OVT-TYPE, - | | | APPL-ID, EMP-ID, ERR-DETAIL, - | | | FILLER, 各種MSG領域 (全COPY/全PGM) - 2 | G(m) | × | 未使用(DBCS文字列不要) - 3 | N(m) | × | 未使用(National文字列不要) - 4 | 9(m) | ◎ | PIC 9(001)〜9(009): CNS定数, 日付, 時刻, - | | | APPL-ID(KIN系), ERR-CATEGORY, - | | | PROC-SEQ, RRCコード, MSG-CODE - 5 | 9(m)V9(n) | ◎ | PIC 9(004)V9(001): OVT-HOURS, - | | | 加班時間(集計/丸め/残容量) - | | | (ZAN03REC, ZANTIMAC, ZAN05CAL, ZAN06UPD, SUB05TIM) - 6 | S9(m)V9(n) | ○ | PIC S9(005)V9(001): WRK-HOURS - | | | (SUB05TIM, DISPLAY形式, COMP無) - 7 | S9(m)V9(n) COMP-3 | ○ | PIC S9(007)V9(001) COMP-3: DB-OVT-HOURS - | | | (ZAN06UPDのみ) - 8 | S9(m) COMP-3 | ◎ | PIC S9(009) COMP-3: CUN-R01INN他 - | | | (全メインプログラム: カウンタ領域) - 9 | S9(m) COMP | ○ | PIC S9(004) COMP: D01FKICOD - | | | (ZANDATAC, SUB01DAT) - | | | PIC 9(002) COMP: WRK-COMMA-CNT - | | | (ZAN01CHK, KIN01INP) - | | | PIC 9(004) COMP: WRK-HOLIDAY-CNT - | | | (ZAN03CHK) - | | | PIC 9(004) COMP: WRK-HD-COUNT - | | | (KIN03EXP) - 10 | S9(m) BINARY | × | 未使用(COMP-5/BINARY不使用) - 11 | ZZZ9(編集文字) | × | 未使用 - | | | - | 補足1: 9(004).9(001) | △ | PIC 9(004).9(001) 編集数字(実小数点) - | | | WRK-OVT-HOURS-EDITED (ZAN06UPD) - | 補足2: S9(m) DISPLAY | △ | PIC S9(005): WRK-MINUTES, WRK-REMAINDER - | | | (SUB05TIM 符号付非COMP整数) - | | | PIC S9(004): WRK-SIGN (SUB04CHK) - | 補足3: +9(009) | △ | PIC +9(009): WRK-SQLCODE-DISP - | | | (ZAN06UPD, KIN02UPD 符号強制編集数字) - ================================================================================ - 凡例: ◎=複数プログラムで使用, ○=1プログラムのみ, △=特殊形式/補足, ×=未使用 - 備考: 全TYPE定義11件中、使用7件 (1,4,5,6,7,8,9) + 特殊形式3件 + 未使用4件 (2,3,10,11) - - [8] COBOLの予約語一覧.txt (193語) との対照 - -------------------------------------------------------------------------------- - 全予約語193語を全ソースファイル(src/*.cbl + sub/*.cbl + cpy/*.cpy)でgrep確認。 - 予約語出現判定は単語境界\bマッチ、大文字小文字不区別。 - -------------------------------------------------------------------------------- - 出現確認: 134語 (69.4%) - 未出現: 59語 (30.6%) - -------------------------------------------------------------------------------- - 出現確認した主な予約語 (134語): - ACCEPT, ADD, AFTER, ALL, AND, ASCENDING, ASSIGN, AT, BLOCK, BY, - CALL, CHARACTERS, CLOSE, COMP, COMP-3, COMPUTE, CONFIGURATION, - CONTAINS, CONTINUE, COPY, COUNT, DATA, DATE, DELETE, DELIMITED, - DEPENDING, DISPLAY, DIVIDE, DIVISION, ELSE, END, END-COMPUTE, - END-EVALUATE, END-EXEC, END-IF, END-PERFORM, END-READ, END-SEARCH, - END-STRING, END-UNSTRING, ENVIRONMENT, ERROR, EVALUATE, EXEC, EXIT, - FD, FILE, FILE-CONTROL, FILLER, FIRST, FOR, FROM, FUNCTION, GIVING, - GO, GOBACK, HIGH-VALUE, ID, IDENTIFICATION, IF, IN, INDEXED, INITIAL, - INITIALIZE, INPUT, INPUT-OUTPUT, INSERT, INSPECT, INTO, INVALID, IS, - KEY, LABEL, LINKAGE, MODE, MOVE, MULTIPLY, NOT, OBJECT-COMPUTER, - OCCURS, OF, ON, OPEN, OR, ORDER, OTHER, OUTPUT, PERFORM, PIC, - PROCEDURE, PROGRAM-ID, READ, RECORD, RECORDING, REDEFINES, REMAINDER, - REPLACING, RETURN-CODE, ROUNDED, RUN, SEARCH, SECTION, SELECT, SET, - SIZE, SOURCE-COMPUTER, SPACE, SPACES, SQL, STANDARD, STOP, STRING, - SUBTRACT, TABLE, TALLYING, TEST, THEN, THRU, TIME, TIMES, TO, TRUE, - TYPE, UNSTRING, UNTIL, USING, VALUE, VALUES, VARYING, WHEN, - WHEN-COMPILED, WORKING-STORAGE, WRITE, ZERO - -------------------------------------------------------------------------------- - 未出現の予約語 (59語): 全て現行システムの要件範囲外 - ACCESS, ALPHABETIC, ALPHABETIC-UPPER, ALSO, ANY, APPLY, AUTHOR, - BINARY, CHARACTER, COMP-4, CONDITION, CONVERTING, CORR, CURSOR, - DATE-COMPILED, DATE-WRITTEN, DECLARATIVES, DELIMITER, DESCENDING, - DISPLAY-1, DOWN, DYNAMIC, EJECT, END-ADD, END-CALL, END-DIVIDE, - END-SUBTRACT, EXCEPTION, EXECUTE, FALSE, GET, GREATER, I-O-CONTROL, - LENGTH, LOW-VALUE, NEXT, NUMERIC, OMITTED, OPTIONS, ORGANIZATION, - PACKED-DECIMAL, PAGE, PAGE-COUNTER, POINTER, RANDOM, RECORDS, REMOVAL, - RERUN, SENTENCE, SHIFT-IN, SHIFT-OUT, SKIP2, UP, UPON, USAGE, USE, - WITH, WRITE-ONLY, ZEROS - - -================================================================================ - サブシステム別 カバレッジサマリ -================================================================================ - サブシステムA (KIN01INP→…→KIN07DAI): 7プログラム - - PGM実装パターン: 2,11,12,13,15,16,17,18,19 (9種/29種中) - KIN05MAT追加: パターン2(1:Nマッチング)をファイル照合で実装 - KIN06CLD追加: パターン12(レイアウト編集のみGETPUT)を新規実装 - - ステートメントカバレッジ: 使用33種/45種中 (MULTIPLY/SUBTRACT/サブシステムA初使用) - KIN04CHK: WRITE FROM, IF THEN句4段階ネスト - KIN05MAT: EVALUATE TRUE 3分岐マッチング制御, N:1ループ - KIN06CLD: ACCEPT FROM COMMAND-LINE, EXEC SQL + bridge混在, PERFORM VARYING線形探索 - KIN07DAI: EVALUATE 4分岐, MULTIPLY/SUBTRACT併用時間計算, CALL SUB05TIM - - EXEC SQL: KIN02UPD(CONNECT+INSERT+DELETE+COMMIT+ROLLBACK) - KIN03EXP(CONNECT+SELECT+INCLUDE+FETCH) - KIN06CLD(SELECT EMP_MASTER + DIRECT BRIDGE holiday) - - KIN04CHK, KIN05MAT, KIN07DAI: EXEC SQLなし (ファイル入出力/マッチングのみ) - - サブシステムB (ZAN01CHK→…→ZAN06UPD): 6プログラム - - PGM実装パターン: 1,3,9,10,11,13,14,15,16,17,18,19 (12種/29種中) - - ステートメントカバレッジ: 使用30種/45種中 - MULTIPLY, SUBTRACT, PERFORM TEST AFTERはZAN06UPDのみ - PERFORM VARYING: ZAN06UPD + KIN06CLD (計2本、KIN06CLD追加) - - EXEC SQL: ZAN06UPDのみ (全6種のSQL動詞) - - サブシステムAプログラム (KIN01→KIN07): 7プログラム - - パイプライン: KIN01INP(CSV→FB)→KIN02UPD(DB更新)→KIN03EXP(日付展開DB出力) - →KIN04CHK(打刻チェック)→KIN05MAT(打刻休暇照合)→KIN06CLD(カレンダー生成) - →KIN07DAI(日別計算 4パターン分岐) - - KIN05MAT: 1:Nマッチング, EVALUATE TRUE 3分岐, 優先順位選定(01>02>03>04) - - KIN06CLD: 休日判定+EMPLOYEE CURSOR LOOP, PERFORM VARYING線形探索, CALL br_open/br_query/br_get_col - - KIN07DAI: EVALUATE 4分岐, MULTIPLY/SUBTRACT時間計算, CALL SUB05TIM丸め - - SUB02MSG(メッセージ), SUB03END(ABEND), SUB05TIM(丸め)を使用. DBアクセスはbridge直接+EXEC SQL混在. - - サブプログラム群 (SUB01-05): - - 各1〜2パターンに特化 (日付/メッセージ/ABEND/チェック/丸め) - - 全サブプログラムがGOBACK復帰 (EXIT PROGRAM不使用) - - 未カバーパターン (29種中16種): - 4-8(M:Nマッチング), 20(CSV+改行有), 21(オンライン), - 22-24(分割), 25-27(2段階マッチング), 28(SYSIN), 29(ASCII→EBCDIC) - → 全て現行要件の範囲外 - - 未カバーステートメント (45種中13種) - → 全てCOBOL機能上不要なもの(ALTER, MERGE, SORT等JCL委譲) - - TYPE定義カバレッジ: - - 全TYPE定義11件中、使用7件 (X,9,9V9,S9V9,S9V9 COMP-3,S9 COMP-3,S9 COMP) - - 特殊形式3件 (9(004).9(001), S9(m) DISPLAY, +9(009)) - - 未使用4件 (G,N,BINARY,ZZZ9) - - 予約語カバレッジ: - - COBOLの予約語一覧.txt 193語中、ソース出現134語 (69.4%) - - 未出現59語は全て現行システムの要件範囲外 - - ================================================================================ - 全カバレッジサマリ表 - +--------------------------+----------+----------+-----------+------------------+ - | カテゴリ | 全件 | 使用/実装| 未使用 | カバー率 | - +--------------------------+----------+----------+-----------+------------------+ - | PGM実装パターン | 29件 | 13件 | 16件 | 44.8% | - | ステートメント | 45ユニーク| 33件 | 12件 | 73.3% | - | 備考: KIN06CLD追加によりパターン12(GETPUT)を◎新規実装。 | - | KIN07DAI追加によりサブシステムA初のMULTIPLY/SUBTRACT使用。| - | TYPE定義 | 11件 | 7件(+特殊3)| 4件 | 63.6%(+27.3%特殊)| - | COBOL予約語 | 193語 | 134語 | 59語 | 69.4% | - +--------------------------+----------+----------+-----------+------------------+ - ※PGMパターンの低カバー率は要件範囲外パターン(M:N,分割,SYSIN,etc.)が多いため。 - 実装対象パターン(1-3,9-20)に限定すれば 13/19 = 68.4%。(KIN06CLDで12→13) - ================================================================================ - 以上