-- Created : 08/10/2013 10:45:17 -- Purpose : VENTAS ------------------------------------------------------- PROCEDURE SUCURSAL_KB_INSERT (cod_s IN INTEGER, ruc_s in integer, descripcion_s in varchar2, direccion_s in varchar2,telefono_s in integer , responsable_s in varchar2,estado_s in character, fecha_estado_s in date,obsevacion_estado_s in varchar2, adicionado_por_s in varchar2,fecha_adicionado_s in date , ubicacion_adicion_s in varchar2,modificado_por_s in varchar 2, fecha_modificacion_s in date,ubicacion_modificacion_s in va rchar2, pv_error out varchar2)AS
begin
if ruc_s is null then pv_error := 'ingrese nombre'; return; end if; if descripcion_s is null then pv_error := 'ingrese la descripcion'; return; end if; if direccion_s is null then pv_error := 'error en direccion, vuelva a ingresar su direccion'; return; end if; if responsable_s is null then pv_error := 'ingrese nombre del responsable '; return; end if; if estado_s is null and estado_s != 'a' and estado_s != 'i' and estado_s != ' n' then pv_error := 'estado incorrecto, ingrese [a , i , n]'; return; end if; if obsevacion_estado_s is null then pv_error := 'xxxx'; return; end if; if adicionado_por_s is null then pv_error := 'ingrese nombre '; return; end if; --- if ubicacion_adicion_s is null then --- pv_error := ''; --- return; --- end if; if modificado_por_s is null then pv_error := 'ingrese nombre del que esta modificando'; return; end if; --if fecha_modificacion_s is null then -- sysdate; -- return; --end if; --if ubicacion_modificacion_s is null then -- pv_error := ''; -- return; -- end if; insert into sucursal_kb(cod_s,ruc_s, descripcion_s,direccion_s,telefono_s, responsable_s,estado_s,fecha_estado_s,obsevacion_estado_s,adicionado_por_s , fecha_adicionado_s,ubicacion_adicion_s,modificado_por_s,fecha_modificacion_s, ubicacion_modificacion_s) values (sucursalkb.nextval,ruc_s,descripcion_s ,direccion_s , telefono_s,responsable_s,estado_s,sysdate,obsevacion_estado_s, adicionado_por_s,sysdate,ubicacion_adicion_s, modificado_por_s, sysdate,ubicacion_modificacion_s); commit; exception when dup_val_on_index then pv_error := 'codigo ya existe'; when others then pv_error := 'error tecnico, llamar a sistemas'||sqlerrm||'SUCURSAL_KB_INSE RT '; end SUCURSAL_KB_INSERT; --------------------------------------------------------- PROCEDURE SUCURSAL_KB_SELECT ( COD_SUCURSAL IN INTEGER, ruc_s out integer, descripcion_s out varchar2,direccion_s out varchar2, telefono_s out integer ,responsable_s out varchar2, estado_s out char,fecha_estado_s out date, obsevacion_estado_s out varchar2, adicionado_por_s out varc har2, fecha_adicionado_s out date ,ubicacion_adicion_s out varcha r2, modificado_por_s out varchar2, fecha_modificacion_s out dat e, ubicacion_modificacion_s out varchar2,pv_error out varchar2 )IS cursor codigo(codigo sucursal_kb.cod_s%type) IS select c.ruc_s,c.descripcion_s,c.direccion_s,c.telefono_s,c.responsable_s, c.estado_s,c.fecha_estado_s,c.obsevacion_estado_s,c.adicionado_por_s, c.fecha_adicionado_s,c.ubicacion_adicion_s,c.modificado_por_s, c.fecha_modificacion_s,c.ubicacion_modificacion_s into ruc_s,descripcion_s,direccion_s,telefono_s, responsable_s,estado_s,fecha_estado_s,obsevacion_estado_s, adicionado_por_s,fecha_adicionado_s,ubicacion_adicion_s,modificado_por_s, fecha_modificacion_s,ubicacion_modificacion_s from sucursal_kb c where COD_SUCURSAL=codigo; begin open codigo(COD_SUCURSAL); if codigo % notfound then pv_error := 'error codigo no existe'; return; end if; fetch codigo into ruc_s,descripcion_s,direccion_s,telefono_s,responsable_s,estado_s ,
fecha_estado_s,obsevacion_estado_s,adicionado_por_s,fecha_adicionado_s , ubicacion_adicion_s,modificado_por_s,fecha_modificacion_s,ubicacion_mo dificacion_s; exception when no_data_found then pv_error := 'error de codigo'; when too_many_rows then pv_error := 'codigo repetido'; when others then pv_error := 'error tecnico, llamar a sistemas'||sqlerrm||'SUCURSAL_KB_SELE CT'; end SUCURSAL_KB_SELECT; --------------------------------------------------------- PROCEDURE SUCURSAL_KB_UPDATE(COD_SUCURSAL IN INTEGER, ruc_s in integer, descripcion_s in varchar2,direccion_s in varchar2, telefono_s in integer ,responsable_s in varchar2, estado_s in char,fecha_estado_s in date, obsevacion_estado_s in varchar2,adicionado_por_s in varchar 2, fecha_adicionado_s in date ,ubicacion_adicion_s in varchar2 , modificado_por_s in varchar2,fecha_modificacion_s in date, ubicacion_modificacion_s in varchar2,pv_error out varchar2) AS BEGIN if nvl(COD_SUCURSAL,0)<=0 then pv_error := 'codigo incorrecto'; return; end if; update sucursal_kb set ruc_s=nvl(ruc_s,ruc_s), descripcion_s = nvl(descripcion_s, descripcion_s), direccion_s = nvl(direccion_s, direccion_s) , telefono_s = nvl(telefono_s, telefono_s), responsable_s = nvl(responsable_s,responsable_s), estado_s = nvl(estado_s,estado_s) , fecha_estado_s = nvl(fecha_estado_s,fecha_estado_s), obsevacion_estado_s = nvl(obsevacion_estado_s,obsevacion_estado_s), adicionado_por_s = nvl(adicionado_por_s ,adicionado_por_s), fecha_adicionado_s = nvl(fecha_adicionado_s,fecha_adicionado_s), ubicacion_adicion_s = nvl(ubicacion_adicion_s,ubicacion_adicion_s), modificado_por_s = nvl(modificado_por_s, modificado_por_s), fecha_modificacion_s = nvl(fecha_modificacion_s,fecha_modificacion_s), ubicacion_modificacion_s = nvl(ubicacion_modificacion_s,ubicacion_modificacion_ s) where cod_s = COD_SUCURSAL; if sql%notfound then pv_error := 'estudiante no existe'; return; end if; commit; exception when others then pv_error := 'error tecnico, llamar a sistemas'||sqlerrm||'datos_updte'; end SUCURSAL_KB_UPDATE; ------------------------------------------------------------------------------
--declaracion de parametros de entrada PROCEDURE BODEGA_KB_INSERT(cod_s in integer,descripcion_b in varchar2, direccion_b in varchar2,telefono_b in integer , responsable_b in varchar2, estado_b in character, fecha_estado_b in date, obsevacion_estado_b in varchar2, adicionado_por_b in varchar2,fecha_adicionado_b in date , ubicacion_adicion_b in varchar2, modificado_por_b in varcha r2, fecha_modificacion_b in date,ubicacion_modificacion_b in va rchar2, pv_error out varchar2)AS --validaciones de posibles casos
begin if cod_s is null then pv_error := 'ingrese codigo'; return; end if; if descripcion_b is null then pv_error := 'ingrese la descripcion'; return; end if; if direccion_b is null then pv_error := 'error en direccion, vuelva a ingresar su direccion'; return; end if; if responsable_b is null then pv_error := 'ingrese nombre del responsable '; return; end if; if estado_b is null and estado_b != 'a' and estado_b != 'i' and estado_b != ' n' then pv_error := 'estado incorrecto, ingrese [a , i , n]'; return; end if; if obsevacion_estado_b is null then pv_error := 'xxxx'; return; end if; if adicionado_por_b is null then pv_error := 'ingrese nombre '; return; end if; --- if ubicacion_adicion_b is null then --- pv_error := ''; --- return; --- end if; if modificado_por_b is null then pv_error := 'ingrese nombre del que esta modificando'; return; end if; --if fecha_modificacion_b is null then -- pv_error := ''; -- return; --end if; --if ubicacion_modificacion_b is null then -- pv_error := ''; -- return; -- end if; -- insert into bodega_kb(cod_b,cod_s,descripcion_b,direccion_b, telefono_b,responsable_b,estado_b,fecha_estado_b, obsevacion_Estado_b,adicionado_Por_b, fecha_Adicionado_b, ubicacion_Adicion_b, modificado_por_b,fecha_modificacion_b, ubicacion_modificacion_b) values (bodegakb.nextval, cod_s,descripcion_b,direccion_b,telefono_b , responsable_b,estado_b,fecha_estado_b,obsevacion_estado_b, adicionado_por_b,fecha_adicionado_b,ubicacion_adicion_b, modificado_por_b,fecha_modificacion_b,ubicacion_modificacio n_b); exception when dup_val_on_index then pv_error := 'codigo ya existe'; when others then pv_error := 'error tecnico, llamar a sistemas'||sqlerrm||'BODEGA_KB_INSERT '; end BODEGA_KB_INSERT; ------------------------------------------------------------------------------ PROCEDURE BODEGA_KB_SELECT(codigobodega in integer,descripcion_b out varchar2, direccion_b out varchar2,telefono_b out integer, responsable_b out varchar2,estado_b out char, fecha_estado_b out date,obsevacion_estado_b out varchar2, adicionado_por_b out varchar2,fecha_adicionado_b out date , ubicacion_adicion_b out varchar2,modificado_por_b out varch ar2, fecha_modificacion_b out date,ubicacion_modificacion_b out varchar2,pv_error out varchar2)IS cursor codigobo(codigo bodega_kb.cod_b%type) is select b.descripcion_b, b.direccion_b, b.telefono_b, b.responsable_b, b.estad o_b, b.fecha_estado_b, b.obsevacion_estado_b, b.adicionado_por_b, b.fecha_adiciona do_b, b.ubicacion_adicion_b, b.modificado_por_b, b.fecha_modificacion_b,b.ubicacion _modificacion_b into descripcion_b,direccion_b,telefono_b,responsable_b,estado_b,fecha_estado_ b, obsevacion_estado_b,adicionado_por_b,fecha_adicionado_b,ubicacion_adicion _b, modificado_por_b,fecha_modificacion_b,ubicacion_modificacion_b from bodega_kb b where cod_b=codigo; begin open codigobo(codigobodega); if codigobo%notfound then pv_error := 'error codigo no existe'; close codigobo; return; end if; fetch codigobo into descripcion_b,direccion_b ,telefono_b ,responsable_b,estado_b,fecha_e stado_b, obsevacion_estado_b,adicionado_por_b,fecha_estado_b,ubicacion_adicion_ b, modificado_por_b,fecha_modificacion_b ,ubicacion_modificacion_b; exception when no_data_found then pv_error := 'error de codigo'; when too_many_rows then Pv_error := 'codigo repetido'; when others then pv_error := 'error tecnico, llamar a sistemas'||sqlerrm||'BODEGA_KB_SELECT '; end BODEGA_KB_SELECT; ------------------------------------------------------------------------------
PROCEDURE BODEGA_KB_UPDATE(COD_SUCURSAL IN INTEGER, descripcion_b in varchar2,direccion_b in varchar2, telefono_b in integer ,responsable_b in varchar2, estado_b in char,fecha_estado_b in date, obsevacion_estado_b in varchar2,adicionado_por_b in varchar 2, fecha_adicionado_b in date ,ubicacion_adicion_b in varchar2 , modificado_por_b in varchar2,fecha_modificacion_b in date, ubicacion_modificacion_b in varchar2, pv_error out varchar2 ) AS BEGIN if nvl(COD_SUCURSAL,0)<=0 then pv_error := 'codigo incorrecto'; return; end if; update bodega_kb set descripcion_b = nvl(descripcion_b,descripcion_b), direccion_b= nvl(direccion_b, direccion_b) , telefono_b = nvl(telefono_b,telefono_b), responsable_b = nvl(responsable_b,responsable_b), estado_b = nvl(estado_b,estado_b), fecha_estado_b = nvl(fecha_estado_b,fecha_estado_b), obsevacion_estado_b = nvl(obsevacion_estado_b,obsevacion_estado_b), adicionado_por_b = nvl(adicionado_por_b,adicionado_por_b), fecha_adicionado_b = nvl(fecha_adicionado_b,fecha_adicionado_b), ubicacion_adicion_b = nvl(ubicacion_adicion_b,ubicacion_adicion_b), modificado_por_b = nvl(modificado_por_b, modificado_por_b), fecha_modificacion_b = nvl(fecha_modificacion_b,fecha_modificacion_b), ubicacion_modificacion_b = nvl(ubicacion_modificacion_b,ubicacion_modificacion_ b) where cod_b=cod_b; if sql%notfound then pv_error := ' no existe'; return; end if; commit; exception when others then pv_error := 'error tecnico, llamar a sistemas'||sqlerrm||'bodega_updte'; end BODEGA_KB_UPDATE; ------------------------------------------------------------------------------ PROCEDURE INGRESO_INVENTARIO_KB (BODEGA_PRODUCTO IN INTEGER, CODIGO_PRODUCTO IN INTEGER, CODIGO_SUCURSAL IN INTEGER, CODIGO_BODEGA IN INTEGER, CANTIDAD_PRODUCTO IN INTEGER, pi_estado_bodega IN VARCHAR2, pi_estado_producto IN VARCHAR2, pi_observacion_estado IN VARCHAR2, pi_modificado_por IN VARCHAR2, pi_ubicacion_modificacion IN VARCHAR2, pv_error out varchar2)AS COD_BODEGA INTEGER; COD_PRODUCTO INTEGER; DESCRIPCION_BODEGA VARCHAR2(30); DESCRIPCION_PRODUCTO VARCHAR2(30); CANTIDAD INTEGER; STOCK INTEGER; CURSOR PRODUCTO IS SELECT BP.COD_BODEGA, BP.COD_PRODUCTO, BP.DESCRIPCION_BODEGA, BP.DESCRIPCION_PRODUCTO, BP.CANTIDAD INTO COD_BODEGA, COD_PRODUCTO, DESCRIPCION_BODEGA, DESCRIPCION_PRODUCTO, CANTIDA D FROM BODEGA_PRODUCTO_ML BP WHERE BP.COD_BODEGA_PRODUCTO = BODEGA_PRODUCTO AND BP.ESTADO_BODEGA = 'A' and BP.ESTADO_PRODUCTO = 'A'; BEGIN ML_SISTEMA_VENTAS_VALIDACIONES.producto(CODIGO_PRODUCTO,pv_error); ML_SISTEMA_VENTAS_VALIDACIONES.bodega(CODIGO_BODEGA,pv_error); ML_SISTEMA_VENTAS_VALIDACIONES.sucursal(CODIGO_SUCURSAL,pv_error); OPEN PRODUCTO; if PRODUCTO % notfound then pv_error := 'error codigo no existe'; CLOSE PRODUCTO; return; end if;
exception when no_data_found then pv_error := 'error de codigo'; when too_many_rows then Pv_error := 'codigo repetido'; when others then pv_error := 'error tecnico, llamar a sistemas'||sqlerrm||'INGRESO_INVENTAR IO_KB';
END INGRESO_INVENTARIO_KB; ------------------------------------------------------------------------------- PROCEDURE REGISTRA_CABECERA_VENTA (cod_venta IN INTEGER, cod_factura OUT INTEGER, cod_s OUT INTEGER, fecha OUT DATE, pv_error OUT VARCHAR2 ) IS BEGIN
pk_venta_mm.p_select_cab_venta(cod_venta,cod_factura,cod_s,fecha,pv_error); EXCEPTION when others then pv_error := 'error tecnico, llamar a sistemas'||sqlerrm||'REGISTRA_CABECER A_VENTA';
END REGISTRA_CABECERA_VENTA; --------------------------------------------------------------------------------