For an OpenEdge Data Object resource, the signature of the ABL routine that implements an Update operation must have a single INPUT-OUTPUT parameter for a DATASET, DATASET-HANDLE, TABLE or TABLE-HANDLE. If the resource supports before-image data, the parameter can only be for a DATASET or DATASET-HANDLE.
The following example shows a UpdatedsCustomer( ) method that might implement the Data Object Update operation for the ProDataSet resource, dsCustomer:
METHOD PUBLIC VOID UpdatedsCustomer(INPUT-OUTPUT DATASET dsCustomer):
DEFINE VAR hDataSet AS HANDLE NO-UNDO.
hDataSet = DATASET dsCustomer:HANDLE.
This implementation simply calls an overload of the UpdateData( ) method defined in the OpenEdge.BusinessLogic.BusinessEntity super class, which OpenEdge provides as an aid for implementing Data Object resources that support before-imaging. The invoked UpdateData( ) method provides a default implementation to update an existing record in the server database from the single temp-table record in the ProDataSet input to UpdatedsCustomer( ).