The Oracle Policy Automation Connector for Oracle CRM On Demand uses a mapping of CRM On Demand business objects, components and fields to entities and attributes in a rulebase.
Defining a mapping for a rulebase is a two-step process:
- Select and Configure CRM On Demand Objects
On this page:
The business object (for example, Account) is pre-selected and cannot be un-selected. It will be imported as the rulebase’s Global entity.
For each CRM On Demand Record Type on the left panel, the user needs to configure the corresponding operation/s that will be performed, in the right pane. This is done by clicking the appropriate operation checkboxes - Load, Save and Insert - and choosing the appropriate Insert Entity.
If the check-boxes for Load and/or Save are selected, Load/Save Entity will be enabled and automatically set to be either global for the root object or an entity matching the name of the object (for example, crmodServiceRequest). If it is not enabled, the associated entity should be (none).
If the check-box for Insert is selected, Insert Entity will be enabled and able to be changed. This can be either be global, the same entity as load / save, or another entity with new in the name (for example, crmodNewServiceRequest). If it is not enabled, the associated entity should be (none).
If the check-box for Save is selected, the Load checkbox will be auto-selected.
If the check-box for Inferred Entity is selected, the Load and Save checkboxes will be un-selected and disabled.
Note: If the entity is an inferred entity, it cannot load data from CRM On Demand. When an entity is inferred, but a Load or LoadSave mapping has been specified (Inferred Entity checkbox not selected), this mapping will be ignored during the interview (runtime) and, for example, the following warning message logged:
'WARN CRMOD-OPA-MSG - The entity "crmodnote" entity is an inferred entity. The Load or Load/Save mapping of this entity will be ignored.'
- Only one object (each) can be configured for Load/Save and Insert entity mapping.
Validations
Click on the Next button and validation is performed to ensure that:
- An Insert Entity is selected for a record type configured for insert.
The global entity has at least one mapping (Load, Save and/or Insert) since the global entity is required in Oracle Policy Modeling.
The global insert entity is only mapped to one object.
The global insert entity is not configured as an inferred entity.
For the Parent object mapping, the global insert entity is selected if both Load and Insert have been ticked (see the CRM On Demand Release Notes for more details).
- Select Attributes to be Loaded and/or Saved
On this page:
If no Load or Both entities have been configured, then this screen will not appear.
- You can select the attributes that are mapped between the entity and the associated CRM On-Demand object for Load/Save (for example, global, crmodLead and crmodServiceRequest). The default direction is either Load or Both (Load and Save) depending on whether the Load or Save check-boxes were selected for an entity.
- <RecordType>Id or Id is pre-selected (Direction = Load) to serve as the mapping's default Object ID.
Direction determines how an attribute will be used in reference to CRM On Demand. Direction can have any of the following values:
- Load – the attribute will be used as placeholder for field values retrieved from CRM On Demand.
- Save – the attribute will be used as placeholder for values to be saved back to a CRM On Demand field. Note that the Null Value drop-down selection is disabled when the attribute direction is "Save".
- Both (default) – the attribute is used for both Loading and Saving.
- Null Value refers to the value that an imported attribute takes if the corresponding field value pulled from CRM On Demand is Null; it can have any one of the following values:
- Unknown (default)
- Uncertain
- Error
The Null Value drop-down selection will only be enabled when the attribute direction is either "Load" or "Both"; for "Save", it is disabled.
Notes on the Auto-Selection of Object Ids
The following outlines the wizard page's behavior for auto-selecting an Object Id attribute:
- By default, the wizard page automatically selects a probable Object Id candidate for each Load/Save entity.
- It will first look for the Id attribute and automatically add it for import; if not present, it will add the <record-type>Id attribute instead.
- Select Attributes to be Inserted
On this page:
If no Insert entites have been configured, then this screen will not appear.
- Select the attributes that are mapped between the entity and the associated CRM On-Demand objects for insert.
The direction of the attributes would be “Insert” and unable to be changed.
- Configure Attribute Properties
On this page:
Configure Load/Save and Insert entity attributes.
Attribute data types and texts can me modified; default data types are derived from CRM On Demand Field names. In certain cases, these are not accurate and would require the user to manually edit data type values.
- Only attributes with a Load and/or Save Direction will have an “ID [CRMOD]” Data Type option.
The default Object Id will be automatically assigned a “ID [CRMOD]” Data Type. If the default selection has been modified from the previous wizard page, no attribute will be tagged as an Object Id.
The Identifying Attribute checkbox allows an attribute to be mapped as the identifying attribute of an entity.
Validations:
- Click on the Next button and validation is performed to ensure that:
There is an Object Id attribute selected for each Load/Save entity.
Only one Object Id is added to each Load/Save entity.
The Object Id selected has a Load or Both Direction.
- Configure Relationships
On this page:
- All of the relationships that will be imported are displayed.
- Based on the standard schema structure of Business Objects and their Components, all generated relationships are assumed to be Containment (One To Many) relationships that have the global entity as the source entity.
- The Text, Reverse Text and Create As Unknown values can be edited.
- Create As Unknown refers to the setting that allows the connector to tag a relationship as Known or Unknown when no target instances have been specified; it can have any of the following values:
- Checked – the relationship is Unknown when no target instances have been specified.
- Unchecked (default) - the relationship is Known when no target instances have been specified.
Create As Unknown is checked and disabled for a relationship with a target entity that only has an Insert mapping. This will make sure that the entity instances are populated during the interview.
Create As Unknown is un-checked and disabled for a relationship with an inferred target entity.
- Summary
On this page:
- A summary of the entities, attributes and relationships to be imported is displayed.
- <rulebase_dir>\Properties\CRMODProperties.xsrc
The generated properties file. It will be loaded to rulebase.
<rulebase_dir>\Include\<rulebase_name>-mapping.xml
The generated mapping file.
An existing Mapping file can be modified by going through the same steps outlined above. An additional validation is performed upon loading the selected schema to make sure that it represents the same object referenced in the existing mapping file.