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
Merging Rules

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
User Property Name
Values (Default is in italics)
Level (Object, Component, or Field)
Merging Rules

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.

Integration Platform Technologies: Siebel eBusiness Application Integration Volume ll