Informix Error -16373
-16373 Cannot print or make assignments before execution has started.
You cannot use a LET command to assign a value to a variable, or a DUMP or PRINT command to display information about a variable or function until after execution starts. The same restriction applies after execution has terminated normally or after a CLEANUP command. Invoke the RUN or CALL command to begin execution and then repeat the command. (You might have to set a breakpoint or, in UNIX, press the Interrupt key to prevent normal termination.)
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-16373 fires when LET, DUMP, or PRINT is used before program execution has
started — per the official guidance. The same restriction applies after execution has
terminated normally, or after a CLEANUP command.
LET/DUMP/PRINTused before execution starts, or after it terminates normally/CLEANUP, per the official guidance — the direct, only cause.
Solutions / Resolution
- Invoke
RUNorCALLto begin execution, then repeat the command, per the official guidance. - Set a breakpoint, or press Interrupt on UNIX, to prevent normal termination before it reaches the desired point, per the official guidance.
Examples
PRINT before execution starts
> PRINT x
Corrected
> RUN
> BREAK mymodule.10
> CONTINUE
> PRINT x
Diagnostic Checks
- Check whether the program has been started via
RUN/CALLand is currently suspended, before usingLET/DUMP/PRINT.
Related Errors / Related Topics
- -16362 — "No current function." A related execution-state error, about no function
being active at all rather than specifically blocking
LET/DUMP/PRINT. - -16377 — "Cannot retrieve values of global variables before execution begins." The
same execution-state restriction, specific to
PRINTon global variables.
LET/DUMP/PRINT was used before execution started (or after it ended) — start/suspend
execution with RUN/CALL and a breakpoint first.