0.027
mari@pi mari@pi Δευ. 23 Ιούν. 2008 15:30 tags προγραμματισμός 1 views 1 σχόλια
//CMODCLL  JOB (000),MAI,CLASS=C,MSGCLASS=X,NOTIFY=MAI,
//         MSGLEVEL=(1,1),REGION=0M,TIME=1440
//************PROS SUBMIT***************************
//LIBSRCH  JCLLIB ORDER=(LIBRARIES,,,)
//INC      INCLUDE MEMBER=JOBLIBRARIES
//RUNREX0  EXEC PGM=IKJEFT1A,
//         DYNAMNBR=30,REGION=0M,
//         PARM='%CMODRX JOBNAME APPGROUP APPLICATION DATASET'
//SYSEXEC  DD DSN=STH.T.REXX,DISP=SHR
//INC      INCLUDE MEMBER=SYSOUT
//SYSTSIN  DD DUMMY
attention -- max PARM length is 100 characters (cols 16-71)
----+----1----+----2----+----3----+----4----+----5----+----6----+----7-
         ,,,PARM='%CMODRX  JOBNAME  APPGROUP  APPLICATION DATASET1 DATA
               SET2 DATASET3 DATASET4'
( else you get JCL error > IEF642I excessive parameter length in the parm field )

the above calls the following rexx - CMODRX (with parameters job name,application group, application,dataset,,or datasets)

arg a
drop l.;l=0
do w=1 to words(a)
   l=l+1;l.l=word(a, w)
   say l.l
end
l.0=words(a)
drop job.;i=0
i=i+1;job.i="//" word(l.1, 1) " JOB (000),ME,CLASS=A,"
i=i+1;job.i="//      NOTIFY=YOU,TYPRUN=HOLD,"
i=i+1;job.i="//      MSGLEVEL=(1,1),REGION=0M"
i=i+1;job.i="//*"
i=i+1;job.i="//LIBSRCH JCLLIB ORDER=(LIBRARIES,,)"
i=i+1;job.i="//INC    INCLUDE MEMBER=JOBLIBRARIES"
do k=4 to l.0
   i=i+1;job.i="//STEP"k-4" EXEC CLOAD,"
   i=i+1;job.i="//     INFILE="word(l.k, 1)","
   i=i+1;job.i="//     APPL="word(l.2, 1)","
   i=i+1;job.i="//     APPGROUP='"word(l.3, 1)"'"
   i=i+1;job.i="// IF RC=0 THEN"
   i=i+1;job.i="//RENFILE EXEC PGM=IKJEFT01,DYNAMNBR=30,REGION=0M"
   i=i+1;job.i="//SYSPRINT    DD   SYSOUT=*"
   i=i+1;job.i="//SYSTSPRT    DD   SYSOUT=*"
   i=i+1;job.i="//SYSTSIN     DD   *"
   i=i+1;job.i="  DELETE '"word(l.k, 1)".BAK'"   
   i=i+1;job.i="  RENAME '"word(l.k, 1)"' -"  
   i=i+1;job.i="         '"word(l.k, 1)".BAK'"  
   i=i+1;job.i="// ENDIF"
end
job.0=i
NEWSTACK
DO i=1 TO job.0
    UPPER job.i
    QUEUE job.i
END
QUEUE " "

'SUBMIT *'
exit 0
which calls the following proc - CLOAD (with parameters application group, application,dataset)

//CLOAD    PROC INFILE=XXXXXXX,
//         APPGROUP=XXXXX,
//         APPL=XXXXXX
//ARSLOAD  EXEC PGM=ARSLOAD,REGION=0M,
//  PARM=('ENVAR("LC_ALL=EL_GR.IBM-875")',
//  '/-h ARCHIVE -n -g "&APPGROUP." -a &APPL. -s IN ln')
//STEPLIB  DD DISP=SHR,DSN=LIBRARIES
//SYSPRINT DD SYSOUT=*,RECFM=FBA,LRECL=121,BLKSIZE=6050
//SYSOUT   DD SYSOUT=*
//INPSTATS DD SYSOUT=*,RECFM=FBA,LRECL=133
//IN       DD DSN=&INFILE.,DISP=SHR
which performs an arsload of the infile on CMOD ( IBM content manager on demand)


cool ha !??

από thk thk 2008-06-23 17:20
sex with rexx. ειναι πασιφανες τι κάνει.