Files
cobol-tna-system/詳細設計書/詳細設計書_ZAN02CHK.md
qiuqiuqiu b3e800e601 feat: サブシステムB 残業統計管理 初回production反映
- 全6プログラム(ZAN01CHK~ZAN06UPD)ソース・実行ファイル
- 5サブプログラム(SUB01DAT~SUB05TIM)ソース・DLL
- 10 COPY書式ファイル
- 詳細設計書12ファイル
- サブシステムB全体設計書
- bin/配下の実行ファイル资産
2026-06-17 23:20:53 +08:00

4.8 KiB
Raw Permalink Blame History

詳細設計書

基本情報

# 項目 内容
1 システム名 残業統計管理システム
2 プログラムID ZAN02CHK
3 プログラム名 時間帯重複チェック処理
4 PGMタイプ メイン
5 PGMパターン 項目チェック
6 機能概要 OVT-VSORTファイルの同一社員・同一日付内の時間帯重複をチェックする。
7 重複なしのレコードはOVT-NODUPに出力
8 重複ありのレコードはERROR-LOGに出力

※PGMタイプ:メイン、サブ ※PGMパターン:マッチング(1:1、1:N、N:1、M:N)、レイアウト編集のみ(GETPUT)、振り分け(IF文、EVALUATE文)、キーブレイク(集計、集約、集計・集約の以外)、DB更新

前提条件

NO 対象ファイル 条件
1 OVT-VSORT 社員番号>日付>開始時刻で昇順ソート済み

使用ファイル一覧

NO 使用ファイル/DB名 識別子 DD名 I/O COPY群 形式 ブロック レコード長 媒体 備考
1 OVT-VSORT R01 ZAN02R01 I ZAN01REC FB 80 PS
2 OVT-NODUP W01 ZAN02W01 O ZAN01REC FB 80 PS
3 ERROR-LOG W02 ZAN02W02 O ZAN05REC VB 200 PS

キー項目一覧

NO ファイル名 ソート条件(キー項目) キー条件(マッチング/キーブレイク)
1 OVT-VSORT EMP-ID>APPL-DATE>START-TIME(昇順) EMP-ID>APPL-DATE

使用モジュール一覧

NO 機能 プログラムID 使用COPY名
1 運用日付取得SUB SUB01DAT ZANDATAC
2 メッセージ編集出力SUB SUB02MSG ZANMSGAC
3 ABEND処理SUB SUB03END ZANENDAC

処理詳細

1.初期処理(1000ITTSOR
  1-1.開始メッセージ出力
    【メッセージ編集】
    メッセージ番号:1(開始メッセージ)
  1-2.コンパイル日時出力
    【メッセージ編集】
    メッセージ番号:33(コンパイル日時)
    PARM1:コンパイル日時
    PARM2'COMPILED'
  1-3.ワークエリアの初期化
  1-4.運用日付取得SUB(SUB01DAT)により運用日を取得する。
    復帰コード≠ZEROの場合、メッセージを出力し、ABEND処理SUBを呼び出し異常終了する。
    【メッセージ編集】
    メッセージ番号:5(サブエラー)
    PARM1'SUB01DAT'
    PARM2:復帰コード
    【ABEND処理SUB】
    ABENDコード:999
  1-5.使用ファイルのオープン
  1-6.R01を読み込む。(1100R01INNSOR)(1回目)
  1-7.1件目をW01に出力し、前レコードに保持する。

2.主処理(2000MAJSOR)(R01を全て読み終えるまで下記を繰り返す)
  2-1.前レコードとの比較
    2-1-1.同一社員番号かつ同一日付の場合
      2-1-1-1.前終了時刻>現開始時刻 → 重複あり(2011OVERLAPERRSOR)
        エラーカテゴリ02でERROR-LOGに出力
      2-1-1-2.前終了時刻<=現開始時刻 → 重複なし(2012NORMALOUTSOR)
        W01に出力
    2-1-2.異なる社員番号または日付の場合(キーブレイク)
      キーブレイク処理として前レコードを更新しW01に出力(2013KEYBRSOR)
  2-2.R01を読み込む。(1100R01INNSOR)(2件目以降)

3.終了処理(3000STPSOR)
  3-1.入出力ファイルのクローズ
  3-2.入出力件数出力メッセージ出力
    【入力メッセージ編集】
    メッセージ番号:6(入力件数メッセージ)
    PARM1:当該入力ファイルのDD名
    PARM2:当該入力ファイルの件数
    【出力メッセージ編集】
    メッセージ番号:7(出力件数メッセージ)
    PARM1:当該出力ファイルのDD名
    PARM2:当該出力ファイルの件数
  3-3.終了メッセージ出力
    【メッセージ編集】
    メッセージ番号:2(終了メッセージ)

出力レコード定義

出力ファイル1W01/OVT-NODUP

No 項目名 設定元 備考
1 APPL-ID R01.同項目を設定
2 EMP-ID R01.同項目を設定
3 APPL-DATE R01.同項目を設定
4 START-TIME R01.同項目を設定
5 END-TIME R01.同項目を設定
6 STATUS R01.同項目を設定
7 OVT-TYPE R01.同項目を設定
8 FILLER R01.同項目を設定

出力ファイル2W02/ERROR-LOG

No 項目名 設定元 備考
1 ERR-CATEGORY 02で固定 重複エラー
2 ERR-DETAIL STRINGで編集 EMP-IDと日付を編集