How can the following be achieved in 1 single Informatica
Mapping.
* If the Header table record has error value(NULL) then
those records and the corresponding child records in the
SUBHEAD and DETAIL tables should also not be loaded into
the target(TARGET1,TARGET 2 or TARGET3).
* If the HEADER table record is valid, but the SUBHEAD or
DETAIL table record has an error value (NULL) then the no
data should be loaded into the target TARGET1,TARGET 2 or
TARGET3.
* If the HEADER table record is valid and the SUBHEAD or
DETAIL table record also has valid records only then the
data should be loaded into the target TARGET1,TARGET 2 and
TARGET3.
===================================================
HEADER
COL1 COL2 COL3 COL5 COL6
1 ABC NULL NULL CITY1
2 XYZ 456 TUBE CITY2
3 GTD 564 PIN CITY3
SUBHEAD
COL1 COL2 COL3 COL5 COL6
1 1001 VAL3 748 543
1 1002 VAL4 33 22
1 1003 VAL6 23 11
2 2001 AAP1 334 443
2 2002 AAP2 44 22
3 3001 RAD2 NULL 33
3 3002 RAD3 NULL 234
3 3003 RAD4 83 31
DETAIL
COL1 COL2 COL3 COL5 COL6
1 D001 TXX2 748 543
1 D002 TXX3 33 22
1 D003 TXX4 23 11
2 D001 PXX2 56 224
2 D002 PXX3 666 332
========================================================
TARGET1
2 XYZ 456 TUBE CITY2
TARGET2
2 2001 AAP1 334 443
2 2002 AAP2 44 22
TARGET3
2 D001 PXX2 56 224
2 D002 PXX3 666 332
Answers were Sorted based on User's Feedback
Hi,
This could be implemented in many ways.One such way is :
Assumption : All the 3 tables namely HEADER,SUBHEAD and
DETAIL belong to the same Database
Solution : In the Source Qualifier for HEADER , wrie a
query which will select COL1 from all HEADER table which
has valid values in all 3 tables.The query would look like :
SELECT H.COL1
FROM
HEADER H
INNER JOIN
SUBHEAD S
ON
H.COL1=S.COL1
AND
H.COL2 IS NOT NULL AND H.COL3 IS NOT NULL AND H.COL5 IS NOT
NULL AND H.COL6 IS NOT NULL AND
S.COL2 IS NOT NULL AND S.COL3 IS NOT NULL AND S.COL5 IS NOT
NULL AND S.COL6 IS NOT NULL
INNER JOIN
DETAIL D
ON
H.COL1=D.COL1
AND
D.COL2 IS NOT NULL AND D.COL3 IS NOT NULL AND D.COL5 IS NOT
NULL AND D.COL6 IS NOT NULL
i.e the above query will fetch the value 2 .Insert this to
a flat file.
Then in the same mapping , DO the following:
HEADER Source Qualifier -> Lookup on the flat File such
that HEADER.COL1=FlatFile.COL1->Insert the valid records in
Target (records which do not return NULL from the lookup)
Here only record with COL1=2 will be inserted into the
Target
Repeat the same for SUBHEAD->Target2 and DETAIL->Target3 in
the same mapping.
Please let me know if i am wrong.
Thanks Vinithra.
| Is This Answer Correct ? | 5 Yes | 0 No |
Answer / anu
1)In the mapping join all the 3 flat files on the common
column(Col1).(2joiners are needed)
2)Create a expression drag all the columns from the end
Joiner to Exp.In the expression create a 3 ports
H_flag,S_Flag,D_flag.
H_Flag =iff(isnull(col2),'x',iff(isnull(col3),'x',iff(isnull
(col5),'x',iff(isnull(col6),'x','y'))
the result of this is if you have null in any header column
this flag value will be 'X'.
Repeat this with Detail and subhead as well.
Declare these flag ports as last ports of expression.
3)Create a router with a group in it for
H_Flag!='x'
S_flag!='x'
D_Flag!='x'
This will get you not null columns from all the three and
accordingly u can load the target.
But if you have any other conditions ,still you can use
these flags in filters and control the data flow.
| Is This Answer Correct ? | 4 Yes | 0 No |
Answer / ahmed
Hi Vinithra,
I dont think while using Flaat file as source we can edit
SQL over ride option and write the above mention query.
Ahmed
| Is This Answer Correct ? | 1 Yes | 2 No |
How informatica process data means how informatica works?
how to convert 101 raja 101 raja sekar reddy 101 sekar----------> 101 reddy
Is it possible to revert a global repository to local one and why?
what are the limitation of sorter transformation?
Source (Flatfile) - Target (1-1 mapping). How to load first or last 20 record to target?
What are the challenges you have faced in your Project (DWH- ETL)? Explain with example?
suppose if we have dublicate records in a table temp n now i want to pass unique values to t1 n dublicat values to t2 in single mapping?how
What are the settings that you use to configure the joiner transformation?
Hi I have a source (flat file) like ID Name Attachments 101 abc [07012005072902]_CMM27-11-01 Page106 (2).pdf 102 bcd "[19012005124259]_Anfrage-Vendors.doc [19012005124336]_Anfrage.xls" 103 def "[19012006092602]_IMG_0310.JPG 19012006092631]_IMG_0311.JPG [19012006092702]_IMG_0312.JPG [19012006092727]_IMG_0313.JPG" But I need to generate duplicate records based on attachments column. Target (Table) like ID Name Attachments 101 abc [07012005072902]_CMM27-11-01 Page106 (2).pdf 102 bcd 19012005124259]_Anfrage-Vendors.doc 102 bcd [19012005124336]_Anfrage.xls 103 def [19012006092602]_IMG_0310.JPG 103 def [19012006092631]_IMG_0311.JPG 103 def [19012006092702]_IMG_0312.JPG 103 def [19012006092727]_IMG_0313.JPG 103 def [19012006092750]_IMG_0314.JPG 103 def [19012006092814]_IMG_0315.JPG Here no. of Attachments we can't decide because it is dynamic. It will be great if somebody help me on this. Thanks in Advance. ganga
how many data models u have done in informatica project?
how to create user defined function (udf) in informatica
How we can get unique records into one target table and duplicate records into another target table??
11 Answers Deloitte, IBM, iGate,