 
create table InfoContRW
(
    CodigoEmp          char(2)            not null,
    Aplicacao          char(15)           not null,
    PercBaseComissao   dec(5,2)           not null,
    PercDesconto       dec(5,2)           not null,
    PercJuros          dec(5,2)           not null,
    PercMulta          dec(5,2)           not null,
    PercIRRF           dec(5,2)           not null,
    PercINSS           dec(5,2)           not null,
    PercCSLL           dec(5,2)           not null,
    PercCOFINS         dec(5,2)           not null,
    PercPIS            dec(5,2)           not null,
    PercBCPISCOFINS     dec(5,2)           not null,
    PercISS            dec(5,2)           not null,
    PercISSG           dec(5,2)           not null,
    PercBCISSG         dec(5,2)           not null,
    RTecnico           char(15)           not null,
    RNoCliente         char(15)           not null,
    RComercial         char(15)           not null,
    RAdministrativo    char(15)           not null,
    RClienteProjeto    char(50)           not null,
    RClienteCobranca   char(50)           not null,
    EClienteProjeto    char(60)           not null,
    EClienteCobranca   char(60)           not null,
    TipoAplicacao      char(15)           not null,
    CodigonoCliente    char(20)           not null,
    Observacao         char(80)           not null,
    TipoTribServ       char(2)            not null,
    CodBeneficio       char(3)            not null,
    EnderecoT          char(2)            not null,
    EnderecoP          char(2)            not null,
    CodigoDocumento    char(10)           not null,
    CodigoObra         char(15)           not null,
    CodigoCIB            char(8)            not null,
    RespTecnica         char(15)           not null,
    DocRespTecnica      char(255)          not null,    
    ObsRespTecnica      char(255)          not null,
    PaisConsumo         char(2)            not null,
    TribISSQNMun        char(1)            not null,
    RetISSQNMun          char(1)            not null,
    PaisResultado       char(2)            not null,
    CSTPisCofins        char(2)            not null,
    TipoRetPisCofins    char(1)            not null,
    CodigoCNAE         char(7)            not null,
    DiaReajuste        char(4)            not null,    
    DataVigencia       DATETIME           null,    
    DataAtual          DATETIME           not null,    
    CodigoMatricula    CHAR(15)           not null
);

insert into InfoContRW select CodigoEmp, Aplicacao, PercBaseComissao, PercDesconto,
            PercJuros, PercMulta, PercIRRF, PercINSS, PercCSLL, PercCOFINS, PercPIS, PercBCPISCOFINS, PercISS, PercISSG, PercBCISSG,
            RTecnico, RNoCliente, RComercial, RAdministrativo, RClienteProjeto, RClienteCobranca,
            EClienteProjeto, EClienteCobranca, TipoAplicacao, CodigonoCliente, Observacao, TipoTribServ, CodBeneficio, 
            EnderecoT, EnderecoP, CodigoDocumento, CodigoObra, '        ', RespTecnica, DocRespTecnica, ObsRespTecnica,
            PaisConsumo, TribISSQNMun, '1', PaisResultado, CSTPisCofins, '2',
            CodigoCNAE, DiaReajuste, DataVigencia, DataAtual, CodigoMatricula from InfoContR where TipoRetPisCofins = 'N';

insert into InfoContRW select CodigoEmp, Aplicacao, PercBaseComissao, PercDesconto,
            PercJuros, PercMulta, PercIRRF, PercINSS, PercCSLL, PercCOFINS, PercPIS, PercBCPISCOFINS, PercISS, PercISSG, PercBCISSG,
            RTecnico, RNoCliente, RComercial, RAdministrativo, RClienteProjeto, RClienteCobranca,
            EClienteProjeto, EClienteCobranca, TipoAplicacao, CodigonoCliente, Observacao, TipoTribServ, CodBeneficio, 
            EnderecoT, EnderecoP, CodigoDocumento, CodigoObra, '        ', RespTecnica, DocRespTecnica, ObsRespTecnica,
            PaisConsumo, TribISSQNMun, '1', PaisResultado, CSTPisCofins, '1',
            CodigoCNAE, DiaReajuste, DataVigencia, DataAtual, CodigoMatricula from InfoContR where TipoRetPisCofins = 'S';

drop table InfoContR; 

create table InfoContR
(
    CodigoEmp          char(2)            not null,
    Aplicacao          char(15)           not null,
    PercBaseComissao   dec(5,2)           not null,
    PercDesconto       dec(5,2)           not null,
    PercJuros          dec(5,2)           not null,
    PercMulta          dec(5,2)           not null,
    PercIRRF           dec(5,2)           not null,
    PercINSS           dec(5,2)           not null,
    PercCSLL           dec(5,2)           not null,
    PercCOFINS         dec(5,2)           not null,
    PercPIS            dec(5,2)           not null,
    PercBCPISCOFINS     dec(5,2)           not null,
    PercISS            dec(5,2)           not null,
    PercISSG           dec(5,2)           not null,
    PercBCISSG         dec(5,2)           not null,
    RTecnico           char(15)           not null,
    RNoCliente         char(15)           not null,
    RComercial         char(15)           not null,
    RAdministrativo    char(15)           not null,
    RClienteProjeto    char(50)           not null,
    RClienteCobranca   char(50)           not null,
    EClienteProjeto    char(60)           not null,
    EClienteCobranca   char(60)           not null,
    TipoAplicacao      char(15)           not null,
    CodigonoCliente    char(20)           not null,
    Observacao         char(80)           not null,
    TipoTribServ       char(2)            not null,
    CodBeneficio       char(3)            not null,
    EnderecoT          char(2)            not null,
    EnderecoP          char(2)            not null,
    CodigoDocumento    char(10)           not null,
    CodigoObra         char(15)           not null,
    CodigoCIB            char(8)            not null,
    RespTecnica         char(15)           not null,
    DocRespTecnica      char(255)          not null,    
    ObsRespTecnica      char(255)          not null,
    PaisConsumo         char(2)            not null,
    TribISSQNMun        char(1)            not null,
    RetISSQNMun          char(1)            not null,
    PaisResultado       char(2)            not null,
    CSTPisCofins        char(2)            not null,
    TipoRetPisCofins    char(1)            not null,
    CodigoCNAE         char(7)            not null,
    DiaReajuste        char(4)            not null,    
    DataVigencia       DATETIME           null,    
    DataAtual          DATETIME           not null,    
    CodigoMatricula    CHAR(15)           not null
);

insert into InfoContR select * from InfoContRW; 

alter table InfoContR
    add constraint PK_InfoContR primary key (CodigoEmp, Aplicacao);

alter table InfoContR
    add constraint FK_InfoContR_CodTTribServ foreign key  (TipoTribServ)
       references CodTTribServ (Codigo);

alter table InfoContrOut
    add constraint FK_InfoContrOut_InfoContr foreign key  (CodigoEmp, CodigoAplicacao)
       references InfoContr (CodigoEmp, Aplicacao);

create index InfoContR_FK1 on InfoContR (CodigoEmp, Aplicacao, RTecnico);
create index InfoContR_FK2 on InfoContR (CodigoEmp, Aplicacao, RNoCliente);
create index InfoContR_FK3 on InfoContR (CodigoEmp, Aplicacao, RComercial);
create index InfoContR_FK4 on InfoContR (CodigoEmp, Aplicacao, RAdministrativo);
create index InfoContR_FK5 on InfoContR (CodigoEmp, Aplicacao, TipoTribServ);

GRANT ALL ON InfoContR TO BYTEC;

drop table InfoContRW;

Commit;