CREATE OR REPLACE TRIGGER ACTUALIZA_VENINVPEDIDO
  BEFORE UPDATE ON VEN_ESCAN_ORDENCOM
  FOR EACH ROW
  Declare
  Procedure ActualizainvPedido(pcodigo in varchar2,pcantidad in number,plinea in number) is
  begin
     insert into veninvpedido
     (cia,caja,escanid,linea,articulo,cantidad)
     values
     ('001',:old.caja,:old.escanid,plinea,pcodigo,pcantidad);
   Exception
   when dup_val_on_index then
       update veninvpedido
       set articulo=pcodigo,
           cantidad=pcantidad
       where cia='001' 
       and caja=:old.caja
       and escanid=:old.escanid
       and linea=plinea;
  end ActualizainvPedido;
BEGIN
  if :old.cod1 <> :new.cod1 then  ActualizaInvPedido(:old.cod1, :old.unid1, 1);  end if;
  if :old.cod2 <> :new.cod2 then  ActualizaInvPedido(:old.cod2, :old.unid2, 2);  end if;
  if :old.cod3 <> :new.cod3 then  ActualizaInvPedido(:old.cod3, :old.unid3, 3);  end if;
  if :old.cod4 <> :new.cod4 then  ActualizaInvPedido(:old.cod4, :old.unid4, 4);  end if;
  if :old.cod5 <> :new.cod5 then  ActualizaInvPedido(:old.cod5, :old.unid5, 5);  end if;
  if :old.cod6 <> :new.cod6 then  ActualizaInvPedido(:old.cod6, :old.unid6, 6);  end if;
  if :old.cod7 <> :new.cod7 then  ActualizaInvPedido(:old.cod7, :old.unid7, 7);  end if;
  if :old.cod8 <> :new.cod8 then  ActualizaInvPedido(:old.cod8, :old.unid8, 8);  end if;
  if :old.cod9 <> :new.cod9 then  ActualizaInvPedido(:old.cod9, :old.unid9, 9);  end if;
  if :old.cod10 <> :new.cod10 then  ActualizaInvPedido(:old.cod10, :old.unid10, 10);  end if;
  if :old.cod11 <> :new.cod11 then  ActualizaInvPedido(:old.cod11, :old.unid11, 11);  end if;
  if :old.cod12 <> :new.cod12 then  ActualizaInvPedido(:old.cod12, :old.unid12, 12);  end if;
  if :old.cod13 <> :new.cod13 then  ActualizaInvPedido(:old.cod13, :old.unid13, 13);  end if;
  if :old.cod14 <> :new.cod14 then  ActualizaInvPedido(:old.cod14, :old.unid14, 14);  end if;
  if :old.cod15 <> :new.cod15 then  ActualizaInvPedido(:old.cod15, :old.unid15, 15);  end if;
  if :old.cod16 <> :new.cod16 then  ActualizaInvPedido(:old.cod16, :old.unid16, 16);  end if;
  if :old.cod17 <> :new.cod17 then  ActualizaInvPedido(:old.cod17, :old.unid17, 17);  end if;
  if :old.cod18 <> :new.cod18 then  ActualizaInvPedido(:old.cod18, :old.unid18, 18);  end if;
  if :old.cod19 <> :new.cod19 then  ActualizaInvPedido(:old.cod19, :old.unid19, 19);  end if;
  if :old.cod20 <> :new.cod20 then  ActualizaInvPedido(:old.cod20, :old.unid20, 20);  end if;
  if :old.cod21 <> :new.cod21 then  ActualizaInvPedido(:old.cod21, :old.unid21, 21);  end if;
  if :old.cod22 <> :new.cod22 then  ActualizaInvPedido(:old.cod22, :old.unid22, 22);  end if;
  if :old.cod23 <> :new.cod23 then  ActualizaInvPedido(:old.cod23, :old.unid23, 23);  end if;
  if :old.cod24 <> :new.cod24 then  ActualizaInvPedido(:old.cod24, :old.unid24, 24);  end if;
  if :old.cod25 <> :new.cod25 then  ActualizaInvPedido(:old.cod25, :old.unid25, 25);  end if;
  if :old.cod26 <> :new.cod26 then  ActualizaInvPedido(:old.cod26, :old.unid26, 26);  end if;
  if :old.cod27 <> :new.cod27 then  ActualizaInvPedido(:old.cod27, :old.unid27, 27);  end if;
  if :old.cod28 <> :new.cod28 then  ActualizaInvPedido(:old.cod28, :old.unid28, 28);  end if;
  if :old.cod29 <> :new.cod29 then  ActualizaInvPedido(:old.cod29, :old.unid29, 29);  end if;
  if :old.cod30 <> :new.cod30 then  ActualizaInvPedido(:old.cod30, :old.unid30, 30);  end if;
  if :old.cod31 <> :new.cod31 then  ActualizaInvPedido(:old.cod31, :old.unid31, 31);  end if;
  if :old.cod32 <> :new.cod32 then  ActualizaInvPedido(:old.cod32, :old.unid32, 32);  end if;
  if :old.cod33 <> :new.cod33 then  ActualizaInvPedido(:old.cod33, :old.unid33, 33);  end if;
  if :old.cod34 <> :new.cod34 then  ActualizaInvPedido(:old.cod34, :old.unid34, 34);  end if;
  if :old.cod35 <> :new.cod35 then  ActualizaInvPedido(:old.cod35, :old.unid35, 35);  end if;
  if :old.cod36 <> :new.cod36 then  ActualizaInvPedido(:old.cod36, :old.unid36, 36);  end if;
  if :old.cod37 <> :new.cod37 then  ActualizaInvPedido(:old.cod37, :old.unid37, 37);  end if;
  if :old.cod38 <> :new.cod38 then  ActualizaInvPedido(:old.cod38, :old.unid38, 38);  end if;
  if :old.cod39 <> :new.cod39 then  ActualizaInvPedido(:old.cod39, :old.unid39, 39);  end if;
  if :old.cod40 <> :new.cod40 then  ActualizaInvPedido(:old.cod40, :old.unid40, 40);  end if;
  if :old.cod41 <> :new.cod41 then  ActualizaInvPedido(:old.cod41, :old.unid41, 41);  end if;
  if :old.cod42 <> :new.cod42 then  ActualizaInvPedido(:old.cod42, :old.unid42, 42);  end if;
  if :old.cod43 <> :new.cod43 then  ActualizaInvPedido(:old.cod43, :old.unid43, 43);  end if;
  if :old.cod44 <> :new.cod44 then  ActualizaInvPedido(:old.cod44, :old.unid44, 44);  end if;
  if :old.cod45 <> :new.cod45 then  ActualizaInvPedido(:old.cod45, :old.unid45, 45);  end if;
  if :old.cod46 <> :new.cod46 then  ActualizaInvPedido(:old.cod46, :old.unid46, 46);  end if;
  if :old.cod47 <> :new.cod47 then  ActualizaInvPedido(:old.cod47, :old.unid47, 47);  end if;
  if :old.cod48 <> :new.cod48 then  ActualizaInvPedido(:old.cod48, :old.unid48, 48);  end if;
  if :old.cod49 <> :new.cod49 then  ActualizaInvPedido(:old.cod49, :old.unid49, 49);  end if;
  if :old.cod50 <> :new.cod50 then  ActualizaInvPedido(:old.cod50, :old.unid50, 50);  end if;
  if :old.cod51 <> :new.cod51 then  ActualizaInvPedido(:old.cod51, :old.unid51, 51);  end if;
  if :old.cod52 <> :new.cod52 then  ActualizaInvPedido(:old.cod52, :old.unid52, 52);  end if;
  if :old.cod53 <> :new.cod53 then  ActualizaInvPedido(:old.cod53, :old.unid53, 53);  end if;
  if :old.cod54 <> :new.cod54 then  ActualizaInvPedido(:old.cod54, :old.unid54, 54);  end if;
  if :old.cod55 <> :new.cod55 then  ActualizaInvPedido(:old.cod55, :old.unid55, 55);  end if;
  if :old.cod56 <> :new.cod56 then  ActualizaInvPedido(:old.cod56, :old.unid56, 56);  end if;
  if :old.cod57 <> :new.cod57 then  ActualizaInvPedido(:old.cod57, :old.unid57, 57);  end if;
  if :old.cod58 <> :new.cod58 then  ActualizaInvPedido(:old.cod58, :old.unid58, 58);  end if;
  if :old.cod59 <> :new.cod59 then  ActualizaInvPedido(:old.cod59, :old.unid59, 59);  end if;
  if :old.cod60 <> :new.cod60 then  ActualizaInvPedido(:old.cod60, :old.unid60, 60);  end if;
  if :old.cod61 <> :new.cod61 then  ActualizaInvPedido(:old.cod61, :old.unid61, 61);  end if;
  if :old.cod62 <> :new.cod62 then  ActualizaInvPedido(:old.cod62, :old.unid62, 62);  end if;
  if :old.cod63 <> :new.cod63 then  ActualizaInvPedido(:old.cod63, :old.unid63, 63);  end if;
  if :old.cod64 <> :new.cod64 then  ActualizaInvPedido(:old.cod64, :old.unid64, 64);  end if;
  if :old.cod65 <> :new.cod65 then  ActualizaInvPedido(:old.cod65, :old.unid65, 65);  end if;
  if :old.cod66 <> :new.cod66 then  ActualizaInvPedido(:old.cod66, :old.unid66, 66);  end if;
  if :old.cod67 <> :new.cod67 then  ActualizaInvPedido(:old.cod67, :old.unid67, 67);  end if;
  if :old.cod68 <> :new.cod68 then  ActualizaInvPedido(:old.cod68, :old.unid68, 68);  end if;
  if :old.cod69 <> :new.cod69 then  ActualizaInvPedido(:old.cod69, :old.unid69, 69);  end if;
  if :old.cod70 <> :new.cod70 then  ActualizaInvPedido(:old.cod70, :old.unid70, 70);  end if;
  if :old.cod71 <> :new.cod71 then  ActualizaInvPedido(:old.cod71, :old.unid71, 71);  end if;
  if :old.cod72 <> :new.cod72 then  ActualizaInvPedido(:old.cod72, :old.unid72, 72);  end if;
  if :old.cod73 <> :new.cod73 then  ActualizaInvPedido(:old.cod73, :old.unid73, 73);  end if;
  if :old.cod74 <> :new.cod74 then  ActualizaInvPedido(:old.cod74, :old.unid74, 74);  end if;
  if :old.cod75 <> :new.cod75 then  ActualizaInvPedido(:old.cod75, :old.unid75, 75);  end if;
  if :old.cod76 <> :new.cod76 then  ActualizaInvPedido(:old.cod76, :old.unid76, 76);  end if;
  if :old.cod77 <> :new.cod77 then  ActualizaInvPedido(:old.cod77, :old.unid77, 77);  end if;
  if :old.cod78 <> :new.cod78 then  ActualizaInvPedido(:old.cod78, :old.unid78, 78);  end if;
  if :old.cod79 <> :new.cod79 then  ActualizaInvPedido(:old.cod79, :old.unid79, 79);  end if;
  if :old.cod80 <> :new.cod80 then  ActualizaInvPedido(:old.cod80, :old.unid80, 80);  end if;
  if :old.cod81 <> :new.cod81 then  ActualizaInvPedido(:old.cod81, :old.unid81, 81);  end if;
  if :old.cod82 <> :new.cod82 then  ActualizaInvPedido(:old.cod82, :old.unid82, 82);  end if;
  if :old.cod83 <> :new.cod83 then  ActualizaInvPedido(:old.cod83, :old.unid83, 83);  end if;
  if :old.cod84 <> :new.cod84 then  ActualizaInvPedido(:old.cod84, :old.unid84, 84);  end if;
  if :old.cod85 <> :new.cod85 then  ActualizaInvPedido(:old.cod85, :old.unid85, 85);  end if;
  if :old.cod86 <> :new.cod86 then  ActualizaInvPedido(:old.cod86, :old.unid86, 86);  end if;
  if :old.cod87 <> :new.cod87 then  ActualizaInvPedido(:old.cod87, :old.unid87, 87);  end if;
  if :old.cod88 <> :new.cod88 then  ActualizaInvPedido(:old.cod88, :old.unid88, 88);  end if;
  if :old.cod89 <> :new.cod89 then  ActualizaInvPedido(:old.cod89, :old.unid89, 89);  end if;
  if :old.cod90 <> :new.cod90 then  ActualizaInvPedido(:old.cod90, :old.unid90, 90);  end if;
  if :old.cod91 <> :new.cod91 then  ActualizaInvPedido(:old.cod91, :old.unid91, 91);  end if;
  if :old.cod92 <> :new.cod92 then  ActualizaInvPedido(:old.cod92, :old.unid92, 92);  end if;
  if :old.cod93 <> :new.cod93 then  ActualizaInvPedido(:old.cod93, :old.unid93, 93);  end if;
  if :old.cod94 <> :new.cod94 then  ActualizaInvPedido(:old.cod94, :old.unid94, 94);  end if;
  if :old.cod95 <> :new.cod95 then  ActualizaInvPedido(:old.cod95, :old.unid95, 95);  end if;
  if :old.cod96 <> :new.cod96 then  ActualizaInvPedido(:old.cod96, :old.unid96, 96);  end if;
  if :old.cod97 <> :new.cod97 then  ActualizaInvPedido(:old.cod97, :old.unid97, 97);  end if;
  if :old.cod98 <> :new.cod98 then  ActualizaInvPedido(:old.cod98, :old.unid98, 98);  end if;
  if :old.cod99 <> :new.cod99 then  ActualizaInvPedido(:old.cod99, :old.unid99, 99);  end if;
  if :old.cod100 <> :new.cod100 then  ActualizaInvPedido(:old.cod100, :old.unid100, 100);  end if;
END;
/
