Dear List,
While Extracting Spool information using the below Rexx code I end up with
REXX code :
> IRX0255E Abend in host command SELECT or address environment routine
> ISPEXEC.
> IRX0251E user abend code 0010,Reason code 0000000.
>
> REXXPDS = "JAKE.TOOLS.REXX"
> MSGPDS = "JAKE.TOOLS.MSG"
>
> /*-------------------------------------------------------------------*/
> /* To activate the below datasets into system library. */
> /*-------------------------------------------------------------------*/
>
> "ALTLIB DEACTIVATE QUIET APPLICATION(*)"
> "ALTLIB ACTIVATE QUIET APPLICATION(EXEC) DA('"REXXPDS"')"
>
> ADDRESS "ISPEXEC"
> "LIBDEF ISPMLIB DATASET ID('"MSGPDS"')"
> IF RC \= 0 THEN
> DO
> SAY "LIBDEF ISPMLIB FAILED FOR '"MSGPDS"' .RC = "RC
> SAY ZERRLM
> EXIT
> END
>
> ADDRESS ISREDIT
> "MACRO PROCESS"
> ADDRESS ISPEXEC "CONTROL ERRORS RETURN"
> "(FLINE) = LINE .ZFIRST"
> PARSE VAR FLINE JOBNAME JOB
> JOBPOS = SUBWORD(FLINE,2,1)
> IF JOBPOS /= 'JOB' THEN
> SIGNAL JCL
> /**********************************************************************
> TO GET DATASET NAME
> **********************************************************************/
> ADDRESS ISREDIT "(DATASET) = DATASET"
> ADDRESS ISREDIT "(MEMBER) = MEMBER"
> A= DATASET||"(" ||MEMBER||")"
> Y="'"A"'"
> /**********************************************************************
> TO CHECK RECORD LENGTH OF DATASET
> **********************************************************************/
> ADDRESS ISPEXEC
> "ISREDIT MACRO (COMMAND OPTIONS)"
> "ISREDIT (DSN1) = DATASET"
> ADDRESS TSO
> DSN1 = ''''DSN1''''
> X = LISTDSI(DSN1 DIRECTORY)
> IF (SYSLRECL\='80') THEN
> SIGNAL LRECL
> /**********************************************************************
> TO SUBMIT JCL
> **********************************************************************/
> X = OUTTRAP('LOG.')
> ADDRESS TSO
> "SUB "Y""
> X = OUTTRAP('OFF')
> DO K=1 TO LOG.0
> PARSE VAR LOG.1 "JOB" JOBNAME "("JOBID")" MESSAGE
> END K
> ADDRESS ISPEXEC "VPUT (JOBID) SHARED"
> JOBDONE = 'NO'
> SUBJOBNAME = STRIP(JOBNAME,B)
> SUBJOBID = STRIP(JOBID,B)
> SUBJOB = SUBJOBNAME || "(" || SUBJOBID || ")"
> DO UNTIL JOBDONE = 'YES'
> X=OUTTRAP("OUT.")
> ADDRESS TSO "STATUS" SUBJOB
> X=OUTTRAP("OFF")
> DO K = 1 TO OUT.0
> PARSE VAR OUT.K 'JOB ' JOBNAME '(' JOBID ')' STATUS
> STATUS = STRIP(STATUS)
> IF POS('ON OUTPUT QUEUE',STATUS) > 0 THEN JOBDONE = 'YES'
> ELSE DO
> CALL MYWAIT 03
> END
> END K
> END
> /**********************************************************************
> ALLOCATING FILES USED BY SDSF
> **********************************************************************/
> OWNER=USERID()
> ADDRESS TSO
> "ALLOC F(ISFIN) TRACKS SPACE(1) REU"
> "ALLOC F(ISFOUT) NEW DELETE REU " ,
> "TRACKS SPACE(100,100) LRECL(133) RECFM(F,B,A) DSORG(PS)"
> /**********************************************************************
> SET UP COMMANDS USED BY SDSF
> **********************************************************************/
> QUEUE "OWNER "OWNER
> QUEUE "ST"
> QUEUE "FIL JOBID " JOBID
> QUEUE "AFD REFRESH"
> QUEUE "++?"
> "EXECIO" QUEUED()" DISKW ISFIN (FINIS"
> ADDRESS ISPEXEC "SELECT PGM(ISFAFD) PARM('++32,255)"
> "EXECIO * DISKR ISFOUT (FINIS STEM INPUT."
> CALL TABLE_OPEN
>
> GET_IND = 'N'
> J = 1
> DO I =1 TO INPUT.0
> IF POS("SDSF JOB DATA SET DISPLAY - JOB",INPUT.I) > 0 THEN
> DO
> I=I+2
> IF POS("DDNAME",INPUT.I)> 0 THEN
> POS_DD = POS("DDNAME",INPUT.I)
> POS_STEP = POS("StepName",INPUT.I)
> POS_DSID = POS("DSID",INPUT.I)
> MSG_LINE= SUBSTR(INPUT.I,POS_DD,POS_STEP)
> DO
> ADDRESS ISREDIT
> NOTE_LINE= "USE MACRO SC <NUMBER> TO VIEW MESSAGES PRESENT IN THE
> NOTE_LINE1= "HERE NUMBER IS THE NUMBER PRESENT BEFORE THE DDNAME"
> "ISREDIT LINE_BEFORE .ZCSR = NOTELINE" "'" NOTE_LINE "'"
> "ISREDIT LINE_BEFORE .ZCSR = NOTELINE" "'" NOTE_LINE1 "'"
> "ISREDIT LINE_BEFORE .ZCSR= MSGLINE" "'" " "||MSG_LINE "'"
> DO I=I+1 TO INPUT.0
> S= SUBSTR(INPUT.I,POS_DD,POS_STEP)
> DD_NAME= SUBSTR(INPUT.I,POS_DD,8)
> STEP_NAME= SUBSTR(INPUT.I,POS_STEP,8)
> DSID_NAME= SUBSTR(INPUT.I,POS_DSID,5)
> IF LENGTH(STRIP(S)) > 0 THEN
> /**********************************************************************
> EDITING DDNAMES AND STEPNAMES IN MESSAGE LINES OF JCL
> **********************************************************************/
> DO
> ADDRESS ISREDIT
> "ISREDIT LINE_BEFORE .ZCSR= MSGLINE" "'"J||" "||S "'"
> CNT=J
> DD=DD_NAME
> SN=STEP_NAME
> DS=DSID_NAME
> DDNAME = J || MSG_LINE
> ADDRESS ISPEXEC
> "ISPEXEC TBADD "TBNAME1" ORDER "
> J = J + 1
> END
> END
> END
> END
> END
> ADDRESS ISPEXEC
> "TBCLOSE "TBNAME1
> "ISPEXEC LIBDEF ISPTABL"
> "ISPEXEC LIBDEF ISPTLIB"
> EXIT
> /**********************************************************************
> SUBROUTINE FOR TABLE
> **********************************************************************/
> TABLE_OPEN:
> ADDRESS TSO
> TEMP = USERID()||'.MFCOE.TOOLS.SPLCHK'
> TBNAME1= "SPLCHK"
> ADDRESS ISPEXEC
> "ISPEXEC VPUT (TEMP,TBNAME1) PROFILE"
> ADDRESS TSO
> IF SYSDSN("'"TEMP"'") = 'OK' THEN
> DO
> "ALLOCATE DA('"TEMP"') FI(TEMP1) SHR"
> "FREE FI(TEMP1)"
> END
> ELSE
> /**********************************************************************
> CREATING PDS
> **********************************************************************/
> DO
> "ALLOCATE DA('"TEMP"') FI(TEMP1)",
> " NEW SPACE(20 20) TRACKS RECFM(F B) DSORG(PO) LRECL(150)",
> " BLKSIZE(1500) DIR(20)"
> "FREE FI(TEMP1)"
> END
> ADDRESS ISPEXEC
> "CONTROL ERRORS RETURN"
> "LIBDEF ISPTABL DATASET ID('"TEMP"')"
> "TBERASE "TBNAME1
> /**********************************************************************
> CREATING LIBRARY FOR TABLE
> **********************************************************************/
> ADDRESS ISPEXEC
> "LIBDEF ISPTLIB DATASET ID('"TEMP"')"
> IF RC \= 0 THEN DO
> SAY 'S-> LIBDEF FAILED ON DD ISPTLIB. RC = ' RC
> SAY "S-> DATASET NAME = '" TEMP "'"
> SAY 'S-> TERMINATING APPLICATION'
> EXIT
> END
> "LIBDEF ISPTABL DATASET ID('"TEMP"')"
> IF RC \= 0 THEN DO
> SAY 'S-> LIBDEF FAILED ON DD ISPTABL. RC = ' RC
> SAY "S-> DATASET NAME = '" TEMP "'"
> SAY 'S-> TERMINATING APPLICATION'
> EXIT
> END
> /**********************************************************************
> CREATING TABLE WITH KEYS
> **********************************************************************/
> "TBOPEN "TBNAME1
> IF RC = 8 THEN DO
> "TBCREATE "TBNAME1" KEYS(CNT) NAMES(DD SN DS) WRITE "
> END
> ELSE
> DO
> "TBCREATE "TBNAME1" KEYS(CNT) NAMES(DD SN DS) REPLACE"
> END
> RETURN
>
> /**********************************************************************
> ERROR MESSAGES FUNCTIONS DEFINITION
> **********************************************************************/
> JCL:
> ADDRESS "ISPEXEC"
> "LIBDEF ISPMLIB DATASET ID('"MSGPDS"')"
> "SETMSG MSG(PNMSG192)"
> EXIT
> LRECL:
> ADDRESS "ISPEXEC"
> "LIBDEF ISPMLIB DATASET ID('"MSGPDS"')"
> "SETMSG MSG(PNMSG193)"
> EXIT
> /**********************************************************************
> SUBROUTINE FOR WAITING
> **********************************************************************/
> MYWAIT:
> ARG SECS
> TIMEDIFF = 0
> STARTTIME = TIME('S')
> DO UNTIL TIMEDIFF >= SECS
> TIMEDIFF = TIME('S') - STARTTIME
> END
> RETURN
>
14.40.41 JOB05647 $HASP165 DEFVCTL$ ENDED AT N1 MAXCC=0000
> CN(INTERNAL)
> ISF037I SDSF SDUMP NOT TAKEN, SUPPRESSED BY
> DAE
> ISF012I SDSF ABEND USER 10 AT 09E4B662 IN MODULE ISFINIT OFFSET
> 001CF2
> SDSF ABEND USER 10 AT 09E4B662 IN MODULE ISFINIT OFFSET
> 001CF2
> ISF013I SDSF ABEND R0-R7 80000000 8000000A 00000018 00079C54 89D04CA0
> 8A26D154
> 00000000
> 00001014
> R0-R7 80000000 8000000A 00000018 00079C54 89D04CA0 8A26D154 00000000
> 00001014
> ISF014I SDSF ABEND R8-R15 00000010 00053010 0068D840 00000000 09E4B7BC
> 0068C020
> 89E49DC8
> 00000000
> R8-R15 00000010 00053010 0068D840 00000000 09E4B7BC 0068C020 89E49DC8
> 00000000
> IRX0251E User abend code 0010, reason code
> 00000000.
> IRX0255E Abend in host command SELECT or address environment routine
> ISPEXEC.
> ***
>
Environment : Z/OS : 1.13
RSU1111
Could anyone please direct me.
Jake
----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to
LIST...@VM.MARIST.EDU with the message: INFO TSO-REXX