My little subprog:

***********************************************************************
*        SUBROUTINE TO OBTAIN SYSTEM INFORMATION                      *
***********************************************************************
GETJINFO CSECT
GETJINFO AMODE 31
GETJINFO RMODE ANY
LENTRY   STM   14,12,12(13)
         BALR  12,0
         USING *,12
         L     2,0(1)              GET PTR TO RETURN AREA
         USING ZSYSINFO,2
*
*        ADDRESS KEY CB'S
*        ----------------
         USING PSA,0
         L     3,PSAAOLD           LOCATE ASCB
         USING ASCB,3
         L     4,PSATOLD           LOCATE TCB
         USING TCB,4
         L     5,TCBTIO            LOCATE TIOT
         USING TIOT1,5
         L     6,TCBJSCB           LOCATE JSCB
         USING IEZJSCB,6
         L     7,ASCBASXB          LOCATE ASXB
         USING ASXB,7
         L     8,ASXBSENV          LOCATE ACEE
         USING ACEE,8
*
*        SAVE SYSTEM INFO FIELDS
*        -----------------------
         XC    ZSYSINFO(256),ZSYSINFO
         MVC   ZSYSPGMN,JSCBPGMN   GET PROGRAM NAME
         MVC   ZSYSUSER,ACEEUSRI   GET USERID
         MVC   ZSYSGRPN,ACEEGRPN   GET GROUP
         MVC   ZSYSJOBN,TIOCNJOB   GET JOB NAME
         MVC   ZSYSSTEP,TIOCSTEP   GET STEP NAME
*
*        BUILD THE DDNAME LIST
*        ---------------------
         ZAP   ZSYSNDDN,=P'0'      SET DDNAME COUNTER
         LA    11,SSYSDD           POINT TO DUMMY ENTRY
         LA    15,ZSYSDD           POINT TO FIRST SLOT
         LA    14,TIOENTRY         POINT TO FIRST TIOT DD ENTRY
         USING TIOENTRY,14
LDDN01   DS    0H
         CLI   TIOELNGH,X'00'      IS THIS THE END OF THE TIOT?
         BE    LDDN99              YEAH - BREAK OUT
         CP    ZSYSNDDN,=P'512'    ABOUT TO OVERFLOW?
         BNL   LDDN99              YES - STOP B4 WE BUST LIMIT
         AP    ZSYSNDDN,=P'1'      NO - BUMP COUNT
         XC    0(64,15),0(15)      CLEAR SLOT
         MVC   0(8,15),TIOEDDNM    SAVE DDNAME
         ZAP   8(2,15),=P'0'       PRESET CONCAT SEQUENCE
         CLI   TIOEDDNM,X'40'      IS THIS A CONCAT ENTRY?
         BNE   LDDN02              NO - SKIP
         MVC   0(8,15),0(11)       YES - RESET DDNAME
         ZAP   8(2,15),8(2,11)     PROPAGATE ...
         AP    8(2,15),=P'1'       ... CONCAT SEQUENCE
LDDN02   DS    0H
         LR    11,15               SAVE PTR TO PRIOR ENTRY
         SR    1,1
         ICM   1,B'0111',TIOEJFCB  LOCATE JFCB
         MVC   10(44,15),16(1)
         LA    15,54(15)           BUMP SLOT POINTER
         SR    1,1
         IC    1,TIOELNGH          LOAD CURRENT ENTRY LENGTH
         LA    14,0(1,14)          POINT TO NEXT TIOT DD ENTRY
         B     LDDN01
LDDN99   DS    0H
         DROP  14
*
*        EXIT
*        ----
         SR    15,15               SET RC=0
         L     14,12(13)           RESTORE R14
         LM    0,12,20(13)         RESTORE R0 TO R12
         BR    14                  RETURN
SSYSDD   DS    0CL54               DUMMY DD ENTRY
         DC    CL8'********'
         DC    PL2'0'
         DC    CL44'*'
         LTORG
ZSYSINFO DSECT
ZSYSJOBN DS    CL8                 CURRENT JOB NAME
ZSYSSTEP DS    CL16                CURRENT JOBSTEP AND PROCSTEP
ZSYSPGMN DS    CL8                 CURRENT PROGRAM NAME
ZSYSUSER DS    CL8                 CURRENT USERID
ZSYSGRPN DS    CL8                 CURRENT GROUP
         DS    CL206               RESERVED FOR EXPANSION
ZSYSNDDN DS    PL2                 COUNT OF DDNAME ENTRIES
ZSYSDD   DS    512XL54             ARRAY OF DDNAME ENTRIES
         IHAPSA DSECT=YES,LIST=YES
         IHAASCB DSECT=YES,LIST=YES
         IHAASXB DSECT=YES,LIST=YES
         IHAACEE
         IEZJSCB
         IKJTCB DSECT=YES,LIST=YES
TIOT     DSECT
         IEFTIOT1
         END

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to