XML Gateway Annotations

Use the following procedure to annotate an XML Gateway map for transaction information:

  1. Check out an existing map from source code and open it in Message Designer.

  2. Find out which Internal Transaction Type, Subtype, Standard, and Direction this particular map is associated with. Note that this entry must exist in XML Gateway to be loaded into the Integration Repository.

    Click Message Designer File.... > Properties and select the Map tab. Annotate the map using the Map Description field after your existing description. Be sure to enter the @rep:interface annotation with <Internal Transaction Type>:<Subtype>, @rep:standard, and @rep:direction accordingly.

    (Optional) If this map is designed to fully support a given standard such as OAG, then set @rep:standard to the standard, version and spec name. However, if the map is designed with the intention of supporting standards through additional custom transformations (such as, it is "ready" for the standard), then use the rep:category_STANDARD_READY annotation to denote this.

    • A given Internal Transaction Type and Subtype should have only one map seeded by product teams for a given Standard and Direction (regardless of Party Type). Additional maps containing the same types in the annotations would be rejected and treated as errors. Note that there may exist different maps based on the External Transaction Type and Subtype, but as these are meant to be Trading Partner-specific, we do not enter them in the repository. In future releases, we will enforce these rules natively within XML Gateway.

    • If a single map is reused in more than one Internal Transaction Type and Subtype, then you may enter multiple annotations, each within its own comment block (i.e. between /*# ... */). The parser will create entries in the Integration Repository for each annotation set. Although this capability is supported, you are encouraged to use two different maps to accommodate potentially changing interfaces. See the following example of map reuse:

      Int T Int ST D Ext T Ext ST STD Party Type
      AR Invoice O Invoice Process OAG C
      AR Credit O Invoice Process OAG C
      AR Debit O Invoice Process OAG C

      In this scenario, since the external representation does not change, the same map can be reused. However, the internal processing and authorization considerations may differ based on the Internal Transaction Type and Subtype. In this case, the map can have three annotation blocks, one for each Internal Transaction Type and Subtype; such as. AR-Invoice, AR-Credit, and AR-Debit.

    • Parameters are typically used in outbound maps for specifying keys used in queries to produce outbound data. Inbound maps do not have parameters.

  3. Save the annotated map, check it into source control, and release as a patch as usual. The annotations are updated as part of the Integration Repository loaders.

Required Class-level Annotations

Note: There is no required method-level annotations for XML Gateway.

Optional Class-level Annotations

Note: There is no optional method-level annotations for XML Gateway.

Template

You can use the following template when annotating XML Gateway:

Sample Inbound Map Annotation

 /*#
  * Sample map annotation public description.
  * 
  * @rep:interface <transaction_type:sub_type>
  * @rep:standard <OAG|cXML> <7.2|7.3> <specname>
  * @rep:direction IN
  * @rep:scope <public|private|internal>
  * @rep:displayname <Interface display name>
  * @rep:lifecycle <active|deprecated|obsolete|planned>
  * @rep:product <product code>
  * @rep:compatibility <S|N>
  * @rep:category <lookupType> <lookupCode> <sequenceNumber>
  * @rep:category STANDARD_READY <standard:version:specification>
  * @rep:businessevent <businessEventName>
  */

Sample Outbound Map Annotation

 /*#
  * Sample map annotation public description.
  * 
  * @param <paramName> <Parameter description>
  * @rep:paraminfo {@rep:required}
  *
  * @rep:interface <transaction_type:sub_type>
  * @rep:standard <OAG|cXML> <7.2|7.3> <specname>
  * @rep:direction OUT
  * @rep:scope <public|private|internal>
  * @rep:displayname <Interface display name>
  * @rep:lifecycle <active|deprecated|obsolete|planned>
  * @rep:product <product code>
  * @rep:compatibility <S|N>
  * @rep:category <lookupType> <lookupCode> <sequenceNumber>
  * @rep:category STANDARD_READY <standard:version:specification>
  * @rep:businessevent <businessEventName>
  */

Important Note

A given map should be unique to a given Internal Transaction Type / Subtype, Standard and Direction. This is because the External Transaction Type / Subtype are meant for Trading Partner specific values to be specified in the Trading Partner Details form and the entries in the Integration Repository are NOT Trading Partner specific. Moreover, there should not be a need to change maps on a per Trading Partner basis, and if it does, then those maps should not be part of the Integration Repository entries.
Given the current data model however, it is possible that a given map could differ by External Transaction Type / Subtype and even by Trading Partner. Going forward, this would not be allowed for seeded maps and the Integration Repository parser would return an error if it finds multiple maps which point to the same Internal Transaction Type / Subtype. 
Additional Notes

    * Parameters are typically used in outbound maps for specifying keys used in queries to produce outbound data

Example

For reference, here is an example of an annotated XML Gateway interface:

<?xml version="1.0" encoding="UTF-8"?>
<!-- $Header: appb_xmlgateway.htm 120.16 2015/07/21 21:54:43 appldev noship $ -->
<!-- WARNING: This file should only be edited using Message Designer -->
<?xGateway mapType="MAP" ?>
<?xGatewayVersion designerVersion="2.6.3.0.0" ?>
<ECX_MAPPINGS>
<MAP_CODE>Create Purchase Order</MAP_CODE>
<DESCRIPTION>This is a sample map to demonstrate annotations in the Interface Repository.
 /*#
  * Sample map annotation public description.
  * 
  * @rep:interface PO:POC
  * @rep:standard OAG 7.2 Process_PO_001
  * @rep:direction IN
  * @rep:scope public
  * @rep:displayname Create Purchase Order
  * @rep:lifecycle active
  * @rep:product PO
  * @rep:compatibility S
  * @rep:category BUSINESS_OBJECT PURCHASE_ORDER
  * @rep:businessevent oracle.apps.po.received
  */
 /*#
  * Sample map annotation public description for reused transaction
  * 
  * @rep:interface PO:POU
  * @rep:standard OAG 7.2 Process_PO_001
  * @rep:direction IN
  * @rep:scope public
  * @rep:displayname Update Purchase Order
  * @rep:lifecycle active
  * @rep:product PO
  * @rep:compatibility S
  * @rep:category BUSINESS_OBJECT PURCHASE_ORDER
  * @rep:businessevent oracle.apps.po.received
  */
</DESCRIPTION>
<OBJECT_ID_SOURCE>1</OBJECT_ID_SOURCE>
<OBJECT_ID_TARGET>2</OBJECT_ID_TARGET>
<ENABLED>Y</ENABLED>
<ECX_MAJOR_VERSION>2</ECX_MAJOR_VERSION>
<ECX_MINOR_VERSION>6</ECX_MINOR_VERSION>
<ECX_OBJECTS>
<OBJECT_ID>1</OBJECT_ID>
<OBJECT_NAME>SRC</OBJECT_NAME>
<OBJECT_TYPE>XML</OBJECT_TYPE>
<OBJECT_DESCRIPTION>Source Definition</OBJECT_DESCRIPTION>
<OBJECT_STANDARD>OAG</OBJECT_STANDARD>
<ROOT_ELEMENT>INVENTORY</ROOT_ELEMENT>


<ECX_OBJECT_LEVELS>
<OBJECTLEVEL_ID>0</OBJECTLEVEL_ID>
<OBJECT_ID>1</OBJECT_ID>
<OBJECT_LEVEL>0</OBJECT_LEVEL>
<OBJECT_LEVEL_NAME>INVENTORY</OBJECT_LEVEL_NAME>
<PARENT_LEVEL>0</PARENT_LEVEL>
<ENABLED>Y</ENABLED>
<ECX_OBJECT_ATTRIBUTES>
<OBJECTLEVEL_ID>0</OBJECTLEVEL_ID>
<ATTRIBUTE_ID>0</ATTRIBUTE_ID>
<ATTRIBUTE_NAME>INVENTORY</ATTRIBUTE_NAME>
<OBJECT_COLUMN_FLAG>N</OBJECT_COLUMN_FLAG>

<PARENT_ATTRIBUTE_ID>0</PARENT_ATTRIBUTE_ID>


<ATTRIBUTE_TYPE>1</ATTRIBUTE_TYPE>
<HAS_ATTRIBUTES>0</HAS_ATTRIBUTES>
<LEAF_NODE>1</LEAF_NODE>
<REQUIRED_FLAG>Y</REQUIRED_FLAG>
<IS_MAPPED>false</IS_MAPPED>
</ECX_OBJECT_ATTRIBUTES>
<ECX_OBJECT_ATTRIBUTES>
<OBJECTLEVEL_ID>0</OBJECTLEVEL_ID>
<ATTRIBUTE_ID>1</ATTRIBUTE_ID>
<ATTRIBUTE_NAME>VERSION_INFO</ATTRIBUTE_NAME>
<OBJECT_COLUMN_FLAG>N</OBJECT_COLUMN_FLAG>
<DATA_TYPE>VARCHAR2</DATA_TYPE>
<PARENT_ATTRIBUTE_ID>0</PARENT_ATTRIBUTE_ID>

<ATTRIBUTE_TYPE>1</ATTRIBUTE_TYPE>
<HAS_ATTRIBUTES>0</HAS_ATTRIBUTES>
<LEAF_NODE>1</LEAF_NODE>
<REQUIRED_FLAG>N</REQUIRED_FLAG>
<IS_MAPPED>false</IS_MAPPED>
</ECX_OBJECT_ATTRIBUTES>
<ECX_OBJECT_ATTRIBUTES>
<OBJECTLEVEL_ID>0</OBJECTLEVEL_ID>
<ATTRIBUTE_ID>2</ATTRIBUTE_ID>
<ATTRIBUTE_NAME>SAVED_WITH</ATTRIBUTE_NAME>
<OBJECT_COLUMN_FLAG>N</OBJECT_COLUMN_FLAG>
<DATA_TYPE>VARCHAR2</DATA_TYPE>
<PARENT_ATTRIBUTE_ID>1</PARENT_ATTRIBUTE_ID>

<ATTRIBUTE_TYPE>1</ATTRIBUTE_TYPE>
<HAS_ATTRIBUTES>0</HAS_ATTRIBUTES>
<LEAF_NODE>1</LEAF_NODE>
<REQUIRED_FLAG>N</REQUIRED_FLAG>
<IS_MAPPED>false</IS_MAPPED>
</ECX_OBJECT_ATTRIBUTES>
<ECX_OBJECT_ATTRIBUTES>
<OBJECTLEVEL_ID>0</OBJECTLEVEL_ID>
<ATTRIBUTE_ID>3</ATTRIBUTE_ID>
<ATTRIBUTE_NAME>MINIMUM_VER</ATTRIBUTE_NAME>
<OBJECT_COLUMN_FLAG>N</OBJECT_COLUMN_FLAG>
<DATA_TYPE>VARCHAR2</DATA_TYPE>
<PARENT_ATTRIBUTE_ID>1</PARENT_ATTRIBUTE_ID>

<ATTRIBUTE_TYPE>1</ATTRIBUTE_TYPE>
<HAS_ATTRIBUTES>0</HAS_ATTRIBUTES>
<LEAF_NODE>1</LEAF_NODE>
<REQUIRED_FLAG>N</REQUIRED_FLAG>
<IS_MAPPED>false</IS_MAPPED>
</ECX_OBJECT_ATTRIBUTES>
<ECX_OBJECT_ATTRIBUTES>
<OBJECTLEVEL_ID>0</OBJECTLEVEL_ID>
<ATTRIBUTE_ID>4</ATTRIBUTE_ID>
<ATTRIBUTE_NAME>HOME_LIST</ATTRIBUTE_NAME>
<OBJECT_COLUMN_FLAG>N</OBJECT_COLUMN_FLAG>
<DATA_TYPE>VARCHAR2</DATA_TYPE>
<PARENT_ATTRIBUTE_ID>0</PARENT_ATTRIBUTE_ID>

<ATTRIBUTE_TYPE>1</ATTRIBUTE_TYPE>
<HAS_ATTRIBUTES>0</HAS_ATTRIBUTES>
<LEAF_NODE>1</LEAF_NODE>
<REQUIRED_FLAG>N</REQUIRED_FLAG>
<IS_MAPPED>false</IS_MAPPED>
</ECX_OBJECT_ATTRIBUTES>
<ECX_OBJECT_ATTRIBUTES>
<OBJECTLEVEL_ID>0</OBJECTLEVEL_ID>
<ATTRIBUTE_ID>5</ATTRIBUTE_ID>
<ATTRIBUTE_NAME>HOME</ATTRIBUTE_NAME>
<OBJECT_COLUMN_FLAG>N</OBJECT_COLUMN_FLAG>
<DATA_TYPE>VARCHAR2</DATA_TYPE>
<PARENT_ATTRIBUTE_ID>4</PARENT_ATTRIBUTE_ID>

<ATTRIBUTE_TYPE>1</ATTRIBUTE_TYPE>
<HAS_ATTRIBUTES>4</HAS_ATTRIBUTES>
<LEAF_NODE>0</LEAF_NODE>
<REQUIRED_FLAG>N</REQUIRED_FLAG>
<IS_MAPPED>false</IS_MAPPED>
</ECX_OBJECT_ATTRIBUTES>
<ECX_OBJECT_ATTRIBUTES>
<OBJECTLEVEL_ID>0</OBJECTLEVEL_ID>
<ATTRIBUTE_ID>6</ATTRIBUTE_ID>
<ATTRIBUTE_NAME>NAME</ATTRIBUTE_NAME>
<OBJECT_COLUMN_FLAG>N</OBJECT_COLUMN_FLAG>
<DATA_TYPE>VARCHAR2</DATA_TYPE>
<PARENT_ATTRIBUTE_ID>5</PARENT_ATTRIBUTE_ID>

<ATTRIBUTE_TYPE>2</ATTRIBUTE_TYPE>
<HAS_ATTRIBUTES>0</HAS_ATTRIBUTES>
<LEAF_NODE>1</LEAF_NODE>
<REQUIRED_FLAG>N</REQUIRED_FLAG>
<IS_MAPPED>false</IS_MAPPED>
</ECX_OBJECT_ATTRIBUTES>
<ECX_OBJECT_ATTRIBUTES>
<OBJECTLEVEL_ID>0</OBJECTLEVEL_ID>
<ATTRIBUTE_ID>7</ATTRIBUTE_ID>
<ATTRIBUTE_NAME>LOC</ATTRIBUTE_NAME>
<OBJECT_COLUMN_FLAG>N</OBJECT_COLUMN_FLAG>
<DATA_TYPE>VARCHAR2</DATA_TYPE>
<PARENT_ATTRIBUTE_ID>5</PARENT_ATTRIBUTE_ID>

<ATTRIBUTE_TYPE>2</ATTRIBUTE_TYPE>
<HAS_ATTRIBUTES>0</HAS_ATTRIBUTES>
<LEAF_NODE>1</LEAF_NODE>
<REQUIRED_FLAG>N</REQUIRED_FLAG>
<IS_MAPPED>false</IS_MAPPED>
</ECX_OBJECT_ATTRIBUTES>
<ECX_OBJECT_ATTRIBUTES>
<OBJECTLEVEL_ID>0</OBJECTLEVEL_ID>
<ATTRIBUTE_ID>8</ATTRIBUTE_ID>
<ATTRIBUTE_NAME>TYPE</ATTRIBUTE_NAME>
<OBJECT_COLUMN_FLAG>N</OBJECT_COLUMN_FLAG>
<DATA_TYPE>VARCHAR2</DATA_TYPE>
<PARENT_ATTRIBUTE_ID>5</PARENT_ATTRIBUTE_ID>

<ATTRIBUTE_TYPE>2</ATTRIBUTE_TYPE>
<HAS_ATTRIBUTES>0</HAS_ATTRIBUTES>
<LEAF_NODE>1</LEAF_NODE>
<REQUIRED_FLAG>N</REQUIRED_FLAG>
<IS_MAPPED>false</IS_MAPPED>
</ECX_OBJECT_ATTRIBUTES>
<ECX_OBJECT_ATTRIBUTES>
<OBJECTLEVEL_ID>0</OBJECTLEVEL_ID>
<ATTRIBUTE_ID>9</ATTRIBUTE_ID>
<ATTRIBUTE_NAME>IDX</ATTRIBUTE_NAME>
<OBJECT_COLUMN_FLAG>N</OBJECT_COLUMN_FLAG>
<DATA_TYPE>VARCHAR2</DATA_TYPE>
<PARENT_ATTRIBUTE_ID>5</PARENT_ATTRIBUTE_ID>

<ATTRIBUTE_TYPE>2</ATTRIBUTE_TYPE>
<HAS_ATTRIBUTES>0</HAS_ATTRIBUTES>
<LEAF_NODE>1</LEAF_NODE>
<REQUIRED_FLAG>N</REQUIRED_FLAG>
<IS_MAPPED>false</IS_MAPPED>
</ECX_OBJECT_ATTRIBUTES>
</ECX_OBJECT_LEVELS>
</ECX_OBJECTS>
<ECX_OBJECTS>
<OBJECT_ID>2</OBJECT_ID>
<OBJECT_NAME>TGT</OBJECT_NAME>
<OBJECT_TYPE>XML</OBJECT_TYPE>
<OBJECT_DESCRIPTION>Target Definition</OBJECT_DESCRIPTION>
<OBJECT_STANDARD>OAG</OBJECT_STANDARD>
<ROOT_ELEMENT>INVENTORY</ROOT_ELEMENT>


<ECX_OBJECT_LEVELS>
<OBJECTLEVEL_ID>1</OBJECTLEVEL_ID>
<OBJECT_ID>2</OBJECT_ID>
<OBJECT_LEVEL>0</OBJECT_LEVEL>
<OBJECT_LEVEL_NAME>INVENTORY</OBJECT_LEVEL_NAME>
<PARENT_LEVEL>0</PARENT_LEVEL>
<ENABLED>Y</ENABLED>
<ECX_OBJECT_ATTRIBUTES>
<OBJECTLEVEL_ID>1</OBJECTLEVEL_ID>
<ATTRIBUTE_ID>0</ATTRIBUTE_ID>
<ATTRIBUTE_NAME>INVENTORY</ATTRIBUTE_NAME>
<OBJECT_COLUMN_FLAG>N</OBJECT_COLUMN_FLAG`

<PARENT_ATTRIBUTE_ID>0</PARENT_ATTRIBUTE_ID>


<ATTRIBUTE_TYPE>1</ATTRIBUTE_TYPE>
<HAS_ATTRIBUTES>0</HAS_ATTRIBUTES>
<LEAF_NODE>1</LEAF_NODE>
<REQUIRED_FLAG>Y</REQUIRED_FLAG>
<IS_MAPPED>false</IS_MAPPED>
</ECX_OBJECT_ATTRIBUTES>
<ECX_OBJECT_ATTRIBUTES>
<OBJECTLEVEL_ID>1</OBJECTLEVEL_ID>
<ATTRIBUTE_ID>1</ATTRIBUTE_ID>
<ATTRIBUTE_NAME>VERSION_INFO</ATTRIBUTE_NAME>
<OBJECT_COLUMN_FLAG>N</OBJECT_COLUMN_FLAG>
<DATA_TYPE>VARCHAR2</DATA_TYPE>
<PARENT_ATTRIBUTE_ID>0</PARENT_ATTRIBUTE_ID>

<ATTRIBUTE_TYPE>1</ATTRIBUTE_TYPE>
<HAS_ATTRIBUTES>0</HAS_ATTRIBUTES>
<LEAF_NODE>1</LEAF_NODE>
<REQUIRED_FLAG>N</REQUIRED_FLAG>
<IS_MAPPED>false</IS_MAPPED>
</ECX_OBJECT_ATTRIBUTES>
<ECX_OBJECT_ATTRIBUTES>
<OBJECTLEVEL_ID>1</OBJECTLEVEL_ID>
<ATTRIBUTE_ID>2</ATTRIBUTE_ID>
<ATTRIBUTE_NAME>SAVED_WITH</ATTRIBUTE_NAME>
<OBJECT_COLUMN_FLAG>N</OBJECT_COLUMN_FLAG>
<DATA_TYPE>VARCHAR2</DATA_TYPE>
<PARENT_ATTRIBUTE_ID>1</PARENT_ATTRIBUTE_ID>

<ATTRIBUTE_TYPE>1</ATTRIBUTE_TYPE>
<HAS_ATTRIBUTES>0</HAS_ATTRIBUTES>
<LEAF_NODE>1</LEAF_NODE>
<REQUIRED_FLAG>N</REQUIRED_FLAG>
<IS_MAPPED>false</IS_MAPPED>
</ECX_OBJECT_ATTRIBUTES>
<ECX_OBJECT_ATTRIBUTES>
<OBJECTLEVEL_ID>1</OBJECTLEVEL_ID>
<ATTRIBUTE_ID>3</ATTRIBUTE_ID>
<ATTRIBUTE_NAME>MINIMUM_VER</ATTRIBUTE_NAME>
<OBJECT_COLUMN_FLAG>N</OBJECT_COLUMN_FLAG>
<DATA_TYPE>VARCHAR2</DATA_TYPE>
<PARENT_ATTRIBUTE_ID>1</PARENT_ATTRIBUTE_ID>

<ATTRIBUTE_TYPE>1</ATTRIBUTE_TYPE>
<HAS_ATTRIBUTES>0</HAS_ATTRIBUTES>
<LEAF_NODE>1</LEAF_NODE>
<REQUIRED_FLAG>N</REQUIRED_FLAG>
<IS_MAPPED>false</IS_MAPPED>
</ECX_OBJECT_ATTRIBUTES>
<ECX_OBJECT_ATTRIBUTES>
<OBJECTLEVEL_ID>1</OBJECTLEVEL_ID>
<ATTRIBUTE_ID>4</ATTRIBUTE_ID>
<ATTRIBUTE_NAME>HOME_LIST</ATTRIBUTE_NAME>
<OBJECT_COLUMN_FLAG>N</OBJECT_COLUMN_FLAG>
<DATA_TYPE>VARCHAR2</DATA_TYPE>
<PARENT_ATTRIBUTE_ID>0</PARENT_ATTRIBUTE_ID>

<ATTRIBUTE_TYPE>1</ATTRIBUTE_TYPE>
<HAS_ATTRIBUTES>0</HAS_ATTRIBUTES>
<LEAF_NODE>1</LEAF_NODE>
<REQUIRED_FLAG>N</REQUIRED_FLAG>
<IS_MAPPED>false</IS_MAPPED>
</ECX_OBJECT_ATTRIBUTES>
<ECX_OBJECT_ATTRIBUTES>
<OBJECTLEVEL_ID>1</OBJECTLEVEL_ID>
<ATTRIBUTE_ID>5</ATTRIBUTE_ID>
<ATTRIBUTE_NAME>HOME</ATTRIBUTE_NAME>
<OBJECT_COLUMN_FLAG>N</OBJECT_COLUMN_FLAG>
<DATA_TYPE>VARCHAR2</DATA_TYPE>
<PARENT_ATTRIBUTE_ID>4</PARENT_ATTRIBUTE_ID>

<ATTRIBUTE_TYPE>1</ATTRIBUTE_TYPE>
<HAS_ATTRIBUTES>4</HAS_ATTRIBUTES>
<LEAF_NODE>0</LEAF_NODE>
<REQUIRED_FLAG>N</REQUIRED_FLAG>
<IS_MAPPED>false</IS_MAPPED>
</ECX_OBJECT_ATTRIBUTES>
<ECX_OBJECT_ATTRIBUTES>
<OBJECTLEVEL_ID>1</OBJECTLEVEL_ID>
<ATTRIBUTE_ID>6</ATTRIBUTE_ID>
<ATTRIBUTE_NAME>NAME</ATTRIBUTE_NAME>
<OBJECT_COLUMN_FLAG>N</OBJECT_COLUMN_FLAG>
<DATA_TYPE>VARCHAR2</DATA_TYPE>
<PARENT_ATTRIBUTE_ID>5</PARENT_ATTRIBUTE_ID>

<ATTRIBUTE_TYPE>2</ATTRIBUTE_TYPE>
<HAS_ATTRIBUTES>0</HAS_ATTRIBUTES>
<LEAF_NODE>1</LEAF_NODE>
<REQUIRED_FLAG>N</REQUIRED_FLAG>
<IS_MAPPED>false</IS_MAPPED>
</ECX_OBJECT_ATTRIBUTES>
<ECX_OBJECT_ATTRIBUTES>
<OBJECTLEVEL_ID>1</OBJECTLEVEL_ID>
<ATTRIBUTE_ID>7</ATTRIBUTE_ID>
<ATTRIBUTE_NAME>LOC</ATTRIBUTE_NAME>
<OBJECT_COLUMN_FLAG>N</OBJECT_COLUMN_FLAG>
<DATA_TYPE>VARCHAR2</DATA_TYPE>
<PARENT_ATTRIBUTE_ID>5</PARENT_ATTRIBUTE_ID>

<ATTRIBUTE_TYPE>2</ATTRIBUTE_TYPE>
<HAS_ATTRIBUTES>0</HAS_ATTRIBUTES>
<LEAF_NODE>1</LEAF_NODE>
<REQUIRED_FLAG>N</REQUIRED_FLAG>
<IS_MAPPED>false</IS_MAPPED>
</ECX_OBJECT_ATTRIBUTES>
<ECX_OBJECT_ATTRIBUTES>
<OBJECTLEVEL_ID>1</OBJECTLEVEL_ID>
<ATTRIBUTE_ID>8</ATTRIBUTE_ID>
<ATTRIBUTE_NAME>TYPE</ATTRIBUTE_NAME>
<OBJECT_COLUMN_FLAG>N</OBJECT_COLUMN_FLAG>
<DATA_TYPE>VARCHAR2</DATA_TYPE>
<PARENT_ATTRIBUTE_ID>5</PARENT_ATTRIBUTE_ID>

<ATTRIBUTE_TYPE>2</ATTRIBUTE_TYPE>
<HAS_ATTRIBUTES>0</HAS_ATTRIBUTES>
<LEAF_NODE>1</LEAF_NODE>
<REQUIRED_FLAG>N</REQUIRED_FLAG>
<IS_MAPPED>false</IS_MAPPED>
</ECX_OBJECT_ATTRIBUTES>
<ECX_OBJECT_ATTRIBUTES>
<OBJECTLEVEL_ID>1</OBJECTLEVEL_ID>
<ATTRIBUTE_ID>9</ATTRIBUTE_ID>
<ATTRIBUTE_NAME>IDX</ATTRIBUTE_NAME>
<OBJECT_COLUMN_FLAG>N</OBJECT_COLUMN_FLAG>
<DATA_TYPE>VARCHAR2</DATA_TYPE>
<PARENT_ATTRIBUTE_ID>5</PARENT_ATTRIBUTE_ID>

<ATTRIBUTE_TYPE>2</ATTRIBUTE_TYPE>
<HAS_ATTRIBUTES>0</HAS_ATTRIBUTES>
<LEAF_NODE>1</LEAF_NODE>
<REQUIRED_FLAG>N</REQUIRED_FLAG>
<IS_MAPPED>false</IS_MAPPED>
</ECX_OBJECT_ATTRIBUTES>
</ECX_OBJECT_LEVELS>
</ECX_OBJECTS>
</ECX_MAPPINGS>
<SCRIPT  SRC="/oracle_smp_chronos/oracle_smp_chronos.js"></SCRIPT>