Bill,
EXEC PGM=whatever without any STEPLIB or JOBLIB will give you a clue that it is
or is not (S806) in the link list. But it won't tell you which library.
If you have access to PARMLIB and are able to compile a list of the libraries
in the link list, then you may be able to use a quick and dirty utility program
I developed years ago. PROGBLDL gets a list of program names (DDNAME=PROGLIST)
and for each name issues a BLDL macro call to get the load modules directory
entry. This information is written to output files PROGDATA and PROGSUMM. I
think PROGDATA is the full DE and PROGSUMM is some portion. The BLDL macro
searches DDNAME=DFHRPL for the program name in question. I think there is a
byte within the DE that is the relative number of the library in the DFHRPL
concatenation. Source code reproduced below.
John
PROGBLDL CSECT
***********************************************************************
* PROGBLDL PROGRAM ENTRY *
***********************************************************************
LENTRY STM 14,12,12(13)
BALR 12,0
USING *,12
ST 13,WRSA+4
LA 13,WRSA
SPACE 3
***********************************************************************
* OPEN FILES *
***********************************************************************
LOPEN DS 0H
OPEN (WLSTDCB,(INPUT))
OPEN (WLIBDCB,(INPUT))
OPEN (WDATDCB,(OUTPUT))
OPEN (WSUMDCB,(OUTPUT))
SPACE 3
***********************************************************************
* READ PROGRAM NAMES AND COLLECT BLDL INFORMATION *
***********************************************************************
LSCAN DS 0H
GET WLSTDCB,WLSTREC READ NEXT PROGRAM NAME
XC WMEMDATA,WMEMDATA CLEAR THE BLDL LIST AREA
MVC WMEMNAME,WLSTREC SET THE MEMBER NAME
MVC WSUMNAME,WLSTREC SET THE MEMBER NAME
BLDL WLIBDCB,WMEMINFO,BYPASSLLA SEARCH FOR THE MEMBER
PUT WDATDCB,WMEMDATA SAVE THE RESULT
SR 15,15
IC 15,WMEMDATA+11 LOAD CONCAT NUMBER
CVD 15,WPACK
UNPK WSUMLIBN,WPACK
OI WSUMLIBN+1,X'F0'
SR 15,15
ICM 15,B'0111',WMEMDATA+24 LOAD MODULE SIZE
CVD 15,WPACK
UNPK WSUMSIZE,WPACK
OI WSUMSIZE+7,X'F0'
PUT WSUMDCB,WSUMREC WRITE SUMMARY RECORD
B LSCAN GO DO NEXT
LSCAN99 DS 0H EODAD
SPACE 3
***********************************************************************
* CLOSE FILES *
***********************************************************************
LCLOSE DS 0H
CLOSE (WLSTDCB)
CLOSE (WLIBDCB)
CLOSE (WDATDCB)
CLOSE (WSUMDCB)
SPACE 3
***********************************************************************
* PROGBLDL PROGRAM EXIT *
***********************************************************************
LEXIT DS 0H
SR 15,15
L 13,WRSA+4
L 14,12(13)
LM 0,12,20(13)
BR 14
SPACE 3
***********************************************************************
* CONSTANTS *
***********************************************************************
LTORG
***********************************************************************
* DSECTS *
***********************************************************************
DCBD DSORG=(PS)
SPACE 3
***********************************************************************
* WORKING STORAGE *
***********************************************************************
PROGBLDL CSECT
WPACK DC D'0'
WRSA DC 18F'0'
WLSTDCB DCB DDNAME=PROGLIST,MACRF=GM,DEVD=DA,DSORG=PS, X
RECFM=FB,LRECL=8,EODAD=LSCAN99
WLSTREC DS CL8'PGMNAME'
WDATDCB DCB DDNAME=PROGDATA,MACRF=PM,DEVD=DA,DSORG=PS, X
RECFM=FB,LRECL=76
WSUMDCB DCB DDNAME=PROGSUMM,MACRF=PM,DEVD=DA,DSORG=PS, X
RECFM=FB,LRECL=20
WSUMREC DS 0CL20
WSUMNAME DC CL8'PGMNAME'
DC CL1','
WSUMLIBN DC CL2'99'
DC CL1','
WSUMSIZE DC CL8'99999999'
*
WLIBDCB DCB DDNAME=DFHRPL,MACRF=R,DEVD=DA,DSORG=PO, X
RECFM=U
WMEMINFO DS 0H
DC H'1'
DC H'76'
WMEMDATA DS 0XL76
WMEMNAME DC CL8'PGMNAME'
WMEMTTR DC XL3'00'
WMEMK DC XL1'00'
WMEMZ DC XL1'00'
WMEMC DC XL1'00'
WMEMUSER DC XL62'00'
*
END PROGBLDL
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN