Configure mappings

Overview

In Axway Decision Insight (DI), use mappings to configure how to absorb instances and values.

To access the Mappings screen, click the Data Integration   icon. On the left menu, click Mappings

This page details all the areas of the Mappings screen.

User interface

Parameters (1)

All available parameters that a user can use in a mapping configuration. A parameter is composed of:

  • A name
  • A type

For simpler use of mappings in routes, it's recommended to use a map for the body exchange, and store all values in it.

Create a parameter

To create a parameter, click the Add parameter button in the drop down menu that will appear when you click on the placeholder where the parameter is to be used. This will create a parameter with a unique name and the appropriate type:

Edit a parameter

User can edit

  • parameter name: it must not be empty and spaces at the beginning or at the end are ignored

Add Instance Operation button (2)

When you create a mapping, click the Add Instance Operation and choose the entity to work on.

Note:  You can group several absorption calls into a single transaction. For more information, see How to group absorptions.

Default times configuration (3)

You can define the default times used for resolution and operations.

Time Description Used by Default value if empty
default resolution at Time at which the instance should be resolved
  • Resolution of an instance by key
  • Resolution of a relation target instance by key
Current time (now)
default operation date from Time at which the operations begin
  • Begin time of any attribute or relation change
  • Begin time of any attribute or relation removal
  • Time at which a key is bound
  • Time at which a key is unbound
Current time (now)
[default operation date] until Time at which the operations end
  • End time of any attribute or relation change
  • End time of any attribute or relation removal
Deletion time of the instance

Special values

Proposed value Corresponding constant value Description Valid for
Resolution Operation begin Operation end
version start FROM_VERSION_START From the start instant of the current application version (tick) (tick) (minus) 
instance creation FROM_INSTANCE_CREATION From the creation of the resolved instance (minus) (tick) (minus)
end UNTIL_END Until the end of time (minus) (minus) (tick)
changed UNTIL_CHANGED Until the next stored value change (or end of the instance) (minus) (minus) (tick)
instance deletion UNTIL_INSTANCE_DELETION Until the instance deletion (or end of time if instance is not deleted) (minus) (minus) (tick)
now NOW Current instant (tick) (tick) (tick)
today TODAY Current day at midnight (server time) (tick) (tick) (tick)
yesterday YESTERDAY Yesterday at midnight (server time) (tick) (tick) (tick)
application start FROM_APPLICATION_START (warning) From the start instant of the application (tick) (tick) (minus)

These special values are proposed as value for resolution time, operation start and operation end.

It is also possible to use these constants from routes thru the mapping's parameters. In this case, load the parameter with one of the literals of the 2nd column. Load the parameter with FROM_INSTANCE_CREATION for instance.

application start constant provides a way to correct all past versions. To make changes to the current application version only, application developers must use version start instead.

Resolution type (4)

There are two ways to resolve an instance of a particular entity.

Type Description
Key Using one of its keys. Each attribute and relation of the key must be defined otherwise, you will get an error message.
Instance Identifier Using its unique identifier which can be retrieved using Events (instance ID or instance UUID)

Key resolution options (5)

These options are only available when you select the resolution by Key option The options are not available if you select the instance id option.

Resolution option Description Comment
Ignore if instance of Entity not found at resolution time If there is no instance with the given key at the given resolution time, the instance operation or the relation change will be skipped. If a skipped operation contains resolutions in auto-create, the resolutions are created.
Error if instance of Entity not found at resolution time

If there is no instance with the given key at the given resolution time, you will get an error message.

Use this option to update fields on instances that should exist.
Create an instance of Entity if not found at resolution time or after

If there is no instance with the given key at the given resolution time or after, an instance is created.

Use this option if you want to update fields on instances, but don't know if they have already been created or not.
Create an instance of Entity if not found at resolution time

If there is no instance with the given key at the given resolution time, the instance is created.

This option is only available for transactionnal entities.

It is much faster than the previous option, but it may lead to inconsistent data in the database if an instance is already defined with this key later on.

Make sure that all operations on a single instance are time ordered. If you cannot guaranty that, use the previous option.

Resolution time override (6)

If not overriden, the resolution time of the instance will be the default one. Select a value to force the user to define a resolution time that will override the default one.

Add an operation chooser (7)

Once an instance is resolved you can perform several operations on it.

Operation Description
Add attribute operation Defines or removes the value of a particular attribute or relation of your instance.
Unbind key Removes the values of the key. If there is no longer any key with values, the instance is deleted.
Add space operation Defines or removes the space of an instance. It is only available for entities of type configuration.

Operation types on attributes (8)

Different operation types are available when changing or removing the values of attributes or relations.

For mono-valued members

Operation Type Description
Change value(s) of attribute Update

The attribute or relation is modified if the new value is different from the previous one, sometimes on the validity interval.

Additionally, if the storage already contains the new value on a validity interval overlapping the beginning or the end of the new validity interval, the new validity interval is extended.

Add The attribute or relation is updated with a new valid time, no matter the previous value.
Initialize

The provided value is added to the set between operation begin and operation end, only when the instance is created or extended.

If the instance is then updated or re-absorbed, this operation will have no effect. When the instance already exists and is not extended, this operation is skipped.

When extending an instance, if the storage already contains the new value on a validity interval overlapping the beginning or the end of the new validity interval, the new validity interval is extended.

Performance optimization

You typically use this setting if the mapping is too slow and called multiple times to update a large number of members.

Remove value(s) of attribute Remove The attribute or relation is removed if the saved value is equal to the current one.
Clear The attribute or relation is removed no matter its saved value.

To better understand how these operations works, read Mapping operations examples.

For a multi-valued members

Operation Type Description
Change value(s) of attribute Update

The provided value is added to the set between operation begin and operation end, only it is not already part of the set of existing values.

However, when intervals of new and previous values intersect and the values are the same, then these values are updated
on the merged interval.

Add The provided value is added to the set between operation begin and operation end, no matter what the existing values are.
Initialize

The provided value is added to the set between operation begin and operation end, only when the instance is created or extended.

If the instance is then updated or re-absorbed, this operation will have no effect. When the instance already exists and is not extended, this operation is skipped.

When extending an instance, if the intervals of new and updated values intersect and the values are the same, then these values are updated on the merged interval.

Performance optimization

You typically use this setting if the mapping is too slow and called multiple times to update a large number of members.

Remove value(s) of attribute Remove The provided value is removed from the set between operation begin and operation end.
Clear Remove all existing values from the set. After this operation, the set is empty between operation begin and operation end.

To better understand how these operations works, read Mapping operations examples.

Null policies (9)

Configure the desired behavior when the new value is not defined.

Policy Description
Error The user receives an error message. This option must be used if the value must always be defined.
Clear It clears the saved value. This option must be used if no value means there is no longer any value for this field
Skip It ignores this operation. This option must be used if no value means there is no change to the value

Operation times override (10)

The same way that resolution time can differ from the default one, this section enables you to define custom values for operation begin time and operation end time.

Please note that when updating a rhythmic attribute, only the default begin time is available and must be aligned with the rhythm.



Related Links