65 lines
2.9 KiB
Markdown
65 lines
2.9 KiB
Markdown
# 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 |
|
||
| FALSE | 2000MAJSOR の SET WRK-FIRST-FLG-Y TO FALSE |
|
||
|
||
※ SKIP2 はソース行 `*SKIP2` がコメントでありディレクティブとして機能しないため、予約語カバー対象から除外する(W-1 是正)。
|
||
|
||
## 処理フロー
|
||
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→終了メッセージ)
|