Buenas a todos:
Soy nuevo en esto del PL y como novato que soy tengo muchas dudas, que espero sepan resolverme.
Me piden el siguiente procedimiento:
NOMBRE: PR_GESCFC_SE_ESTAB_X_DESC
Realizar una consulta de la tabla de establecimientos y obtener el código (ID_VENDR) y la razón social o nombre del establecimiento(NO_ESTBL_RAZON_SOCIAL_1, NO_ESTBL_RAZON_SOCIAL_2 y NO_ESTBL_RAZON_SOCIAL_3) que coincidan con la descripción recibida de negocio. La correspondencia entre datos del ListView y BBDD es la siguiente:
Datos de entrada:
-Descripción -->NO_ESTBL_RAZON_SOCIAL_1 + NO_ESTBL_RAZON_SOCIAL_2 + NO_ESTBL_RAZON_SOCIAL_3
Datos de salida:
- Código Establecimiento--> CD_ESTBL_UTE o ID_VENDR
-Descripción --> NO_ESTBL_RAZON_SOCIAL_1 + NO_ESTBL_RAZON_SOCIAL_2 + NO_ESTBL_RAZON_SOCIAL_3
YO HICE LO SIGUIENTE:
*****ESPECIFICACION******
create or replace
PACKAGE P_GESCFC_GESESTAB AS
TYPE t_cursor IS REF CURSOR;
PROCEDURE PR_GESCFC_SE_ESTAB_X_DESC(
P_NO_ESTBL_RAZON_SOCIAL_1 IN GESCFC_ESTABLECIMIENTO_M.NO_ESTBL_RAZON_SOCIAL_1%T YPE,
P_NO_ESTBL_RAZON_SOCIAL_2 IN GESCFC_ESTABLECIMIENTO_M.NO_ESTBL_RAZON_SOCIAL_2%T YPE,
P_NO_ESTBL_RAZON_SOCIAL_3 IN GESCFC_ESTABLECIMIENTO_M.NO_ESTBL_RAZON_SOCIAL_3%T YPE,
P_CD_ESTABLECIMIENTO OUT GESCFC_ESTABLECIMIENTO_M.CD_ESTBL_UTE%TYPE,
P_CD_VEND_ESTABLECIMIENTO OUT GESCFC_ESTABLECIMIENTO_M.ID_VENDR%TYPE,
DESCRIPCION OUT t_cursor);
/*CONSULTAR SI DEJAR COMO UN CURSOR, UN STRING O CON TRES CAMPOS DE SALIDA*/
END P_GESCFC_GESESTAB;
************************************************** **************
*****CUERPO******
create or replace
PACKAGE BODY P_GESCFC_GESESTAB AS
PROCEDURE PR_GESCFC_SE_ESTAB_X_DESC(
P_NO_ESTBL_RAZON_SOCIAL_1 IN GESCFC_ESTABLECIMIENTO_M.NO_ESTBL_RAZON_SOCIAL_1%T YPE,
P_NO_ESTBL_RAZON_SOCIAL_2 IN GESCFC_ESTABLECIMIENTO_M.NO_ESTBL_RAZON_SOCIAL_2%T YPE,
P_NO_ESTBL_RAZON_SOCIAL_3 IN GESCFC_ESTABLECIMIENTO_M.NO_ESTBL_RAZON_SOCIAL_3%T YPE,
P_CD_ESTABLECIMIENTO OUT GESCFC_ESTABLECIMIENTO_M.CD_ESTBL_UTE%TYPE,
P_CD_VEND_ESTABLECIMIENTO OUT GESCFC_ESTABLECIMIENTO_M.ID_VENDR%TYPE,
DESCRIPCION OUT t_cursor) as
BEGIN
OPEN DESCRIPCION FOR SELECT NVL(CD_ESTBL_UTE,ID_VENDR) NO_ESTBL_RAZON_SOCIAL_1, NO_ESTBL_RAZON_SOCIAL_2, NO_ESTBL_RAZON_SOCIAL_3
FROM GESCFC_ESTABLECIMIENTO_M;
END PR_GESCFC_SE_ESTAB_X_DESC;
END P_GESCFC_GESESTAB;
¿Podrían decirme si los que he hecho está bien? Espero sus respuestas.