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


FLMSYSLB macro

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

Use this macro to define a set of system macro or include data sets for an include set in a language. The data sets defined by FLMSYSLB contain members that are referenced by SCLM members. Whether or not these include dependencies are tracked is determined by the CHKSYSLB parameter of the language. These data sets also can be allocated for the build translator(s) by using the ALCSYSLB parameter of the language.

Different sequences of data sets may be specified by using the INCLS parameter. FLMSYSLB macros with the INCLS parameter will be used in conjunction with FLMALLOC macros that have IOTYPE=I and an INCLS parameter with the same value. The value of the INCLS parameter is the name of an FLMINCLS macro in the language definition.

Macro format

Read syntax diagramSkip visual syntax diagram
>>-+----------+--FLMSYSLB--dataset_name------------------------->
   '-language-'                           

>--+--------------------------+--+-------------+---------------><
   '-,INCLS=include--set_name-'  '-,VOL=volser-'   

Parameters

language
An 8-character language name. The language must be the same name as the language specified in the LANG field on the FLMLANGL macro. To specify multiple data sets for a language, omit the language on all but the first data set.
dataset_name
The partitioned data set or member of a fully qualified partitioned data set containing macros or includes from outside the project. The data set name must meet all of the requirements specified by the MVS™ data set naming conventions. The project definition allows up to 54 characters, including periods and parentheses, to support the specification of a member name. If the data set name is too long (for example, more than 44 characters for a data set name without a member specified), or it does not meet the MVS data set naming conventions, then errors occur during SCLM functions (for example, Parse or Build). The data sets are searched and allocated in the order that they occur in the project definition.
,INCLS=include_set_name
This refers to the include-set name on an FLMINCLS macro. When searching for includes, SCLM first checks the types specified on the FLMINCLS macro, followed by the data set on this and other FLMSYSLB macros with the same include-set name. If no INCLS parameter is specified, this FLMSYSLB macro is used for the default include set. All of the FLMSYSLB statements for an include set must be specified together.
,VOL=volser
Specifies the serial number of an eligible direct access volume on which the data set is located. This allows reference to a data set that is either uncataloged or that is located on a different volume than the catalog specifies. The default action, if not specified, is to use the volume in the data set's catalog entry.
Note: If an SMS-managed volume is specified, the system will override this specification with the volume in the catalog entry.

Example

This example shows the FLMSYSLB macros that might be included in the project definition for a language that has includes in 3 different include sets.
DBAPPL        FLMSYSLB  SYS1.COMPILER.INCLUDES
              FLMSYSLB  SYS1.DATABASE.INCLUDES,INCLS=DATABASE
              FLMSYSLB  SYS1.TRANSACT.INCLUDES,INCLS=DATABASE
              FLMSYSLB  APPL.REUSE.INCLUDES,INCLS=REUSE
 

In this example the includes for members of language DBAPPL will first find their members in the project hierarchy. If the includes are not found in the project hierarchy the FLMSYSLB data sets will be searched. Only the FLMSYSLB data sets that are associated with the same include set as the include will be searched for the include.

For example, in the DBAPPL language definition:

  1. FLMALLOC with IOTYPE=I and no INCLS parameter will be associated with SYS1.COMPILER.INCLUDES
  2. FLMALLOC with IOTYPE=I and INCLS=DATABASE will be associated with SYS1.DATABASE.INCLUDES concatenated with SYS1.TRANSACT.INCLUDES
  3. FLMALLOC with IOTYPE=I and INCLS=REUSE will be associated with APPL.REUSE.INCLUDES
  4. FLMALLOC with IOTYPE=I and INCLS=XXXXX will not have an associated FLMSYSLB since there are no FLMSYSLB macros associated with language DBAPPL that have an INCLS parameter with the value XXXXX

Includes in data sets outside of the project definition can either be tracked in the accounting record of the member that includes them or not tracked at all.

To track external includes in the accounting record:

  1. Specify CHKSYSLB=BUILD or IGNORE in the language definition.
  2. Specify an FLMSYSLB for each data set containing included members.
  3. Either specify ALCSYSLB=Y in the language definition, or specify each of the data sets from FLMSYSLB macros on FLMCPYLB macros for the appropriate ddnames.

When CHKSYSLB is BUILD, SCLM checks the FLMSYSLB data sets at build time. When CHKSYSLB is IGNORE, the build translator determines if includes are missing. In either case, any includes not found in the hierarchy are recorded in the accounting record when the member is parsed.

To not track external includes at all:

  1. Specify CHKSYSLB=PARSE in the language definition (the default)
  2. Specify an FLMSYSLB for each data set containing included members
  3. Either specify ALCSYSLB=Y in the language definition, or specify each of the data sets from FLMSYSLB macros on FLMCPYLB macros for the appropriate ddnames.

When CHKSYSLB is PARSE, SCLM verifies at parse time that any includes that are not found in the project hierarchy can be found in the FLMSYSLB data sets. The includes found in the FLMSYSLB data sets are not recorded as includes in the accounting record.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014