Inserting Final Data into the Record before Commit in Siebel
If you want to insert some new data, based on the final record, you can use the before commit callback function (Hook 1).
In this scenario, Siebel will send the final record, before commit, to external system in the input argument of callback function, whereas the external system modifies the record and sends it back in the output argument of callback function. Siebel then commit this record.
The SiebelMessage
in the input and output arguments are based on
existing UCM Integration Objects, for example: SwiPersonIO, SwiOrganizationIO,
CIFContactUpdate, CIFAccountInsert
, etc.
Following are the sample input and output arguments with Account as parent object and Account Business Address as child entity object:
Sample input & output arguments for hook 1 (before commit) callback function:
<Input> //Send to external system
<SiebelMessage>
<IntObjectName>SwiOrganizationIO</IntObjectName>
<ListOfSwiOrganizationIO>
<ExternalSystemId>Siebel01</ExternalSystemId>
<Account>
<MainPhoneNumber>2222222222</MainPhoneNumber>
<PartyUId>C26C3D88-7C8D-462c-BC5E-35C32358E25F</PartyUId>
<MainFaxNumber>3333333333</MainFaxNumber>
<Location>San Jose</Location>
<Name>TRANSEND</Name>
<ListOfAccount_BusinessAddress>
<Account_BusinessAddress>
<StreetAddress>111 Pine St</StreetAddress>
<City>San Francisco</City>
<State>CA</State>
<Country>USA</Country>
<PostalCode>94134</PostalCode>
</Account_BusinessAddress>
</ListOfAccount_BusinessAddress>
</Account>
</ListOfSwiOrganizationIO>
</SiebelMessage>
</Input>
<Output> //Return from external system
<SiebelMessage>
<IntObjectName>SwiOrganizationIO</IntObjectName>
<ListOfSwiOrganizationIO>
<ExternalSystemId>Siebel01</ExternalSystemId>
<Account>
<MainPhoneNumber>2222222222</MainPhoneNumber>
<PartyUId>C26C3D88-7C8D-462c-BC5E-35C32358E25F</PartyUId>
<MainFaxNumber>3333333333</MainFaxNumber>
<Location>San Jose</Location>
<Name>TRANSEND</Name>
<AccountTypeCode>Customer</AccountTypeCode> //New data inserted by external system
<AccountStatus>Active</AccountStatus>
<ListOfAccount_BusinessAddress>
<Account_BusinessAddress>
<StreetAddress>111 Pine St</StreetAddress>
<City>San Francisco</City>
<State>CA</State>
<Country>USA</Country>
<PostalCode>94134</PostalCode>
</Account_BusinessAddress>
</ListOfAccount_BusinessAddress>
</Account>
</ListOfSwiOrganizationIO>
</SiebelMessage>
</Output>