This section examines the project definition used for the library
in the sample project. Typically, the project manager is responsible
for developing and maintaining the project definition.
- Select the View option from the SCLM Main Menu and type:
- PROJ1
- in the Project field
- DEV1
- in the Group field
Press Enter.
Type 'PROJ1.PROJDEFS.SOURCE(PROJ1)' in the Data Set Name field, and press
Enter to examine the member that contains the project definition for
PROJ1. The macros are:
- FLMABEG
- FLMABEG initializes the project definition
by defining the project name as PROJ1.
- FLMTYPE
- FLMTYPE defines each type. The type values are:
- ARCHDEF
- architecture definitions
- SOURCE
- source code
- LIST
- listings from compilers and assemblers
- IDILANGX
- Fault Analyzer data sets
Note: If you are not using Fault Analyzer, make
sure that you have edited FLM01PRJ as specified in step 6 of
"Preparing the example project hierarchy".
- OBJ
- object code
- LMAP
- load module maps
- LOAD
- executable load modules
The type names were chosen arbitrarily for this sample project.
- FLMGROUP
- FLMGROUP defines each group. The PROMOTE keyword
defines the library structure. Note that DEV1 and DEV2 are promoted
to TEST and TEST is promoted to RELEASE.
- FLMCNTRL
- FLMCNTRL identifies the default VSAM data sets
for the project. The VSAM data sets store library control information
about the members in the project hierarchy.
- COPY
- COPY identifies members to be copied into the
project definition. The members identified are the architecture
definition language, assembler language, PL/I language, link-edit
language, and SCRIPT language definitions.
- FLMAEND
- FLMAEND ends the project definition.
An additional developer, DEV3, can be added with another FLMGROUP
macro, as shown in the following example:
DEV3 FLMGROUP AC=(P),KEY=Y,PROMOTE=TEST
The project definition specifies the names of the partitioned data
sets used by the project (for example, PROJ1.DEV1.SOURCE), the library
structure for the groups (for example, DEV1 members are promoted to
TEST), and the languages to be used (for example, architecture
definition, ASM, COBOL, PL/I, and link-edit).
- View the PROJ1.PROJDEFS.SOURCE members:
- FLM01ASF
- ASMF language definition
- FLM01ASM
- ASM language definition
- FLM01CBE
- COBE language definition
- FLM01PLE
- PLIE language definition
- FLM01370
- linkage editor language definition
Note: FLM01ASF will be displayed only if you
are using Fault Analyzer.
Note the following points about these members:
- FLMSYSLB
- This macro can be used to define a set of
libraries that contain project and/or system macros or includes.
- FLMLANGL
- This macro specifies the language identifier.
- FLMTRNSL
- This macro is used once for each translator
to be invoked for a language.
The SCLM parser is invoked when the keyword FUNCTN specifies
PARSE. The SCLM parser stores statistics (for example, lines-of-code
counts) and dependency information (for example, includes and copy
statements).
The build translator is invoked when the keyword FUNCTN specifies
BUILD. In FLM01370, the linkage editor IEWL is invoked. The build
fails unless the return code is equal to, or less than, the value
specified by the keyword GOODRC (0 in this example).
- FLMALLOC
- This macro is used to allocate data sets
and ddnames required by translators.