Parameter | Description | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
eMessage | The Find operation type. Legal values are:
| |||||||||||
bFound | Was the Find operation successful |
Procedure OnPostFind Integer eMessage Boolean bFound
The messages OnPreFind and OnPostFind are sent before a find and after a find, respectively.
Be sure to check not just the bFound parameter, but also the operation type (eMessage). For example, When a clear occurs, the parameter passed indicates a successful clear (a successful find nothing).
Procedure OnPostFind Integer eMessage Boolean bFound Forward Send OnPostFind eMessage bFound If (eMessage<> DDFindClear and bFound) Begin Send doSomethingIfRecordIsFound End End_Procedure
The significance of these messages:
1. All Find operations (Request_Find, FindByRowId, Find_By_Recnum, Request_Assign and Clear) are sent to a single place.
2. These are called before or after the actual Find, so the Data Dictionaries are not busy, which means you can send other DD messages within these (no reentrancy issues).
3. These are sent to the DD that owns the finding table. It is possible to send these messages to child objects asking for a parent find. In such a case, these events are sent to the owner (the parent) and not the DD that happened to get the message. You are sure that that DD getting the message is the DD for that table.