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

5.0 KiB
Raw Blame History

詳細設計書

基本情報

# 項目 内容
1 システム名 残業統計管理システム
2 プログラムID ZAN03CHK
3 プログラム名 打刻時間照合処理
4 PGMタイプ メイン
5 PGMパターン マッチング(N:1)
6 機能概要 OVT-NODUPとPUNCH-SORTEDを突合し申請時間帯の照合を行う。
7 申請時間帯が出勤〜退勤の範囲内かを確認する。
8 申請日が休日かを判定しOVT-TYPEを付加する。

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

前提条件

NO 対象ファイル 条件
1 OVT-NODUP 社員番号>日付で昇順ソート済み
2 PUNCH-SORTED 社員番号>日付で昇順ソート済み

使用ファイル一覧

NO 使用ファイル/DB名 識別子 DD名 I/O COPY群 形式 ブロック レコード長 媒体 備考
1 OVT-NODUP R01 ZAN03R01 I ZAN01REC FB 80 PS
2 PUNCH-SORTED R02 ZAN03R02 I 自前(80B) FB 80 PS
3 HOLIDAY-FILE R03 ZAN03R03 I 自前(80B) FB 80 PS 休日カレンダー
4 OVT-CHECKED W01 ZAN03W01 O ZAN01REC FB 80 PS
5 ERROR-LOG W02 ZAN03W02 O ZAN05REC VB 200 PS

キー項目一覧

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

使用モジュール一覧

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

※ ZAN03CHKはSUB01DATを使用しない。日付取得は不要のためFUNCTION CURRENT-DATEも使用しない。


処理詳細

1.初期処理(1000ITTSOR
  1-1.開始メッセージ出力
    【メッセージ編集】
    メッセージ番号:1(開始メッセージ)
  1-2.コンパイル日時出力
    【メッセージ編集】
    メッセージ番号:33(コンパイル日時)
    PARM1:コンパイル日時
    PARM2'COMPILED'
  1-3.ワークエリアの初期化
   1-4.使用ファイルのオープン
  1-6.HOLIDAY-FILEを全件読込しHOLIDAY-TABLEに設定する。(1300HOLIDAYSOR)
  1-7.R01を読み込む。(1100R01INNSOR)(1回目)
  1-8.R02を読み込む。(1200R02INNSOR)(1回目)

2.主処理(2000MAJSOR)(R01を全て読み終えるまで下記を繰り返す)
  2-1.R01キーとR02キーを比較
    2-1-1.R01キー < R02キー(打刻データなし)
      ERROR-LOGにエラー出力する(エラーカテゴリ03)。(2010NOMATCHSOR)
     2-1-2.R01キー = R02キー(マッチ)
       時間範囲チェックを実施する。(2020MATCHSOR)
      2-1-2-1.開始時刻>=出勤時刻 かつ 終了時刻<=退勤時刻 → 通過
        OVT-TYPEを設定しW01に出力する。(2200SETOVTSOR)
      2-1-2-2.範囲外 → ERROR-LOGに出力(エラーカテゴリ03
    2-1-3.R01キー > R02キー(R02スキップ)
      R02を1件読み進める。(1200R02INNSOR)

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

出力レコード定義

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

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 2200SETOVTSORで設定 W:平日/H:休日
8 FILLER R01.同項目を設定

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

No 項目名 設定元 備考
1 ERR-CATEGORY 03で固定 打刻不突合
2 ERR-DETAIL STRINGで編集 社員番号と日付を編集