Sample skeleton file
Figure 1 shows a sample skeleton
file. The sample skeleton refers to several dialog variables (for
example, ASMPARMS, ASMIN, and MEMBER). It also illustrates use of
the select statements )SEL
and )ENDSEL
to
conditionally include records. The first part of the example has nested
selects to include concatenated macro libraries if the library names
have been specified by the user, that is, if variables ASMMAC1 and
ASMMAC2 are not equal to the null variable Z.
In the second part of the example, )IF … )ELSE
statements
are used to conditionally run a load-and-go step. An imbed statement, )IM
,
is used to bring in a separate skeleton for the load-and-go step.
//ASM EXEC PGM=IFOX00,REGION=128K
// PARM=(&ASMPARMS)
//SYSIN DD DSN=&ASMIN(&MEMBER),DISP=SHR
//SYSLIB DD DSN=SYS1.MACLIB,DISP=SHR
)SEL &ASMMAC1 ¬= &Z
// DD DSN=&ASMMAC1,DISP=SHR
)SEL &ASMMAC2 ¬= &Z
// DD DSN=&ASMMAC2,DISP=SHR
)ENDSEL
)ENDSEL
//SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(5,2))
//SYSUT2 DD UNIT=SYSDA,SPACE=(CYL,(2,1))
//SYSUT3 DD UNIT=SYSDA,SPACE=(CYL,(2,1))
//SYSPRINT DD SYSOUT=(&ASMPRT)
)CM IF USER SPECIFIED "GO," WRITE OUTPUT IN TEMP DATA SET
)CM THEN IMBED "LINK AND GO" SKELETON
)IF &GOSTEP = YES THEN )DO
//SYSGO DD DSN=&&&&OBJSET,UNIT=SYSDA,SPACE=(CYL,(2,1)),
// DISP=(MOD,PASS)
)IM LINKGO
)ENDDO
)CM ELSE (NOGO), WRITE OUTPUT TO USER DATA SET
)ELSE )DO
//SYSGO DD DSN=&ASMOUT(&MEMBER),DISP=OLD
)ENDDO
//*