To meet your needs, we constantly work to improve Querix products.
This means that Lycia documentation is developing as well.
In case you have found a certain dissonance between the provided information and the actual behavior of Lycia 3 and/or your applications, please, let us know about this via documentation@querix.com so that we can introduce the necessary changes to our documentation.
Thank you for your attention and cooperation.
When working with non-Informix RDBMS, Querix 4GL tries to provide the closest Informix error code on an error condition.
The fgl_native_code() function returns an INTEGER value, which represents the actual error code from the native RDBMS for the last SQL statement executed, as opposed to the Informix equivalent.
Sample Code: fgl_native_code_function.4gl
DATABASE cms
MAIN
DEFINE sql_stmt VARCHAR(255)
DEFINE driver_error, native_error VARCHAR(255)
DEFINE native_code INTEGER
LET sql_stmt = "Invalid SQL statement"
WHENEVER ERROR CONTINUE
PREPARE p1 FROM sql_stmt
DECLARE c1 CURSOR FOR p1
OPEN c1
WHENEVER ERROR STOP
LET driver_error = fgl_driver_error()
LET native_error = fgl_native_error()
LET native_code = fgl_native_code()
DISPLAY "Driver error: " AT 5, 5
DISPLAY driver_error AT 6, 5
DISPLAY "" AT 7, 5
DISPLAY "Native error: " AT 8, 5
DISPLAY native_error AT 9, 5
DISPLAY "Native error code: ", native_code AT 16,5
CALL fgl_winmessage("Exit","Press any key to close this demo application","info")
END MAIN