Luis Jorge Castro wrote :
>
>Hi!
>
>I have this DBPROC that returns an OUT parameter:
>
>CREATE DBPROC TBW_MONEDA ( IN MES FIXED(2.0) ,  IN ANIO  
>FIXED(4,0), IN ID_PAIS FIXED(3,0), IN IMPORTE FIXED(14,2), OUT 
>IMP_MXN FIXED(14,2) ) AS
>TRY
>    SELECTNU_TIPOCAMBIOUS
>        FROM ADMACI.TC_MONEDAS
>        WHERE NU_MES = :MES AND NU_ANIO = :ANIO 
>        AND IDNU_PAIS = :IP_PAIS;
>
>    WHILE $rc = 0 DO BEGIN
>        FETCH INTO :IMP_MXN;
>    END;
>CATCH
>  IF $rc <> 100 THEN STOP ($rc, 'unexpected error');
>
>I am trying to call this DBPROC from another DBPROC but i 
>don�t know how 
>to get the OUT parameter:
>
>CREATE DBPROC PBW_AHO_SELECT_TEST AS
>        VAR IMP_MXN FIXED(14,2);
>TRY
>    CALL TBW_MONEDA ( 1, 2005, 3, 5800, IMP_MXN);
>CATCH
>  IF $rc <> 100 THEN STOP ($rc, 'unexpected error');
>
>I got the error:
>
>---- Error -------------------------------
>Auto Commit: On, SQL Mode: Internal, Isolation Level: Committed
> General error;-8005 POS(115) Value expression must be parameter name
>CREATE DBPROC PBW_AHO_SELECT_TEST AS
>        VAR IMP_MXN FIXED(14,2);
>TRY
>    CALL TBW_MONEDA ( 1, 2005, 3, 5800, IMP_MXN);
>CATCH
>  IF $rc <> 100 THEN STOP ($rc, 'unexpected error');
>
>Please, can you help me to resolve this problem...
>
>Thanks in advance,
>
>Luis Jorge Castro
>

The call of the embedded db-procedure is the execution of a SQL statement. 
SQL statements transfer data via parameters. Parameters of SQL statements
have to start with a colon :

CREATE DBPROC PBW_AHO_SELECT_TEST AS
        VAR IMP_MXN FIXED(14,2);
TRY
    CALL TBW_MONEDA ( 1, 2005, 3, 5800, :IMP_MXN);
CATCH
  IF $rc <> 100 THEN STOP ($rc, 'unexpected error');


Best Regards,
Thomas

 

--
MaxDB Discussion Mailing List
For list archives: http://lists.mysql.com/maxdb
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to