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 |
i have one source 52 million records i want target only 7 records ?how wil you do what logic to implement?
3. Suppose Seq Gen is supplying a increamental value to a column of a table, suppose, table's column value reaches to maximum value, then what will happen, will the session fail? If it is the situation, then what should be done so that we can stop this kind of situation in advance?
How to Create a folder using pmrep command?
What is a parameter When and where do you them when does the value will be created
While importing the relational source defintion from database,what are the meta data of source U import?
What is an expression transformation?
What are the reusable transforamtions?
What is the benefit of partitioning a session?
How to recover sessions in concurrent batches?
If u r giving different parameter file names in workflow and session for a single mapping parameter, then which one will be executed? The one u given in workflow or the one u given in the session?
Is it possible to use a client with different version than that of its Informatica server?
What is the method of seperating unique and duplicate records in session level?
2 Answers Emphasis, JBL, Wipro,