Home » SQL & PL/SQL » SQL & PL/SQL » PLS-00231: la función 'CONV_DATE' no se puede utilizar en SQL
PLS-00231: la función 'CONV_DATE' no se puede utilizar en SQL [message #38497] Tue, 23 April 2002 00:55 Go to next message
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 Go to previous messageGo to next message
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.
Re: PLS-00231: la función 'CONV_DATE' no se puede utilizar en SQL [message #38503 is a reply to message #38501] Tue, 23 April 2002 03:40 Go to previous message
mmr
Messages: 2
Registered: April 2002
Junior Member
Thank you, but you must declare the function CONV_DATE as public if you want to use PRAGMA RESTRICT_REFERENCES, and I want to use as private.
Thank you for your help John R.
Previous Topic: Round off
Next Topic: character string buffer too small
Goto Forum:
  


Current Time: Fri Apr 19 14:39:21 CDT 2024