Files
cobol-tna-system/使用資源一覧/JIN09RPT_使用資源一覧.md
T

65 lines
2.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# JIN09RPT 使用資源一覧
## プログラム概要
- **プログラムID**: JIN09RPT
- **プログラム名**: 社員別スキル集計レポート処理
- **処理概要**: SKILL-EVALM件, 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→終了メッセージ)