When Acu4GL for ODBC executes a START … KEY EQUAL keyval, the interface generates a SELECT statement to select all rows with a key equal to the key columns in keyval. When fetching the data, Acu4GL eventually detects that there is no more data. If A_ODBC_STRICT_EQUAL is set to TRUE at the time the START is executed, the interface returns the error END OF FILE (error 10) at this point. If A_ODBC_STRICT_EQUAL is set to FALSE (the default), Acu4GL for ODBC then generates a new SELECT statement to continue reading records until the end of the file rather than the subset of records represented by keyval, and these records may be discarded by the program. (Note that this is program-dependent behavior.) Setting A_ODBC_STRICT_EQUAL to TRUE causes the interface to stop reading records earlier, which can make SELECT statements generated by Acu4GL for ODBC more efficient.
A_ODBC_STRICT_EQUAL has these conditions:
This same behavior can be accomplished with the 4GL_WHERE_CONSTRAINT, but using A_ODBC_STRICT_EQUAL requires less programming.
The default value is FALSE (or OFF, NO, or 0). This configuration variable can also take the value TRUE, ON, YES, or 1.