The following ABL constructs generate query information logging:
FOR[EACH|FIRST|LAST] statements:
FOR EACH customer
Static PRESELECT statement on REPEAT or DO blocks:
REPEAT PRESELECT FOR EACH customer, EACH order OF CUSTOMER
Statically Opened Queries:
OPEN QUERY q FOR EACH customer
Dynamically Opened Queries
It is possible to dynamically open both dynamic and static queries:
For a dynamic query object:
DEFINE VARIABLE qh AS HANDLE NO-UNDO.
CREATE QUERY qh.
. . .
qh:QUERY-PREPARE("FOR EACH customer").
qh:QUERY-OPEN().
For a static query object:
DEFINE VARIABLE qh AS HANDLE NO-UNDO.
DEFINE QUERY q FOR CUSTOMER.
qh = q:HANDLE.
qh:QUERY-PREPARE("FOR EACH customer").
qh:QUERY-OPEN().
Query information logging logs information separately for each instance of the same query. For example, if a program containing a query calls itself recursively, information is logged for each instance of the query.