Datasets
Specification for the 'datasets' section of grace.yml.
The datasets
block in your grace.yml
file is used to define the default names for key z/OS Partitioned Data Sets (PDS or PDSE) that Grace will interact with during its operations. These settings provide a centralized place to specify your site's or project's naming conventions for common dataset types.
While these are global defaults for the workflow, some can be overridden at the individual job level if a specific job needs to use a different PDS (see the datasets
sub-block within a job definition).
Required fields
jcl
- Type:
String
- Description: Specifies the full name of the Partitioned Data Set (PDS or PDSE) where Grace will store JCL members.
- When
grace deck
processes jobs that require JCL (e.g.compile
,linkedit
,execute
) and the job does not usejcl: zos://
- If Grace generates the JCL (default behavior or from a
jcl: file://
user template), the resulting JCL is written to a member within this PDS. The member name will be the uppercase version of thejob.name
.
- If Grace generates the JCL (default behavior or from a
- Example:
- If
job.name
isCMPCBL
anddatasets.jcl
isMY.APP.JCL
, Grace uploads toMY.APP.JCL(CMPCBL)
.
- If
- This PDS must exist or be creatable by the Zowe user profile specified in
config.profile
.grace deck
will attempt to create it if it doesn't exist.
- When
src
- Type:
String
- Description: Specifies the full name of the PDS where Grace will upload local source files referenced via
src://
paths in job inputs.- When
grace deck
encounters an input likepath: src://myprog.cbl
, it will upload the local fileyour_workflow/src/myprog.cbl
to a member in the PDS. - The member name is derived from the filename by converting it to uppercase and removing common extensions (e.g.
myprog.cbl
becomesMYPROG
) - This PDS must exist or be creatable by the Zowe user profile specified in
config.profile
.grace deck
will attempt to create it if it doesn't exist andsrc://
inputs are present.
- When
loadlib
- Type:
String
- Description: Specifies the full name of the PDS that will serve as the default target load library for
linkedit
jobs and as the defaultSTEPLIB
forexecute
jobs.- For
linkedit
jobs: The output load module (specified byjob.program
) will be written to this PDS. - For
execute
jobs: If the job's JCL is generated by Grace, it will include aSTEPLIB DD
statement pointing to thisloadlib
to find the program specified injob.program
. - Unlike
jcl
andsrc
datasets,grace deck
checks if thisloadlib
exists but does not automatically create it. The load library is expected to be a pre-existing, properly allocated PDS (often a PDSE for load modules).
- For
Naming conventions and validation
All dataset names specified in the datasets
block (and any job-level overrides) must adhere to standard z/OS dataset naming conventions:
- Qualifiers are separated by periods
(.)
. - Each qualifier can be 1 to 8 characters long.
- The first character of a qualifier must be alphabetic
(A-Z)
or national(#, @, $)
. Subsequent characters can be alphanumeric or national. Hyphens are generally not permitted by Grace's validation for simplicity, aligning with common practices on z/OS environments. - The total length of the dataset name, including periods, typically cannot exceed 44 characters.
- Grace performs validation on these names via the
grace lint
command and beforegrace deck
operations.
Refer to the IBM documentation on z/OS dataset naming rules.
These datasets
definitions are fundamental to how Grace organizes and manages mainframe artifacts related to your workflow. Ensuring they are correct for your target z/OS environment is a key part of setting up a Grace workflow.