# 勤怠システム 設計書 ## システム概要 本システムは三つのサブシステムで構成される。 | サブシステム | 役割 | COBOLプログラム数 | 設計書 | |---|---|---|---|---| | **A: 勤怠休暇管理** | 休暇申請取込・打刻データ照合・日別勤怠計算・月次統計DB更新・CSV出力 | 7 | 01_勤怠休暇管理システム_設計書(サブシステムA).md | | **B: 残業統計管理** | 加班申請データ取込・振り分け・重複チェック・打刻照合・マッチング・集約・DB更新 | 6 | 02_残業統計管理システム_設計書(サブシステムB).md | | **C: 給与計算** | 欠勤統計取込・給与計算・給与明細出力 | 2 | 03_給与計算システム_設計書(サブシステムC).md | ## アーキテクチャ - 全JCLステップは、前提条件(ソート)をJCLのSORTユーティリティ(`PGM=SORT`)で実行した後、COBOLプログラム(`EXEC PGM=SSSnnFFF`)を実行する。COBOLプログラム内でソートは行わない。 - DB: DB2 for LUW。COBOLからは埋め込みSQL(`EXEC SQL`)で直接アクセスする。 - COBOL対象: GnuCOBOL 3.x(IBM互換モード、`SOURCE-COMPUTER. IBM-ZSERIES.`)。 - 全パラメータは JCL PARM → `ACCEPT FROM COMMAND-LINE` + `UNSTRING` で解析。 ## サブシステム間連携 | 連携データ | 出力元 | 入力先 | 方式 | 備考 | |---|---|---|---|---| | EDITED-PUNCH(打刻データ) | A-サブシステム KIN03PCK | B-サブシステム ZANJ013 | ファイル連携 | 打刻データ(出勤/退勤時刻) | | OVT-APPLY(加班申請CSV) | 外部システム | B-サブシステム ZANJ010 | ファイル連携 | 加班申請入力CSV | | ABSENCE-SUMMARY(欠勤統計) | A-サブシステム KIN06DBU | C-サブシステム KYUJ001 | ファイル連携 | 月次欠勤集計(A→C) | | SALARY-DETAIL(給与明細) | C-サブシステム KYU01CAL | C-サブシステム KYU02PRI | ファイル連携 | 社内連携(C内) | ## 共通関数(サブプログラム) | サブプログラム | I/Fコピー句 | 用途 | |---|---|---| | SUB01DAT | D01010AC | 運用日付取得 | | SUB02MSG | MSG000AC | メッセージ編集出力 | | SUB03END | MSG000AC | ABEND終了 | | SUB04CHK | SUB04CHK | 項目チェック(日付/時刻/数値) | | SUB05TIM | TIME010AC | 時刻丸め計算(分→時間) | | SUB06DBU | SUB06DBU | DB更新処理(DB2埋め込みSQL) | ### SUB05TIM I/F(TIME010AC) | パラメータ | 入出力 | 説明 | |-----------|--------|------| | TI-MINUTES | I | 入力分数(PIC 9(6)) | | TI-ROUND-TYPE | I | 丸め種別('MIN30'=0.5h単位, 'MIN6'=0.1h単位) | | TI-RESULT-HOURS | O | 丸め結果時間(PIC 9(4)V9(1)) | | TI-RETURN-CODE | O | 0=正常, 1=入力エラー |