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