Parameter | Description |
---|---|
hoDD | The DataDictionary Object (DDO) handle which could not refind its record |
Procedure OnSyncDDOsRefindError Handle hoDD
Every time a client makes a request back to the server application, all DataDictionary Objects (DDOs) in the appropriate views must be resynchronized with the contents on client. This is referred to as the SyncDDO process.
It synchronizes the DDOs by refinding all DDO records by their row id. If a record cannot be found a refind error occurs. Most typically, this occurs when in a multi user environment where a record has been deleted and changed in such a way as to make it constraint invalid. When this happens, the framework will correct this as best it can. If is also possible that an error may occur because of a programming error (e.g., bad constraints, bad relationships, missing indexes). While the framework will attempt to handle this, you may need to know about this to correct this problem.
If a relate on this DDO fails, the find is still considered a success. However, a failed parent relate may result in the DDO's constraint being invalid, which indirectly will cause the find to fail.
By default, this sends OnRefindRecordError.
If you augment this, be very careful. The SyncDDO process is very low level. Attempting to change DDO values or perform navigations may not work at this point.
If you are debugging a possible refind record error you should start by setting the pbShowAllRefindErrors property to True. You may also wish to place a breakpoint on the OnRefindRecordError event.