Try OpenEdge Now
skip to main content
ABL Reference
Handle-based Object Events Reference : OFF-END event
 

OFF-END event

The OFF-END event occurs when you position a query on a ProDataSet temp-table buffer past the last row. You can use this event to retrieve additional data source rows to add at the bottom of a ProDataSet temp-table (for example, in batches when there are too many data source rows to retrieve at one time).
The OFF-END event can also occur when the user performs a keyboard or mouse action in a browse that scrolls off the end (past the last row) of a browse on a ProDataSet temp-table buffer. For more information about using the OFF-END event with a browse, see High-levelwidget events.
Note: The OFF-END event is similar to the QUERY-OFF-END attribute, which is set to TRUE whenever the associated query object is positioned past the last row. The difference is that you must test the QUERY-OFF-END attribute for this condition at a specific place in your application code, whereas the OFF-END event procedure executes like a trigger whenever the event occurs.
Consider the following restrictions when using the OFF-END event with a query on a ProDataSet temp-table buffer:
*You can attach these events only to a query on a single ProDataSet temp-table buffer. You cannot attach these events to a query on a database buffer, or a query that involves a join.
*The query must be a scrolling query.
*If you never RETURN NO-APPLY, from the OFF-END event handler, the query will infinitely loop.
*Call the SET-CALLBACK-PROCEDURE( ) method before the query is opened.
*If you use the GET LAST statement or GET-LAST( ) method to get the last record associated with the query, the event handler is called repeatedly until it does not RETURN NO-APPLY (indicating that all records have been retrieved). For this reason, use caution when offering users the GET LAST action.
*The INDEXED-REPOSITION option is ignored for the query.