Pre-User Selection


The Pre-User Selection event point executes after a PCF record is read and before APPX applies the selection criteria. It executes once for every record in the PCF that satisfies the constraints of the Establish PCF Range event point, or whatever APPX constructs in the absence of statements in that event point.

This event point is used to select records that cannot be included or excluded through the normal record selection specifications; their selection may be dependent upon a highly complex combination of selection criteria, for example. Pre-User Selection routines become part of the selection criteria for the query.

The INCLUDE RECORD predefined field determines whether or not a record is selected for the query. INCLUDE RECORD is reset to blank immediately before the Pre-User Selection event point executes. To exclude the record, regardless of the selection criteria, set INCLUDE RECORD to 0 or N (no) in the event point. To include the record, regardless of the selection criteria, set INCLUDE RECORD to 1 or Y (yes) in the event point. If INCLUDE RECORD is left blank, the record is included or excluded based on the selection criteria.

MENU, INPUT, OUTPUT, INQUIRY, JOB, STATUS, UPDATE, and QUERY statements should not be entered in the Pre-User Selection event point. Additionally, display control statements such as DISPLAY, BLINK, NO INPUT, OK INPUT, etc. should not be entered here. APPX will ignore all such statements at runtime.

Be aware that performance can be significantly affected based on the location of event point statements. Remember that statements in Pre-User Selection are executed with every PCF record accessed while those in Post User Selection are only executed after a record has been selected. For example, if statements are required to read auxiliary files and access fields evaluated in the selection of records, place the statements here. However, if the statements access files to get field values used to determine the sort pattern for selected records, place the statements in Post User Selection.