Tmap output filter not outputting correctly

Five Stars

Tmap output filter not outputting correctly

I'm running into an issue, when I update 1 of the source records, it outputs all of them for the PK_HubContract id which I've done the update on.

 

This is what my job is doing:
If a source record not in the lookup tables then insert, else update row6 lookup table based on the output filter for copyofExpirteRows_0 and insert the new updated record based on the output filter for copyofUpdatedInserts_0.

 

I only updated the source record PK_HubContract = 2 Probability to 0.75 and I'm getting all of the 

4 records and 3 of them which were not updated.

 

[statistics] connecting to socket on port 3458
[statistics] connected
.--------------+----------------------------.
| tLogRow_5 |
|=-------------+---------------------------=|
|PK_HubContract|LEDTS |
|=-------------+---------------------------=|
|1 |Fri Jun 22 11:03:18 CDT 2018|
|2 |Fri Jun 22 11:03:18 CDT 2018|---->Only this record should output
|3 |Fri Jun 22 11:03:18 CDT 2018|
|4 |Fri Jun 22 11:03:18 CDT 2018|
'--------------+----------------------------'

.--------------+--------+-----------+-----------+----------+------------.
| tLogRow_6 |
|=-------------+--------+-----------+-----------+----------+-----------=|
|PK_HubContract|StatusId|Probability|DeletedFlag|LDTS |RecordSource|
|=-------------+--------+-----------+-----------+----------+-----------=|
|1 |11 |0.25 |false |22-06-2018|test |
|2 |33 |0.75 |false |22-06-2018|test |------>Only this record should output
|3 |null |0.50 |false |22-06-2018|test |
|4 |44 |0.00 |true |22-06-2018|test |
'--------------+--------+-----------+-----------+----------+------------'

 

Capture3.PNG

 

My filter should be this, (row4.OpportunityId = row5.OpportunityId and row4.ContractNumber = row5.ContractNumber and row5.PK_HubContract = row6.PK_HubContract) && row6.LEDTS is null 

and (row4.statusid <> row6.statusid or row4.probability <> row6.probability or row4.Deleted <> row6.Deleted) 

copyofExpirteRows_0 Filter:
(row6.PK_HubContract != null && row6.LEDTS == null && ((row4.StatusId != row6.StatusId) ||
(row4.Probability != row6.Probability) || (row4.Deleted != row6.DeletedFlag)))

 

 

This is the filter for this.

(row4.OpportunityId = row5.OpportunityId and row4.ContractNumber = row5.ContractNumber and row5.PK_HubContract = row6.PK_HubContract) 

and (row4.statusid <> row6.statusid or row4.probability <> row6.probability or row4.Deleted <> row6.Deleted) 

copyofUpdatedInserts_0 Filter:
(row6.PK_HubContract != null && ((row4.StatusId != row6.StatusId) ||
(row4.Probability != row6.Probability)|| (row4.Deleted != row6.DeletedFlag)))

 

 

What’s New for Talend Spring ’19

Watch the recorded webinar!

Watch Now

Definitive Guide to Data Quality

Create systems and workflow to manage clean data ingestion and data transformation.

Download

Tutorial

Introduction to Talend Open Studio for Data Integration.

Watch

Downloads and Trials

Test drive Talend's enterprise products.

Downloads