06-08-2011 5:03 AM
Hi All
Can anyone help me with regard to this issue? When user do Purchase return, they get this message. I read al the message related to it.
But I dont get proper solution. All relate to code and Number Range. But I am not clear of what to do?
I get the following message:
*Runtime Errors SAPSQL_ARRAY_INSERT_DUPREC
Exception CX_SY_OPEN_SQL_DB
Date and Time 08.06.2011 08:54:36*
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 "SAPLWB2D" 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 c
in
procedure "WBHF_SICHERN" "(FORM)", nor was it propagated by a RAISING cl
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.)
System environment
SAP-Release 701
Application server... "SVTERP03"
Network address...... "172.31.254.7"
Operating system..... "Windows NT"
Release.............. "6.0"
Hardware type........ "16x AMD64 Level"
Character length.... 16 Bits
Pointer length....... 64 Bits
Work process number.. 37
Shortdump setting.... "full"
Database server... "SVTERP11"
Database type..... "ORACLE"
Database name..... "GEP"
Database user ID.. "SAPSR3"
Terminal.......... "4PYZ32S"
Char.set.... "C"
SAP kernel....... 701
created (date)... "Jan 28 2010 20:07:00"
create on........ "NT 5.2 3790 Service Pack 2 x86 MS VC++ 14.00"
Database version. "OCI_10201_SHARE (10.2.0.4.0) "
Patch level. 69
Patch text.. " "
Database............. "ORACLE 9.2.0.., ORACLE 10.1.0.., ORACLE 10.2.0.."
SAP database version. 701
Operating system..... "Windows NT 5.0, Windows NT 5.1, Windows NT 5.2, Windows
NT 6.0, Windows NT 6.1"
Memory consumption
Roll.... 16192
EM...... 4189840
Heap.... 0
Page.... 0
MM Used. 1247408
MM Free. 2939808
User and Transaction
Client.............. 500
User................ "NAS00602"
Language key........ "E"
Transaction......... "WB22 "
Transactions ID..... "D86991E000EAF1F6A067000087526684"
Program............. "SAPLWB2D"
Screen.............. "RSM13000 3000"
Screen line......... 2
Information on where terminated
Termination occurred in the ABAP program "SAPLWB2D" - in "WBHF_SICHERN".
The main program was "RSM13000 ".
In the source code you have the termination point in line 374
of the (Include) program "LWB2DF0W".
The program "SAPLWB2D" was started in the update system.
The termination is caused because exception "CX_SY_OPEN_SQL_DB" occurred
procedure "WBHF_SICHERN" "(FORM)", but it was neither handled locally nor
declared
in the RAISING clause of its signature.
The procedure is in program "SAPLWB2D "; its source code begins in line
357 of the (Include program "LWB2DF0W ".
06-08-2011 5:15 AM
Hi,
Your program is trying to insert entry having primary key which is already exist in the database table.
Please checkout the number range for PO return, if you are trying to return PO with same SAP document Number.
While you return the PO one unique No. gets generated through Number range, these number having conflict while inserting the entry in the database as the primary key may have already been exist in the DB table so same can not be inserted again and you are trying to insert the same.
Now the only option available is either to change the numbner rabge for PO return object or delete the entry from the DB table, however same is not advisable so bater to change/create number range for PO return.
Below is the procedure to do the same for your reference, hope it will help you.
There are many more related threads which will give you the idea to change the number range, also you can ask your MM consultant to guide on the same.
Regards,
Umang Mehta
06-08-2011 5:15 AM
Hi,
Your program is trying to insert entry having primary key which is already exist in the database table.
Please checkout the number range for PO return, if you are trying to return PO with same SAP document Number.
While you return the PO one unique No. gets generated through Number range, these number having conflict while inserting the entry in the database as the primary key may have already been exist in the DB table so same can not be inserted again and you are trying to insert the same.
Now the only option available is either to change the numbner rabge for PO return object or delete the entry from the DB table, however same is not advisable so bater to change/create number range for PO return.
Below is the procedure to do the same for your reference, hope it will help you.
There are many more related threads which will give you the idea to change the number range, also you can ask your MM consultant to guide on the same.
Regards,
Umang Mehta
06-10-2011 2:05 AM
Hi
I dont have problem in Number Range.. It is very far from the issue TC no. which the used raised. Also we dont use ME21 or etc..
We use to create Contract thru WB21 i,e Global Trading.
Any idea how to resolve the issue. But this resolved when we create a new TC.
Thanks
06-10-2011 4:40 AM
Hi,
This is surely related to number range, please check the table where it is causing the problem,
Check whether the new number is already in the table.
This things happens when the number range which was assigned ti some other object some time back and again
assign to other object.
E.g - 1000-10000 - assigned to Billing Doc.
2000-50000 - assigned to sales doc.
So here already some numbers are used by billing doc and exist in VBFA table.
If you try to create SO here it will give you this dump.
Thanks,
Anmol.
06-10-2011 10:36 AM
Hi Anmol
Thanks a lot for your response.. Ok. May I know how do I find from which table the same number was used like you mentioned for different purpose.? Actually the user already created that TC and they were about to edit the TC and save and do FOLLOW on documents, they got such error msg as
"UPDATE TERMINATED" .
We create all transactions through GLOBAL TRADING. I checked the code and it was affecting the table og GTM is Document Flow i.e. WBHF.. since I had the table list suddenly, I understood this,
06-10-2011 10:21 AM
Hi,
Not sure if you are still stuck with this problem.
In that case first re-run the test-case and produce the update termination error as you have described. Go to Transaction SM13. Run it for your user-id for current date. You will get an ALV display, in which one line will show 'ERROR'. Double click on that line and it will take you to next screen. Click the Debugging button (CTRL+F10, hotkey) and it will start debugging the LUW which got terminated. You can do a single stepping (or can set a break-point on statement 'INSERT') . You will get to the line where it is terminating the program. You can see the records in the internal table which is getting posted to database. It will give you a clearer view.
Cheers,
Anid
06-10-2011 10:40 AM
Hi Anid,
I am still having the issue but not sure how to clear that..but we have asked used the user to create a new TC which solves the problem currently.
As anmol explained need to find where actually it stucks.
Also need to follow your step and try ..Will try my best and update you again..though I am not an expert in ABAPER,,
<< Moderator message - Please do not ask for private information>>
Also check my previous reply for ANMOL..
Thanks a lot for your respose.
Edited by: Rob Burbank on Jun 10, 2011 9:24 AM
06-10-2011 2:26 PM
If you have enhanced the SAP code, that is where you should look.
If not, then raise an OSS message.
Rob
06-13-2011 2:45 AM
Hi Rob
How do I know whether we enhanced or SAP enhanced..As you said when went to the Coding, it was enhanced and as well it was written in noth English and German..
But there is nothing enhanced in our name..So naturally I understand that it would be done by SAP.
Any idea.. They enhanced it for Update termination . It was last enhanced by SAP only when I checked the program.
Now when I went and check that table, I dont see particular TC in that table WBHF as I thought issue was on that table based on Dump error. because I found issue that when they click DOCUMENT FLOW button, it ends up in such TERMINATION..
But I dont see such TC. Here they create TC through transaction WB21. the problem is over there..But not sure which table.
Any ideas.
HI Anid,
I am not able to debug as I am not authorize but I can see just the code. any other suggestions.
06-13-2011 2:16 PM
The simplest thing to do would be to raise an OSS message. If it's been enhanced and you cannot find it, they'll let you know
Rob
06-14-2011 5:31 AM
Hi,
If you check in ST22 ( Runtime error log ) - you will find the table where it is causing problem when inserting the row.
ST22 will give you the code where it is going into dump. In the code the line marked with >>>> is the line causing problem.
In your case I think that line will be something INSERT <DBtable> ....
Once you get the table->you will come to know the process for which this table is used ->
Then check in the same table whether records exist for the same record number in the table or not.
If found change the number range.
Thanks,
ANMOL.
06-14-2011 5:34 AM
06-20-2011 6:48 AM
Hi Anmol
I dont think I have rights to do that. Anyway I dont know how to resolve it. Anyway as of not after we try to create a NEW transaction, we dont face any issues. So I am thinking it might be because the user accidentally pressing some option or selection leading to this issue.
Else no problem User faces when recreates the transaction with new number.
Thanks for all your efforts.
If I face the same issue again. will let you know.