Informix Error -4013
-4013 Invalid intrinsic member function "!name".
The supported intrinsic member functions are !copy(), !derive(), and the class-name (the constructor). No other functions can be declared with an initial exclamation mark. Check the spelling of name. If it is not one of the supported names, declare the function as a normal member function.
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-4013 fires when a function is declared with a leading ! that isn't one of the supported
intrinsic names — per the official guidance, the supported intrinsic member functions are
!copy(), !derive(), and the constructor (named after the class); no other functions may
begin with !.
- A function name beginning with
!that isn't!copy(),!derive(), or the constructor, per the official guidance — the direct, only cause.
Solutions / Resolution
- Check the spelling of the name, per the official guidance.
- If it isn't one of the supported names, declare the function as a normal member
function (without the leading
!), per the official guidance.
Examples
An invalid intrinsic-style name
CLASS Order
FUNCTION !validate()
-- -4013: !validate is not !copy(), !derive(), or the constructor
END FUNCTION
END CLASS
Corrected
CLASS Order
FUNCTION validate()
...
END FUNCTION
END CLASS
Diagnostic Checks
- Check every function name beginning with
!, and confirm it's!copy(),!derive(), or the class constructor.
Related Errors / Related Topics
- -4000 — "Intrinsic member functions cannot be declared as SHARED." A related intrinsic
member-function rule, about the
SHAREDkeyword rather than the function's name itself.
A function name uses the ! prefix reserved for intrinsic member functions but isn't one of
the supported names — rename it as a normal member function.