Tuesday, November 12, 2013

PeopleSoft: Why SQL & Call Section are mutually exclusive Actions in AppEngine

        

Both SQL and 'Call Section' are mutually exclusive Actions. This is basically to avoid Lock. 

Say for example:
We execute some DML transaction on Table T1 in SQL action (This is the first Action in a Step of Application Engine Section).
If we are trying to do some DML transaction again on Table T1 using Call Section action, this will create a Lock on table T1.


Main Program
SQL - Update T1, set salary = salary * 2.
Call Section - Calc


       Section Calc
       SQL Update T1, set salary = salary *3
       end-section
       (default commit)


Main Program
end-section
(default commit)

 
Since PS is creating a separate Database Session for these Actions, it is difficult to maintain COMMIT / ROLLBACK transaction controls.

No comments:

Post a Comment