For an OpenEdge Data Object resource, the signature of the ABL routine that implements a Delete 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 DeletedsCustomer( ) method that might implement the Data Object Delete operation for the ProDataSet resource, dsCustomer:
METHOD PUBLIC VOID DeletedsCustomer(INPUT-OUTPUT DATASET dsCustomer):
DEFINE VAR hDataSet AS HANDLE NO-UNDO.
hDataSet = DATASET dsCustomer:HANDLE.
This implementation simply calls an overload of the DeleteData( ) 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 DeleteData( ) method provides a default implementation to delete an existing record in the server database identified from the single temp-table record deleted in the ProDataSet input to DeletedsCustomer( ).