Using an XML Job Schedule Format for Unsupported Job Schedules

Use the Enterprise Analyzer XML job schedule format to define unsupported job schedules. The XML file must have a .jsx extension. The following is an annotated example:

<?xml version="1.0" ?>
<!--
    This is an annotated sample job schedule definition.
    
    The main purpose of this file is to document the format. It is not suitable for testing, as no 
    attempt was made to keep it internally consistent.

    The document-level element is the job-schedule. This element is required, though the domain
    reference and name are ignored by the AC job schedule processing.

    domain          (required) - name of domain. Ignored by AC.
    name            (required) - name of the job schedule. Ignored by AC.
    source-ref-type (optional) - default is internal. Specify "external" if this document
                                 contains references to source locations in external source files.
                                 Otherwise the schedule loader generates source reference to this
                                 document.
-->
<job-schedule domain="SP1" name="mainJobSchedule" source-ref-type="external">
    <!--
        source-lib elements define libraries or directories that contain source files.

        source files are used here for two purposes.

        - if this file refers to external source files, e.g., reports from a job scheduling
          system, the source files must be identified by source-lib and source-file
          elements.

        - if jcl-lib elements are used to specify JCL source libraries, the libraries
          must be identified by source-lib elements.

        For use in EV, the first form below is valid (the one specifying domain and name).
        For use in AC, the form using path is used.

        Either path must be specified or both domain and name must be specified.

        id     (required)  - unique identifier for the source-lib. The id attribute must be
                             unique among all id attributes in this document.
        domain (see above) - name of domain containing the source library.
        name   (see above) - name of the source library.
        path   (see above) - path to a directory containing source files.

    -->
    <source-lib id="sl1" domain="SP1" name="SYS1.PROCLIB"/>
    <source-lib id="sl2" domain="SP1" name="APPL1.JCLLIB"/>
    <source-lib id="sl3" path="c:\source\jcl\sys1.proclib"/>

    <!--
         Source files are identified by name and refer to the containing
         library.

         Source file elements must appear before any source-ref elements that reference
         them.

         id     (required) - unique identifier for the source file. The id attribute
                             must be unique within all id attributes in this document.
         libref (required) - id of the associated source-lib element. The source-lib
                             element must appear before any source-file elements that
                             reference it.
         name   (required) - name of the source file.
    -->
    <source-file id="sf1" libref="sl2" name="report.ctm"/>

    <!--
        jcl-libs (and the nested jcl-lib elements identify an order list of source
        libraries that are to be searched to resolve references to JCL.

        jcl-lib element are not used in this release of Enterprise View or Analysis
        Console. We plan to add this support in an upcoming release. These elements
        are included here for completeness.
    -->
    <jcl-libs>
        <jcl-lib libref="sl1"/>
        <jcl-lib libref="sl2"/>
    </jcl-libs>

    <!--
        job-stream element starts a job stream definition.

        name - name of the job stream. This is the name used for storing the job
               stream in the EV database. It must be unique within all job stream
               names within the schedule.
        desc - description.
    -->
    <job-stream name="DAILYOP" desc="Daily order processing">

        <!--
            The documentation nested element can be used with job-schedule, job-stream, job-exec,
            predecessor, event, and manual-operation elements to provied more extensive documentation
            than is provided by the desc attribute.
        -->
        <documentation>
            This element can be nested under other elements and is used to provide
            more extensive information than is included in the description field.
        </documentation>

        <!--
            source-ref (source reference) elements can appear as nested elements
            for job-schedule, job-stream, job-exec, predecessor, manual-operation, and
            external-predecessor elements.

            refid     - (required) id of a source-file element.
            line      - (required) starting line number in source file (first line is 1).
            col       - (optional) starting column number within the line (first column is 1).
                        If omitted, column 1 is assumed.
            endline   - (optional) end line. if omitted, starting line is assumed.
            endcolumn - (optional) end column. If omitted, last character of endline is assumed.
        -->
        <source-ref refid="sf1" line="100" col="1" endline="102" endcol="70"/>

        <!--
            job-exec (job execution) element. defines the execution of a job
            within a job stream.

            name    - (required) name of the job execution. Must be unique among all job executions,
                      manual operations, and events within the job stream.
                      within the schedule.
            jobname - (required) name of the JCL member to be executed.
            desc    - (optional) description of the job execution.
        -->
        <job-exec name="job1" jobname="job1" desc="Description">

            <!--
                The predecessor nested element specifies a dependency on another job
                stream operation (another job-exec, external-predecessor, manual operation,
                or event.
            -->
            <predecessor name="mo1">

                <!--
                    attr elements can be nested within most other elements. Specifically,
                    attr elements can be contained by predecessor, external-predecessor,
                    job-exec, manual-operation, and event. attr elements are never
                    required but can be used to provide values that are, for example,
                    specific to a particular job scheduling system.

                    The exact processing of these values varies with the specific
                    implementation. The XML schedule loader keeps these values
                    as named attributes of the parent object, and the values
                    are stored in the EV database as enterprise object attributes.

                    The dep.type nested element for predecessor can have one of the
                    following values: GENERAL, EXCLUSION, TRIGGER.
                -->
                <attr name="dep.type" value="GENERAL"/>
            </predecessor>

            <!--
                External predecessor elements can be nested under job-exec and manual-operation elements
                to indicate a predecessor that is not in the current job stream.

                All attributes are required, though some may be ignored by AC.

                name     - name of this external-predecessor. Must be unique among all job-exec,
                           manual-operation, event, and external-predecessor elements in the
                           job stream.
                domain   - containing domain. Ignored by AC.
                sched    - containing schedule. Ignored by AC.
                stream   - containing job stream.
                opername - name of the operation (job-exec, manual-operation, or event) in the external
                           job stream.
            -->
            <external-predecessor name="ep1" domain="dom1" sched="sch1" stream="strname" opername="ref1"/>
        </job-exec>

        <!--
            The manual-operation element defines a manual operation.

            It can have predecessor and external-predecessor nested elements.

            name - (required). The name of the operation must be unique within manual-operation,
                   job-exec, and event elements within the job stream.
        -->
        <manual-operation name="JobPrep" desc="Description">
        </manual-operation>

        <!--
          An "event" represents an external occurrence that may serve as a predecessor
          for other job stream operations (job executions & manual operations).

          The actual meaning is entirely up to the customer, but this might be used,
          for example, to represent the availability of an external data feed. It might
          also be used to represent the arrival of a particular time of day.

          name - (required) The name of the operation must be unique within all
                 events, job executions, and job stream operations, within the job
                 stream.
          desc - (optional) Description of the event.
          type - (optional) The event type can be used to group similar events. 
                 The value of this field is not checked.
        -->
        <event name="Event1" desc="description" type="evtype">
        </event>
    </job-stream>
</job-schedule>