Services and Transaction Control
Author: firstname.lastname@example.org (Colin)
Currently I have an end of day process that reads all the sales transactions generated throughout the day and uses them to update certain files. This process consists of one Uniface form that in turn "runs" other uniface forms to do all the required updates. These forms do whatever they need and then stores the changes without committing. Provided all the update forms finish successfully, the main form then issues a commit and all the changes are made permanent. If any of the update forms fails then the main form can issue a rollback and everything returns to its original values.
All works very well.
All of these update forms are perfect candidates to be activated as services. The problem I have is that each one has to store without committing. The testing I have done shows that when the service finishes and control returns to the main form, the changes the service made are lost (because there was no commit). I can't let the service commit the data because if any of them fail I need the whole thing to be rolled back, not just part of it.
Is there a way I can use services to do this or will I have to stay with the current processing.
I am using uniface 9.4.01