z/OS ISPF User's Guide Vol II
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Member expansion (ISRLEMX)

z/OS ISPF User's Guide Vol II
SC19-3628-00

Member expansion uses simple language scanners to find expansion triggers. If you specify that the source data is not packed, the ISRSCAN program is used. However, if you specify that the source data is packed, member expansion uses the ISRLEMX program.

These scanners do not have all the sophistication of the actual language processors. Therefore, unusual code or code that does not compile cannot be successfully processed by member expansion. Examples are trigger statements:
  • With comments that extend onto the next line
  • That have compiler instructions to change the content of the code to be included.

Compiler control statements and symbolic substitution are not considered during member expansion. Instead, ISRLEMX creates a temporary data set to be used as input to the language processor. All members to be processed, including members imbedded with COPY, INCLUDE, or .IM statements, are copied into this data set, expanded, and passed on to the language processor. The temporary data set will have the same block size as the input data set that contains your source data.

When using languages that allow multiple compilations, such as VS FORTRAN, you must put the source statement that ends the program in your original, or top-level, program. This statement cannot be in an included member.

Table 1 shows the languages processed by member expansion, their expansion triggers, syntax, and the input columns processed for fixed-record data and variable-record data.

Table 1. Expansion triggers and syntax
Language Expansion Trigger Syntax Input Columns Processed for F/FB Format Input Columns Processed for V/VB Format
Assembler COPY COPY name 1 - 80 N/A
PL/I %INCLUDE
%INCLUDE DDNAME(name);
%INCLUDE name;
2 - 72 10 - 100
COBOL COPY COPY name. 7 - 72 N/A
VS FORTRAN INCLUDE INCLUDE (name) 1 - 72 N/A
Pascal %INCLUDE
%INCLUDE name;
%INCLUDE DDNAME(name);
1 - 72 1 - 100
SCRIPT .IM
.IM name
.IM (name)
.IM ('name')
1-reclength or 9-reclength 1-reclength or 1-(reclength-8)
All languages User-trigger User-trigger name N/A N/A

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014