Re: CONSTRUCT/END CONSTRUCT within INPUT statement
Posted in 1993
In article <jean.726402411@aim1> jean@aim1.aztec.co.za (Jean Ramsay) writes: >According to the TOOLREL_4.1 document for i4GL an END CONSTRUCT statement >is now required when using CONSTRUCT within an INPUT statement when using >version 4.1 of i4gl. (See lines 377,392) I *think* that END CONSTRUCT is only required when you use ON KEY, BEFORE FIELD, or AFTER FIELD between the CONSTRUCT and the END INPUT. (Because: the AFTER/BEFORE FIELD or ON KEY would be assumed to apply to the CONSTRUCT, not the INPUT). >A program containing this code, which works using release i4gl 4.0, >fails to execute the INPUT BY NAME ... WITHOUT DEFAULTS correctly (it >appears to ignore the WITHOUT DEFAULTS, blanking out all fields) when run >without the END CONSTRUCT statement on i4gl 4.1. Whoa. Is this INPUT, or INPUT ARRAY? If INPUT ARRAY, this is probably Bug #10522 et al, and is unrelated to the CONSTRUCT syntax issue. If you are using 4.10.UC1 or .UD1, you will definitely see this bug. Otherwise, check the release/ directory for bugfixes included in the port. >However it gives a generic >syntax error at compile time when the END CONSTRUCT is added. This shouldn't happen. Are you sure you are compiling with the 4.1 compiler? >Has anybody had this problem with i4gl 4.1? I am aware of the supposed >restriction disallowing a CONSTRUCT within an INPUT statement, but the >program did not require the CONSTRUCT to be within another function >under version 4.0. Any help would be appreciated. >-- >Jean Ramsay jean%aim1.aztec.co.za@ucthpx.uct.ac.za >Aztec Information Management, Cape Town, South Africa The only danger is the ambiguity I discussed above. Otherwise, pre-4.1 code is forward-compatible without changes. -- Alan Denney aland@informix.com {pyramid|uunet}!infmx!aland "For they looked in the future, and what did they see They saw an iron road running from the sea to the sea." -- Gordon Lightfoot