cancel
Showing results for 
Search instead for 
Did you mean: 

Table count between source (ECC) and target (HANA)

Former Member
0 Kudos

Hi Team,

I could like to count the total number of records in the source (ECC) and target table (HANA). I'm able to do so, if the table doesn't have any filter or the filter being declared for initial load (DMC_ACSPL_SELECT) table, but if the filter is being applied only for replication (Event based), then unable to match the number of records between source and target. Can you please help me with the table name or any information which provides to read the event based source code?

Thanks for your help in Advance!

Regards,

Sathish

Accepted Solutions (0)

Answers (1)

Answers (1)

former_member256353
Participant
0 Kudos

Hi Sathish,

Whenever I need to compare the table rowcount between ECC and Hana, I always check the table in ECC by TA SE16 and then I do a count on it in ECC.

Then I go to HANA and I will execute a SQL to count the number of records for that table.

SQL: select count (*) from "HANA_SYSTEM_NAME"."CE49000"

Is it that what you wanted to know?

Regards

Greg

Former Member
0 Kudos

Hi Greg,

I don't mean that. Let me explain briefly, Business would like to know the extracted records from the source (ECC) and target (HANA) count is correct, if not we will send notification to the team. Hence, We wrote a program in the source system (ECC), where it automatically checks the table count between source and target and it is working fine.

CONCATENATE 'SELECT COUNT(*) FROM ' ls_triggers-tabname INTO lv_string SEPARATED BY space.

CONCATENATE 'SELECT COUNT(*) FROM ' ls_triggers-tabname 'WHERE MANDT =' sy-mandt INTO lv_stringecc SEPARATED BY space.

Also, In certain cases we maintain source filter condition (DMC_ACSPL_SELECT table) in SLT for initial load and replication and in such cases we retrieve the SLT defined condition in the source system and concatenate the where clause in SELECT statement and this case also working fine.

CONCATENATE 'SELECT COUNT(*) FROM ' ls_triggers-tabname INTO lv_string 'WHERE HKONT >= '0000600000' and HKONT <= '0000799999' and GJAHR >= '2015' ' SEPARATED BY space.

CONCATENATE 'SELECT COUNT(*) FROM ' ls_triggers-tabname 'WHERE MANDT =' sy-mandt INTO lv_stringecc 'WHERE HKONT >= '0000600000' and HKONT <= '0000799999' and GJAHR >= '2015' ' SEPARATED BY space.

We have few cases, where we don't have a source system filter (ie. DMC_ACSPL_SELECT table is not maintained), but event based rules (LTRS) has been defined. For example,

IF <WA_DATA_GJAHR> <= '2015'.

SKIP RECORD.

ENDIF.

I'm unable to read such conditions defined only for replication and this is when our table count between source and target is not matching. I searched for few standard API's, but doesn't help to resolve this problem.

Thanks for your response! I hope the above explanation gives you better understanding of the problem.

Thanks

Sathish