Data sources and structures

The use of the HCL Workload Automation for Z PIF is all about reading and writing data from HCL Workload Automation for Z.

Data can come from one of the following:

  • Database
  • Current Plan (including JCL)
  • Long-Term Plan (including JCL)

Despite the different sources, the data follows the same basic rules.

Each entity in HCL Workload Automation for Z is represented by a single record; for example, an Application record, an ETT rule record, and a Calendar record. The record is formatted into one or more Segments.

A Segment is a subdivision of a record for a particular type of information. Sometimes a record has only one segment of a particular type, sometimes it has several. For example, an Application might have one common segment (ADCOM) and several run cycle segments (ADRUN) and operation segments (ADOP). The operations might have several special resources (ADSR), and so on.

The HCL Workload Automation for Z record structure is hierarchical, this means that the segments are ordered in parent-child relationships. Hence, an operationʼs child segments follow their parent operation segment and precede the next operation segment.

Every multi-segment object always begins with a Common Segment that defines the key and high level information about the object. The easiest way to visualize what is in the Common Segment is to think about what information appears in the non-scrollable portion of the first panel you see when you browse an object.

The following example shows the relationships of the AD Record:

ADCOM -+- Common segment (1 per appl)
       |       |
       += ADAPD =+= Application dependency(ies)
       |
       += ADRUN =+= Run Cycle(s)
       |         |
       |         +- ADRULE – Rule (1 per run cycle)
       |
       += ADOP =+= Operation(s)
                |
                += ADDEP = Dependency(ies)
                |
                += ADXIV = External dependency interval(s)
                |
                += ADSR = Special resource(s)
                |
                +- ADOPEXT – Extended name (1 per op)
                |
                +- ADOPSAI – System Automation (1 per op)
                |
                += ADCNC = Condition(s)
                |         
                += ADCNS = Conditional dependency(ies)
                |
                += ADCIV = Conditional dependency interval(s)
                |
                += ADUSRF = User field(s)
                |
                +- ADVDD = Variable durations and deadlines
                |
                +- ADRE = Remote job
                |
                +- ADLAT = User-defined late information
The following example shows the logical layout of the AD record (either an application or job stream). An AD record could be a sequence of segments:
ADCOM ADAPD ADRUN ADRULE ADRUN ADRULE ADOP ADOP ADDEP ADSR ADSR ADOP ADDEP

When the programming interface retrieves a record it presents a header that lists each segment name and the offset to where the segment starts. Workload Automation Programming Language automatically processes the header and decodes each segment in turn, allowing you to decide the segments to be processed. If you want to use a Segment Processing Exit, the exit is automatically called for every segment you referenced with the OUTPUT statement.

Use the SHOW OBJECT command to understand the structure of any HCL Workload Automation for Z object.

For example, the SHOW OBJECT(CL) command shows all the available object variables for a calendar with -n- showing where sequence numbers fit into the syntax:
08/22 10.47.39 EQQI200I SHOW OBJECT(CL) 
08/22 10.47.39 EQQI601A Object: @OBJ-CLNAME
08/22 10.47.39 EQQI601A Object: @OBJ-CLDAYS
08/22 10.47.39 EQQI601A Object: @OBJ-CLSHIFT
08/22 10.47.39 EQQI601A Object: @OBJ-CLDESC
08/22 10.47.39 EQQI601A Object: @OBJ-CLVERS
08/22 10.47.39 EQQI601A Object: @OBJ-CLLDATE
08/22 10.47.39 EQQI601A Object: @OBJ-CLLTIME
08/22 10.47.39 EQQI601A Object: @OBJ-CLLUSER
08/22 10.47.39 EQQI601A Object: @OBJ-CLLUTS
08/22 10.47.39 EQQI601A Object: @OBJ-#CLSD
08/22 10.47.39 EQQI601A Object: @OBJ-CLSD-n-CLSDDATE
08/22 10.47.39 EQQI601A Object: @OBJ-CLSD-n-CLSDSTAT
08/22 10.47.39 EQQI601A Object: @OBJ-CLSD-n-CLSDDESC
08/22 10.47.39 EQQI601A Object: @OBJ-#CLWD
08/22 10.47.39 EQQI601A Object: @OBJ-CLWD-n-CLWDDAY
08/22 10.47.39 EQQI601A Object: @OBJ-CLWD-n-CLWDNUM
08/22 10.47.39 EQQI601A Object: @OBJ-CLWD-n-CLWDSTAT
08/22 10.47.39 EQQI601A Object: @OBJ-CLWD-n-CLWDDESC
08/22 10.47.39 EQQI299I Statement completed - RC=0 (00000014)