Application Development 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: 

Issue when processing the AMDP - Dump -- AMDP_UNCOMMITTED_DBPROC_CALLED

Former Member
0 Kudos

Hi,

We are facing strange short dump when we execute one of the programs that use the AMDP method ( code snippet provided below)

Note: When we execute the program that uses this AMDP in Development system, it works fine. But when we move it to Quality system, it is giving short dump. It looks as if it is related to Hana database connection issue but no clues on how to figure out. We are checking with Basis team but no luck till now.

Short Dump:

Category ABAP programming error Runtime Errors AMDP_UNCOMMITTED_DBPROC_CALLED

ABAP Program ZCLXXXXX===================CP

Application Component SD Date and Time 03/30/2017 17:18:38

Short Text

Call of a database procedure modified in the current DB LUW (database logical unit of work)

What happened?

Error in the ABAP application program. The current ABAP program "ZCLXXXXX===================CP" had to be terminated because it found a statement that could not be executed.

What can I do?

Note which actions and entries caused the error to occur. Consult your SAP administrator. Using transaction ST22 for ABAP dump analysis, you can view, manage, and retain termination messages for longer periods. 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

The current application is trying either directly or indirectly to call a database procedure of class "ZCLXXXXX". The class was modified or generated in the current DB LUW however. Calling database procedures of this class in a database LUW is not supported. Database connection used: "<default>"

Code used in the AMDP

METHOD get_data BY DATABASE PROCEDURE
FOR HDB
LANGUAGE SQLSCRIPT
OPTIONS READ-ONLY
USING marc t005t.

et_data = SELECT a.mandt,a.matnr,a.herkl,b.landx FROM marc AS a
INNER JOIN t005t AS b
ON b.mandt = a.mandt
AND b.land1 = a.herkl
WHERE a.mandt = SESSION_CONTEXT('CLIENT')
AND a.matnr IN ( select matnr from :i_vbdpa );

ENDMETHOD.

Kindly provide your valuable inputs

4 REPLIES 4

TuncayKaraca
Active Contributor

Venkat,

Even though it seems a weird name for a class 🙂 I recommend you to check if ZCLXXXXX class exist in QA system. If it doesn't exist compare with your DEV system and check your transport's content.

If it exists and if you run your depended program while some transport import still running, it's possible you might get this type of runtime errors.

horst_keller
Product and Topic Expert
Product and Topic Expert
0 Kudos

Well, that's a problem that shouldn't occur. At least not very often and only in very special situations. It happens if an AMDP method of an AMDP class is called that was touched or generated within the same DB LUW. The reason is to prevent a deadlock situation.

The first thing to do, generate (activate) your class explicitly in the Q system. After that, the problem should not occurr any more. If it does occurr and if it is reproducable, we recommend to open an incident and describe how to reproduce the problem in your system.

Hi Keller,

Thank you very much for the response. Today, we tried to replicate the issue in Quality system and observed it got solved by itself which is strange. However, going forward, if we get the similar issue, we will try to activate it in Quality system and analyze if this is getting resolved and not getting repeated again.

I will again post on this reply if I find any further case so that it can be beneficial to others.

@Karaka, thanks for your response too. We have checked the class name and it exists in Quality system.

I have hidden the actual class name and masked it with ZCLXXXX :).

0 Kudos

Venkata,

Good news! I am glad you resolved the issue.

Nice name ZCLXXXX 😉