The Element Cross Reference produces two similar sets of reports. LADAXU21 cross references each specified element individually. LADAXU22 cross references all specified elements in a single report. Depending upon your requirements, you probably want to execute either LADAXU21 or LADAXU22, but not both.
As many as 7 separate reports are produced by each program, detailing the various entity types in an entire IDD which use a specified element (or grouping of elements) or any of its subordinate elements or owning group elements. Each report line lists the entity name & version, and referenced element synonym. For dialogs and maps, the report indicates if the element is actually referenced by the dialog or if it simply exists in a copied record.
Any of the reports may be suppressed by using OPTIONS statements, as detailed below.
Three types of input statements may be specified.
If DICTNAME is specified, it must be first in the input stream (as the BIND RUN UNIT is executed after reading the first record). Selection statements should follow all other types of input statements. At least one Selection statement is required. Other than that, any combination of input statements, in any order, is permitted. All input begins in position 1 of the input record. Parameters are separated by commas; any specifications following the first blank are ignored. There are no continuations; use multiple input statements if necessary.
A Dictionary Definition statement is required only if you are executing against a secondary dictionary (i.e. one which requires DBNAME table translation).
DICTNAME=dictname [,NODE=nodename]
dictname specifies the DBNAME of the IDD. It is used as part of the BIND RUN UNIT
in the extract program.
nodename specifies the node for DDS sites.
Options statements may be used to suppress the generation of specified report(s). If no options are specified, all reports will be generated.
Multiple Options statements may be specified in one input record. Simply separate each option with a comma.
OPTIONS= DIALOGS=BYP
PROGRAMS=BYP
RECORDS=BYP
SCHEMAS=BYP
SUBSCHEMAS=BYP
MODULES=BYP
MAPS=BYP
DIALOGS specifies to bypass generation of the Affected Dialogs Report.
PROGRAMS specifies to bypass generation of the Affected Programs Report.
RECORDS specifies to bypass generation of the Affected Records Report.
SCHEMAS specifies to bypass generation of the Affected Schemas Report.
SUBSCHEMAS specifies to bypass generation of the Affected Subschemas Report.
MODULES specifies to bypass generation of the Affected Processes Report.
MAPS specifies to bypass generation of the Affected Maps Report.
Two types of selection statements are available.
ELEMENT=name [,VERSION=version-n] Specifies the element or element synonym to be selected. If an element (INQ-058) exists with the specified name/version, it will be processed. If it does not exist, the AXU will look for an element synonym (ELEMSYN-085). If VERSION is omitted, it defaults to 1. RECORD=name [,VERSION=version-n] All elements in the specified record will be selected. If VERSION is omitted, it defaults to 1.
DICTNAME=TEST ELEMENT=ACCOUNT-NO ELEMENT=ACCOUNT-NBR In this example, we have three different elements which represent an account number and wish to reduce that to just one. What a mess! In any event, we need to find all references to two we wish to eliminate.
//jobname JOB site parameters //step1 EXEC PGM=LADAXU20 //STEPLIB DD DSN=loadlib,DISP=SHR // DD DSN=idmsload,DISP=SHR //ddldml DD DSN=ddldml,DISP=SHR //sysjrnl DD DUMMY //EXTRACT DD DSN=extract,DISP=(,PASS),UNIT=unit, // SPACE=(CYl,(5,5),RLSE),DCB=(RECFM=FB,LRECL=200,BLKSIZE=blksz) //SYSLST DD SYSOUT=sysout class //CARDIN DD * input statements here /* //step2 EXEC standard site sort include standard site SORT JCL //SORTIN DD DSN=extract,DISP=(OLD,PASS) //SORTOUT DD DSN=sorted,DISP=(,PASS),UNIT=unit, // SPACE=(CYL,(5,5),RLSE),DCB=(RECFM=FB,LRECL=200,BLKSIZE=blksz) //SYSIN DD * SORT FIELDS=(40,39,A,126,3,A,1,39,A,132,32,A,166,6,A),FORMAT=BI /* //step3 EXEC PGM=LADAXU21 //STEPLIB DD DSN=loadlib,DISP=SHR //EXTRACT DD DSN=sorted,DISP=(OLD,DELETE) //SYSLST DD SYSOUT=sysout class /* //step4 EXEC standard site sort include standard site SORT JCL //SORTIN DD DSN=extract,DISP=(OLD,DELETE) //SORTOUT DD DSN=sort2,DISP=(,PASS),UNIT=unit, // SPACE=(CYL,(5,5),RLSE),DCB=(RECFM=FB,LRECL=200,BLKSIZE=blksz) //SYSIN DD * SORT FIELDS=(126,3,A,1,39,A,132,32,A,166,6,A,),FORMAT=BI /* //step5 EXEC PGM=LADAXU22 //STEPLIB DD DSN=loadlib,DISP=SHR //EXTRACT DD DSN=sort2,DISP=(OLD,DELETE) //SYSLST DD SYSOUT=sysout class /* //
* $$ JOB JNM=jobname,site parameters // JOB site parameters * step 1 - LADAXU20, Place LIBDEFS here // UPSI 0 // ASSGN SYS005,SYSLST // ASSGN SYS006,SYSRDR // ASSGN SYS030,DISK,VOL=volume,SHR // DLBL EXTRACT,'extract',0 // EXTENT SYS030,volume,,,space allow 5 or 10 cylinders JCL for the DDLDML area of the IDD IGNORE for sysjrnl // EXEC LADAXU20,SIZE=640K /* * step 2 - SORT 'extract' Execute your standard site SORT using 'extract' as SORTIN and SORTOUT SORT FIELDS=(40,39,BI,A,126,3,BI,A,1,39,BI,A,132,32,BI,A,166,6,BI,A,),WORK=1 RECORD TYPE=F,LENGTH=(200) INPFIL BLKSIZE=3000 OUTFIL BLKSIZE=3000 END /* * step 3 - LADAXU21, Place LIBDEFS here // ASSGN SYS005,SYSLST // ASSGN SYS030,DISK,VOL=volume,SHR // DLBL EXTRACT,'extract',0 // EXTENT SYS030,volume,,,space // EXEC LADAXU21,SIZE=640K /* * step 4 - SORT 'extract' Execute your standard site SORT using 'extract' as SORTIN and SORTOUT SORT FIELDS=(126,3,BI,A,1,39,BI,A,132,32,BI,A,166,6,BI,A),WORK=1 RECORD TYPE=F,LENGTH=(200) INPFIL BLKSIZE=3000 OUTFIL BLKSIZE=3000 END /* * step 5 - LADAXU22, Place LIBDEFS here // ASSGN SYS005,SYSLST // ASSGN SYS030,DISK,VOL=volume,SHR // DLBL EXTRACT,'extract',0 // EXTENT SYS030,volume,,,space // EXEC LADAXU22,SIZE=640K /* /& * $$ EOJ