3.0 KiB
3.0 KiB
JIN03RAN 詳細設計書
プログラム概要
| 項目 | 内容 |
|---|---|
| プログラムID | JIN03RAN(人事→JINji, 03, ランキング→RAN) |
| プログラムタイプ | 編集出力(ランキング生成) |
| 機能 | SKILL-AGG(JIN02SKL出力のスキル別評価集計結果)を読み込み、平均点降順でランキング出力 |
| CALL方式 | メインプログラム(JCLからCALL) |
| DBアクセス | なし |
| 使用サブプログラム | SUB01DAT(日付), SUB02MSG(メッセージ) |
カバレッジ対象キーワード
| 予約語 | 区分 | 使用箇所 |
|---|---|---|
| COMP-4 | 予約語(25) | PIC 9(004) COMP-4 バイナリカウンタ + ADD 1 TO CUN-COMP4 |
| CORR | 予約語(33) | MOVE CORRESPONDING WS-CORR-SRC TO WS-CORR-DST |
| DESCENDING | 予約語(45) | OCCURS 3 TIMES DESCENDING KEY IS WS-THR 内部表定義 |
| DOWN | 予約語(50) | SET WRK-IDX DOWN BY 1 |
| UP | 予約語(177) | SET WRK-RANK-NO UP BY 1, SET WRK-OUT-IDX UP BY 1 |
| VALUES | 予約語(183) | 88-level 単一VALUE(複数VALUESは未カバー) |
ファイル一覧
| DD名 | ファイル名 | 編成 | RECM | サイズ | I/O | 用途 |
|---|---|---|---|---|---|---|
| JIN03R01 | SKILL-AGG | SEQUENTIAL | FB | 200 | INPUT | スキル別評価集計結果(JIN02SKL出力) |
| JIN03W01 | RANK-OUT | SEQUENTIAL | FB | 200 | OUTPUT | ランキング出力 |
レコード定義
SKILL-AGG-REC(JIN03R01, 200B)
JIN02SKL 詳細設計書の W01 定義と同じ(SKILL-AGG-REC.cpy 参照)。
JIN03RAN-REC(JIN03W01, 200B 新規COPY書式)
| 項目 | PIC | 内容 |
|---|---|---|
| RANK-NO | 9(4) | ランキング順位 |
| SKILL-CODE | X(4) | スキルコード |
| SCORE | 9(3)V9(2) | 平均点 |
| EMP-COUNT | 9(5) | 評価人数 |
| LEVEL-NAME | X(20) | レベル名称 |
| RANK-CODE | X(1) | ランク区分(S/A/B) |
| FILLER | X(161) | — |
処理詳細
段落一覧
| 段落名 | 機能 |
|---|---|
| 0000MAJCOLSOR | メイン制御(PERFORM連鎖) |
| 1000ITTSOR | 初期処理(開始メッセージ→OPEN→初回読込) |
| 2000MAINSOR | 主処理(ランク区分設定→WRITE→次件読込) |
| 2100READSOR | R01読込処理(EOF判定) |
| 4000STPSOR | 終了処理(CLOSE→終了メッセージ) |
処理ロジック
-
1000ITTSOR(初期処理)
- DISPLAY 'JIN03RAN START' UPON CONSOLE
- SUB02MSG で開始メッセージ出力
- SUB01DAT で運用日付取得
- R01 / W01 ファイル OPEN
- R01 初回 READ
-
2000MAINSOR(主処理ループ)
- WRK-RANK-NO を SET UP BY 1 で順位UP
- COMP-4 カウンタ ADD 1
- MOVE CORRESPONDING で項目編集
- 平均点に基づきランク区分設定(S: >= 900, A: >= 600, B: < 600)
- 88-Level(WS-RANK-VAL-S/A/B)でランク妥当性確認
- W01 WRITE
- 次のR01 READ
-
4000STPSOR(終了処理)
- R01 / W01 CLOSE
- SET WRK-IDX DOWN BY 1
- DISPLAY 'JIN03RAN END' UPON CONSOLE