fix: KIN08DBU/KIN09CSV decimal fix (convert-sql.mjs displayDecimalVars), SYSIN format fix, coverage stats

This commit is contained in:
qiuqiuqiu
2026-06-28 23:05:50 +08:00
parent cea0a60a07
commit a110bccdaf
4 changed files with 73 additions and 50 deletions
+56 -48
View File
@@ -89,10 +89,13 @@
03 WS-KEY2 PIC X(020).
03 WS-VALUE2 PIC X(080).
*** ホスト変数
03 HV-EMP-ID PIC X(008).
03 HV-TARGET-DATE PIC X(008).
03 HV-TIME-IN PIC X(004).
03 HV-TIME-OUT PIC X(004).
03 HV-EMP-ID PIC X(008).
03 HV-TARGET-DATE PIC X(008).
03 HV-DATE-FROM PIC X(008).
03 HV-DATE-TO PIC X(008).
03 HV-YEARMONTH PIC X(006).
03 HV-TIME-IN PIC X(004).
03 HV-TIME-OUT PIC X(004).
03 HV-ANNUAL-H PIC 9(004)V9(001).
03 HV-PERSONAL-H PIC 9(004)V9(001).
03 HV-OFFICIAL-H PIC 9(004)V9(001).
@@ -290,43 +293,46 @@
* サブモジュール名:DAILY_RECORDS CURSOR OPEN + 初回FETCH *
* 処理概要 : 該当月の全レコードをSELECT *
*****************************************************************
1200-DAILY-OPEN SECTION.
1200-DAILY-OPEN SECTION.
*
EXEC SQL
DECLARE C_DAILY CURSOR FOR
SELECT EMP_ID, TARGET_DATE,
TIME_IN, TIME_OUT,
ANNUAL_LEAVE_H, PERSONAL_LEAVE_H,
OFFICIAL_LEAVE_H, SICK_LEAVE_H,
UNAPPROVED_ABSENT_H
FROM DAILY_RECORDS
WHERE TARGET_DATE >= :WS-DATE-FROM
AND TARGET_DATE <= :WS-DATE-TO
ORDER BY EMP_ID, TARGET_DATE
END-EXEC.
MOVE WS-DATE-FROM TO HV-DATE-FROM.
MOVE WS-DATE-TO TO HV-DATE-TO.
*
EXEC SQL
OPEN C_DAILY
END-EXEC.
EXEC SQL
DECLARE C_DAILY CURSOR FOR
SELECT EMP_ID, TARGET_DATE,
TIME_IN, TIME_OUT,
ANNUAL_LEAVE_H, PERSONAL_LEAVE_H,
OFFICIAL_LEAVE_H, SICK_LEAVE_H,
UNAPPROVED_ABSENT_H
FROM DAILY_RECORDS
WHERE TARGET_DATE >= :HV-DATE-FROM
AND TARGET_DATE <= :HV-DATE-TO
ORDER BY EMP_ID, TARGET_DATE
END-EXEC.
*
EXEC SQL
FETCH C_DAILY
INTO :HV-EMP-ID,
:HV-TARGET-DATE,
:HV-TIME-IN,
:HV-TIME-OUT,
:HV-ANNUAL-H,
:HV-PERSONAL-H,
:HV-OFFICIAL-H,
:HV-SICK-H,
:HV-ABSENT-H
END-EXEC.
EXEC SQL
OPEN C_DAILY
END-EXEC.
*
IF SQLCODE NOT = 0
MOVE '1' TO WS-DAILY-EOF
END-IF.
EXEC SQL
FETCH C_DAILY
INTO :HV-EMP-ID,
:HV-TARGET-DATE,
:HV-TIME-IN,
:HV-TIME-OUT,
:HV-ANNUAL-H,
:HV-PERSONAL-H,
:HV-OFFICIAL-H,
:HV-SICK-H,
:HV-ABSENT-H
END-EXEC.
*
1200-DAILY-OPEN-EXT.
IF SQLCODE NOT = 0
MOVE '1' TO WS-DAILY-EOF
END-IF.
*
1200-DAILY-OPEN-EXT.
EXIT.
*****************************************************************
* サブモジュールNO:(2.0) *
@@ -456,17 +462,19 @@
AFTER ADVANCING 1 LINE.
ADD 1 TO CUN-W01OUT.
*
*** MONTHLY_ABSENCE CURSOR
EXEC SQL
DECLARE C_MONTHLY CURSOR FOR
SELECT EMP_ID, YEAR_MONTH,
ANNUAL_LEAVE_H, PERSONAL_LEAVE_H,
OFFICIAL_LEAVE_H, SICK_LEAVE_H,
UNAPPROVED_ABSENT_H
FROM MONTHLY_ABSENCE
WHERE YEAR_MONTH = :WS-YEARMONTH
ORDER BY EMP_ID
END-EXEC.
*
MOVE WS-YEARMONTH TO HV-YEARMONTH.
*
EXEC SQL
DECLARE C_MONTHLY CURSOR FOR
SELECT EMP_ID, YEAR_MONTH,
ANNUAL_LEAVE_H, PERSONAL_LEAVE_H,
OFFICIAL_LEAVE_H, SICK_LEAVE_H,
UNAPPROVED_ABSENT_H
FROM MONTHLY_ABSENCE
WHERE YEAR_MONTH = :HV-YEARMONTH
ORDER BY EMP_ID
END-EXEC.
*
EXEC SQL
OPEN C_MONTHLY
@@ -603,4 +611,4 @@
CALL 'SUB03END' USING E01ABDPAR.
*
9999ABDSOR-EXT.
EXIT.
EXIT.