Business Processes and Rules: Siebel eBusiness Application Integration Volume IV > Data Mapping Using the Siebel Data Mapper >

EAI Data Mapping Engine Expressions

The EAI Data Mapping Engine uses four categories of expressions:

  • Source expressions
  • Source search specifications
  • Preconditions
  • Postconditions

These expressions support Siebel Query Language expressions. These expressions can address fields in the source component, map arguments, and constants. In addition to fields in the source component, fields in certain other components in the source integration object can be addressed. For details, see Addressing Fields in Components. These expressions are just like Siebel Query Language support invocations of predefined functions and custom business services.

NOTE:  For details on the Siebel Query Language, see Siebel Tools Online Help.

Source Expression

Source Expression is a required field for every integration field map. The source expression can be a literal or, based on scripting if you need to parse data or query the database for a specific value. The source expression is associated with an instance of the input integration component named in the integration component map, which is the parent of the integration field map that contains the source expression. An example of a source expression is:

[First Name] + " " + [Last Name]

This expression concatenates the First Name and the Last Name and separates them with a space to be moved into a target field such as Full Name.

NOTE:  Only a subset of Siebel Query Language Expressions that do not require context of a business component, is supported by EAI Data Mapping Engine. You can not use the following Siebel Query Language Expressions that require context of a business component in the Source Expression: BCName(), Count(mvlink), IsPrimary(), Min (mvfield), Max(mvfield), ParentBCName(), ParentFieldValue(field_name), Sum(mvfield), GetXAVal(), GetXAValAsNum(), GetXAValAsInt(), GetXAValAsDate(), and XAIsClass().

Source Search Specification

Source Search Specification is a Boolean expression that is used to determine if a given component instance satisfies given criteria. It may only appear in an integration object map or a integration component map together with an integration component name. Defining a source search specification is optional, and if you do not define it, then it does not apply any criteria and returns True.

If a field in the current integration component has the same name as a field in a parent component, then you can only address the parent component field by using dot ('.') notation. An example of a source search specification is:

[Role] = "Billing"

The expression returns True only if the current input integration component has the value Billing in the Role field.

NOTE:  If a source search specification is not provided, then every input integration component whose type matches the input component of the integration component map is processed.


You can use preconditions to make sure that a field of the input object has a certain value or otherwise terminate the process. An error is generated if the field in the input object has any other value, or no value. Preconditions are evaluated immediately before their containing integration component map is executed. If the condition is true then the process continues. If the condition is false then the whole transformation is aborted and EAI Data Mapping Engine returns an error to the caller. An example of a precondition is:

[Role]="Billing" Or [Role]="Shipping"

This precondition makes sure that the field Role of the input object either has a value Billing or a value Shipping before it proceeds with the process of data transformation.

The precondition is only applied to the input components that are selected by the source search specification. The input components that fail to match the source search specification will not be checked against the precondition.

A precondition expression may address any field in the current input component, and any of its parent components. It can also address any service call parameter that has been declared as a map argument.

NOTE:  The default value for the precondition is True. If the precondition is omitted from an integration component map then no constraint is enforced.


Postconditions are evaluated and applied to the newly created objects when you execute the containing integration component map. If the result of the postcondition is true then the process continues. If the result is false, the whole transformation is aborted and EAI Data Mapping Engine returns an error. Here is an example of a postcondition:

[Object Id]<>"" Or ([First Name]<>"" And [Last Name]<>"")

This postcondition checks the output component for a value in the Object Id or in the First Name and the Last Name.

NOTE:  Because there is no search specification for output components, the postcondition is applied only once for every output component instantiated because it executes its containing integration component map.

The type of the expression may be any type that can be assigned to the Destination Field type either directly or after applying standard conversions to the result of the expression.

Business Processes and Rules: Siebel eBusiness Application Integration Volume IV