Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Open SQL array insert results in duplicate database records

Former Member
0 Likes
35,994

Hi,

When i am trying create Characteristic using tcode-CT04, i am getting short dump in  SAPSQL_ARRAY_INSERT_DUPREC.

Runtime Errors         SAPSQL_ARRAY_INSERT_DUPREC

Exception              CX_SY_OPEN_SQL_DB

 

Short text
    The ABAP/4 Open SQL array insert results in duplicate database records.

What happened?
    Error in the ABAP Application Program

    The current ABAP program "SAPLCTVB" had to be terminated because it has
    come across a statement that unfortunately cannot be executed.

What can you do?
    Note down which actions and inputs caused the error.


    To process the problem further, contact you SAP system
    administrator.

    Using Transaction ST22 for ABAP Dump Analysis, you can look
    at and manage termination messages, and you can also
    keep them for a long time.

Error analysis
    An exception occurred that is explained in detail below.
    The exception, which is assigned to class 'CX_SY_OPEN_SQL_DB', was not caugh
     in
    procedure "SAVE_DATA" "(FORM)", nor was it propagated by a RAISING clause.
    Since the caller of the procedure could not have anticipated that the
    exception would occur, the current program is terminated.
    The reason for the exception is:
    If you use an ABAP/4 Open SQL array insert to insert a record in
    the database and that record already exists with the same key,
    this results in a termination.

    (With an ABAP/4 Open SQL single record insert in the same error
    situation, processing does not terminate, but SY-SUBRC is set to 4.)

Information on where terminated
    Termination occurred in the ABAP program "SAPLCTVB" - in "SAVE_DATA".
    The main program was "RSM13000 ".

    In the source code you have the termination point in line 124
    of the (Include) program "LCTVBF58".
    The program "SAPLCTVB" was started in the update system.
    The termination is caused because exception "CX_SY_OPEN_SQL_DB" occurred in
    procedure "SAVE_DATA" "(FORM)", but it was neither handled locally nor declared
    in the RAISING clause of its signature.

    The procedure is in program "SAPLCTVB "; its source code begins in line
    24 of the (Include program "LCTVBF58 ".

Source Code Extract

Line  SourceCde

  123 if not it_cabnt_ins[] is initial.

>>>>>   insert cabnt from table it_cabnt_ins.

  125   clear ef_no_changes.

  126 endif.

Please help me to resolve the issue.

Regards,

Pramila.V

1 ACCEPTED SOLUTION
Read only

former_member193464
Contributor
0 Likes
16,318

note 196113 may help.

6 REPLIES 6
Read only

ThomasZloch
Active Contributor
0 Likes
16,318

Since this seems to be a problem with SAP standard code, you should first look for SAP notes. Did you do this already? What did you find?


Thomas

Read only

0 Likes
16,318

Hi Thomas,

Thanks for your quick response.

I have checked the thread(http://scn.sap.com/message/8888265) and applied but no use.

Can you suggest me the related SAP Notes for metioned issue?

Regards,

Pramila.V

Read only

sandeep_katoch
Contributor
0 Likes
16,318

Hi Pramila,

Check whether the key which you are using to pass the value is not duplicate.

During debugging check the values you are inserting and check in the table which is getting updated with the values that the value is pre existing or not.

Regards,

Sandeep

Read only

former_member193464
Contributor
0 Likes
16,319

note 196113 may help.

Read only

0 Likes
16,318

Hi,

Thanks for your reply.Its working by implementing the above mentioned Note.

Regards,

Pramila.V

Read only

0 Likes
16,318

Hi im inserting the data into table(zhrt_student) program was sytactically correct but getting runtime error.

DATA: wa TYPE zhrt_student,

it TYPE TABLE OF zhrt_student.

wa-cid = 'ABAP'.

wa-sid = 'SHADEADD2'.

wa-sname = 'Maheswari Chava'.

wa-doj = '02.07.2022'.

wa-laptop = 'N'.

APPEND wa TO it.

wa-cid = 'ABAP'.

wa-sid = 'SHADEADD2'.

wa-sname = 'Ashini Kammili'.

wa-doj = '02.07.2022'.

wa-laptop = 'N'.

APPEND wa TO it.

wa-cid = 'ABAP'.

wa-sid = 'SHADEADD2'.

wa-sname = 'Anitha Rangisetti'.

wa-doj = '02.07.2022'.

wa-laptop = 'N'.

APPEND wa TO it.

wa-cid = 'ABAP'.

wa-sid = 'SHADEADD2'.

wa-sname = 'Sumanjali S'.

wa-doj = '02.07.2022'.

wa-laptop = 'N'.

APPEND wa TO it.

wa-cid = 'ABAP'.

wa-sid = 'SHADEADD2'.

wa-sname = 'Vijaya Sravani B'.

wa-doj = '02.07.2022'.

wa-laptop = 'N'.

APPEND wa TO it.

wa-cid = 'ABAP'.

wa-sid = 'SHADEADD2'.

wa-sname = 'Nandini P'.

wa-doj = '02.07.2022'.

wa-laptop = 'N'.

APPEND wa TO it.

wa-cid = 'ABAP'.

wa-sid = 'SHADEADD2'.

wa-sname = 'Kavitha Gettiboyina'.

wa-doj = '02.07.2022'.

wa-laptop = 'N'.

APPEND wa TO it.

wa-cid = 'ABAP'.

wa-sid = 'SHADEADD2'.

wa-sname = 'Kavitha Gettiboyina'.

wa-doj = '02.07.2022'.

wa-laptop = 'N'.

APPEND wa TO it.

INSERT zhrt_student FROM TABLE it.

IF sy-subrc = 0. "SUBRC = 0 means success, else failed

MESSAGE 'record updated sucessfully' TYPE 'S'.

ELSE.

MESSAGE 'update failed' TYPE 'I'.

ENDIF.