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


FLMCPYLB macro

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

The FLMCPYLB macro identifies the name of a data set to be allocated by an occurrence of the FLMALLOC macro. FLMCPYLB macros that do not immediately follow either an FLMALLOC macro or another FLMCPYLB macro are ignored.

FLMCPYLB macros for build translators support only a limited set of the variables that are discussed in SCLM Variables and Metavariables. For Build translators, the FLMCPYLB macro must be associated with an FLMALLOC macro that has its IOTYPE set to A, H, or I. When the FLMCPYLB macro meets these conditions, these variables are supported:
  • @@FLMDBQ
  • @@FLMSRF
  • @@FLMPRJ
  • @@FLMALT
  • @@FLMUID
  • @@FLMGRP. For build translators: The value for group in @@FLMGRP will be the group where the member referenced on the first SINC statement is found if the architecture definition being built is a CC or Generic architecture definition. If the architecture definition is an HL or LEC architecture definition, the value for @@FLMGRB will be the group where the build is taking place.
  • @@FLMMBR. The @@FLMMBR variable is replaced with the name of the member being built. For a CC or a generic architecture definition, it is the name of the architecture definition.
  • @@FLMTYP. The @@FLMTYP variable is replaced with the name of the type of the member being built. For a CC or generic architecture definition, it is the type of the architecture definition.
  • @@FLMDSN

Macro format

Read syntax diagramSkip visual syntax diagram
>>-FLMCPYLB--+-dataset_name-+--+-------------+-----------------><
             +-pathname-----+  '-,VOL=volser-'   
             '-NULLFILE-----'                    

Parameters

dataset_name|pathname|NULLFILE
Use the FLMCPYLB macro to allocate a data set or z/OS® UNIX file to a ddname. Place the FLMCPYLB after an FLMALLOC macro with IOTYPE=A, H, or I. See the IOTYPE parameter on the FLMALLOC macro for more information. For all other IOTYPEs, SCLM ignores the data sets, unless MALLOC=Y. When MALLOC=Y, the IOTYPE can be either O or A.

If you specify more than one FLMCPYLB, SCLM concatenates the data sets in the order they are specified. When you use them with IOTYPE=I, SCLM allocates the data sets after the type hierarchy libraries. SCLM can concatenate up to 123 data sets. Thus, when you use IOTYPE=I, ensure that the number of groups in the hierarchy (primary groups), plus the number of FLMCPYLB macros you specify does not exceed 123. If you concatenate more than 123 data sets, the project definition assembles without errors but using it produces unpredictable results. Concatenation is not supported for IOTYPE=H.

You can specify partitioned data sets, sequential data sets, members of fully qualified partitioned data sets, or z/OS UNIX path names. Specify NULLFILE to allocate a dummy data set.

FLMCPYLB data set names can contain these SCLM variables
  • @@FLMDBQ
  • @@FLMSRF
  • @@FLMPRJ
  • @@FLMALT
  • @@FLMUID
  • @@FLMGRP
  • @@FLMGRB
  • @@FLMMBR
  • @@FLMTYP
  • @@FLMDSN

The specified data set name or z/OS UNIX path name, or the resulting data set name when SCLM variables are used, must meet all of the requirements of MVS™ data set names. For MVS data set names, the project definition allows up to 54 characters, including periods and parentheses, to support a data set with member name specification. z/OS UNIX path names must start with a forward slash (/). They can be up to 255 characters. A data set name or path name that contains SCLM variables and is longer than this will cause errors when the project definition is assembled, even if the substituted value meets all MVS naming conventions. A data set name that is allowed by the project definition, but does not meet MVS naming convention restrictions (for example, a data set name without the member specified that is more than 44 characters long), causes errors to occur during SCLM functions such as Build.

,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:
  1. If an SMS-managed volume is specified, the system will override this specification with the volume in the catalog entry.
  2. The VOL keyword cannot be specified with a z/OS UNIX path name or the NULLFILE keyword.
  3. The VOL keyword cannot be specified with MALLOC=Y on the FLMALLOC macro.

Example

The three data sets specified by the FLMCPYLB macro are allocated to the DDNAME ISPLOAD.
          FLMALLOC IOTYPE=A,DDNAME=ISPLOAD
            FLMCPYLB PROJ1.INTERNAL.LOAD
            FLMCPYLB SYS2.ISPF.LOAD
            FLMCPYLB SYS1.LINKLIB

The number of concatenated data sets and the names of the data sets are verified at run time.

If some includes are coming from system libraries instead of from the hierarchy, FLMCPYLB macros might be needed to allow the compiler or other build processors to find those includes. The FLMCPYLB macros are needed if FLMSYSLB macros are used for the language and the language definition macro (FLMLANGL) has ALCSYSLB=N. In this case, an FLMCPYLB macro must be specified for each FLMSYSLB macro.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014