Informix Error -671
-671 Routine invocation routine-name has duplicate parameter name.
A routine call named a parameter more than once.
Example of error:
LET var = proc (arg1 = 10, arg2 = 20, arg1 = 30);-- error
-671 Procedure call procedure-name has duplicate parameter name.
A procedure call named a parameter more than once.
Example of error:
LET var = proc (arg1 = 10, arg2 = 20, arg1 = 30);-- error
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-671 fires when a routine call names the same parameter more than once in its named-argument
list — per the official guidance's example, proc(arg1 = 10, arg2 = 20, arg1 = 30) names arg1
twice.
- The same named-argument name repeated in a single call, per the official guidance's example — the direct, only cause.
- A copy-pasted argument list where one placeholder name wasn't updated, leaving two arguments bound to the same parameter name.
Solutions / Resolution
- Remove the duplicate named argument, keeping only one value per parameter name.
- Review the routine's actual parameter list to confirm which name was intended for the value that was mistakenly duplicated under an existing name.
Examples
The disallowed duplicate
LET var = proc(arg1 = 10, arg2 = 20, arg1 = 30);
-- -671: arg1 named twice
Corrected
LET var = proc(arg1 = 10, arg2 = 20, arg3 = 30);
Diagnostic Checks
- Scan the named-argument list for a repeated parameter name.
Related Errors / Related Topics
- -663 — "You are using more than one procedure-calling syntax for procedure procedure-name." A related procedure-call error, about mixing named and positional arguments rather than repeating a named argument.
A straightforward duplicate named argument — scan the call's argument list for the repeated name.