Repository navigation
Expand file tree
/
Copy pathDKCHRUN
More file actions
122 lines (99 loc) · 4 KB
/
Copy pathDKCHRUN
File metadata and controls
122 lines (99 loc) · 4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
/*******************************************************************/
/* SELECT ÓÔÏÍ ÐÉÍÁÊÁ CTDKRUN ÅÁÍ ÕÐÁÑ×ÅÉ ÅÃÃÑÁÖÇ ME COD_FLAG=0 TOY*/
/* JOB ÐÏÕ ÄÉÁÂÁÆÅÉ ÁÐÏ ÐÁÑÁÌÅÔÑÏ ÃÉÁ THN ÔÑÅ×ÏÕÓÁ ÇÌ/ÍÉÁ */
/* AUTHOR : ÅÕÁÃÃÅËÏÓ ÊÏÕËÇÓ */
/* CREATION : ÌÁÚÏÓ 2003 */
/*******************************************************************/
DKCHRUN: PROC(ARGS) OPTIONS(MAIN);
DCL PLIXOPT CHAR(39) VAR EXT INIT ('ERRCOUNT(0)');
/*-----------------------------------------------------------*/
/* BUILTIN FUNCTIONS */
/*-----------------------------------------------------------*/
DCL NULL BUILTIN;
DCL ADDR BUILTIN;
DCL SUBSTR BUILTIN;
DCL VERIFY BUILTIN;
/******* DCLGEN *******/
EXEC SQL INCLUDE CTDKRUN;
EXEC SQL INCLUDE SQLCA;
/***********************************************************/
DCL ARGS CHAR(8) VARYING; /*INPUT PARAMETER FROM JCL*/
/***********************************************************/
DCL CURRENT_DATE CHAR(10) INIT('');
DCL CURRENT_TIME CHAR(08) INIT('');
DCL CURRENT_TIMESTAMP CHAR(26) INIT('');
DCL WS_JOBID CHAR(8) INIT('');
/************************************/
/* ÐÑÏÓÄÉÏÑÉÓÌÏÓ, ÐÅÑÉÃÑÁÖÇ ÁÑ×ÅÉÙÍ */
/************************************/
DCL PRINT FILE RECORD SEQUENTIAL OUTPUT
ENV(FB RECSIZE(133) CTLASA);
DCL LINE CHAR (133) INIT(' ');
DCL 1 LINE1 BASED(ADDR(LINE)),
2 CTLCHR1 CHAR(1) INIT(' '),
2 GRAMMH CHAR(132) INIT(' ');
/*************************************************/
% PAGE;
OPEN FILE(PRINT);
EXEC SQL
SET :CURRENT_TIMESTAMP = CURRENT TIMESTAMP;
CURRENT_DATE = SUBSTR(CURRENT_TIMESTAMP,9,2)!!'.'!!
SUBSTR(CURRENT_TIMESTAMP,6,2)!!'.'!!
SUBSTR(CURRENT_TIMESTAMP,1,4);
CURRENT_TIME = SUBSTR(CURRENT_TIMESTAMP,12,8);
IF CURRENT_TIME > '00.00.00' & CURRENT_TIME < '08.00.00' THEN DO;
EXEC SQL
SET :CURRENT_DATE = CURRENT DATE - 1 DAY;
END;
WS_JOBID = ARGS;
EXEC SQL
SELECT DAT_JOBRUN,
TIM_JOBRUN,
AMT_EGGRAFES,
SUM_POSOA
INTO :DAT_JOBRUN,
:TIM_JOBRUN,
:AMT_EGGRAFES,
:SUM_POSOA
FROM CTDKRUN
WHERE COD_JOBID = :WS_JOBID AND
DAT_JOBRUN = :CURRENT_DATE AND
COD_FLAG = 0
WITH UR;
IF SQLCODE = 0 THEN DO;
GRAMMH= 'ÔÏ JOB '!!WS_JOBID!!' Å×ÅÉ ÇÄÇ ÅÊÔÅËÅÓÔÅÉ ÔÇÍ '!!
SUBSTR(TIM_JOBRUN,9,2)!!'/'!!
SUBSTR(TIM_JOBRUN,6,2)!!'/'!!
SUBSTR(TIM_JOBRUN,1,4)!!
' ÊÁÉ ÙÑÁ: '!!SUBSTR(TIM_JOBRUN,12,8);
WRITE FILE(PRINT) FROM(LINE) ;
GRAMMH= 'ÃÉÁ ÔÉÓ ×ÑÅÙÐÉÓÔÙÓÅÉÓ ÔÇÓ '!!DAT_JOBRUN;
WRITE FILE(PRINT) FROM(LINE) ;
GRAMMH= 'ÁÑÉÈÌÏÓ ÅÃÃÑÁÖÙÍ= '!!AMT_EGGRAFES!!
' ÓÕÍÏËÉÊÏ ÐÏÓÏ= '!!SUM_POSOA;
WRITE FILE(PRINT) FROM(LINE) ;
CALL USER_ABEND;
END;
ELSE IF SQLCODE ^= 100 THEN DO;
GRAMMH= 'SELECT ERROR ÓÔÏ ÐÉÍÁÊÁ CTDKRUN, SQLCODE= '!!
SQLCODE;
WRITE FILE(PRINT) FROM(LINE) ;
CALL USER_ABEND;
END;
ELSE DO;
GRAMMH= 'ÔÏ JOB '!!WS_JOBID!!' ÅÐÉÔÑÅÐÅÔÁÉ ÍÁ '!!
'ÅÊÔÅËÅÓÔÅÉ ÔÇÍ '!! CURRENT_DATE;
WRITE FILE(PRINT) FROM(LINE) ;
END;
/**********************************/
/* USER ABEND */
/**********************************/
USER_ABEND :PROC ;
DCL FIVE FIXED(1) INIT(5);/*NPK CHANGES FOR ENTERPLISE PLI 21-05-2007*/
WS_ABEND = FIVE/0;
END USER_ABEND;
/*************************************************/
TELOS:
CLOSE FILE(PRINT);
END DKCHRUN;