Siebel Data Mapping
Siebel Data Mapping
I am getting the following error: ObjMgrBusServiceLog Error 1 0 2006-04-08 17:46:07 (dtescriptsvc.cpp (103)) SBL-EAI-04088: Data Transform Error. EAIExecuteMap: Invalid Map Function Argument Type: '' ObjMgrLog Error 1 0 2006-04-08 17:46:07 (stepexec.cpp (768)) SBL-BPR-00162: Error invoking service 'objDataMaps', method 'Execute' at step 'DataMaps'.
I am using this sample Script: function ObjOutBoundMap1(ObjectIn, ObjectOut) { /* It is an example of business service Script for the Map developement. * Input Objects' Integration Components * Integration Account Object * * Output Object's Integration Components: * Customer Data to be written in the file */
IIntObj= ObjectIn.GetIntObj("ObjAccountIntegration"); EIntObj=ObjectOut.CreateIntObj("customer12"); while(IIntObj.NextInstance()) { EIntObj.NewInstance(); var EIntCmp = EIntObj.CreatePrimaryIntComp("customer"); var IIntcmp = IIntObj.GetPrimaryIntComp("Account"); while(IIntcmp.NextRecord()) { EIntCmp.NewRecord(); EIntCmp.SetSource(IIntCmp); EIntcmp.CopyFieldValue("Id","id"); EIntcmp.CopyFieldValue("Id","Name"); }
} } I have created the workflow and given the Business Service name and the map function name. I have tried changes different properties of the BS.
Integration objects
Specify parameters for the new integration object. a. Select NWD Account as the Project. b. Select EAI Siebel Wizard from the Specify the source system of the new Integration Object drop-down list. For the Account integration component, make the following fields active: (Hint: Use columns displayed to reposition the Inactive column)
Account Integration Component Fields
For the Contact integration component, make the following fields active:
Contact Integration Component Fields
Note that you have added Account Integration Id as an integration component. It serves as the foreign key field to the parent account record. In addition, you have also added the Person UId field. You will use this field as part of a user key in the next
step.
Specify the integration component key and integration component key fields for the integration object. a. Set the active integration component keys, and the active integration component key fields, using the table below. Only the items listed below should remain active.
Integration Component Integration Component Key Integration Component Key Field
Make sure that the V77 Wizard-Generated User Key:1 for Account_Business Address is set to inactive.
3 - In Data Map field we specify field to field mapping, data from which source field should go to which destination field. However source/destination field could be of following types based on our requirement: Field: BC field Parameter: Input argument to business service Expression: combination of BC field or Parameters The most important thing here is the Key field, which helps in matching source record with destination record during update operation. More of this is given in "siebel finance bookshelf".
4 - Once data map is done, our job is very simple. We need to write a workflow which can call this business service and invoke that workflow on contact write record. Sample workflow should look like. Method Invoked is: DataTransfer Parameters which we have passed are: Operation - Update : It specifies which operation we need to perform. Values are Insert,Update,Delete and Upsert
InitBO - Contact : Initiator BO InitBC - Contact : Initiator BC DataMapObj - Service Request Test : Name of the Data Map &Status - Closed : Status value we need to set for SR &SRId - '288-70710' : SR Number for which we need to set status. This could be process property. I have hard coded for testing purpose.
5 - Create a runtime event which invokes this workflow on writerecord of Contact BC. Once reload is done try to see the magic. This business service is of immense help if used efficiently and can be of real help in scenarios involving update/insert of multiple business components.