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

commit work in the customer exit

Former Member
0 Likes
1,509

Hi ,

Iam getting this dump in my system.

Exception condition

"DUMP_STATUS_INCONSYSTENCY_FRE" raised.

As per this dump one note is there saying you should not use commit work in user exit or customer exit .

But i need to update the table at that point so please tell me with out using commit work can i update the table at that point.

Please help me its imp.

Thank you .

6 REPLIES 6
Read only

Former Member
0 Likes
1,123

Hi,

commit statement in userexit?

You should not do that.

After the user exits code is triggered, the transaction's own commits statements will commit the database anyway

Regards

Kiran Sure

Read only

Former Member
0 Likes
1,123

I think you can not use commit work in the user exit or in the BADI because after this in the std program somewhere SAP will update all the records,so SAP will not allow more than one time of commit work for the same action..

Regards

Sugumar G

Read only

Former Member
0 Likes
1,123

HI ,

you are not allowed to execute the statements SUBMIT, CALL DIALOG, CALL SCREEN, CALL TRANSACTION, COMMIT WORK, ROLLBACK WORK and all other statements that provoke a database commit.

regards,

venkat.

Read only

Former Member
0 Likes
1,123

Hello,

Commit WORK statement should not used inside the User exits. This will obviosly give the dump.

The Transaction itself will have the commit work which will update ur Database.

Cheers,

Vasanth

Read only

former_member210123
Active Participant
0 Likes
1,123

Use the function Modules ENQUEUE_E_TABLEE and DEQUEUE_E_TABLEE.Update the table between these function modules.

Example :

CALL FUNCTION 'ENQUEUE_E_TABLEE'

EXPORTING

mode_rstable = c_e

tabname = c_sold_table

EXCEPTIONS

foreign_lock = 1

system_failure = 2

OTHERS = 3.

IF sy-subrc <> 0.

MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

ENDIF.

*********End Lock********

IF i_del_sold[] IS NOT INITIAL.

DELETE ztsa_ft_soldtp FROM TABLE i_del_sold.

ENDIF.

IF i_del_ship[] IS NOT INITIAL.

DELETE ztsa_ft_shiptp FROM TABLE i_del_ship.

ENDIF.

IF i_db_ship[] IS NOT INITIAL.

MODIFY ztsa_ft_shiptp FROM TABLE i_db_ship.

ENDIF.

IF i_db_sold[] IS NOT INITIAL.

MODIFY ztsa_ft_soldtp FROM TABLE i_db_sold.

ENDIF.

*Sold to Party Table

CALL FUNCTION 'DEQUEUE_E_TABLEE'

EXPORTING

mode_rstable = c_e

tabname = c_sold_table.

Read only

Former Member
0 Likes
1,123

Thank you for your reply .

I know i should not use commit work but req was like that .

finally i got one solution actually i was calling BDC and previously it was in Asychronise udate now i changed to Synchronise and it solved my problem .

But thanks all for your time and support.