This facility enables you to create a file of selected components, formatted to any desired template (in 80-byte images). LADAMU35 will replicate your template for each entity occurrence of specified entity types and specified migration statuses, substituting the appropriate entity type, name, version, and new version. Some possible uses are:
Six types of input statements allow you to define the format and selection criteria for the template replication.
All input (except for the actual header, template, and trailer records) begins in position 1 of the input record. Parameters are separated by commas; any specifications following the first blank are ignored. At least one ENTITY statement is required; precisely one MIGR, one TEMPLATE and one TEMPEND statement are required. The HEADER, HEADEND, TRAILER, and TRAILEND statements need only be specified if you wish to create header or trailer records (as explained in the HEADER and TRAILER syntax).
ENTITY= ALL
ADSA
ATTRIBUTE
CLASS
DIALOG
EDITMOD (user edit module)
ELEMENT
FILE
MAP
MESSAGE
MODULE
PANEL
PROGRAM
RECORD
SUBSCHEMA
TABLE
USER
select occurrences of only the specified entity type(s) from the EXTRACT file.
ALL includes all entity types listed above.
MIGR= ALL
YES
NO
REVIEW
REPLACE
ERROR
select entity occurrences with only the specified migration status(es) from the EXTRACT file.
ALL includes all migration statuses.
HEADER
header records
HEADEND
HEADER specifies that header records begin with the next record.
HEADEND specifies that header records have ended.
The header records may consists of up to 25 records, in any desired format, which will
precede the template replications in the output file. One use might be for SIGNON and
SET OPTIONS statements if you are using the template to create CA-IDMS compiler syntax.
Another might be to create a JOB card if you are using the template to create execution JCL.
There are two special keywords which may be used within the header records and for which
LADAMU35 will substitute the appropriate values. They are:
SRC-DICT for which the name specified in the Phase I SRCDICT statement will be
substituted.
OBJ-DICT for which the name specified in the Phase I OBJDICT statement will be
substituted.
Each special keyword must be delimitted on each side by spaces, commas, equal signs,
slashes, parentheses, apostrophes, or any combination of these.
TEMPLATE
template records
TEMPEND
TEMPLATE specifies that template records begin with the next record.
TEMPEND specifies that template records have ended.
The template records may consists of up to 25 records, in any desired format. LADAMU35 will
replicate these for each entity occurrence selected, based upon the ENTITY and MIGR
specifications. There are four special keywords which may be included (up to 10 times each)
and for which the appropriate value will be substituted. They are:
ENTITY-TYPE for which the entity type of the entity occurrence will be substituted.
For example, if an element has been selected, the substituted value will be ELEMENT.
For ADSA applications, dialogs, and edit modules, the substituted value will be
PROGRAM. For all other entity types, the substituted value will be the actual entity
type as specified in the ENTITY statement.
ENTITY-NAME for which the name of the entity occurrence will be substituted. The
AMU does nothing special for names which may contain imbedded blanks so, if you have
any of these, you should specify quotes (or apostrophes) as part of the template.
ENTITY-VER for which the existing version number of the entity occurrence will be
substituted. Note that certain entity types, such as attributes, do not have versions,
but the AMU treats them as version 0.
ENTITY-NEWVER for which the new version number of the entity occurrence will be
substituted. If NEWVER was not specified in the Phase I input, then the new version is
identical to the existing version.
Each special keyword must be delimitted on each side by spaces, commas, equal signs, slashes,
parentheses, apostrophes, or any combination of these.
TRAILER
trailer records
TRAILEND
TRAILER specifies that trailer records begin with the next record.
TRAILEND specifies that trailer records have ended.
The trailer records may consists of up to 25 records, in any desired format, which will
follow the template replications in the output file. One use might be for SIGNOFF statements
if you are using the template to create a UCFBATCH execution. No keyword substitutions are
available in the trailer.
Example # 1: Creating DCMT VARY NEW COPY Syntax ENTITY=DIALOG,MAP,TABLE MIGR=REPLACE HEADER SIGNON DBA1 DBPASS1 HEADEND TEMPLATE DCMT VARY PROGRAM ENTITY-NAME ENTITY-VER NEW COPY TEMPEND In this example, we are creating UCFBATCH syntax to vary new copies for all dialogs, maps, and tables which are being replaced. Example # 2: Punching & Linking Load Modules ENTITY=DIALOG,MAP,TABLE MIGR=YES,REPLACE HEADER //PUNLINK JOB CLASS=A HEADEND TEMPLATE // EXEC PUNLINK,MEM=ENTITY-NAME //STEP1.SYSIPT DD * SIGNON USER IS USER1 PASSWORD IS PASS1 USA RET. PUNCH LOAD MODULE ENTITY-NAME VER ENTITY-VER . //STEP3.SYSIPT DD * SIGNON USER IS USER1 PASSWORD IS PASS1 USA UPDATE. DELETE LOAD MODULE ENTITY-NAME VER ENTITY-VER . TEMPEND In this example, we are creating OS JCL to execute a procedure called PUNLINK for each dialog, map, and table which has been migrated. This procedure has three steps which punch the load module, link-edit to a load (core-image) library, and delete the load module from DDLDCLOD. Although not shown, condition codes are checked so that the third step is only executed upon successful completion of the link-edit. The symbolic MEM is used in the procedure for the member name in the SYSLMOD DD statement of the link-edit. The header record has been used to create a JOB card so that we may submit the JCL through the internal reader. Example # 3: Deleting Entities After Migration ENTITY=MODULE MIGR=YES,REPLACE HEADER SIGNON USER IS IDDUSER PASSWORD IS PASS1 DBNAME IS SRC-DICT USAGE MODE IS UPDATE. SET OPTIONS FOR SESSION INPUT COLUMNS ARE 1 THRU 80. HEADEND TEMPLATE DELETE ENTITY-TYPE ENTITY-NAME VERSION IS ENTITY-VER . TEMPEND In this example, we are creating IDMSDDDL syntax to delete all modules which have been migrated from the source IDD. Since we are deleting only one entity type, we could have specified MODULE instead of ENTITY-TYPE. Note that we have left enough space in the first line of the template for a 32 character module name and we have left a space before the period in the second line to delimit the special keyword ENTITY-VER. Example # 4: Adding a Class/Attribute Relationship ENTITY=ALL MIGR=YES,REPLACE HEADER SIGNON USER IS IDDUSER PASSWORD IS PASS1 DBNAME IS SRC-DICT USAGE MODE IS UPDATE. SET OPTIONS FOR SESSION INPUT COLUMNS ARE 1 THRU 80 REGISTRATION OVERRIDE. HEADEND TEMPLATE MODIFY ENTITY-TYPE ENTITY-NAME VERSION IS ENTITY-VER 'DATE MIGRATED' IS '02/17/88'. TEMPEND In this example, we are creating IDMSDDDL syntax to attach a class (DATE MIGRATED) and attribute (02/17/88) to each entity in the source which has been migrated. This is being done solely to maintain an historical record. If we wanted this same class/attribute relationship also in the object IDD, we could execute this IDMSDDDL prior to Phase IV. If we only wanted the relationship in the source IDD, we would execute this after Phase IV but prior to Phase V so that we would not interfere with the date comparisons of future migrations.
//jobname JOB site parameters //step1 EXEC PGM=LADAMU35 //STEPLIB DD DSN=loadlib,DISP=SHR //EXTRACT DD DSN=sorted10,DISP=SHR from Phase III //OUTFILE DD DSN=out35,DISP=(,CATLG,DELETE),UNIT=unit, // SPACE=space1,DCB=(RECFM=FB,LRECL=80,BLKSIZE=blksz) //SYSLST DD SYSOUT=sysout class //CARDIN DD * input statements here /* //
You may choose to sort the input file prior to executing LADAMU35, depending on the purpose of the template. If you wish to delete multiple entity types, use the following sort parameters:
* $$ JOB JNM=jobname,site parameters // JOB site parameters * step 1 - LADAMU35, Place LIBDEFS here // ASSGN SYS005,SYSLST // ASSGN SYS006,SYSRDR // ASSGN SYS030,DISK,VOL=volume,SHR // DLBL EXTRACT,'sorted10',0 from Phase III // EXTENT SYS030,volume,,,space1 // ASSGN SYS031,DISK,VOL=volume,SHR // DLBL OUTFILE,'out35',0 // EXTENT SYS031,volume,,,space2 // EXEC LADAMU35 input statements here /* /& * $$ EOJ
You may choose to sort the input file prior to executing LADAMU35, depending on the purpose of the template. If you wish to delete multiple entity types, use the following sort parameters: