z/OS ISPF Software Configuration and Library Manager Guide and Reference
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


FLMINCLS macro

z/OS ISPF Software Configuration and Library Manager Guide and Reference
SC19-3625-00

Use this macro to associate include sets with types in the project hierarchy. This association is used to determine the location of include members within the project. Parsers may be written to associate an include set with each include found in a source member. This macro indicates to the build function where include sets can be found and which data sets to allocate for input to build translators. This macro is part of a language definition. The FLMINCLS macro must follow the FLMLANG macro for the language definition.

The FLMSYSLB macro is used to specify data sets outside the project that contain includes. The INCLS parameter value on the FLMSYSLB macro associates the name of an include set with the FLMSYSLB libraries. The search for an include member will first take place in the include set and then in the associated FLMSYSLB.

The default include set is associated with an FLMSYSLB that has no INCLS parameter. The default include set is specified by an FLMINCLS that has no name parameter. Only one default FLMINCLS may be specified for each language definition. SCLM will generate a default include set if one is not specified.

Use the INCLS parameter on an FLMALLOC macro of IOTYPE=I to associate an FLMINCLS macro with an FLMALLOC macro. If no name is specified on the FLMINCLS macro, the macro is for the default include set. The default include set is associated with FLMALLOC macros of IOTYPE=I where no INCLS parameter is specified.

If an FLMINCLS macro is specified for the default include set, at least one FLMALLOC macro must reference the default include set (by specifying IOTYPE=I and no INCLS parameter). If there is no FLMINCLS macro in the language, an FLMALLOC macro for the default include set is optional.

SCLM ensures that each language definition includes a default include set and a COMPOOL include set. If the language definition does not include macros to define these two include sets, these definitions are generated:
          FLMINCLS TYPES=(@@FLMTYP,@@FLMETP)
COMPOOL   FLMINCLS TYPES=(@@FLMCRF @@FLMECR)

Macro format

Read syntax diagramSkip visual syntax diagram
>>-name--FLMINCLS--+-----------------------------------+-------->
                   '-SAMEAS=-+-flmincls_name---------+-'   
                             '-TYPES=(list_of_types)-'     

>--+-----------------+-----------------------------------------><
   |           .-Y-. |   
   '-CROSLANG=-+-N-+-'   

Parameters

name
The name of the include set that is being defined in this macro. An include set is associated with FLMSYSLB or FLMALLOC when the name matches the value of an INCLS parameter. In addition, the name may be the name of an include set returned by a parser for the language that includes this FLMINCLS macro. Each include set name can only be used once per language definition.

To specify the default include set, leave this parameter blank.

SAMEAS=flmincls_name
The name of another FLMINCLS macro that contains the list of types to search. If you use this parameter, the include set defined by this macro has the same list of types as the include set listed on the SAMEAS parameter. You cannot reference the default include set by specifying SAMEAS= with a blank.
TYPES=(list_of_types)
A list of the types that contain the includes for the include set. Build searches these types in the order given on this parameter. The hierarchies for each type are concatenated for use by all FLMALLOC macros that reference this FLMINCLS macro.

Duplicate types are not removed from the list.

Two SCLM variables can be used on this parameter: @@FLMTYP and @@FLMETP. The value of @@FLMTYP is the type of the member on the first SINC statement in an architecture definition or the type of the member if a single member is being built. The value of @@FLMETP is the extended type of that member. (See the EXTEND parameter on the FLMTYPE macro).

The value that will be substituted into the @@FLMCRF variable is the DFLTCRF type. The value that will be substituted into the @@FLMECR variable for include set definitions is the extended type of the DFLTCRF type. If there is no extended type for the DFLTCRF type, the @@FLMECR variable will be ignored.

CROSLANG=Y|N
The CROSLANG parameter indicates whether SCLM processes the includes of an included member when the included member has a different language from the source member. Y indicates that includes are processed even if language boundaries are crossed. N indicates that only the includes of a member of the same language are processed. The value of the CROSLANG parameter is not affected by the SAMEAS parameter. The default for CROSLANG is Y.
Here is an example of how includes are processed given the two possible values for this parameter:
Member
Includes
SCRIPT1 language=SCRIPT
COBOL1 language=COBOL
COBOL1 language=COBOL
INCLUDE1 language=COBOL
INCLUDE1 language=COBOL
none
  • If CROSLANG=Y when SCRIPT1 is built, the build processor checks the dates and times of COBOL1 and INCLUDE1 and puts them in the build map.
  • If CROSLANG=N when SCRIPT1 is built, the build processor checks the dates and times of COBOL1 and puts them in the build map. The dates and times of INCLUDE1 are not processed.
Note: If both the SAMEAS and TYPES parameters are omitted for an FLMINCLS macro, no types are searched for that include set. This can be used when includes are only in data sets specified by FLMSYSLB macros or no includes of that type are allowed. Even if no parameters are specified on an FLMINCLS macro, it must be referenced by at least one FLMALLOC macro.

Example 1

The example shown here demonstrates how to define where the includes in the default include set are found. It indicates that the INCLUDE type is to be searched first, followed by the source type of the member being processed, and finally by the extended type of the source member if there is one. The types listed on this macro are used for all IOTYPE=I FLMALLOC macros where no INCLS parameter is specified.
          FLMINCLS TYPES=(INCLUDE,@@FLMTYP,@@FLMETP)

Example 2

The example shown here demonstrates how to define where the includes in the MACRO and COPY include sets are found. It indicates that the MACRO type is the only type to be searched. Both the MACRO and COPY include sets are referenced by IOTYPE=I FLMALLOC macros. The IOTYPE=I FLMALLOC macros specify the allocation for the include hierarchies of the build translators. The MACRO FLMINCLS does not allow processing of includes across language boundaries. The COPY FLMINCLS processes the includes because the default value (Y) was not overridden for the CROSLANG parameter.
MACRO     FLMINCLS TYPES=(MACRO),CROSLANG=N
COPY      FLMINCLS SAMEAS=MACRO

Example 3

The example shown here demonstrates how to use different sequences of types for locating includes. This may be useful in situations in which includes in several different types have the same name.
         FLMLANGL    LANG=ABC,VERSION=1
*
* SEQUENCES OF TYPES FOR LOCATING INCLUDES
*
DBRM     FLMINCLS TYPES=(DBRMTYPE,@@FLMTYP,@@FLMETP)
SPECIAL  FLMINCLS TYPES=(COPYBOOK,SOURCE,MACRO,TOOLS)
*
* PARSER TRANSLATOR
*
          FLMTRNSL   CALLNAM='ABC PARSE',                              C
               FUNCTN=PARSE,                                           C
               COMPILE=FLMLPGEN,                                       C
               PORDER=1,                                               C
               GOODRC=0,                                               C
               OPTIONS=(SOURCEDD=SOURCE,                               C
               STATINFO=@@FLMSTP,                                      C
               LISTINFO=@@FLMLIS,                                      C
               LISTSIZE=@@FLMSIZ,                                      C
               LANG=T)
*          (* SOURCE      *)
           FLMALLOC  IOTYPE=A,DDNAME=SOURCE
            FLMCPYLB @@FLMPRJ.@@FLMGRP.@@FLMTYP(@@FLMMBR)
*
* BUILD TRANSLATORS
*
          FLMTRNSL   CALLNAM='USE DEFAULT',                            C
               FUNCTN=BUILD,                                           C
               COMPILE=USEDFLT,                                        C
               VERSION=1.0,                                            C
               GOODRC=0,                                               C
               PORDER=1
*
* DDNAME ALLOCATIONS
* SYSLIB WILL USE DEFAULT OF THE TYPE FOR THE SINC MEMBER AND THE
* EXTENT AS DEFINED IN THE PROJECT DEFINITION
*
 FLMALLOC  IOTYPE=I,DDNAME=SYSLIB,KEYREF=SINC
 FLMALLOC  IOTYPE=S,DDNAME=SYSIN,KEYREF=SINC,RECNUM=2000
 FLMALLOC  IOTYPE=O,DDNAME=SYSLIN,KEYREF=OBJ,RECNUM=5000,DFLTTYP=OBJ
*
*
          FLMTRNSL   CALLNAM='LOOK AT DBRM',                           C
               FUNCTN=BUILD,                                           C
               COMPILE=LOOKDBRM,                                       C
               VERSION=1.0,                                            C
               GOODRC=0,                                               C
               PORDER=1
*
* DDNAME ALLOCATIONS
* SYSLIB WILL USE DBRMTYPE FOLLOWED BY THE TYPE FOR THE SINC MEMBER AND
* THEN THE EXTENT OF THE SINC MEMBER TYPE AS DEFINED IN THE PROJECT
* DEFINITION
*
 FLMALLOC  IOTYPE=I,DDNAME=SYSLIB,KEYREF=SINC,INCLS=DBRM
 FLMALLOC  IOTYPE=S,DDNAME=SYSIN,KEYREF=SINC,RECNUM=2000
 FLMALLOC  IOTYPE=O,DDNAME=SYSLIN,KEYREF=OBJ,RECNUM=5000,DFLTTYP=OBJ
*
*
          FLMTRNSL   CALLNAM='USE SPECIAL',                            C
               FUNCTN=BUILD,                                           C
               COMPILE=IKJSPECL,                                       C
               VERSION=1.0,                                            C
               GOODRC=0,                                               C
               PORDER=1
*
* DDNAME ALLOCATIONS
* SYSLIB WILL USE COPYBOOK, SOURCE, MACRO, and TOOLS
*
 FLMALLOC  IOTYPE=I,DDNAME=SYSLIB,KEYREF=SINC,INCLS=SPECIAL
 FLMALLOC  IOTYPE=S,DDNAME=SYSIN,KEYREF=SINC,RECNUM=2000
 FLMALLOC  IOTYPE=O,DDNAME=SYSLIN,KEYREF=OBJ,RECNUM=5000,DFLTTYP=OBJ
 

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014