KYU programs for payroll calculation: KYU01CVT - CSV conversion KYU02REG - attendance registration KYU03AGG - aggregation KYU04CAL - salary calculation KYU05DED - deduction calculation KYU06UPD - DB update KYU07DIV - division/pay-slip KYU08PRI - print output KYU09MRG - merge output Includes: - Source programs (9 .cbl) - Compiled executables (9 .exe) - Detailed design docs (9 + sign-off) - Basic design doc (subsystem C overview) - Resource lists (9) - DDL schema (schema_kyu.sql) - COPY book (KYU99REC.cpy) - Coverage statistics update - DB definition update (STATUS values) - Overall system design document
48 lines
2.8 KiB
Markdown
48 lines
2.8 KiB
Markdown
# 勤怠システム 設計書
|
||
|
||
## システム概要
|
||
|
||
本システムは三つのサブシステムで構成される。
|
||
|
||
| サブシステム | 役割 | 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=入力エラー |
|