JIN09RPT 社員別スキル集計レポート処理を新規追加(SAME句削除版)。未カバー予約語6語(CANCEL/I-O-CONTROL/NEXT SENTENCE/EJECT/SKIP2/FALSE)をカバーし、カバレッジ×41→34に改善。全26テストPASS
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
# JIN09RPT 使用資源一覧
|
||||
|
||||
## プログラム概要
|
||||
- **プログラムID**: JIN09RPT
|
||||
- **プログラム名**: 社員別スキル集計レポート処理
|
||||
- **処理概要**: SKILL-EVAL(M件, EMP-ID昇順)を社員キーブレイクで集計し、社員別スキル集計結果(SKILL-SUM)を出力する
|
||||
|
||||
## 使用ファイル
|
||||
|
||||
| DD名 | ファイル識別子 | 編成 | レコード形式 | レコード長 | COPY句 |
|
||||
|------|---------------|------|-------------|-----------|--------|
|
||||
| JIN09R01 | SKILL-EVAL | 順編成 | F (固定長) | 200B | SKILL-EVAL-REC |
|
||||
| JIN09R02 | SKILL-MST | 順編成 | F (固定長) | 80B | SKILL-MST-REC |
|
||||
| JIN09W01 | SKILL-SUM | 順編成 | F (固定長) | 120B | JIN09REC |
|
||||
| JIN09W02 | VALID-ERROR | 順編成 | F (固定長) | 80B | VALID-ERROR-REC |
|
||||
|
||||
## 使用COPY句
|
||||
|
||||
| COPY句 | 用途 | 使用箇所 |
|
||||
|--------|------|---------|
|
||||
| SKILL-EVAL-REC | スキル評価明細レコード定義(R01入力) | FILE SECTION |
|
||||
| SKILL-MST-REC | 評価基準マスタレコード定義(R02入力) | FILE SECTION |
|
||||
| JIN09REC | 社員別スキル集計結果レコード定義(W01出力) | FILE SECTION |
|
||||
| VALID-ERROR-REC | エラーレコード定義(W02出力) | FILE SECTION |
|
||||
| JINDATAC | 運用日付サブPGM連絡領域 | WORKING-STORAGE |
|
||||
| JINMSGAC | メッセージ編集サブPGM連絡領域 | WORKING-STORAGE |
|
||||
| JINENDAC | ABENDサブPGM連絡領域 | WORKING-STORAGE |
|
||||
|
||||
## 使用サブプログラム
|
||||
|
||||
| サブPGM | 役割 | CALL箇所 |
|
||||
|---------|------|---------|
|
||||
| SUB01DAT | 運用日付取得 | 1000ITTSOR |
|
||||
| SUB02MSG | メッセージ編集出力 | 6000MSGOUTSOR |
|
||||
| SUB03END | ABEND処理 | 9999ABDSOR |
|
||||
|
||||
※ SUB02MSG は終了処理(4000STPSOR)で CANCEL 'SUB02MSG' により解放する
|
||||
|
||||
## 使用DB2テーブル
|
||||
|
||||
なし(DB操作なし)
|
||||
|
||||
## 予約語カバー
|
||||
|
||||
| 予約語 | 使用箇所 |
|
||||
|--------|---------|
|
||||
| CANCEL | 4000STPSOR で CANCEL 'SUB02MSG' |
|
||||
| I-O-CONTROL | ENVIRONMENT DIVISION の I-O-CONTROL 段落 |
|
||||
| NEXT | 2200JUDGESOR の NEXT SENTENCE |
|
||||
| SENTENCE | 2200JUDGESOR の NEXT SENTENCE |
|
||||
| EJECT | PROCEDURE DIVISION 先頭のソース行 EJECT |
|
||||
| SKIP2 | 段落境界のソース行 SKIP2 |
|
||||
| FALSE | 2000MAJSOR の SET WRK-FIRST-FLG-Y TO FALSE |
|
||||
|
||||
## 処理フロー
|
||||
1. 初期処理(開始メッセージ→運用日付取得→OPEN)
|
||||
2. マスタLOAD(R02全件→内部表構築→R02 CLOSE)
|
||||
3. 評価明細READループ(R01)
|
||||
4. 社員キーブレイク判定(WRK-FIRST-FLG / WRK-PREV-EMP-ID)
|
||||
5. レベル判定(NESTED IF 3段 + 複合条件 AND/OR)
|
||||
6. SEARCH ALLで該当スキル特定→内部表UPDATE(件数・合計点)
|
||||
7. 社員グループ出力(内部表走査→平均点DIVIDE→W01 WRITE)
|
||||
8. 終了処理(CLOSE→件数出力→CANCEL→終了メッセージ)
|
||||
Reference in New Issue
Block a user