Integration Platform Technologies: Siebel eBusiness Application Integration Volume ll > Creating and Maintaining Integration Objects >
Resolving Synchronization Conflicts for Integration Objects and User Properties
This section serves as a guide to resolving synchronization conflicts should any arise. Table 6 illustrates behavior of the merging logic for each of the integration object parts that have to be synchronized.
Table 6. Merging Logic Used for Synchronizing Integration Objects
Integration Object Metadata |
|
Objects |
Validate that Business Object still exists. |
Components |
Present the tree of components based on current business object definition. The components present in current integration object are checked in the UI tree, other components presented as Inactive. User decides which components to add/delete. This is done by the Synchronization wizard UI. |
Fields |
Keep current integration component fields if still present in the business component, otherwise delete. Add new fields in a way that does not conflict with existing ones (see Sequence for more info). System fields are created when appropriate (for example searchspec, IsPrimaryMVG, and operation). If system field is inconsistent with integration component definition, delete it. Active/Inactive - Preserve current integration component field value unless Business Component Field is Required (field must be present during Insert). Otherwise, new fields are created Inactive. |
XML Properties |
Preserve current integration object values to keep XML compatible. Add new components/fields properties avoiding conflict with existing XML. XML Properties are processed according to the XML sequence. New components/fields XML sequence within the parent component element will be higher than current. Existing processing code should be reused (and checked for correct behavior). |
External Sequence on components/fields |
Preserve component/field sequence within the parent component. Set sequence on new components/fields higher than existing ones. |
Name |
Preserve Names in the current integration object. |
User key, Hierarchy key, Other keys (for example, Status Key) |
Existing Keys:
- Keep existing keys as Active if all the key fields are Active.
- Make Inactive if Inactive already or if any of the fields are Inactive.
- If a field is Inactive in an integration component, make it Inactive in the key. Make the key Inactive.
- If a field is not present in an integration component, delete it from the key. Make the key Inactive.
New Keys:
- Create new keys as Inactive.
- If any of the key fields are Inactive, either:
- Do not create the key.
- Make fields Active in the integration component.
|
User Properties |
Preserve valid cases, remove invalid ones and generate warnings. |
Table 7 shows the logic that will be used when synchronizing user properties.
Table 7. Logic Used for Synchronizing User Properties
|
Values (Default is in italics) |
Level (Object, Component, or Field) |
|
Association |
Y,N |
C |
Siebel Wizard generates the value based on current business component definition. Wizard overwrites user change since in order for integration component to be functional, the User Property has to be consistent with the business component. |
MVG |
Y,N |
C |
Siebel Wizard generates the value based on current business component definition. Wizard overwrites user change since in order for integration component to be functional, the User Property has to be consistent with the business component. IsPrimaryMVG system field is created in merged integration object. |
Picklist |
Y,N |
F |
Siebel Wizard generated, user change is kept if valid (if Picklist component). Review the input object for a user property of PICKLIST. Copy from the current field. |
PicklistUserKeys |
Any active fields. |
F |
Entered by user, keep only Active fields. User Property is valid only if PICKLIST = Y on integration component. If no Active fields left, remove the user property. |
IgnoreBoundedPicklist |
Y,N |
O, C, F |
Entered by user, keep if valid (if component Picklist = Y). |
MVGAssociation |
Y,N |
C |
Siebel Wizard generates the value based on current business component definition. Wizard overwrites user change since in order for integration component to be functional, the User Property has to be consistent with the business component. IsPrimaryMVG system field is created in merged integration object. |
MVGFieldName |
Any valid field name in the MVG business component. |
F |
Siebel Wizard generates the value based on current business component definition. Wizard overwrites user change since in order for integration component to be functional, the User Property has to be consistent with the business component. (component MVG = Y) |
AssocFieldName |
Any valid field name in the Association business component. |
F |
Siebel Wizard generates the value based on current business component definition. Wizard overwrites user change since in order for integration component to be functional, the User Property has to be consistent with the business component. (component MVGAssociation = Y) |
NoInsert, NoDelete, NoUpdate, NoQuery, NoSynchronize |
Y,N |
C, F (NoUpdate) |
Entered by the user. Keep the current value. |
FieldDependencyFieldName |
Any active integration component name within the same integration component. |
F |
Entered by the user. Keep the current value if valid (if FieldName field is Active). |
AdminMode |
Y, N |
C, O |
Entered by the user. Keep the current value. |
ViewMode |
All, Manager, Sales Represent, and any others |
O |
Entered by the user. Keep the current value. |
AllLangIndependentVals |
Y,N |
O |
Entered by the user; if the value exists, keep it. Otherwise, the wizard sets the value to N. |
IgnorePermissionErrorsOnUpdate, IgnorePermissionErrorsOnInsert, IgnorePermissionErrorsOnDelete |
Y,N |
C |
Entered by the user. Keep the current value. |
ForceUpdate |
Y,N |
O |
Entered by the user. Keep current the value. |
SupressQueryOnInsert |
Y,N |
C |
Entered by the user. Keep the current value. |
|