Modifying CONSTRUCT Boolean Expression
Posted in 1995
Topics: Stored Procedures & SPL, Connectivity: ESQL/C, 4GL & Embedded SQL
Using 4gl 4.12.UE1 I can use an AFTER CONSTRUCT, or AFTER FIELD clause plus get_fldbuf() to access and modify the user-entered field data. I can then even re-display the new data to the form field. My problem is with a single field form--my changes aren't picked up when CONSTRUCT builds the string. Even though I re-DISPLAY them to the form within my AFTER xxxx clause. According to the manual (4gl Supplement v. 4.10, pg. S-74); within an AFTER CONSTRUCT clause and using get_fldbuf() gives me access to the user input after the user presses the Accept key and before constructing the output string containing the Boolean expression. But CONSTRUCT is not re-checking the field to pick up my code's changes before building the expression. The same thing occurs using AFTER FIELD. I believe the problem is that CONSTRUCT grabs the field contents after the one field and knows it is about to exit the CONSTRUCT statement and so doesn't re-check the field again before building the string. Is my only option to work with the complete Boolean expression past the end of the CONSTRUCT statement? What a pain. In this case I was hoping to use Catalin Badea's magic to transform a case-specific query into a case-insensitive pattern matching string. Which is much simpler to do without needing to skip over the variable names, boolean operators, etc. Thanks for all the wonderful ideas and code I get from you folks! Darrell S. Thacher darrell@gteens.com