PLS-00231: la función 'CONV_DATE' no se puede utilizar en SQL [message #38497] |
Tue, 23 April 2002 00:55 |
mmr
Messages: 2 Registered: April 2002
|
Junior Member |
|
|
Me da el siguiente error: "PLS-00231: la función 'CONV_DATE' no se puede utilizar en SQL"
Por qué he de poner pública en el paquete la función CONV_DATE para que no de errores?
No puedo utilizar una función privada de un paquete en el propio paquete aunque se utilice en una SELECT?
CREATE OR REPLACE Package XXXPAG_ACCESO
IS
PROCEDURE XXXRESULTADOS(usuario in varchar2,fecha in varchar2,tipo_estado in varchar2,orga in varchar2);
END;
/
CREATE OR REPLACE Package Body XXXPAG_ACCESO
IS
FUNCTION CONV_DATE(TEXTO in VARCHAR2) return date IS
Result date;
begin
SELECT DECODE(TEXTO,'00000000',NULL,TO_DATE(TEXTO,'yyyymmdd')) INTO Result FROM DUAL;
return(Result);
END CONV_DATE;
PROCEDURE RESULTADOS (usuario in varchar2, fecha in varchar2, tipo_estado in varchar2, orga in varchar2) IS
........................
........................
SELECT BELNR,GJGRT,BUZEI,BLART,DESCR, ESTAD,BUDAT, SUM(INTEGR) AS Integ,SUM(LIQUID) AS liq
FROM PAGOS
WHERE (LIFNR=usuario AND
to_char(CONV_DATE(BUDAT),'dd/mm/yyyy')=fecha)
GROUP BY LIFNR, BUDAT, BELNR, GJGRT, BUZEI, BLART, DESCR,ESTAD;
.........................
.......................
END XXXRESULTADOS;
END;
/
|
|
|
Re: PLS-00231: la función 'CONV_DATE' no se puede utilizar en SQL [message #38501 is a reply to message #38497] |
Tue, 23 April 2002 02:54 |
John R
Messages: 156 Registered: March 2000
|
Senior Member |
|
|
Apesadumbrado, no hablo español. Google tradujo esto para mí. Substituya el jefe del paquete por esto:
CREATE OR REPLACE Package XXXPAG_ACCESO
IS
PROCEDURE XXXRESULTADOS(usuario in varchar2,fecha in varchar2,tipo_estado in varchar2,orga in varchar2);
PRAGMA RESTRICT_REFERENCES (conv_date,WNDS,WNPS)
END;
Espero que esto ayude.
|
|
|
|