Introduction
When a query is open in the block, the Post-Query trigger fires each time Form Builder fetches a record into a block. The trigger fires once for each record placed on the block’s list of records.
Usage Notes
Use a Post-Query trigger to perform the following tasks:
- populate control items or items in other blocks
- calculate statistics about the records retrieved by a query
- calculate a running total
- When you use a Post-Query trigger to SELECT non-base table values into control items, Form Builder marks each record as CHANGED, and so fires the When-Validate-Item trigger by default. You can avoid the execution of the When-Validate-Item trigger by explicitly setting the Status property of each record to QUERY in the Post-Query trigger. To set record status programmatically, use SET_RECORD_PROPERTY.
Example
This example retrieves descriptions for code fields, for display in non-database items in the current block.
DECLARE
CURSOR lookup_payplan
IS
SELECT payplan_desc
FROM payplan
WHERE payplan_id = :employee.payplan_id;
CURSOR lookup_area
IS
SELECT area_name
FROM zip_code
WHERE zip = :employee.zip;
BEGIN
/*
Lookup the Payment Plan Description given the Payplan_Id in the Employee Record just fetched. Use Explicit Cursor for highest efficiency.
*/
OPEN lookup_payplan;
FETCH lookup_payplan
INTO :employee.payplan_desc_nondb;
CLOSE lookup_payplan;
/*
Lookup Area Descript given the Zipcode in the Employee Record just fetched. Use Explicit Cursor for highest efficiency.
*/
OPEN lookup_area;
FETCH lookup_area
INTO :employee.area_desc_nondb;
CLOSE lookup_area;
END;