drop table venpelcomercio;
create table venpelcomercio
( cia            char(3)      not null,
  comercio       varchar2(15) not null,
  servidor       varchar2(50) not null,
  puerto         number(4)    not null,
  minespera      number(3)    not null
     check (minespera>=0),
  maxespera      number(3)    not null
     check (maxespera>=0),
  intervalo      number(3)    not null
     check (intervalo>=0),
  constraint venpelcomercio_pk
     primary key(cia)
);

drop table venpeltarjeta;
create table venpeltarjeta
( cia            char(3)      not null,
  inicio         varchar2(10) not null,
  descripcion    varchar2(50) not null,
  concepto       varchar2(15) not null,
  fin            varchar2(10) not null,
  constraint venpeltarjeta_pk
     primary key(cia, inicio)
);

drop table venpelrespuesta;
create table venpelrespuesta
( cia            char(3)      not null,
  respuesta      varchar2(2)  not null,
  descripcion    varchar2(40) not null,
  accion         varchar2(40),
  constraint venpelrespuesta_pk
     primary key(cia, respuesta)
);

drop table venpelcaja;
create table venpelcaja
( cia            char(3)     not null,
  caja           char(3)     not null,
  terminal       varchar2(8) not null,
  consecutivo    number(10)  not null,
  estado         char(1)     not null
     check (estado in ('A','I')),
  constraint venpelcaja_pk
     primary key(cia, caja)
);

create table xxvp as select * from venpeloperacion;
drop table venpeloperacion;
create table venpeloperacion
( cia            char(3)      not null,
  caja           char(3)      not null,
  documento      number(10)   not null,
  mensaje        varchar2(4)  not null,
  lectura        varchar2(3)  not null,
  tarjeta        varchar2(19) not null,
  vence          varchar2(4)  not null,
  fecha          date         not null,
  cliente        varchar2(25) not null,
  nombre         varchar2(50) not null,
  monto          number(14,2) not null,
  terminal       varchar2(8)  not null,
  dia            date         not null,
  usuario        varchar2(30) not null,
  banda          varchar2(40),
  pago           number(10),
  consecutivo    varchar2(10),
  referencia     varchar2(12),
  autorizacion   varchar2(6),
  respuesta      varchar2(2),
  estado         char(1)     not null
     constraint venpeloperacion_estado_ck check (estado in ('I','P','E','A','R')),
  constraint venpeloperacion_pk 
     primary key(cia, caja, documento)
);


insert into venpeloperacion
select cia, caja, documento, decode(mensaje,'A','0200','0400'),'020',tarjeta,
       vence, fecha, cliente, nombre, monto, terminal, dia, usuario,
       banda, pago, consecutivo, referencia, autorizacion, respuesta, estado
from xxvp;


--No Crear estas filas en ningun cliente!!!
--insert into venpelcomercio (CIA, COMERCIO, SERVIDOR, PUERTO, MINESPERA, MAXESPERA, INTERVALO)
--     values ('001','020001738000000','vismar', 8800, 3, 3, 1);
insert into venpelcomercio (CIA, COMERCIO, SERVIDOR, PUERTO, MINESPERA, MAXESPERA, INTERVALO)
     values ('001','020001738000000','llobetbn', 3050, 3, 3, 1);
insert into venpelcaja (CIA, CAJA, TERMINAL, CONSECUTIVO, ESTADO)
     values ('001', '001', '00009999', 1, 'A');

insert into venpeltarjeta (cia, inicio, descripcion, concepto, fin)
     values ('001', '4000', 'VISA', 'X', '4999');
insert into venpeltarjeta (cia, inicio, descripcion, concepto, fin)
     values ('001', '5100', 'MASTERCARD', 'X', '5999');
insert into venpeltarjeta (cia, inicio, descripcion, concepto, fin)
     values ('001', '881100', 'POPULAR', 'X', '881199');
insert into venpeltarjeta (cia, inicio, descripcion, concepto, fin)
     values ('001', '50462700', 'OTRAS POPULAR', 'X', '50462799');
commit;


create table xxvp as select * from venpeloperacion;
