06-03-2015 1:37 AM
Hi all,
I have some requirements like this:
In system A, I have a program B, B will call Function Module C in remote system D.
In FM C, I have some UPDATE to change the database.
Here is the problem.
After C goes to the end, these UPDATE will be commited automatically, and the program run back to B. But I am not sure if B will run correctly afterwards and if it has some problems, I cannot ROLLBACK the work that I have done in system D.
If I use IN UPDATE TASK, I think that the updates will be lost after C is over.
So how should I do in this case?
06-03-2015 2:40 AM
Hi Ming,
surely you can delay the call to the RFC until after the program has run successfully.
06-03-2015 2:53 AM
06-03-2015 2:55 AM
And I think maybe I should separate the update parts and other parts into two two RFCs.
In the first RFC, I do logic and in the second RFC, I call it in tRFC and do update inside it.
Am I thinking right?
06-03-2015 5:12 AM
no, I mean the function module being called as an RFC...why not call it at the end of processing for the program.
06-03-2015 5:35 AM
This RFC is not just used for database updating, there are also some other logic.
06-03-2015 5:51 AM
Ok, so I guess that is what you mean by splitting the function module into two? One to do the work as you go along and another to do the updates at the end?
06-03-2015 5:59 AM
Yes, actually I am helping another guy fix this and I am thinking a better way to do that.
Maybe in this case, the logic part and the update part should be separated into two FMs.
06-03-2015 6:19 AM