Kbase P125813: ABL/4GL: Error (3230) executing a RUN statement.
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  07/09/2007 |
|
Status: Unverified
FACT(s) (Environment):
All Supported Operating Systems
SYMPTOM(s):
ABL/4GL: Error (3230) executing a RUN statement.
Mismatched parameter types passed to procedure <procedure>. (3230)
The called procedure expects an OUTPUT or an INPUT-OUTPUT parameter.
The called procedure expects an OUTPUT parameter or an INPUT-OUTPUT parameter. It has a statement of the form:
DEFINE OUTPUT PARAMETER cOutputParam AS CHARACTER NO-UNDO.
or
DEFINE INPUT-OUTPUT PARAMETER cInputOutputParam AS CHARACTER NO-UNDO.
The RUN statement has one of the following two forms:
DEFINE VARIABLE cVariable AS CHARACTER NO-UNDO.
RUN calledHasOutputParamter.p(cVariable).
or
FIND FIRST Customer NO-LOCK.
RUN calledHasInputOutputParamter.p(Customer.Country).
CAUSE:
The RUN statement is NOT using the OUTPUT or INPUT-OUTPUT keyword as required. When the called procedure is expecting an INPUT parameter, the INPUT keyword may be omitted from the RUN statement. But when the called procedure is expecting an OUTPUT parameter, the keyword OUTPUT MUST be used with the RUN statement. And when the called procedure is expecting an INPUT-OUTPUT parameter, the keyword INPUT-OUTPUT MUST be used with the RUN statement.
FIX:
If the called procedure is expecting an OUTPUT parameter, use the OUTPUT keyword with the RUN statement. For example:
DEFINE VARIABLE cVariable AS CHARACTER NO-UNDO.
RUN calledWithOutputParamter.p(OUTPUT cVariable).
If the called procedure is expecting an INPUT-OUTPUT parameter, use the INPUT-OUTPUT keyword with the RUN statement. For example:FIND FIRST Customer NO-LOCK.
RUN calledHasInputOutputParamter.p(INPUT-OUTPUT Customer.Country).