Try OpenEdge Now
skip to main content
New Information
ABL for Business Entities : Transactional Submit support (behavior change)
 

Transactional Submit support (behavior change)

In prior releases, the Submit operation implemented by any generated Business Entity that inherits the OpenEdge Business Entity base class, BusinessEntity.cls in OpenEdge.BusinessLogic.pl, handles each record change (create, update, or delete) for the Submit operation as a separate transaction, for as many transactions as there are record changes in this Bulk Submit operation mode. Therefore, the server potentially manages multiple transactions for the single network request that handles the Submit operation.
In Release 11.7.1, the base Business Entity class has been updated to use a Transactional Submit as the default mode for any generated Business Entity class that implements a Submit operation. This new default mode handles all record changes for the Submit operation as a single transaction on the server. Therefore, the server manages one transaction for the single network request that handles the Submit operation and all of its record changes.
If you need the Submit operation to function in the default Bulk Submit mode of prior releases, you can call the SUPER:SaveRows( ) method instead of the SUPER:Submit( ) call generated in the Submit operation method of your Business Entity class.
For example, you might generate a Business Entity class with the following default Submit operation method:
METHOD PUBLIC VOID SubmitdsCustomer(INPUT-OUTPUT DATASET dsCustomer):

SUPER:Submit(DATASET dsCustomer BY-REFERENCE).

END METHOD.
You can then replace the SUPER:Submit( ) call with the SUPER:SaveRows( ) call as follows:
METHOD PUBLIC VOID SubmitdsCustomer(INPUT-OUTPUT DATASET dsCustomer):

SUPER:SaveRows(DATASET dsCustomer BY-REFERENCE).

END METHOD.