Previous Topic: Non-Resettable Model Statement DelimitersNext Topic: Keyword Substitution


Examples

This subject shows examples of model statements along with explanations of these statements.

Example 1

MODEL:  @         MYWORD = 'ABCD'                (1)
MODEL:  @       YOURWORD = 'FGHIJ'               (2)
MODEL:  OUTPUT DATA STATEMENT IS <MYWORD> !      (3)
MODEL:                               <YOURWORD>  (4)
 
OUTPUT: OUTPUT DATA STATEMENT IS ABCDFGHIJ

Note: CA‑PanAPT reports an error when the second Data Statement attempts to overlay a non‑blank character on the first Data Statement.

Example 2

MODEL:  @   MYWORD = 'ABCDE'              (1)
 MODEL:  @   YOURWORD = 'EFGHI'            (2)
 MODEL:  DATA STATEMENT <MYWORD>           (3)
 MODEL:  <MYWORD,1,3>,<YOURWORD>           (4)
 
OUTPUT: DATA STATEMENT ABCDE              (5)
 OUTPUT: ABC,EFGHI                         (6)

Example 3

Desired Output

At the beginning of the members for this Library Code you want:

//COMPILES JOB (),'COMPILE INTO PROD',
 //             CLASS=A,
 //             MSGCLASS=X
//*

And for each member to be compiled you want:

//*
//PGM1     EXEC COBOL,
 //              SRCEMEM=PGM1,
 //              LOADDSN='PROD.LOADLIB',
 //              LOADMEM=PGM1,
 //              LNKPARM='RENT'

Model Used to Produce this Output:

@ IF $PHASE = 'INIT'
//COMPILES JOB (),'COMPILE INTO PROD',
 //             CLASS=A,
 //             MSGCLASS=X
//*
@ ENDIF
@***
@ IF $PHASE = 'MOVE'
//*
//<$TONAME> EXEC COBOL,
 //             SRCEMEM=<$FROMNAME>,
//             LOADDSN='<$TODSN>',
 //             LOADMEM=<$TONAME>,
//             LNKPARM='$DIBSLINKOPT'
@ ENDIF

Example 4

Desired Output

At the beginning of the members of this Library Code you want:

COPY INDD=((JCLT,R)),OUTDD=JCLP

And for each member to be compiled you want:

SELECT MEMBER=PGM1

Model Used to Produce this Output:

@ IF $PHASE = 'INIT'
  COPY INDD=((<$LIBCODE>T,R)),OUTDD=<$LIBCODE>P
@ ENDIF
@***
@ IF $PHASE = 'MOVE'
      SELECT MEMBER=<$TONAME>
@ ENDIF