Skip to Content

Updating a DB table using AMDP or SQL script

Mar 06 at 05:13 AM


avatar image
Former Member

Hello All,

I have a seldom problem. Just to give some back ground.

1. We have a Z DB table with 126 fields(Yes exactly 126) having 3 key fields which has like 250+ million entries.

2. I need to update four fields in the Z table(Step1) from a CDS view which has 7 fields( 3 key fields of the ZDB table + four fields which need to be updated) .

Here is the problem.

Here is my code approach.

a. lt_tab = data from the CDS_VIEW.(which will fetch like 20 million entries)

I'm not sure how to approach the updating part. I cannot use MODIFY as I have to get the entire table data(which is huge performance).

Just for Info we are using HANA DB.

Any recommendation and Suggestions are highly appreciated.

10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

1 Answer

Horst Keller
Mar 06 at 05:36 AM

Either you fetch the data into an internal table and then use UPDATE SET of Open SQL or you stay on the DB and update directly there in AMDP without loading to ABAP. The latter should be better in performance. But there is no use in first loading the data to ABAP and then pushing them back to AMDP.

Show 2 Share
10 |10000 characters needed characters left characters exceeded
Former Member

Hello Horst,

I appreciate the quick turnaround. Yes I completely agree with you. We have two options

1. UPDATE set by looping through lt_tab which has like 20 million entries.( which literally kills the performance)

2. If I use the AMDP, I am not sure because the lt_tab has 7 columns( 3 key fields of the DB table) and actual DB table has 126 columns. Can you please guide me how to go with this approach.




This does not belong to the realms of ABAP. You have to learn SQLScript for that. And by the way, you don't use the internal table there but access the DB view of the CDS view directly.