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
|
- Le REXX :
/* SETVP *********************************************************** */
/* CREATION D'UN FICHIER DEPUIS LE PARM COMMUNIQUE POUR VARIABILISER */
/* LE SYSIN DU STEP SUIVANT. LA ',' EST UTILISEE COMME SEPARATEUR DE */
/* LIGNE. UN BLANC EST INSERE EN COLONNE 1. + TRADUCTION DES "()'," */
/* DEPUIS "[]µ:" POUR EVITER PROBLEMES DE SYNTAXE DU CHAMP PARM= */
/* (LA VIRGULE COMME SEPARATEUR SIMPLIFIE LA CONTINUATION DU PARM) */
/* ***************************************************************** */
Arg PARM
do j = 1 to 20
parse var PARM P1 ',' PARM
P2 = TRANSLATE(DATAUP,"()',","[]µ:")
TAB.j = ' 'LEFT(P1,79)
if strip(PARM) = '' then leave
end
"EXECIO" j "DISKW DDOUT (STEM TAB. FINIS"
drop TAB.
Exit
- Le JCL :
//LIBREXX SET LIBREX='PDS.REXX.SETVP'
//DTEMIN SET DETEMIN='20071022'
//DTEMAX SET DETEMAX='20071102'
//CHAMP1 SET CHAMP1='CHAMP1'
//CHAMP2 SET CHAMP2='CHAMP2'
//STEPVAR EXEC PGM=IRXJCL,REGION=4096K, GENERATION SYSIN
// PARM=('SETVP AND A.DATE1 >= µ&DTEMINµ,AND A.DATE2 <= µ&DTEMAXµ',
// 'AND A.** IN,[µCHAMP1µ: µCHAMP2µ],WITH UR;')
//SYSEXEC DD DSN=&LIBREXX,DISP=SHR
//DDOUT DD DSN=&&TEMP1,DISP=(NEW,PASS),
// UNIT=3390,SPACE=(TRK,(1,1)),DCB=(RECFM=FB,LRECL=80,BLKSIZE=0)
//SYSTSPRT DD SYSOUT=*
//SYSTSIN DD DUMMY
//*
//DSNTEP2 EXEC PGM=IKJEFT1B,DYNAMNBR=20
//SYSTSPRT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//*
//SYSTSIN DD *
DSN S(DB2*)
RUN PRO (DSNTEP2) PLAN (DSNTEP2) -
LIB ('*************')
END
//*
//SYSIN DD *
SELECT COUNT(*),
FROM creator.table_name A, creator.table_name B
WHERE A.**=B.**
// DD DSN=&&TEMP1,DISP=(OLD,DELETE)
//* |
Partager