Query by example (CONSTRUCT) / Using query by example |
In order to produce an SQL condition, the CONSTRUCT instruction uses a list of database columns that must match form fields for user input. Unlike INPUT, DISPLAY ARRAY and INPUT ARRAY, the CONSTRUCT dialog does not use a program variable for each form field: Only one string variable is required, to hold the SQL condition. Individual field criteria is available in the input buffers (GET_FLDBUF()).
The list of database columns specified in the CONSTRUCT statement will appear in the SQL condition produced.
SCHEMA stock DEFINE where_part STRING ... CONSTRUCT BY NAME where_part ON cust_name, cust_address ... END CONSTRUCT
The CONSTRUCT variable ON column-list FROM field-list clause explicitly maps database columns to form fields by position. The form can include other fields that are not part of the specified column list, but the number of variables or record members must equal the number of form fields listed in the FROM clause. Each database column must be of the same (or a compatible) data type as the corresponding form field. When the user enters data, the runtime system checks the entered value against the data type of the form field.
DEFINE where_part STRING ... CONSTRUCT where_part ON cust_name, cust_address FROM field_02, field_04 ... END CONSTRUCT