Subject Invalid argument in EXECUTE STATEMENT - cannot convert to string
Author Tim Ward
Anyone know what this error message actually means?

Yes I am trying to run an EXECUTE STATEMENT, but it's not clear to me
what an "argument" means in this context, or what it is that something
is trying to convert to a string, or why it's trying to do so, or why it
can't be done.

execute statement

'select first 1 MODULEID, ELEMENTID from TBLMODULE' ||
:tableType || ' ' ||
'where ELEMENTID = ' ||:ELEMENTID || :userClause || '
order by 1 ASC'

into :nModuleId, :nElementId;

tableType is a varchar
elementid is a bigint
userclause is a varchar

nmoduleid is a bigint
nelementid is a bigint

The only thing I can think of, after struggling for some time to
understand the message, is that the thing between "statement" and "into"
is the "argument", and the only reason I can think of that it might not
be a string - despite obviously looking like one!! - is that elementId
is null (neither of the other variables can ever be null). Does that
make sense?

Tim Ward