Informix Error -4669
-4669 The function fgl_setcurrline can only be used in
INPUT/DISPLAY ARRAY block.The function is being used outside of an INPUT/DISPLAY ARRAY block. Review the code to make sure that fgl_setcurrline has not been used anywhere else except in the INPUT/DISPLAY ARRAY block.
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-4669 fires when fgl_setcurrline is called outside an INPUT/DISPLAY ARRAY block — per
the official guidance, it's only meaningful there.
fgl_setcurrlinecalled outside anINPUT/DISPLAY ARRAYblock, per the official guidance — the direct, only cause.
Solutions / Resolution
- Review the code to make sure
fgl_setcurrlinehas not been used anywhere else except in theINPUT/DISPLAY ARRAYblock, per the official guidance.
Examples
fgl_setcurrline outside INPUT/DISPLAY ARRAY
FUNCTION highlightRow(n)
CALL fgl_setcurrline(n)
-- -4669: only valid inside an INPUT/DISPLAY ARRAY block
END FUNCTION
Corrected
DISPLAY ARRAY items TO scr.*
ON KEY(F1)
CALL fgl_setcurrline(3)
END DISPLAY
Diagnostic Checks
- Check every call to
fgl_setcurrline, and confirm it's inside anINPUT/DISPLAY ARRAYblock.
Related Errors / Related Topics
- -4652 — "The function function name can only be used within an INPUT or CONSTRUCT
statement." The same class of scope-restricted-function error, for functions meaningful
only inside
INPUT/CONSTRUCTrather thanINPUT/DISPLAY ARRAY.
fgl_setcurrline was called outside an INPUT/DISPLAY ARRAY block — it's only valid there.