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 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298
| SMFCHECK START 0
DEPART SAVE (14,12)
BALR 10,0
USING *,10,11,12
DEB LM 11,12,BASE
B BEGIN
DS 0F
BASE DC A(DEB+4096)
DC A(DEB+8192)
SAVE DS 18F
BEGIN MVC 8(4,13),=A(SAVE)
ST 13,SAVE+4
LA 13,SAVE
*----------------------------------------------------------------
* RECUPERATION DE PARAMETRE ------------------------------------
*----------------------------------------------------------------
PARM L 2,0(1)
LH 3,0(2) LONGUEUR DE PARM
C 3,=F'0' PAS DE PARM
BE ERPARM
C 3,=F'44'
BH ERPARM
BCTR 3,0
STC 3,LONPARM
EX 3,MOVEPARM
B OPEN
ERPARM B SORTIE
MOVEPARM MVC ZONPARM(0),2(2) PARAMETRE SUR ZONPARM
PRINPARM MVC LP+25(0),2(2) PARAMETRE SUR LIGNE PRINT
*----------------------------------------------------------------
OPEN EX 3,PRINPARM
MVC LP+1(22),LIBCRITR
OPEN IN
OI XFLAG1,X'80'
OPEN (OUT,(OUTPUT))
OI XFLAG1,X'40'
PUT EQU *
CP CLIG(2),=PL2'55'
BL PUTLP
PUT OUT,TIRET
PUT OUT,TITRE
PUT OUT,TIRET
MVC CLIG(2),=PL2'0'
PUTLP PUT OUT,LP
AP CLIG(2),=PL2'1'
MVI LP,C' '
MVC LP+1(132),LP
GET GET IN,ZIN
LA 4,ZIN
CLI 5(4),D14
BE REC14
CLI 5(4),D15
BE REC15
CLI 5(4),D17
BE REC17
CLI 5(4),D18
BE REC18
CLI 5(4),D62
BE REC62
CLI 5(4),D63
BNE GET
*-------------------------------------------------------------
REC63 EQU *
TM 43(4),X80 CLUSTER
BZ GET
MVC LP+12(44),92(4) ENTRY NAME
TM 38(4),X'80' NEW DEFINITION
BO NEWDEF
TM 38(4),X'40' ALTERED
BZ GET
ALTER MVC LP+1(10),R632 ENTRY ALTERED
B SCANDSN
NEWDEF MVC LP+1(10),R631 ENTRY DEFINED
B SCANDSN
*-------------------------------------------------------------
REC62 TM 42(4),X80 OPEN
BZ GET
MVC LP+12(44),96(4) ENTRY NAME
MVC LP+1(10),R62
B SCANDSN
*-------------------------------------------------------------
REC14 MVC LP+1(10),R14 RECORD14 INPUT
MVC LP+12(44),68(4) DSN
B SCANDSN
REC15 MVC LP+1(10),R15 RECORD15 OUTPUT
MVC LP+12(44),68(4) DSN
B SCANDSN
REC17 MVC LP+1(10),R17 RECORD17 SCRATCH
MVC LP+12(44),44(4) DSN
B SCANDSN
REC18 MVC LP+1(10),R18 RECORD18 RENAME
MVC LP+12(44),44(4) OLD DSN
MVC LP+80(44),88(4) NEW DSN
B SCANDSN
SCANDSN EQU *
SR 3,3
ICM 3,1,LONPARM
EX 3,COMPPARM
BNE GET
B REC1415
COMPPARM CLC ZONPARM(0),LP+12
REC1415 MVC DW(4),06(4) TIME RECORD
BAL 9,PENDULE
MVC LP+80(8),TIM
MVC DW(4),10(4) DATE
BAL 9,DECODATE
MVC LP+70(6),DATEDIT+2
MVC LP+60(8),18(4) JOBNAME
OI XFLAG1,X'20'
B PUT
FERM EQU *
TM XFLAG1,X'20' TROUVE ?
BO CLOSOUT OUI
TM XFLAG1,X'40' NON.. SYSPRINT OUVERT ?
BZ CLOSIN NON
MVC LP+1(44),ZONPARM EDITE MESSAGE
MVC LP+46(10),NOTFIND EDITE MESSAGE
PUT OUT,LP
CLOSOUT EQU *
TM XFLAG1,X'40'
BZ CLOSIN
CLOSE OUT
CLOSIN EQU *
TM XFLAG1,X'80'
BZ SORTIE
CLOSE IN
SORTIE EQU *
SR 15,15
L 13,SAVE+4
RETURN (14,12),RC=(15)
*
*------------------------------------------------------------
* DECODE TIME - ENTREE = DW EN CENTIEMES DE SECONDES
* SORTIE = TIM HHMMSSCC
*------------------------------------------------------------
*
PENDULE EQU *
L 7,DW
SR 6,6
D 6,=F'100'
CVD 6,DW
UNPK ZT+1(3),DW+6(2)
MVZ ZT+3(1),=C'0'
MVC CENT(2),ZT+2
SR 6,6
D 6,=F'60'
CVD 6,DW
UNPK ZT+1(3),DW+6(2)
MVZ ZT+3(1),=C'0'
MVC SECON(2),ZT+2
SR 6,6
D 6,=F'60' MINUTES
CVD 6,DW
UNPK ZT+1(3),DW+6(2)
MVZ ZT+3(1),=C'0'
MVC MINUT(2),ZT+2
CVD 7,DW
UNPK ZT+1(3),DW+6(2)
MVZ ZT+3(1),=C'0'
MVC HEUR(2),ZT+2
BCR 15,9
*
*------------------------------------------------------------
* DECODE DATE - ENTREE = DW DATE X'00AAQQQF'
* SORTIE = DATEDIT 00JJMMAA
*------------------------------------------------------------
*
DECODATE EQU *
UNPK DATEDIT(8),DW(4)
MVC TABM+4(2),=PL2'28'
MVC DATEDIT+6(2),DATEDIT+3 ANNEE EDITE
TM DW+1,X'01' TEST
BO ANNEE POUR ANNEE
TM DW+1,X'12' BISSEXTILE
BM ANNEE
MVC TABM+4(2),=PL2'29'
ANNEE LA 5,TABM
MOISCAN CP 0(2,5),DW+2(2)
BL MOIAFTER
B MOISOK
MOIAFTER SP DW+2(2),0(2,5)
LA 5,4(5)
B MOISCAN
MOISOK MVC DATEDIT+4(2),2(5)
UNPK DATEDIT(4),DW+2(2)
MVZ DATEDIT+3(1),=C'0'
BCR 15,9
*
*------------------------------------------------------------
* DECOALFA - ENTREE DW BYTES 0 ET 1
* SORTIE DW 3 4 5 6
*------------------------------------------------------------
*
* OCTETS DW 0.1.2.3.4.5.6.7.
ALFA EQU * X'0B37............'
MVI DW+2,X'0F' X'0B370F..........'
UNPK DW+3(5),DW(3) X'0B37F0F0FBF3F7F0'
MVZ DW+3(5),=5X'00' X'0B3700000B030700'
TR DW+3(5),ALFATAB X'0B3700F0C2F3F7F0'
ALFAFIN BCR 15,9
ALFATAB DC X'F0F1F2F3F4F5F6F7F8F9C1C2C3C4C5C6'
EJECT
*********************************************************
*
*
* DEFINITIONS DES ZONES D EDITION RECAP
*
ZONDATE DS CL8
DW DS D
LP DS CL133
*
*
TABM DC PL2'31',CL2'01' JANVIER
DC PL2'28',CL2'02' FEVRIER
DC PL2'31',CL2'03' MARS
DC PL2'30',CL2'04' AVRIL
DC PL2'31',CL2'05' MAI
DC PL2'30',CL2'06' JUIN
DC PL2'31',CL2'07' JUILLET
DC PL2'31',CL2'08' AOUT
DC PL2'30',CL2'09' SEPTEMBRE
DC PL2'31',CL2'10' OCTOBRE
DC PL2'30',CL2'11' NOVEMBRE
DC PL2'31',CL2'12' DECEMBRE
DATEDIT DC CL8'00000000' DATE 00JJMMAA
LIBCRITR DC CL22'CRITERE A RECHERCHER :'
*
*
TIMEDIT DC CL13' . . . '
TIM DS 0CL8
HEUR DS CL2
MINUT DS CL2
SECON DS CL2
CENT DS CL2
MASK7 DC XL12'402020204B2020204B202020'
MASK8 DC XL8'4020202020202020'
* DEFINITION DE ZONES FICHIERS ET CONSTANTES
IN DCB DSORG=PS,EODAD=FERM,MACRF=GM,DDNAME=SYSUT1
OUT DCB DSORG=PS,MACRF=PM,DDNAME=SYSUT2
D14 EQU X'0E'
D15 EQU X'0F'
D17 EQU X'11'
D18 EQU X'12'
D62 EQU X'3E'
D63 EQU X'3F'
R14 DC CL10'INPUT '
R15 DC CL10'OUTPUT '
R17 DC CL10'SCRATCH '
R18 DC CL10'RENAME '
R631 DC CL10'DEFINED '
R632 DC CL10'ALTERED '
R62 DC CL10'OPEN '
NOTFIND DC CL10'NON TROUVE'
X80 EQU X'80'
X02 EQU X'02'
D3 EQU X'F3'
*--------------------------------------------------------
*
XFLAG1 DC X'00' FLAG
* 1... .... IN OPEN (SYSUT1)
* .1.. .... OUT OPEN(SYSUT2)
* ..1. .... TROUVE
* ...1 .... RESERVE
* .... 1... RESERVE
* .... .1.. RESERVE
* .... ..1. RESERVE
* .... ...1 RESERVE
*--------------------------------------------------------
MASK DC XL4'40202020'
TRKCAP DC PL8'13030'
BLAN8 DC 8C' '
X20 EQU X'20'
D2 EQU X'F2'
D1 EQU X'F1'
D4 EQU X'F4'
MOT DS F
BLKPAC DS D
COUNT DS D
MULTI DS CL16
ZEROBIN DC X'00000000'
X01 DC X'0001'
ZT DS CL4
DOUBLE DS D
LONPARM DC X'00' LONG PARM-1
ZONPARM DC CL44' '
TITRE DS 0CL133
DC CL40' STATUS DSNAME '
DC CL40' JOB DATE '
DC CL40'HEURE '
DC CL13' '
TIRET DS 0CL133
DC 133C'_'
CLIG DC PL2'90'
LTORG
ZIN DS CL32767
END EQU *
END DEPART
|