Building an automated process to submit multiple compiles. The job submitted contains many compiles with each having a different set of data sets allocated. The allocations are freed between steps and new allocations specified based on the program being compiled.
When include members for a compile are in more than one CA Librarian Master file, the first compile job works but the second and each subsequent compile fails with:
Message Line.File Message Description
IBM1848I S 91.0 The INCLUDE file for YYMOD4IZ could not be found.
IBM1848I S 92.0 The INCLUDE file for YYMOD5IZ could not be found.
CA Librarian does not support dynamic concatenation of LIB/AM files :
call bpxwdyn "concat ddlist(SYSLIB,MASTER1,MASTER2) msg(2)"
Only the first library, SYSLIB in the above example, is concatenated and include members in that CA Master file are found.
There are a couple of workarounds available.
1) Ensure all include members are in a single CA Librarian Master file and specify that as the first library in the concat statement.
2) Unload the include members from the CA Librarian Master files to a PDS or PDSE and use the PDS or PDSE libraries in the dynamic concat statement.
The following is from the CA Librarian User Guide, Chapter 6: Using LIB/AM (z/OS and OS/390):
A user-written program can dynamically allocate a LIB/AM file by issuing an SVC 99 and passing the subsystem name in the SVC 99 parameter block. Both simple dynamic allocation (by DSNAME only) and simple dynamic unallocation (by DDNAME only) are supported, and both sequential and partitioned access is permitted.
Note the following:
â– Dynamic concatenation of LIB/AM files is not supported.
â– The TSO ALLOCATE command does not currently support the SUBSYS parameter, therefore, LIB/AM cannot be used with the TSO ALLOCATE command. Use a UCR program, LAMALLOC, instead.