Michael_Lowry

AE XML schema

Discussion created by Michael_Lowry on Nov 27, 2017
Latest reply on Jan 16, 2018 by Michael_Lowry

I’m putting together a compendium of useful information related to the AE XML schema. Here is what I have so far.

AE object types

There are several different types of object in the Automation Engine. Object types are identified in the XML schema by a short object type identifier, usually just four characters, but sometimes more, and sometimes including a sub-type. In a few cases, the same type of object is identified differently in different parts of the XML schema.

Description

Object type

under uc-export

Object type

under FolderStruct

Notification

CALL

CALL

Documentation

DOCU

DOCU

Console event

EVNT_CONS

EVNT_MVS

DB event

EVNT_DB

EVNT

File event

EVNT_FILE

EVNT_UNIX, EVNT_WINDOWS, EVNT_MVS, etc.

Time event

EVNT_TIME

EVNT_TIME

Output filter

FILTER_OUTPUT

FILTER

File transfer

JOBF

JOBF_UNIX, JOBF_WINDOWS, JOBF_MVS, etc.

Job include

JOBI

JOBI

Workflow

JOBP

JOBP

RA job

JOBS_CIT

JOBS_CIT

z/OS job

JOBS_MVS

JOBS_MVS

SQL job

JOBS_SQL

JOBS_SQL

UNIX job

JOBS_UNIX

JOBS_UNIX

Windows job

JOBS_WINDOWS

JOBS_WINDOWS

Schedule

JSCH

JSCH

Prompt set

PRPT

PRPT

AE Script

SCRI

SCRI

Sync object

SYNC

SYNC

Variable table

VARA

VARA

 

Object type & name

A particular AE object can be identified by its type and name, using the XPath
/uc-export/object_type/[@name='object_name']
where object_type is one of the AE object types in the table above and object_name is the object name.

Examples

  1. Identify all executable objects:
    /uc-export/*[local-name()=('JSCH','JOBP','JOBP_IF','JOBP_FOREACH','JOBF','JOBS_UNIX','JOBS_WINDOWS','JOBS_MVS','JOBS_SQL','JOBS_CIT','EVNT_CONS','EVNT_DB','EVNT_FILE','SCRI','CALL')]/@name
  2. Identify the UNIX job UC0.UAT.TEST#1_3.JOBS_UNIX:
    /uc-export/JOBS_UNIX[@name='UC0.UAT.TEST#1_3.JOBS_UNIX']/@name
  3. Or to list the names of all UNIX jobs:
    /uc-export/JOBS_UNIX/@name
  4. Identify all JOBS, JOBF, and EVNT objects whose names start with the string 'UC0.':
    /uc-export/EVNT_CONS[starts-with(@name, 'UC0.')]/@name
    /uc-export/EVNT_DB[starts-with(@name, 'UC0.')]/@name
    /uc-export/EVNT_FILE[starts-with(@name, 'UC0.')]/@name
    /uc-export/EVNT_TIME[starts-with(@name, 'UC0.')]/@name
    /uc-export/JOBS_CIT[starts-with(@name, 'UC0.')]/@name
    /uc-export/JOBS_MVS[starts-with(@name, 'UC0.')]/@name
    /uc-export/JOBS_SQL[starts-with(@name, 'UC0.')]/@name
    /uc-export/JOBS_UNIX[starts-with(@name, 'UC0.')]/@name
    /uc-export/JOBS_WINDOWS[starts-with(@name, 'UC0.')]/@name
    /uc-export/JOBF[starts-with(@name, 'UC0.')]/@name

 

Object references

Objects can be referred to in other places in the XML schema. There are two categories of object reference: object path and object usage.

Object path

The FolderStructelement and its children define a hierarchical folder structure, and the locations of objects within it. References to objects that appear under this element define the locations of those objects in the AE system. Specifically, the path to the object reference under theFolderStructelement specifies the absolute path to that object in the AE system (actually, the AEclient).

When an object is renamed, any references to this object in the folder structure must be updated too. E.g.,

  1. Identify all object references under the FolderStructelement:
    /uc-export/FolderStruct//*[@link='0']/@name
    (The link attribute appears only forobjects, and not forfolders.)
  2. Identify all object references under theFolderStructelement where the referenced object name starts with the string 'UC0.':
    /uc-export/FolderStruct//*[@link='0' and starts-with(@name, 'UC0.')]/@name
  3. Identify folder structure references to JOBS, JOBF, and EVNT objects by name:
    /uc-export/FolderStruct//JOBS_CIT/@name
    /uc-export/FolderStruct//JOBS_MVS/@name
    /uc-export/FolderStruct//JOBF_SQL/@name
    /uc-export/FolderStruct//JOBS_UNIX/@name
    /uc-export/FolderStruct//JOBS_WINDOWS/@name
    /uc-export/FolderStruct//JOBF_MVS/@name
    /uc-export/FolderStruct//JOBF_UNIX/@name
    /uc-export/FolderStruct//JOBF_WINDOWS/@name
    /uc-export/FolderStruct//EVNT/@name

Note that the object types of references appearing under the FolderStruct element sometimes differ from the types used to identify objects themselves directly under the uc-export element. (See the types in boldface in the table above.)

Object usage

Automation Engine objects can also beused inother objects. E.g., a workflow will usually contain several jobs, so under the JOBP element that defines the workflow, there will bereferences tothe corresponding JOBS objects. Object references identify objects by name. Different types of objects can be referred to in different places in the XML schema. For instance, there are some places where any executable AE object may be referenced, and other places where only a SYNC object or only a PRPT object may be specified.

When an object isrenamed,the references to that object by name must also be updated. This can be done  using a list of XPaths.

/uc-export/JSCH/JSCH/JschStruct/task/@Object /uc-export/JSCH/JSCH/JschStruct/task/dynvalues/dyntree/node/@name /uc-export/JSCH/JSCH/JschStruct/task/dynvalues/dyntree/node/@id
/uc-export/JSCH/JSCH/JschStruct/task/runtime/@MrtExecuteObj
/uc-export/JSCH/JSCH/JschStruct/task/result/@RExecute
/uc-export/JOBP/ATTR_JSCH/RExecute
/uc-export//JobpStruct/task/dynvalues/dyntree/node/@name /uc-export//JobpStruct/task/dynvalues/dyntree/node/@id /uc-export//JobpStruct/task/checkpoint/@TcpExecute /uc-export//JobpStruct/task/when/@WhenExecute
/uc-export//JobpStruct/task/@Alias /uc-export//JobpStruct/task/@Object
/uc-export//JobpStruct/task/runtime/@MrtExecuteObj
/uc-export/JOBP/ATTR_JOBP/RExecute
/uc-export/JOBP/JOBP_FE/JobpStruct/task/ForEach/@source_name
/uc-export//RUNTIME/MrcExecute
/uc-export//RUNTIME/MrtExecuteObj
/uc-export//PROMPTSET/@name /uc-export//PRPTBOX/@name
/uc-export//PROMPTSET/PRPTBOX/*[starts-with(local-name(), 'VARIABLE')]/@promptsetname /uc-export//PROMPTSET/PRPTBOX/@promptset
/uc-export//DYNVALUES/dyntree/node/@name /uc-export//DYNVALUES/dyntree/node/@id
/uc-export//SYNCREF/Syncs/row/@Name
/uc-export//OUTPUTSCAN/filterobjects/row/@execute /uc-export//OUTPUTSCAN/filterobjects/row/@filter /uc-export//OSCRI/text
/uc-export//MSCRI/text
/uc-export//PSCRI/text /uc-export//XUIEDITOR/text /uc-export//DATAEDITOR/text /uc-export//DOC/text

This list is not complete. I will update it as I learn more about the XML schema, and as I get more experience with real-world AE batches.

Outcomes