Skip to main content
Announcements
Introducing Qlik Answers: A plug-and-play, Generative AI powered RAG solution. READ ALL ABOUT IT!
cancel
Showing results for 
Search instead for 
Did you mean: 
Megha_More
Partner - Creator
Partner - Creator

Qlik Replicate- Primary key issue

Hi Team,

We are using IBM DB2 as a source and Google big query as a target, so for testing we only selected 1 table which not contain PK , similar table structure has been created at target, but in replicate it is showing us as a key.

what is the reason behind this ? How it works exactly ?

 

Thanks & Regards,

Megha

Labels (3)
1 Solution

Accepted Solutions
john_wang
Support
Support

Hello Megha @Megha_More ,

Thanks for your update.

Qlik Replicate is a log-based CDC product. It reads data changes from DB2i Journal.

In DB400, only physical tables' ( type PF) changes are recorded in DB400 Journal; the logical tables (LF) is a view of the PF, it cannot be journaled, so no changes are available in Journal for CDC products, includes Qlik Replicate.

In short,

PF - can be included into a task, with Full load and/or CDC options enables

LF - can be included into a Full Load ONLY task

Qlik Replicate treat the PF and LF as different objects. So the metadata cannot be shared between them. That means , the LF's PK is invisible when we access the PF even their metadata is 'similar'.

I still do not see what's your exact doubts. please share samples (screenshot, or table DDL etc) to help us understand the issue.

Regards,

John.

 

 

 

Help users find answers! Do not forget to mark a solution that worked for you! If already marked, give it a thumbs up!

View solution in original post

8 Replies
john_wang
Support
Support

Hello @Megha_More ,

Thanks for reaching out to Qlik Community!

One of the possibilities is that in DB400 source endpoint, the 1st or 2nd RRN option was chosen, for example:

john_wang_0-1700223966145.png

Then the column RRN will be created as PK for all tables. Not sure if your PK is RRN or other columns?

Hope this helps.

John.

Help users find answers! Do not forget to mark a solution that worked for you! If already marked, give it a thumbs up!
Megha_More
Partner - Creator
Partner - Creator
Author

Hi @john_wang ,

In DB2, there are logical and physical tables. We are fetching physical tables, which don't have PK, but in logical tables there are PK. In the replicate console, it shows PK, which is for logical tables.

Eg,

Table A is in physical tables, and Table A_PF is in logical tables. Both tables have the same structure; the only difference is that PK is defined only for logical tables. In the task, we fetch physical tables, but only in the replicate console does it show PK defined, which is the same as logical tables.

 

Thanks,

Megha

john_wang
Support
Support

Hello Megha @Megha_More ,

Thanks for your update.

Qlik Replicate is a log-based CDC product. It reads data changes from DB2i Journal.

In DB400, only physical tables' ( type PF) changes are recorded in DB400 Journal; the logical tables (LF) is a view of the PF, it cannot be journaled, so no changes are available in Journal for CDC products, includes Qlik Replicate.

In short,

PF - can be included into a task, with Full load and/or CDC options enables

LF - can be included into a Full Load ONLY task

Qlik Replicate treat the PF and LF as different objects. So the metadata cannot be shared between them. That means , the LF's PK is invisible when we access the PF even their metadata is 'similar'.

I still do not see what's your exact doubts. please share samples (screenshot, or table DDL etc) to help us understand the issue.

Regards,

John.

 

 

 

Help users find answers! Do not forget to mark a solution that worked for you! If already marked, give it a thumbs up!
Megha_More
Partner - Creator
Partner - Creator
Author

Hi @john_wang ,

Megha_More_0-1700291245271.png

In above image ,keys are defined for input which is not in my source tables (physical tables), this keys are for logical tables.

So my question, why it is shows in replicate side. Is this affecting the task CDC ? 

 

Thanks,

Megha

john_wang
Support
Support

Hello @Megha_More ,

There are many ways to check the physical file PK information, for example run a command like

DSPFD APSUPDB/KIT

where APSUPDB is the library name, KIT is the physical file name. The PK field information like:

john_wang_0-1700303829143.png

The field ID is the PK, it shows up in Qlik Replicate:

john_wang_1-1700303981318.png

Let's compare the metadata and understand what's the gap.

Regards,

John.

Help users find answers! Do not forget to mark a solution that worked for you! If already marked, give it a thumbs up!
Megha_More
Partner - Creator
Partner - Creator
Author

Hi @john_wang ,

We checked same thing, there is no PK in PF still we able to see PK info in replicate console, as those PK are for the LF.

 

Regards,

Megha

john_wang
Support
Support

Hi @Megha_More ,

Thanks for the update however it's hard to understand the issue. Please open a support ticket with above same information, support team will help further on the issue.

Regards,

John.

Help users find answers! Do not forget to mark a solution that worked for you! If already marked, give it a thumbs up!
Megha_More
Partner - Creator
Partner - Creator
Author

Hi @john_wang ,

Thanks for the respond!

 

Regards,

Megha