Subsystem A: Add FILE STATUS + OPEN error checks to 6 KIN programs
KIN01INP/KIN02UPD/KIN03EXP/KIN04CHK/KIN06CLD/KIN07DAI: - FILE STATUS added to all FILE-CONTROL SELECT statements - WS-xx-STATUS variables declared in WORKING-STORAGE - OPEN error: IF WS-xx-STATUS NOT = '00' -> CALL SUB03END - KIN06CLD: added missing 9999ABDSOR section - All programs build; KIN04CHK/KIN06CLD/KIN07DAI tests pass
This commit is contained in:
@@ -0,0 +1,520 @@
|
||||
IDENTIFICATION DIVISION.
|
||||
PROGRAM-ID. KIN03EXP.
|
||||
*****************************************************************
|
||||
* システム名 : 勤怠休暇管理システム *
|
||||
* プログラムID : KIN03EXP *
|
||||
* プログラム名 : 休暇日別展開処理 *
|
||||
* 作成日 : 2026-06-17 *
|
||||
* 処理概要 : LEAVE_RECORDS(DB2)より有効申請を読込み、 *
|
||||
* 開始日〜終了日の期間を日別に展開し、 *
|
||||
* 休日・週末を除外してLEAVE-DAILY-fileを出力 *
|
||||
* する。社員番号キーブレイクで小計出力を行う。*
|
||||
*****************************************************************
|
||||
* 更新履歴 *
|
||||
*---------------------------------------------------------------*
|
||||
* 更新日付 担当者 更新内容 *
|
||||
*---------------------------------------------------------------*
|
||||
* 26-06-17 @@@ 新規作成 *
|
||||
* *
|
||||
*****************************************************************
|
||||
ENVIRONMENT DIVISION.
|
||||
CONFIGURATION SECTION.
|
||||
SOURCE-COMPUTER. IBM-ZSERIES.
|
||||
OBJECT-COMPUTER. IBM-ZSERIES.
|
||||
*
|
||||
INPUT-OUTPUT SECTION.
|
||||
FILE-CONTROL.
|
||||
SELECT W01OUTFIL ASSIGN TO "KIN02W01.DAT"
|
||||
FILE STATUS IS WS-W01-STATUS.
|
||||
*
|
||||
DATA DIVISION.
|
||||
FILE SECTION.
|
||||
*
|
||||
*****************************************************************
|
||||
* W01 (LEAVE-DAILY) 80B FB *
|
||||
*****************************************************************
|
||||
FD W01OUTFIL
|
||||
LABEL RECORD IS STANDARD
|
||||
BLOCK CONTAINS 0
|
||||
RECORDING MODE IS F.
|
||||
01 W01OUTREC.
|
||||
COPY KIN02REC REPLACING ==(A)== BY ==W01==.
|
||||
*
|
||||
WORKING-STORAGE SECTION.
|
||||
*
|
||||
*****************************************************************
|
||||
* SQLCA *
|
||||
*****************************************************************
|
||||
EXEC SQL INCLUDE SQLCA END-EXEC.
|
||||
*
|
||||
*****************************************************************
|
||||
* コンスタント領域 *
|
||||
*****************************************************************
|
||||
01 CNSARA.
|
||||
03 CNS-PRGIDX PIC X(008) VALUE 'KIN03EXP'.
|
||||
03 CNS-MSGSTR PIC 9(003) VALUE 001.
|
||||
03 CNS-MSGFIN PIC 9(003) VALUE 002.
|
||||
03 CNS-MSGSUBEEK PIC 9(003) VALUE 005.
|
||||
03 CNS-MSGIINKES PIC 9(003) VALUE 006.
|
||||
03 CNS-MSGOUTKES PIC 9(003) VALUE 007.
|
||||
03 CNS-MSGKEYINF PIC 9(003) VALUE 033.
|
||||
03 CNS-KN0002 PIC 9(001) VALUE 2.
|
||||
03 CNS-ABD999 PIC 9(003) VALUE 999.
|
||||
*
|
||||
*****************************************************************
|
||||
* カウンタ領域 *
|
||||
*****************************************************************
|
||||
01 CUNARA.
|
||||
03 CUN-R01INN PIC S9(009) COMP-3
|
||||
VALUE ZERO.
|
||||
03 CUN-W01OUT PIC S9(009) COMP-3
|
||||
VALUE ZERO.
|
||||
*
|
||||
*****************************************************************
|
||||
* DBホスト変数(DISPLAY形式:bridgeテキストI/F対応) *
|
||||
*****************************************************************
|
||||
01 SQL-HOST-VARS.
|
||||
03 SQL-APPL-ID PIC X(009).
|
||||
03 SQL-EMP-ID PIC X(008).
|
||||
03 SQL-LEAVE-TYPE PIC X(002).
|
||||
03 SQL-START-DATE PIC X(008).
|
||||
03 SQL-START-TIME PIC X(004).
|
||||
03 SQL-END-DATE PIC X(008).
|
||||
03 SQL-END-TIME PIC X(004).
|
||||
03 SQL-HD-DATE PIC X(008).
|
||||
*
|
||||
*****************************************************************
|
||||
* 作業領域 *
|
||||
*****************************************************************
|
||||
01 WRKARA.
|
||||
*** ファイルステータス
|
||||
03 WS-W01-STATUS PIC X(002).
|
||||
*** EOF判定
|
||||
03 WRK-R01EOF PIC X(001).
|
||||
88 WRK-R01-EOF VALUE '1'.
|
||||
*** キーブレイク用
|
||||
03 WRK-BFR-EMP-ID PIC X(008).
|
||||
*** 社員別小計カウンタ
|
||||
03 CUN-EMP-SUB PIC S9(009) COMP-3
|
||||
VALUE ZERO.
|
||||
*** 日付展開用
|
||||
03 WRK-DATE-CURRENT PIC 9(008).
|
||||
03 WRK-DATE-ALPHA REDEFINES WRK-DATE-CURRENT
|
||||
PIC X(008).
|
||||
03 WRK-DATE-NUM REDEFINES WRK-DATE-CURRENT.
|
||||
05 WRK-DATE-YEAR PIC 9(004).
|
||||
05 WRK-DATE-MONTH PIC 9(002).
|
||||
05 WRK-DATE-DAY PIC 9(002).
|
||||
03 WRK-DATE-END PIC 9(008).
|
||||
*** 曜日判定用
|
||||
03 WRK-DAY-OF-WEEK PIC 9(001).
|
||||
*** 休日テーブル件数(ODO前に定義)
|
||||
03 WRK-HD-COUNT PIC 9(004) COMP
|
||||
VALUE ZERO.
|
||||
*** 休日テーブル存在フラグ
|
||||
03 WRK-HD-FOUND PIC X(001).
|
||||
*** 休日テーブル(ODOは末尾に配置)
|
||||
03 WRK-HOLIDAY-TABLE.
|
||||
05 WRK-HD-ENTRY OCCURS 1 TO 366 TIMES
|
||||
DEPENDING ON WRK-HD-COUNT
|
||||
ASCENDING KEY IS WRK-HD-DATE
|
||||
INDEXED BY WRK-HD-IDX.
|
||||
07 WRK-HD-DATE PIC 9(008).
|
||||
*
|
||||
*****************************************************************
|
||||
* サブプログラム連絡領域 *
|
||||
*****************************************************************
|
||||
*** 運用日付取得
|
||||
COPY ZANDATAC.
|
||||
*** メッセージ編集出力SR用
|
||||
COPY ZANMSGAC.
|
||||
*** ABEND処理SR用
|
||||
COPY ZANENDAC.
|
||||
*
|
||||
PROCEDURE DIVISION.
|
||||
*****************************************************************
|
||||
* サブモジュールNO: (0.0) *
|
||||
* サブモジュール名: 制御処理 *
|
||||
* 処理概要 : メインコントロール処理 *
|
||||
*****************************************************************
|
||||
0000MAJCOLSOR SECTION.
|
||||
*
|
||||
*** 初期処理
|
||||
PERFORM 1000ITTSOR.
|
||||
*
|
||||
*** メイン処理
|
||||
PERFORM 2000MAJSOR
|
||||
UNTIL WRK-R01EOF = '1'.
|
||||
*
|
||||
*** 終了処理
|
||||
PERFORM 3000STPSOR.
|
||||
*
|
||||
0000MAJCOLSOR-EXT.
|
||||
GOBACK.
|
||||
*****************************************************************
|
||||
* サブモジュールNO: (1.0) *
|
||||
* サブモジュール名: 初期処理 *
|
||||
* 処理概要 : 開始メッセージ出力・各種初期化処理 *
|
||||
*****************************************************************
|
||||
1000ITTSOR SECTION.
|
||||
*
|
||||
*** 開始メッセージ出力
|
||||
INITIALIZE M00MHOPAR.
|
||||
MOVE CNS-MSGSTR TO M00MSGCOD.
|
||||
PERFORM 4000MSGOUTSOR.
|
||||
*
|
||||
*** コンパイル日時出力
|
||||
INITIALIZE M00MHOPAR.
|
||||
MOVE CNS-MSGKEYINF TO M00MSGCOD.
|
||||
MOVE FUNCTION WHEN-COMPILED TO M00UMKDATS22-01.
|
||||
MOVE 'COMPILED' TO M00UMKDATS22-02.
|
||||
PERFORM 4000MSGOUTSOR.
|
||||
*
|
||||
*** ワークエリア初期化
|
||||
INITIALIZE WRKARA.
|
||||
*
|
||||
*** DB接続
|
||||
EXEC SQL CONNECT TO 'data/kin.db' END-EXEC.
|
||||
*
|
||||
*** 運用日付取得
|
||||
INITIALIZE D01UBSPAR.
|
||||
CALL 'SUB01DAT' USING D01UBSPAR.
|
||||
IF D01FKICOD = ZERO
|
||||
MOVE D01UBSUDATE TO WRK-DATE-CURRENT
|
||||
ELSE
|
||||
INITIALIZE M00MHOPAR
|
||||
MOVE CNS-MSGSUBEEK TO M00MSGCOD
|
||||
MOVE 'SUB01DAT' TO M00UMKDATS22-01
|
||||
MOVE D01FKICOD TO M00UMKDATS22-02
|
||||
PERFORM 4000MSGOUTSOR
|
||||
PERFORM 9999ABDSOR
|
||||
END-IF.
|
||||
*
|
||||
*** 休日カレンダーテーブル読込
|
||||
PERFORM 1200HDINNSOR.
|
||||
*
|
||||
*** 出力ファイルOPEN
|
||||
OPEN OUTPUT W01OUTFIL.
|
||||
*
|
||||
*** OPENチェック
|
||||
IF WS-W01-STATUS NOT = '00'
|
||||
MOVE CNS-ABD999 TO E01ABDCOD
|
||||
CALL 'SUB03END' USING E01ABDPAR
|
||||
END-IF.
|
||||
*
|
||||
*** C1カーソル初回FETCH(SELECT INTO)
|
||||
PERFORM 1100C1INITSOR.
|
||||
*
|
||||
1000ITTSOR-EXT.
|
||||
EXIT.
|
||||
*****************************************************************
|
||||
* サブモジュールNO:(1.1) *
|
||||
* サブモジュール名:C1初回FETCH処理 *
|
||||
* 処理概要 : LEAVE_RECORDSをSELECT INTO(初回のみ) *
|
||||
*****************************************************************
|
||||
1100C1INITSOR SECTION.
|
||||
*
|
||||
MOVE SPACES TO SQL-APPL-ID.
|
||||
EXEC SQL
|
||||
SELECT APPLICATION_ID, EMP_ID, LEAVE_TYPE,
|
||||
START_DATE, START_TIME,
|
||||
END_DATE, END_TIME
|
||||
FROM LEAVE_RECORDS
|
||||
WHERE STATUS = '1'
|
||||
ORDER BY EMP_ID, START_DATE
|
||||
INTO :SQL-APPL-ID, :SQL-EMP-ID, :SQL-LEAVE-TYPE,
|
||||
:SQL-START-DATE, :SQL-START-TIME,
|
||||
:SQL-END-DATE, :SQL-END-TIME
|
||||
END-EXEC.
|
||||
*
|
||||
IF SQLCODE = 0
|
||||
ADD 1 TO CUN-R01INN
|
||||
ELSE
|
||||
MOVE '1' TO WRK-R01EOF
|
||||
END-IF.
|
||||
*
|
||||
1100C1INITSOR-EXT.
|
||||
EXIT.
|
||||
*****************************************************************
|
||||
* サブモジュールNO:(1.2) *
|
||||
* サブモジュール名:C1次回FETCH処理 *
|
||||
* 処理概要 : br_fetch_nextで次行を読込(2回目以降) *
|
||||
*****************************************************************
|
||||
1100C1FETCHSOR SECTION.
|
||||
*
|
||||
CALL 'br_fetch_next' USING SQLCODE.
|
||||
*
|
||||
IF SQLCODE = 0
|
||||
MOVE SPACES TO SQL-APPL-ID
|
||||
MOVE 0 TO WS-COL-IDX
|
||||
MOVE 256 TO WS-COL-LEN
|
||||
CALL 'br_get_col' USING
|
||||
WS-COL-IDX, SQL-APPL-ID, WS-COL-LEN
|
||||
MOVE 1 TO WS-COL-IDX
|
||||
MOVE 256 TO WS-COL-LEN
|
||||
CALL 'br_get_col' USING
|
||||
WS-COL-IDX, SQL-EMP-ID, WS-COL-LEN
|
||||
MOVE 2 TO WS-COL-IDX
|
||||
MOVE 256 TO WS-COL-LEN
|
||||
CALL 'br_get_col' USING
|
||||
WS-COL-IDX, SQL-LEAVE-TYPE, WS-COL-LEN
|
||||
MOVE 3 TO WS-COL-IDX
|
||||
MOVE 256 TO WS-COL-LEN
|
||||
CALL 'br_get_col' USING
|
||||
WS-COL-IDX, SQL-START-DATE, WS-COL-LEN
|
||||
MOVE 4 TO WS-COL-IDX
|
||||
MOVE 256 TO WS-COL-LEN
|
||||
CALL 'br_get_col' USING
|
||||
WS-COL-IDX, SQL-START-TIME, WS-COL-LEN
|
||||
MOVE 5 TO WS-COL-IDX
|
||||
MOVE 256 TO WS-COL-LEN
|
||||
CALL 'br_get_col' USING
|
||||
WS-COL-IDX, SQL-END-DATE, WS-COL-LEN
|
||||
MOVE 6 TO WS-COL-IDX
|
||||
MOVE 256 TO WS-COL-LEN
|
||||
CALL 'br_get_col' USING
|
||||
WS-COL-IDX, SQL-END-TIME, WS-COL-LEN
|
||||
ADD 1 TO CUN-R01INN
|
||||
ELSE
|
||||
MOVE '1' TO WRK-R01EOF
|
||||
END-IF.
|
||||
*
|
||||
1100C1FETCHSOR-EXT.
|
||||
EXIT.
|
||||
*****************************************************************
|
||||
* サブモジュールNO:(1.3) *
|
||||
* サブモジュール名: 休日カレンダー読込処理 *
|
||||
* 処理概要 : HOLIDAY_CALENDARをWORKING-STORAGEに格納 *
|
||||
*****************************************************************
|
||||
1200HDINNSOR SECTION.
|
||||
*
|
||||
*** C2初回FETCH(SELECT INTO)
|
||||
EXEC SQL
|
||||
SELECT HOLIDAY_DATE
|
||||
FROM HOLIDAY_CALENDAR
|
||||
ORDER BY HOLIDAY_DATE
|
||||
INTO :SQL-HD-DATE
|
||||
END-EXEC.
|
||||
*
|
||||
*** 休日テーブルに全件読込
|
||||
PERFORM UNTIL SQLCODE NOT = 0
|
||||
ADD 1 TO WRK-HD-COUNT
|
||||
MOVE SQL-HD-DATE TO WRK-HD-DATE(WRK-HD-COUNT)
|
||||
CALL 'br_fetch_next' USING SQLCODE
|
||||
IF SQLCODE = 0
|
||||
MOVE 0 TO WS-COL-IDX
|
||||
MOVE 256 TO WS-COL-LEN
|
||||
CALL 'br_get_col' USING
|
||||
WS-COL-IDX, SQL-HD-DATE, WS-COL-LEN
|
||||
END-IF
|
||||
END-PERFORM.
|
||||
*
|
||||
1200HDINNSOR-EXT.
|
||||
EXIT.
|
||||
*****************************************************************
|
||||
* サブモジュールNO: (2.0) *
|
||||
* サブモジュール名: 主処理 *
|
||||
* 処理概要 : キーブレイク(社員番号)毎の処理を行う *
|
||||
*****************************************************************
|
||||
2000MAJSOR SECTION.
|
||||
*
|
||||
*** 社員番号キー保存
|
||||
MOVE SQL-EMP-ID TO WRK-BFR-EMP-ID.
|
||||
*
|
||||
*** 1社員分処理(キーブレイク範囲)
|
||||
PERFORM 2100-PROCESS-EMP
|
||||
THRU 2100-PROCESS-EMP-EXIT.
|
||||
*
|
||||
2000MAJSOR-EXT.
|
||||
EXIT.
|
||||
*****************************************************************
|
||||
* サブモジュールNO: (2.1) *
|
||||
* サブモジュール名: 社員別処理 *
|
||||
* 処理概要 : 1社員の全申請を処理(PERFORM THRU対象) *
|
||||
*****************************************************************
|
||||
2100-PROCESS-EMP SECTION.
|
||||
*
|
||||
MOVE ZERO TO CUN-EMP-SUB.
|
||||
*
|
||||
PERFORM UNTIL WRK-R01EOF = '1'
|
||||
OR SQL-EMP-ID NOT = WRK-BFR-EMP-ID
|
||||
PERFORM 2200-EXPAND-DATE
|
||||
THRU 2200-EXPAND-DATE-EXIT
|
||||
PERFORM 1100C1FETCHSOR
|
||||
END-PERFORM.
|
||||
*
|
||||
*** 社員別小計出力(キーブレイク)
|
||||
INITIALIZE M00MHOPAR.
|
||||
MOVE CNS-MSGKEYINF TO M00MSGCOD.
|
||||
MOVE WRK-BFR-EMP-ID TO M00UMKDATS22-01.
|
||||
MOVE CUN-EMP-SUB TO M00UMKDATS22-02.
|
||||
MOVE 'EMP SUB' TO M00UMKDATS22-03.
|
||||
PERFORM 4000MSGOUTSOR.
|
||||
*
|
||||
2100-PROCESS-EMP-EXIT.
|
||||
EXIT.
|
||||
*****************************************************************
|
||||
* サブモジュールNO: (2.2) *
|
||||
* サブモジュール名: 日付展開処理 *
|
||||
* 処理概要 : 開始日〜終了日をループ(PERFORM THRU対象) *
|
||||
* 休日/週末を除外してLEAVE-DAILYを出力 *
|
||||
*****************************************************************
|
||||
2200-EXPAND-DATE SECTION.
|
||||
*
|
||||
MOVE SQL-START-DATE TO WRK-DATE-CURRENT.
|
||||
MOVE SQL-END-DATE TO WRK-DATE-END.
|
||||
*
|
||||
PERFORM UNTIL WRK-DATE-CURRENT > WRK-DATE-END
|
||||
COMPUTE WRK-DAY-OF-WEEK =
|
||||
FUNCTION MOD(
|
||||
FUNCTION INTEGER-OF-DATE(WRK-DATE-CURRENT), 7)
|
||||
IF WRK-DAY-OF-WEEK = 0
|
||||
OR WRK-DAY-OF-WEEK = 6
|
||||
IF WRK-HD-COUNT > 0
|
||||
AND WRK-DATE-CURRENT NOT = ZERO
|
||||
CONTINUE
|
||||
ELSE
|
||||
CONTINUE
|
||||
END-IF
|
||||
ELSE
|
||||
*** 休日テーブル検索
|
||||
MOVE '0' TO WRK-HD-FOUND
|
||||
IF WRK-HD-COUNT > 0
|
||||
SET WRK-HD-IDX TO 1
|
||||
SEARCH ALL WRK-HD-ENTRY
|
||||
AT END
|
||||
CONTINUE
|
||||
WHEN WRK-HD-DATE(WRK-HD-IDX)
|
||||
= WRK-DATE-CURRENT
|
||||
MOVE '1' TO WRK-HD-FOUND
|
||||
END-SEARCH
|
||||
END-IF
|
||||
IF WRK-HD-FOUND = '0'
|
||||
INITIALIZE W01OUTREC
|
||||
MOVE FUNCTION NUMVAL(SQL-APPL-ID)
|
||||
TO W01APPL-ID
|
||||
MOVE WRK-BFR-EMP-ID TO W01EMP-ID
|
||||
MOVE SQL-LEAVE-TYPE TO W01LEAVE-TYPE
|
||||
MOVE SQL-START-TIME TO W01START-TIME
|
||||
MOVE SQL-END-TIME TO W01END-TIME
|
||||
MOVE WRK-DATE-ALPHA
|
||||
TO W01DATE
|
||||
WRITE W01OUTREC
|
||||
ADD 1 TO CUN-W01OUT
|
||||
ADD 1 TO CUN-EMP-SUB
|
||||
END-IF
|
||||
END-IF
|
||||
*** 日付加算
|
||||
PERFORM 2300-DATE-ADD-1
|
||||
END-PERFORM.
|
||||
*
|
||||
2200-EXPAND-DATE-EXIT.
|
||||
EXIT.
|
||||
*****************************************************************
|
||||
* サブモジュールNO: (2.3) *
|
||||
* サブモジュール名: 日付加算処理 *
|
||||
* 処理概要 : 日付を1日進める(月/年跨ぎ対応) *
|
||||
*****************************************************************
|
||||
2300-DATE-ADD-1 SECTION.
|
||||
*
|
||||
ADD 1 TO WRK-DATE-DAY.
|
||||
*
|
||||
EVALUATE WRK-DATE-MONTH
|
||||
WHEN 1 WHEN 3 WHEN 5 WHEN 7
|
||||
WHEN 8 WHEN 10 WHEN 12
|
||||
IF WRK-DATE-DAY > 31
|
||||
MOVE 1 TO WRK-DATE-DAY
|
||||
ADD 1 TO WRK-DATE-MONTH
|
||||
IF WRK-DATE-MONTH > 12
|
||||
MOVE 1 TO WRK-DATE-MONTH
|
||||
ADD 1 TO WRK-DATE-YEAR
|
||||
END-IF
|
||||
END-IF
|
||||
WHEN 4 WHEN 6 WHEN 9 WHEN 11
|
||||
IF WRK-DATE-DAY > 30
|
||||
MOVE 1 TO WRK-DATE-DAY
|
||||
ADD 1 TO WRK-DATE-MONTH
|
||||
END-IF
|
||||
WHEN 2
|
||||
IF (FUNCTION MOD(WRK-DATE-YEAR, 400) = 0)
|
||||
OR (FUNCTION MOD(WRK-DATE-YEAR, 4) = 0
|
||||
AND FUNCTION MOD(WRK-DATE-YEAR, 100)
|
||||
NOT = 0)
|
||||
IF WRK-DATE-DAY > 29
|
||||
MOVE 1 TO WRK-DATE-DAY
|
||||
ADD 1 TO WRK-DATE-MONTH
|
||||
END-IF
|
||||
ELSE
|
||||
IF WRK-DATE-DAY > 28
|
||||
MOVE 1 TO WRK-DATE-DAY
|
||||
ADD 1 TO WRK-DATE-MONTH
|
||||
END-IF
|
||||
END-IF
|
||||
END-EVALUATE.
|
||||
*
|
||||
2300-DATE-ADD-1-EXT.
|
||||
EXIT.
|
||||
*****************************************************************
|
||||
* サブモジュールNO: (3.0) *
|
||||
* サブモジュール名: 終了処理 *
|
||||
* 処理概要 : ファイルクローズ・件数出力 *
|
||||
*****************************************************************
|
||||
3000STPSOR SECTION.
|
||||
*
|
||||
*** 出力ファイルCLOSE
|
||||
CLOSE W01OUTFIL.
|
||||
*
|
||||
*** 入力件数出力
|
||||
INITIALIZE M00MHOPAR.
|
||||
MOVE CNS-MSGIINKES TO M00MSGCOD.
|
||||
MOVE 'LEAVE_RECORDS' TO M00UMKDATS22-01.
|
||||
MOVE CUN-R01INN TO M00UMKDATS22-02.
|
||||
PERFORM 4000MSGOUTSOR.
|
||||
*
|
||||
*** 出力件数出力
|
||||
INITIALIZE M00MHOPAR.
|
||||
MOVE CNS-MSGOUTKES TO M00MSGCOD.
|
||||
MOVE 'KIN02W01' TO M00UMKDATS22-01.
|
||||
MOVE CUN-W01OUT TO M00UMKDATS22-02.
|
||||
PERFORM 4000MSGOUTSOR.
|
||||
*
|
||||
*** 休日テーブル件数出力
|
||||
INITIALIZE M00MHOPAR.
|
||||
MOVE CNS-MSGKEYINF TO M00MSGCOD.
|
||||
MOVE 'HOLIDAYS LOADED' TO M00UMKDATS22-01.
|
||||
MOVE WRK-HD-COUNT TO M00UMKDATS22-02.
|
||||
PERFORM 4000MSGOUTSOR.
|
||||
*
|
||||
*** 終了メッセージ出力
|
||||
INITIALIZE M00MHOPAR.
|
||||
MOVE CNS-MSGFIN TO M00MSGCOD.
|
||||
PERFORM 4000MSGOUTSOR.
|
||||
*
|
||||
3000STPSOR-EXT.
|
||||
EXIT.
|
||||
*****************************************************************
|
||||
* サブモジュールNO: (4.0) *
|
||||
* サブモジュール名: メッセージ編集出力処理 *
|
||||
* 処理概要 : メッセージ編集出力サブPGM呼出 *
|
||||
*****************************************************************
|
||||
4000MSGOUTSOR SECTION.
|
||||
*
|
||||
MOVE CNS-KN0002 TO M00UMKDATS22-03(1:1).
|
||||
MOVE CNS-KN0002 TO M00UMKDATS22-04(1:1).
|
||||
MOVE CNS-PRGIDX TO M00UMKDATS22-05.
|
||||
CALL 'SUB02MSG' USING M00MHOPAR.
|
||||
*
|
||||
4000MSGOUTSOR-EXT.
|
||||
EXIT.
|
||||
*****************************************************************
|
||||
* サブモジュールNO:(9.9) *
|
||||
* サブモジュール名: ABEND処理 *
|
||||
* 処理概要 : ABENDサブPGM呼出 *
|
||||
*****************************************************************
|
||||
9999ABDSOR SECTION.
|
||||
*
|
||||
MOVE CNS-ABD999 TO E01ABDCOD.
|
||||
CALL 'SUB03END' USING E01ABDPAR.
|
||||
*
|
||||
9999ABDSOR-EXT.
|
||||
EXIT.
|
||||
Reference in New Issue
Block a user