Integration Platform Technologies: Siebel Enterprise Application Integration > Creating and Maintaining Integration Objects >

Creating Integration Object Instances Programmatically


Because integration objects adhere to a set of structural conventions, they can be traversed and transformed programmatically, using Siebel eScript objects, methods, and functions, or transformed declaratively using the Siebel Data Mapper.

This topic outlines the steps required to create an integration object instance programmatically, using the EAI Account integration object as an example.

To create the correct integration object instance programmatically, follow these rules:

  • The root property set must have its type set to ListOf concatenated with the integration object name (ListOfIOName).
  • The next property set of the hierarchy must have the root integration component name as its type. The root integration component is the one that has no Parent Integration Component set (RootICName).
  • All other integration components must have the Parent Integration Component set. For those integration components, create a property set with type set to ListOf concatenated with the integration component name (ListOfICName) and then add as child to this property set another one with type set to the integration component name.

The following hierarchy demonstrates the rules:

  ListOfIOName

RootICName

  ListOfICName1

ICName1

  ListOfICName1_1

ICName1_1

  ListOfICName2

ICName2

Figure 18 shows some of the integration components in the hierarchy of the EAI Account integration object.

Figure 18. EAI Account Integration Object Hierarchy

Based on its hierarchy, the integration object instance will have the following property set hierarchy:

  ListOfEAI Account

Account

  ListOfAccount_Business Address

Account_Business Address

  ListOfContact

Contact

  ListOfContact_Alternate Phone

Contact_Alternate Phone

The following Siebel eScript example creates an instance of the hierarchy shown in Figure 18:

// Local variable creation, error handling, and object destruction are omitted for clarity.

psConAltPhone.SetType("Contact_Alternate Phone");

psConAltPhone.SetProperty("Alternate Phone #", "555-5555");

psListOfConAltPhone.SetType("ListOfContact_Alternate Phone");

psListOfConAltPhone.AddChild(psConAltPhone);

psContact.SetType("Contact");

psContact.SetProperty("First Name", "John");

psContact.SetProperty("Last Name", "Smith");

psContact.AddChild(psListOfConAltPhone);

psListOfContact.SetType("ListOfContact");

psListOfContact.AddChild(psContact);

psAccBusAdd.SetType("Account_Business Address");

psAccBusAdd.SetProperty("Email Address", "john.smith@email.com");

psListOfAccBusAdd.SetType("ListOfAccount_Business Address");

psListOfAccBusAdd.AddChild(psAccBusAdd);

psAccount.SetType("Account");

psAccount.SetProperty("Name", "MyAccount");

// Add the children to the Account IC.

psAccount.AddChild(psListOfAccBusAdd);

psAccount.AddChild(psListOfContact);

psListOfEAIAccount.SetType("ListOfEAI Account");

psListOfEAIAccount.AddChild(psAccount);

...

Integration Platform Technologies: Siebel Enterprise Application Integration Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Legal Notices.