Files
cobol-tna-system/詳細設計書/詳細設計書_JIN03RAN.md

3.4 KiB
Raw Permalink Blame History

JIN03RAN 詳細設計書

プログラム概要

項目 内容
プログラムID JIN03RAN(人事→JINji, 03, ランキング→RAN
プログラムタイプ 編集出力(ランキング生成)
機能 SKILL-AGGJIN02SKL出力のスキル別評価集計結果)を読み込み、平均点降順でランキング出力(前提:R01はJCL SORTにより平均点降順ソート済み)
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 内部表定義
ADD 予約語(3) ADD 1 TO WRK-RANK-NO, ADD 1 TO WRK-OUT-IDX2000MAINSOR
SUBTRACT 予約語(164) SUBTRACT 1 FROM WRK-IDX4000STPSOR
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 ランキング出力

前提条件

  • JIN03R01SKILL-AGG)は、JCL の SORT ステップにより平均点降順にソート済みであること
  • 本プログラムはソートを行わず、入力順にランク番号(WRK-RANK-NO)を採番する

レコード定義

SKILL-AGG-RECJIN03R01, 200B

JIN02SKL 詳細設計書の W01 定義と同じ(SKILL-AGG-REC.cpy 参照)。

JIN03RECJIN03W01, 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→終了メッセージ)

処理ロジック

  1. 1000ITTSOR(初期処理)

    • DISPLAY 'JIN03RAN START' UPON CONSOLE
    • SUB02MSG で開始メッセージ出力
    • SUB01DAT で運用日付取得
    • R01 / W01 ファイル OPEN
    • R01 初回 READ
  2. 2000MAINSOR(主処理ループ)

    • WRK-RANK-NO を ADD 1 で順位UP
    • COMP-4 カウンタ ADD 1
    • MOVE CORRESPONDING で項目編集
    • 平均点に基づきランク区分設定(S: >= 900, A: >= 600, B: < 600
    • 88-LevelWS-RANK-VAL-S/A/B)でランク妥当性確認
    • W01 WRITE
    • 次のR01 READ
  3. 4000STPSOR(終了処理)

    • R01 / W01 CLOSE
    • SUBTRACT 1 FROM WRK-IDX
    • DISPLAY 'JIN03RAN END' UPON CONSOLE