KIN03EXP: SELECT INTO → CURSOR(DECLARE/OPEN/FETCH/CLOSE) pattern; SUB01DAT: COPY ZANDATAC; 基本設計書A: KIN08DBU/KIN09CSV specs updated; 品質管理: coverage stats, keyword docs, test criteria
This commit is contained in:
@@ -28,8 +28,6 @@
|
||||
| SUB01DAT | 運用日付取得 | 1000ITTSOR |
|
||||
| SUB02MSG | メッセージ編集出力 | 4000MSGOUTSOR |
|
||||
| SUB03END | ABEND処理 | 9999ABDSOR |
|
||||
| br_fetch_next | SQLカーソル次行FETCH(bridge) | 1100C1FETCHSOR, 1200HDINNSOR |
|
||||
| br_get_col | SQLカラム値取得(bridge) | 1100C1FETCHSOR, 1200HDINNSOR |
|
||||
|
||||
## 使用DB2テーブル
|
||||
|
||||
@@ -43,14 +41,20 @@
|
||||
| SQL種別 | 処理 | 実行条件 | 使用箇所 |
|
||||
|---------|------|---------|---------|
|
||||
| CONNECT | TO 'data/kin.db' | 常時 | 1000ITTSOR |
|
||||
| SELECT | HOLIDAY_DATE FROM HOLIDAY_CALENDAR | 常時(初回のみ) | 1200HDINNSOR |
|
||||
| SELECT | LEAVE_RECORDS(全件) | 常時(初回のみ) | 1100C1INITSOR |
|
||||
| DECLARE C1 CURSOR | SELECT FROM LEAVE_RECORDS | 常時 | 1100C1INITSOR |
|
||||
| OPEN C1 | CURSOR OPEN | SQLCODE=0 | 1100C1INITSOR |
|
||||
| FETCH C1 | INTO 変数(初回+次回) | SQLCODE=0 | 1100C1INITSOR, 1100C1FETCHSOR |
|
||||
| DECLARE C2 CURSOR | SELECT FROM HOLIDAY_CALENDAR | 常時 | 1200HDINNSOR |
|
||||
| OPEN C2 | CURSOR OPEN | 常時 | 1200HDINNSOR |
|
||||
| FETCH C2 | INTO :SQL-HD-DATE(全件) | SQLCODE=0 | 1200HDINNSOR |
|
||||
| CLOSE C1 | CURSOR CLOSE | 常時 | 3000STPSOR |
|
||||
| CLOSE C2 | CURSOR CLOSE | 常時 | 3000STPSOR |
|
||||
|
||||
## 処理フロー
|
||||
1. 初期処理(開始メッセージ→DB接続→運用日付取得)
|
||||
2. 休日カレンダー全件読込(WORKING-STORAGEに格納)
|
||||
3. 出力ファイルOPEN
|
||||
4. DB初回FETCH(LEAVE_RECORDS:STATUS='1'、ORDER BY EMP_ID, START_DATE)
|
||||
4. C1 DECLARE/OPEN/初回FETCH(LEAVE_RECORDS:STATUS='1'、ORDER BY EMP_ID, START_DATE)
|
||||
5. 社員番号キーブレイクループ
|
||||
- 社員別に期間内を日別展開
|
||||
- 週末判定(MOD(INTEGER-OF-DATE,7)=0/6)→除外
|
||||
@@ -58,4 +62,4 @@
|
||||
- 非週末・非休日 → LEAVE-DAILY出力
|
||||
- 日付加算(月跨ぎ/閏年対応)
|
||||
- キーブレイク時:社員別小計メッセージ出力
|
||||
6. 終了処理(CLOSE→件数出力→終了メッセージ)
|
||||
6. 終了処理(CURSOR CLOSE→出力CLOSE→件数出力→終了メッセージ)
|
||||
|
||||
Reference in New Issue
Block a user