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


Build (option 4)

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

The build processor automatically compiles, links, or deletes output to make build outputs match build inputs. The build function:
  • Ensures total project integrity by verifying that all components defined to the architecture being built are present and complete
  • Performs necessary translations such as compiles and links
  • Conditionally saves translator output in the database
  • Generates a build report

Build compiles, links, and integrates software components according to the architecture. For any group in the hierarchy, the build function uses the software components within the hierarchy of that group to update the out-of-date members. Use build to compile and link individual components as well as to integrate the smaller components into larger components.

For each component that it processes, the build function takes one of the following actions:
  • Does nothing if the component has not changed since the previous build
  • Deletes out-of-date outputs if that will leave the component in an up-to-date state
  • Compiles or links changed components.
At the completion of the build, SCLM, when requested, produces a report identifying the members that were generated or deleted by the build function.

You also can specify that a Build Report be generated without actually invoking any translators. The Build Report identifies those components in the hierarchy that would change if translators were to be invoked.

With the PTFs for APAR OA21104 applied, a build can also be run in information mode. When this is done the options passed to the translators, and the data sets used in the concatenations for resolving the include dependencies, are written to the build report output in XML format. The options that would be passed to a compiler will be shown, after FLMTOPTS and Compilation Control architecture member overrides have been taken into consideration. In addition, all DDs in the SYSLIB, or any other IOTYPE=I allocation, will be shown as they would be passed to the compiler with all FLMCPYLB, FLMINCLS and FLMSYSLB overrides taken into consideration.

Before build begins processing the member, it tries to open the VSAM accounting and cross-reference data sets for the group where the build is taking place. If you do not have UPDATE authority to the data sets or if there is an error opening one of the data sets, the build will fail. See BUILD—Build a Member for more information about the processing done by the build processor.

The panel shown in Figure 1 appears when you select Option 4, Build, from the SCLM Main Menu.

Figure 1. SCLM Build (FLMB#P)
   Menu  SCLM  Utilities  Jobcard  Test  Workstation  Build  Help
 ──────────────────────────────────────────────────────────────────────────────
                            SCLM Build - Entry Panel
Command ===>

Build input:
  Project  . : PDF42SVT
  Group  . . . DEV1    
  Type . . . . ARCHDEF            Enter "/" to select option
  Member . . . SAMPLE                    /  Error Listings only
                                          Workstation Build

  Mode  . . 1  1. Conditional          Scope . . . 2  1. Limited
               2. Unconditional                       2. Normal
               3. Forced                              3. Subunit
               4. Report                              4. Extended
               5. Information
Output control:
               Ex Sub                  Process . . 1  1. Execute
  Messages . . 3  3    1. Terminal                    2. Submit
  Report . . . 3  3    2. Printer
  Listings . . 3  3    3. Data set     Printer . . H
                       4. None         Volume  . .         
Note: The NRETRIEV command key is enabled to work with this option. See Name retrieval with the NRETRIEV command for more information.

The fields for the SCLM Build - Entry panel are:

Project
The project that you specified on the SCLM Main Menu. An Alternate field also appears if you specified an alternate project.
Group
The group in which the build is to occur.
Type
The type of the member to build.
Member
The name of the member to build.
Scope
You must specify a scope equal to or greater than the scope specified with the SCOPE keyword in the FLMLANGL macro.
Limited
To process those components that the architecture members directly reference. If you use a source member, the build function processes only that member.
Normal
To process the components and members referenced by the specified architecture member. In addition, this scope processes upward dependencies for all Ada-type source members referenced directly by the architecture member and all source members referenced as upward dependencies.
Subunit
To process the components and members processed in normal scope as well as downward dependencies for all Ada-type source members referenced directly by the architecture members.
Extended
To process the components and members processed in normal scope as well as downward dependencies for all source members within the normal scope and the source to all outputs referenced. In addition, extended scope processes any outputs referenced via LINK architecture definition statements or parsed includes. Extended scope also includes anything that Promote verifies that is related to the member built. For example if the architecture definition statement LINK is used to reference a load module, the architecture definition that created the referenced load module is included in the extended scope.

Because SCLM uses information from the most recent build map to determine what should be included in extended scope, extended scope may include members that are no longer relevant to the architecture. If you receive error messages about members that are no longer relevant to the architecture definition, try building in normal scope before using extended scope.

Mode
Conditional
To check for unacceptable translator return codes (for example, compiler or linker return codes). Processing stops immediately if build detects any translation errors.

SCLM saves build maps and translator output only for translations that complete successfully. However, the translator listings (if desired) for all components processed, and the build report, are saved and reflect the final results of the build.

Unconditional
To continue processing of all members despite translation errors of other members.

Use this mode when you need to update complete applications or large subapplications. You can also use this mode initially to detect translation errors in several components.

As with the conditional mode, BUILD will stop when verification errors occur and not continue on to execute the BUILD translators. After a successful verification of the members, SCLM will pass control to the BUILD translators, regardless of the return code value from each translator. This will provide information as to the extent of any errors that may have been introduced by changing the members. A conditional BUILD would stop after the first translator return code that exceeds the GOODRC value for the related FLMTRNSL macro.

Build does not attempt a translation unless all of its dependencies that were in scope were completed successfully. For example, a link-edit is not attempted if the compilation of a source member failed.

Forced
To force all requested components to be translated again regardless of the previous status of the modules.
Report
To generate a complete build report without performing an actual build. The report reflects the potential results of an unconditional build.
Information
With the PTFs for APAR OA21104 applied, the information Build returns an XML document describing the input that would have been passed to the BUILD translators on a Forced Build. The information is returned in the build report and contains the options passed to the translators, along with the data set allocations made by SCLM for IOTYPE=I allocations, which are include dependency allocations.
Output control
Specify the destination for messages, report, and listings when they are executed (Ex) or submitted (Sub), by entering the corresponding destination number: 1 for Terminal, 2 for Printer, 3 for Dataset, or 4 for None.
When executing a build in the foreground, the build listing is browsed if a translation error occurs; otherwise, the build report is browsed. The translator is responsible for providing the build listing.
Note: If no output is specified for Report, no build user exit information is produced. That is because SCLM provides the build user exit with information from the build report.

The data sets that are created are not deleted. Specifying a volume that already contains a report, message or listing data set could result in JCL errors when the job is submitted.

Error listings only
The build service allows you to generate a temporary listings file. If you do not select Error listings only, all translator listings are copied to the temporary listings file. If you select it, only those members receiving a translator error are copied to the temporary listings file. An empty file indicates that no errors occurred. The file is temporary in the sense that the contents are not under SCLM control and may be purged by the user.
Workstation Build
Specify whether the build will invoke any workstation translators. For a foreground build which invokes a workstation translator, SCLM will verify that an ISPF workstation connection exists before executing the build. For a batch build which invokes a workstation translator, SCLM will verify that the information required to initiate an ISPF workstation connection has been set by a previous build or the workstation build pull-down. If not, SCLM will prompt the user to enter this information before the build job is submitted. If the build does not invoke a workstation translator, do not specify this field.
Process
You can call the processing part of the build utility from the interactive or batch environment by selecting Execute or Submit, respectively. If you request batch processing by selecting Submit, you must specify the job statement information that is used in the JCL generated for batch processing.

For information about using a unique jobname on the jobcard in batch processing, see Batch Processing.

Printer
Specify the printer output class.
Volume
Specify the volume on which SCLM should save data sets.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014