I have one source table and three target tables.
When the session runs for the first time involving the
mapping,i want that the loading should take place in 1st
Target table only.
The 2nd time the same session runs the loading should take
place in 2nd Target only only
and similarly when the session runs for the 3rd time loading
should take place in Third only.
And again when the session runs for the 4th time loading
should take place in 1st Target table.
Answers were Sorted based on User's Feedback
Answer / harish konda
We can achieve this by using Mapping Variable and Mod function.
Create a mapping var. and using the SetVariable() fun increment its value by 1 every time when the session runs succesfully.
And in the Router create 3 groups and give the conditions, Mod($$var,3)=0,Mod($$var,3)=1,Mod($$var,3)=2.
And map each group of Router to 3 different Targets.
Is This Answer Correct ? | 18 Yes | 2 No |
Answer / vineet katyal
take mapping variable $$count-to count the number of session runs(initial value as 1 and default value as 1)
from source take the input to expression transformation and add two variable ports
V_flag=DECODE(MOD($$COUNT,3,1'FIRST',2,'SECOND',0'THIRD')
V_count=SET VARIABLE($$COUNT,$$COUNT+1)
now router transformation
three user defined groups
v_flag=first
v_flag=second
v_flag=third
now add three groups to three targets.
after every successful session run the mapping variable value gets updated by 1 in the repository.
first time the variable value will be 1 as SET VARIABLE WILL BE PROCESSED AFTER FLAG VARIABLE PORT
Is This Answer Correct ? | 1 Yes | 0 No |
Create a mapping variable $$INCR=1
Take Expression Transformation after SQ
In Expression Transformation create a variable port:
v_count_session=IIF($$INCR=4,setVariable($$INCR,1),setVarialbe($$INCR,$$INCR+1))
After Exp take a ROUTER Transformation and create three groups with conditions :
GROUP1
$$INCR=1
GROUP2
$$INCR=2
GROUP3
$$INCR=3
Finally connect groups to group1--tgt1, group2--tgt2, group3=tgt3
Is This Answer Correct ? | 0 Yes | 1 No |
Answer / bhupal
Hi all,
Use sequence generator to generate the sequence.
properties should be
start value=1
end value=3
check the cycle option.
connect this nextvalue port to router and make there groups.
group_1----> nextvalue=1
group_2----> nextvalue=2
group_3----> nextvalue=3
connect first group to first target and second group to second target and then third to third.
flow will be like this
sequence generator
|
source---->source qualifier---->router--------Target 1
|-----------Target 2
|-----------Target 3
please let me know if you have any new questions.
mail id: bhupalreddy200@gmail.com
Is This Answer Correct ? | 1 Yes | 20 No |
How to identify this row for insert and this row for update in dynamic lookup cache
how i will stop my workflow after 10 errors
How to use procedural logic inside infromatica? If yes how, if now how can we use external procedural logic in informatica?
Examples of Fatal & Non-Fatal error?
I have a mapping loading 100 records and it failed on 20th record. how to recover it without changing anything.(in prod where we don't have any access).. (the session should should start from 21 record)
Debugger what are the modules, what are the options you can specify when using debugger, can you change the expression condition dynamically when the debugger is running.
How to do unit testing in informatica? How to load data in informatica ?
What type of sorting algorithm does the Sorter Transformation use, to do its sorting Operation? 1. Bubble sort 2. Insertion sort 3. Shell sort 4. Merge sort 5. Heapsort 6. Quicksort 7. Bucket sort
How to display null values on a target & non-null values on a target?
What are the different threads in DTM process?
Why the workflow is failed after running two hours in informatica?
What does reusable transformation mean?