Try to run the File Master IMS batch job (CAWKBATC) to extract IMS DBD segments based on layout data field names.
However, the JCL contains multiple layout datasets as concatenation under LAYOUT DD, causing CAWK1240E abend.
//LAYOUT DD DISP=SHR,DSN=IMS1.TEST.CAOPYLIB
// DISP=SHR,DSN=IMS2.DEV.COPYLIB
// DISP=SHR,DSN=IMS3.PROD.COPPYLIB
EXTRACT DBD(TESTDBD),
ENV(IMS1),
SEGMENT(AAAA,BBBB),
SELSEGIF(AAAA,FIELD1-TEST,EQ,T'Y'),
AND(BBBB,FIELD2-TEST1,EQ,T'Y'),
SELSEGIF(AAAA,FIELD2-SEG1,EQ,T'P'),SEGLIM(AAAA,1)
*** CAWK1240E KEYWORD ERROR => SELSEGIF(AAAA,FIELD1-TEST,EQ,T'Y')
*** CAWK1240E Invalid layout member
*** CAWK1240E Open failed for layout member.
*** CAWK1240E Layout=IMS1.TEST.CAOPYLIB(TESTLAY)
*** CAWK1240E KEYWORD ERROR => AND(BBBB,FIELD2-TEST1,EQ,T'Y')
*** CAWK1240E Invalid layout member
*** CAWK1240E Open failed for layout member.
*** CAWK1240E Layout=IMS1.TEST.CAOPYLIB(TESTLAY1)
*** CAWK1240E KEYWORD ERROR => (AAAA,FIELD2-SEG1,EQ,T'P')
*** CAWK1240E Invalid layout member
*** CAWK1240E Open failed for layout member.
*** CAWK1240E Layout=IMS1.TEST.CAOPYLIB(TESTLAY2)
*** CAWK2000I Utility ending, Max CC=16
However, the layout members are not stored in the 1st layout DSN. It is stored in the 2nd layout DSN.
Z/OS, IMS
In the File Master Plus Batch LAYOUT DD, do not support concatenation of datasets.
In order to use the concatenation of copybook 'DSN LIST,' it should be used as described below:
First, create a DSN LIST member with all the listed copybooks.
Option D on the File Master IMS Main Menu
Option I – Insert
Enter a member name in the DSN List field (make sure it starts with $ to designate copybook concatenation).
Then insert all the concatenated layouts.
Second, in the batch JCL in LAYOUT DD DSN, point to the above-created DSNLIST with the member name.
//LAYOUT DD DSN=FILE.MASTER.IMS12.DEMO.DSNLIST($SELLAY),DISP=SHR
//SYSIN DD *
EXTRACT DBD(DBDIVP),
DBRC(Y),
SELSEGIF(STUDENT,STUDENT-ID,EQ,N'1')
/*