Navigation:  Data Management > Tab Mappings > Options >

Conditional Mapping

Previous pageReturn to chapter overviewNext page

NOTE :

A condition linked to a function or a replace etc is used by DMC as a base to process this function - replace etc ...

A non linked to a Function condition is considered as a FILTER condition

 

 

If you need to have MULTIPLE CONDITIONAL mapping for a given column or record level then use this option

dmc_conditional

 

Start by checking this box - then use the buttons to ADD - EDIT & DELETE conditions

 

Inserting a new record will open this window for you to define your conditions

 

IMPORTANT : here is where you define if the condition must be applied at RECORD level or at COLUMN level (use the appropriate checkbox)

 

conditional_mapping_empty

Select in the drop down box the column of the SOURCE Table to "work" on (the ID will automatically be filled in for you)

 

Then define the condition type using Condition Type drop down box (always displayed in English and translations are provided on the right side of this screen)

 

Available conditions are :

 

=

<>

>

<

INSTRING

NOT INSTRING

LEFT(

RIGHT

EMPTY

NOT EMPTY

STARTS WITH

ENDS WITH

INLIST

SUBSTRING

LEFT

RIGHT

 

Starts with and Ends with the length of the Condition value is used to check for existence

 

Finally fill in the "Condition value" to tell the utility all it needs (IF it is necessary to fill it as EMPTY and NOT EMPTY do not require this field)

 

In the case of SUBSTRING you will have to enter the relevant POSITION and LENGTH values

(this function will allow you to conditionally map a column on a portion of the value contained in the source table)

 

In the case of LEFT or RIGHT you will have to enter the relevant LENGTH value

 

in the case of INLIST you will have to enter in the Condition Value entry field a LIST of values SEPARATED by a COMMA like this : 'AAAAA','BBBBBBB','HHHHHHH'

Quotes are necessary

You can enter up to 25 different values (if you require more values then you will need to create a 2nd condition based on the same type and add the values there)

 


Transfer the value of this column only if the value in the column meets the condition (NOT at record level)

OR

AT RECORD LEVEL the value in the column you are working on meets the condition specified then only will this complete record be transferred otherwise it will not

 


INI File (only during a restored profile) :

If you have created a profile of a data transfer with two conditions (or more) working on DATES, you can then click on this button to EXPORT to an ini file (under cgf_import/dmc_cond.ini)

 

This file contains data like this example :

[Profile]

Dynamic_Condition-43-4-1=06/04/2010

Dynamic_Condition-43-4-2=12/04/2010

 

Where 43 is the profile ID -  4is the Column Number and 1 / 2 etc are the condition ID's

 

When DMC reads this condition it will always look in this SAME ini file and extract any changed value from there

 

You can use this INI file from your application in DMC and in the Runtime Engine to dynamically change values of your conditions


 

You also have the possibility to use an IF THEN ELSE Conditional type of filtering - transferring the data

 

This type cannot be used at record level

 

For the IF part of the condition :

Start by selecting the SOURCE Column to use in the drop down list

Then select the Type of Condition to use

Then depending on the type enter or not a Value (or a List of Values) to check for

 

For the THEN part of the condition :

Select the Source column to use

OR

Enter a Value to use by default for all records

 

For the ELSE part of the condition :

Select the Source column to use

OR

Enter a Value to use by default for all records

 

This is what the screen will look like

 

conditional_mapping_filled_if

 

in this example the condition comes to : IF AddressLN1 is EMPTY THEN use AddressLN2 ELSE use AddressLN1

 

etc ... as you can add as many conditions as you want of all types mixed BUT the ORDER they are added in will be used during Data Transfer so always the "primary" ones BEFORE all others