Hi,
Progress 9.1D07. Smart Window, Smart Browse, Smart Viewer and one SDO.
I had a problem where a user could not update a record, then update the same record again. My smart Viewer has an Update record overide where I perform non database validation. I then Run Super. The SDO in the postTransactionValidation I update some record auditing fields in my file, Last date, last time, Etc.
If we tried to update the record again it gave the progress message informing me that another user had updated the record. . My first stab at fixing this was to remove the Time aspect of the audit. (of course rendering my Audit almost pointless). After searching this site I determined that I need to refresh my query. So after the Run Super I have added ..
c-rowid = DYNAMIC-FUNCTION('getRowIDENT':U in h-datasource).
DYNAMIC-FUNCTION("Openquery" IN h-datasource).
/* This is the logic that positions to the record (causes problems when records no longer available in search) */
/* need to find an answer for this .. */
DYNAMIC-FUNCTION("fetchRowIdent" IN h-datasource, c-rowid, "") NO-ERROR.
Which works great BUT (sorry and thanks for reading this far !!) I have a search facility on this screen which filters the selections in the browse. If My changes cause the current slection to disappear from the browse the fetchRowIdent throws an error. Is there a way of checking that a record is in a browse before trying the fetchRowID ? or is there a better way of refreshing my Browse to stop this being an issue .. ????
Paul
Progress 9.1D07. Smart Window, Smart Browse, Smart Viewer and one SDO.
I had a problem where a user could not update a record, then update the same record again. My smart Viewer has an Update record overide where I perform non database validation. I then Run Super. The SDO in the postTransactionValidation I update some record auditing fields in my file, Last date, last time, Etc.
If we tried to update the record again it gave the progress message informing me that another user had updated the record. . My first stab at fixing this was to remove the Time aspect of the audit. (of course rendering my Audit almost pointless). After searching this site I determined that I need to refresh my query. So after the Run Super I have added ..
c-rowid = DYNAMIC-FUNCTION('getRowIDENT':U in h-datasource).
DYNAMIC-FUNCTION("Openquery" IN h-datasource).
/* This is the logic that positions to the record (causes problems when records no longer available in search) */
/* need to find an answer for this .. */
DYNAMIC-FUNCTION("fetchRowIdent" IN h-datasource, c-rowid, "") NO-ERROR.
Which works great BUT (sorry and thanks for reading this far !!) I have a search facility on this screen which filters the selections in the browse. If My changes cause the current slection to disappear from the browse the fetchRowIdent throws an error. Is there a way of checking that a record is in a browse before trying the fetchRowID ? or is there a better way of refreshing my Browse to stop this being an issue .. ????
Paul