Cabecera:
=============================================
create or replace package spr_operaciones_item is
/*
Autor : CARLOS
Creado : 26/07/2010 21:22:39
Proposito : Operaciones con la Tabla de Items
*/
FUNCTION recuento_items(
iditem_desde_i IN pruebaitem.iditem%type,
iditem_hasta_i IN pruebaitem.iditem%type
) RETURN NUMBER;
--
PROCEDURE estadoitem(
ocurrencia_i IN pruebaitem.descripcionitem%type,
codigoretorno_o OUT VARCHAR2
);
/*
fin de la cabecera de especificaciones
*/
end spr_operaciones_item;
=============================================
Detalle:
--------------------------------------------------------------------
create or replace package body spr_operaciones_item is
/*
declaracion de procedimientos y funciones
*/
FUNCTION recuento_items(
iditem_desde_i IN pruebaitem.iditem%type,
iditem_hasta_i IN pruebaitem.iditem%type
) RETURN NUMBER IS
recuento NUMBER(18);
BEGIN
SELECT COUNT(*) INTO recuento
FROM pruebaitem
WHERE
iditem >= iditem_desde_i and
iditem <= iditem_hasta_i;
RETURN NVL(recuento,0);
END recuento_items;
--
PROCEDURE estadoitem(
ocurrencia_i IN pruebaitem.descripcionitem%type,
codigoretorno_o OUT VARCHAR2
) IS
BEGIN
UPDATE pruebaitem
SET estado = 2
WHERE
descripcionitem LIKE '%'||replace(ocurrencia_i,' ','%')||'%';
IF SQL%NOTFOUND THEN
codigoretorno_o := '25'; -- imposible encontrar
ELSE
codigoretorno_o := '00'; -- se cambio el estado exitosamente
END IF;
END estadoitem;
/*
terminan las declaraciones
*/
begin
-- Initialization
null;
end spr_operaciones_item;
--------------------------------------------------------------------
No hay comentarios:
Publicar un comentario