You can call IDCAMS which does the LISTCAT info from COBOL. Check this link which has an example of Cobol calling IDCAMS.
IDENTIFICATION DIVISION.
PROGRAM-ID. DDNAME.
AUTHOR.CCC.
*****************************************************************
** **
** THE PROGRAM RETRIEVES THE PASSED DDNAME INFORMATION
FROM **
** THE CONTROL BLOCKS AND RETURN THE VALUES TO THE CALLER. **
** **
** THIS PROGRAM ONLY CHECKS THE DDNAMES RELATED THE JOB STEP **
** AND ONLY GIVES THE FIRST DDNAME IN CASE OF CONCATENATED **
** DATASETS. **
** **
*****************************************************************
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
DATA DIVISION.
FILE SECTION.
WORKING-STORAGE SECTION.
01 DDN-SUBSCRIPTS-POINTERS.
10 DDN-TCB-ADDR-POINTER-X.
15 DDN-TCB-ADDR-POINTER POINTER.
10 DDN-TIOT-SEG-POINTER POINTER.
10 DDN-TIOT-BINARY REDEFINES DDN-TIOT-SEG-POINTER
PIC S9(09) COMP.
10 DDN-JFCB-POINTER POINTER.
10 DDN-JFCB-X REDEFINES DDN-JFCB-POINTER.
15 FILLER PIC X(01).
15 DDN-JFCB-LOWER-3 PIC X(03).
01 WORK-FIELDS.
10 WORK-BINARY-2 PIC S9(04) COMP VALUE ZERO.
10 FILLER REDEFINES WORK-BINARY-2.
15 WORK-BINARY-2L PIC X(01).
15 WORK-BINARY-2R PIC X(01).
01 S-MAIN-PROCESS-DONE PIC X(01) VALUE ‘N’.
LINKAGE SECTION.
01 LINK-COMM-AREA.
10 LINK-JOB-NAME PIC X(08).
10 LINK-STEP-NAME PIC X(08).
10 LINK-DD-NAME PIC X(08).
10 LINK-DS-NAME PIC X(44).
10 LINK-GDG-OR-MEMBER PIC X(08).
10 LINK-CATALOG-IND PIC X(01).
10 LINK-FILE-TYPE PIC X(01).
10 LINK-VOLUME-COUNT PIC 9(01).
10 LINK-VOLUMES PIC X(30).
01 L02-TCB-POINTER POINTER.
01 L03-TCB.
10 FILLER PIC X(012).
10 L03-TIOT-POINTER POINTER.
01 L04-TIOT.
10 L04-JOB-NAME PIC X(08).
10 L04-STEP-NAME PIC X(08).
01 L04-TIOT-START PIC X(24).
01 L04-TIOT-SEGMENT.
10 L04-TIOT-LENGTH PIC X(01).
10 FILLER PIC X(03).
10 L04-DD-NAME PIC X(08).
10 L04-JFCB-ADDRESS PIC X(03).
01 L05-JFCB.
10 FILLER PIC X(16).
10 L05-DS-NAME PIC X(44).
10 L05-GDG-OR-MEMBER PIC X(08).
10 L05-DMI-BYTE PIC X(01).
10 FILLER PIC X(33).
10 L05-DSTYPE-BYTE PIC X(01).
10 FILLER PIC X(30).
10 L05-VOLUME-COUNT-BYTE PIC X(01).
10 L05-VOLUME-LIST PIC X(30).
PROCEDURE DIVISION USING LINK-COMM-AREA.
PERFORM 1000-INIT-VALIDATE-INPUT
PERFORM UNTIL S-MAIN-PROCESS-DONE = ‘Y’
PERFORM 2000-SET-UP-ADDRESS
PERFORM 3000-GET-DD-INFO
END-PERFORM
GOBACK.
1000-INIT-VALIDATE-INPUT.
****************************************************************
** INITIALIZE AND VALIDATE THE INPUT PARMS **
****************************************************************
INITIALIZE LINK-DS-NAME
LINK-GDG-OR-MEMBER
LINK-CATALOG-IND
LINK-FILE-TYPE
LINK-VOLUME-COUNT
LINK-VOLUMES
IF LINK-DD-NAME = SPACES OR LOW-VALUES OR HIGH-VALUES
DISPLAY ‘SUPPLY PROPER DDNAME ‘
MOVE ‘Y’ TO S-MAIN-PROCESS-DONE
END-IF
.
2000-SET-UP-ADDRESS.
****************************************************************
** SET UP THE ADDRESS. **
****************************************************************
MOVE X’0000021C’ TO DDN-TCB-ADDR-POINTER-X
SET ADDRESS OF L02-TCB-POINTER TO DDN-TCB-ADDR-POINTER
SET ADDRESS OF L03-TCB TO L02-TCB-POINTER
SET ADDRESS OF L04-TIOT TO L03-TIOT-POINTER
MOVE L04-JOB-NAME TO LINK-JOB-NAME
MOVE L04-STEP-NAME TO LINK-STEP-NAME
MOVE LOW-VALUES TO DDN-JFCB-X.
SET ADDRESS OF L04-TIOT-START TO L03-TIOT-POINTER
SET DDN-TIOT-SEG-POINTER TO L03-TIOT-POINTER
ADD 24 TO DDN-TIOT-BINARY
SET ADDRESS OF L04-TIOT-SEGMENT TO DDN-TIOT-SEG-POINTER
.
3000-GET-DD-INFO.
****************************************************************
** LOOP THROUGH ALL POINTERS TO THE DD NAMES. **
** WHEN WE GET A MATCH, MOVE IN ALL THE FILE DATA AND EXIT. **
****************************************************************
PERFORM UNTIL L04-TIOT-LENGTH = LOW-VALUES
OR S-MAIN-PROCESS-DONE = ‘Y’
MOVE L04-JFCB-ADDRESS TO DDN-JFCB-LOWER-3
SET ADDRESS OF L05-JFCB TO DDN-JFCB-POINTER
IF L04-DD-NAME = LINK-DD-NAME
MOVE L04-DD-NAME TO LINK-DD-NAME
MOVE L05-DS-NAME TO LINK-DS-NAME
MOVE L05-GDG-OR-MEMBER TO LINK-GDG-OR-MEMBER
IF L05-DMI-BYTE > X’79′ AND < X’90′
MOVE ‘Y’ TO LINK-CATALOG-IND
ELSE
MOVE ‘N’ TO LINK-CATALOG-IND
END-IF
EVALUATE TRUE
WHEN L05-DSTYPE-BYTE = X’00′
MOVE ‘R’ TO LINK-FILE-TYPE
WHEN L05-DSTYPE-BYTE = X’01′
MOVE ‘P’ TO LINK-FILE-TYPE
WHEN L05-DSTYPE-BYTE = X’02′
MOVE ‘G’ TO LINK-FILE-TYPE
WHEN L05-DSTYPE-BYTE > X’19′ AND
L05-DSTYPE-BYTE < X’30′
MOVE ‘J’ TO LINK-FILE-TYPE
WHEN OTHER
MOVE ‘?’ TO LINK-FILE-TYPE
END-EVALUATE
MOVE L05-VOLUME-COUNT-BYTE TO WORK-BINARY-2R
MOVE WORK-BINARY-2 TO LINK-VOLUME-COUNT
MOVE L05-VOLUME-LIST TO LINK-VOLUMES
MOVE ‘Y’ TO S-MAIN-PROCESS-DONE
ELSE
ADD 20 TO DDN-TIOT-BINARY
SET ADDRESS OF L04-TIOT-SEGMENT
TO DDN-TIOT-SEG-POINTER
END-IF
END-PERFORM


