© unbekannterkünstler@newsgroup

Das Programm liefert eine Reihe von Informationen zum IPL..

/* REXX
*/
tcb      = storage(21c,4)
tiot     = storage(d2x(c2d(tcb)+12),4)
jscb     = storage(d2x(c2d(tcb)+180),4)
ssib     = storage(d2x(c2d(jscb)+316),4)
jobname  = strip(storage(d2x(c2d(tiot)),8))
jobtype  = storage(d2x(c2d(ssib)+12),3)
jobnum   = strip(storage(d2x(c2d(ssib)+15),5),l,0)
stepname = strip(storage(d2x(c2d(tiot)+8),8),l,0)
procstep = strip(storage(d2x(c2d(tiot)+16),8),l,0)

CVT  = C2d(Storage(10,4))                    /* point to CVT         */
SMCA = Storage(D2x(CVT + 196),4)             /* point to SMCA        */
SMCA = Bitand(SMCA,'7FFFFFFF'x)              /* zero high order bit  */
SMCA = C2d(SMCA)                             /* convert to decimal   */
/*********************************************************************/
/*The IPL date is stored in packed decimal format - so to make       */
/*the date printable, it needs to be converted back to hex and       */
/*the packed sign needs to be removed.                               */
/*********************************************************************/
IPLTIME= C2d(Storage(D2x(SMCA + 336),4))     /* IPL Time - binary    */
IPLDATE= C2d(Storage(D2x(SMCA + 340),4))     /* IPL Date - 0CYYDDDF  */
IPLDATE= D2x(IPLDATE)                        /* convert back to hex  */
parse var IPLDATE . 2 IPLDATE 7 .
iplday = date('w',ipldate,'j')
parse value date('s',ipldate,'j') with 1 jjjj 5 mm 7 dd
ipldate= dd"."mm"."jjjj
IPLTIME= IPLTIME / 100                        /* remove hundreths    */
HH = IPLTIME % 3600                           /* IPL hour            */
MM = (IPLTIME - (3600 * HH)) % 60             /* IPL minute          */
SS = (IPLTIME - (3600 * HH)- (60 * MM)) % 1   /* IPL seconds         */
HH = Right(HH,2,'0')                          /* ensure 2 digit HH   */
MM = Right(MM,2,'0')                          /* ensure 2 digit MM   */
SS = Right(SS,2,'0')                          /* ensure 2 digit SS   */
IPLTIME= HH':'MM':'SS                         /* time format HH:MM   */
say "Jobname......:" jobname"("jobtype""jobnum")"
say "Step/Procstep:" stepname procstep
say
say "OS/390 Level.:" left(mvsvar('sysmvs'),10)
say "JES2.........:" sysvar('sysjes')
say "System ID....:" mvsvar('sysname')
say "IPL Volume...:" left(mvsvar('symdef','sysr1'),10)
say "NJE Node.....:" left(sysvar('sysnode'),10)
say "Proc.........:" sysvar('sysproc')
say "IPL Date/Time:" iplday"," ipldate "at" ipltime
exit
zurück zu The Power of REXX