cancel
Showing results for 
Search instead for 
Did you mean: 

ABAP RFC and Implicit COMMIT

JandeMooij
Explorer

I have a technical challenge with ABAP and the LUW principle : my aim is to perform a function module HR_INFOTYPE_OPERATION which is encapsulated in my own RFC module and perform this in simulation mode (NOCOMMIT=TRUE). The aim is to simulate a PA30. Without RFC this works perfectly and rolls back the update after performing all validations, but as you know, RFCs trigger implicit COMMITs, therefore a simulation is written to the database, even when I refresh the PA buffers and do a ROLLBACK.

I’ve also tried SUBMIT report in the destination client (via RFC) and call the HR_INFOTYPE_OPERATION in it’s own internal session, as per the documentation : “The SUBMIT .. AND RETURN starts the executable program in a new internal session of the current call sequence. The session of the calling program and the current SAP LUW are preserved. The called program runs in its own SAP LUW”.

But this still performs an implicit COMMIT. Any advice is much appreciated !

Accepted Solutions (0)

Answers (1)

Answers (1)

tamitdassharma
Active Participant

Hello Jan,

Appologies for getting the issue wrong. The implicit commit work that you have mentioned is triggered after a RFC call in a system. This is due to a Database LUW and a RFC FM can have numerous database LUWs.

The best solution that I can think of calling an update FM from within your RFC FM in an Update Task and then have a explicit roll back.

This will solve your issue. Let me know if this helps.

JandeMooij
Explorer
0 Kudos

There is no explicit COMMIT WORK. As per the standard documentation, RFCs perform an *implicit* COMMIT WORK - this is what I am referring to.

tamitdassharma
Active Participant
0 Kudos

Hello Jan,

I have revised my answer as I took the context to be around Explicit commit withing the FM. If the solution is of any help then kindly change the votes.