Informix Error -4659: The CHAR (*) type is not allowed for report parameters.
Cause and resolution
The CHAR (*) type is not allowed for report parameters.
A formal argument cannot accept a character data type of unspecified length, such as CHAR(*).
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-4659 fires when a report's formal parameter is declared as CHAR(*) — per the official
guidance, a formal argument can't accept a character data type of unspecified length.
- A report parameter declared as
CHAR(*), per the official guidance — the direct, only cause.
Solutions / Resolution
- Declare the report parameter with an explicit
CHARlength instead ofCHAR(*).
Examples
A report parameter declared CHAR(*)
REPORT myreport(name CHAR(*))
-- -4659: report parameters can't use CHAR(*)
Corrected
REPORT myreport(name CHAR(30))
Diagnostic Checks
- Check every report's parameter list for
CHAR(*), and give it an explicit length instead.
Related Errors / Related Topics
- -4496 — "CHAR (*) type is not allowed within records or classes." A related
CHAR(*)restriction, about record/class members rather than report parameters. - -4660 — "Report parameters cannot take object references." A related report-parameter
type restriction, about class-typed parameters rather than
CHAR(*).
A report parameter is declared as CHAR(*), which isn't allowed — give it an explicit length.