Okay, I have this working.
I added the following to the InitializeDataAccessObject OVERRIDE after SUPER.
DO ON ERROR UNDO, THROW:
/* Roger Blanchard / Osprey Retail Systems Nov 8, 2019
Lets call SetParameterObject in our DataAccess Object and pass our
SaveChangesParameter so the DataAccess Object has access to it.
*/
CAST (THIS-OBJECT:DataAccessObject, Osprey.CustomClasses.OERA.IOspreyDataAccess):SetParameterObject(THIS-OBJECT:SaveChangesParameter) .
CATCH e AS Progress.Lang.Error:
LogManagerWrapper:WriteError(e).
END CATCH.
END.
I did also have to add the following to the SaveChanges OVERLOAD before SUPER. If on the client we used SaveChanges (oParameter) and then later used SaveChanges() the parameter object on the backend was still valid. The code below will clear the reference.
IF VALID-OBJECT (THIS-OBJECT:DataAccessObject) THEN
DO ON ERROR UNDO, THROW:
CAST (THIS-OBJECT:DataAccessObject, Osprey.CustomClasses.OERA.IOspreyDataAccess):SetParameterObject(THIS-OBJECT:SaveChangesParameter) .
CATCH e AS Progress.Lang.Error:
LogManagerWrapper:WriteError(e).
END CATCH.
END.
THANK YOU!!