Notice: An updated version of this document is available here: AE XML schema
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
- 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
- Identify the UNIX job UC0.UAT.TEST#1_3.JOBS_UNIX:
/uc-export/JOBS_UNIX[@name='UC0.UAT.TEST#1_3.JOBS_UNIX']/@name
- Or to list the names of all UNIX jobs:
/uc-export/JOBS_UNIX/@name
- 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 FolderStruct
element 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 theFolderStruct
element 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.,
- Identify all object references under the
FolderStruct
element:
/uc-export/FolderStruct//*[@link='0']/@name
(The link attribute appears only forobjects, and not forfolders.) - Identify all object references under the
FolderStruct
element where the referenced object name starts with the string 'UC0.':
/uc-export/FolderStruct//*[@link='0' and starts-with(@name, 'UC0.')]/@name
- 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.