You are here

Siebel EAI Adapter: skiptree and skipnode operations in Execute Method

The whole sub tree rooted at this node is not processed. It is the same as that whole sub tree not existing in the integration object instance. Operations specified in child nodes do not affect processing in any way since the EAI Siebel Adapter does not act on the child.

<?xml version="1.0" encoding="UTF-8"?>

  <?Siebel-Property-Set EscapeNames="false"?>
<SiebelMessage MessageId="1-2RE" MessageType="Integration Object" IntObjectName="Sample
  Account" IntObjectFormat="Siebel Hierarchical">
<ListOfSampleAccount>
<Account operation="upsert">
<Name>foo </Name>
<Location>cold storage</Location>
<ListOfContact>
  <Contact operation="skiptree">
    <FirstName>firstname</FirstName>
    <LastName>contact1</LastName>
    <ListOfBusinessAddress>
    <BusinessAddress operation="insert">
      <City>San Mateo</City>
      <Zip>94402</Zip>
      <AddressName>primary address</AddressName>
    </BusinessAddress>
    </ListOfBusinessAddress>
  </Contact>
 </ListOfContact>
</Account>
</ListOfSampleAccount>
  </SiebelMessage>
 

Based on this example, the account is upserted. The processing of the contact is completely skipped although the business address child has an insert operation set.

If the skiptree operation is specified for the account integration component, then the EAI Siebel Adapter skips processing the complete account. This results in no operation.

Skipnode Operation

Similar to all other Execute operations, the children nodes inherit the semantics of the operation from the parent nodes. If a node has operation skipnode set, then the EAI Siebel Adapter will skip setting field values for all children unless a child has an explicit operation set that will override.

 
<?xml version="1.0" encoding="UTF-8"?>
<?Siebel-Property-Set EscapeNames="false"?>
<SiebelMessage MessageId="1-2RE" MessageType="Integration Object" IntObjectName=
"EAI Account" IntObjectFormat="Siebel Hierarchical">
<ListOfAccount>
<Account operation="skipnode">
<Name>foo</Name>
<Location>cold storage</Location>
<ListOfContact>
  <Contact operation="upsert">
<IntegrationId>1-123</IntegrationId>
    <FirstName>firstname</FirstName>
    <LastName>contact1</LastName>
  <ListOfContact_Organization>
    <Contact_Organization>
      <Organization operation="insert">MyOrganization</Organization>
      </Contact_Organization>
</ListOfContact_Organization>
  </Contact>
  <Contact operation="upsert">
<IntegrationId>2-123</IntegrationId>
  <FirstName>firstname</FirstName>
  <LastName>contact2</LastName>
  </Contact>
</ListOfContact>
</Account>
</ListOfAccount>
  </SiebelMessage>

Based on this example, the account is skipped. However, the EAI Siebel Adapter will attempt to insert the two contacts.