SET DEFINE OFF;

DELETE SIOPCOESCOMBOCONFIGURACAO WHERE id = 59;

COMMIT;

ALTER TABLE PAESTABELECIMENTOXNFSE DROP CONSTRAINT PAESTABELECIMENTOXNFSE_FK3;

DROP TABLE SIREGIMESESPECIAISTRIBUTACAO;
DELETE SITABELASSISTEMA WHERE tabelaSistema = 'SIREGIMESESPECIAISTRIBUTACAO'; 

-- SIREGIMESESPECIAISTRIBUT
CREATE TABLE SIREGIMESESPECIAISTRIBUT
  (
    regimeEspecialTributacao CHAR (1) DEFAULT ' ' NOT NULL,
    descricao                VARCHAR (60) DEFAULT ' ' NOT NULL,
    ativo                    NUMERIC (1,0) DEFAULT 0 NOT NULL,
    observacoes              VARCHAR (4000) DEFAULT ' ' NOT NULL
  );
ALTER TABLE SIREGIMESESPECIAISTRIBUT ADD CONSTRAINT SIREGIMESESPECIAISTRIBUT_PK1 PRIMARY KEY (regimeEspecialTributacao);
CREATE INDEX SIREGIMESESPECIAISTRIBUT_K2 ON SIREGIMESESPECIAISTRIBUT (descricao);
INSERT INTO SIREGIMESESPECIAISTRIBUT (regimeEspecialTributacao, descricao, ativo, observacoes) values (' ', 'SELECIONE', 1, ' ');
INSERT INTO SIREGIMESESPECIAISTRIBUT (regimeEspecialTributacao, descricao, ativo, observacoes) values ('1', '1 Microempresa Municipal', 1, ' ');
INSERT INTO SIREGIMESESPECIAISTRIBUT (regimeEspecialTributacao, descricao, ativo, observacoes) values ('2', '2 Estimativa', 1, ' ');
INSERT INTO SIREGIMESESPECIAISTRIBUT (regimeEspecialTributacao, descricao, ativo, observacoes) values ('3', '3 Sociedade de Profissionais', 1, ' ');
INSERT INTO SIREGIMESESPECIAISTRIBUT (regimeEspecialTributacao, descricao, ativo, observacoes) values ('4', '4 Cooperativa', 1, ' ');
INSERT INTO SIREGIMESESPECIAISTRIBUT (regimeEspecialTributacao, descricao, ativo, observacoes) values ('5', '5 MEI Simples Nacional', 1, ' ');
INSERT INTO SIREGIMESESPECIAISTRIBUT (regimeEspecialTributacao, descricao, ativo, observacoes) values ('6', '6 ME EPP Simples Nacional', 1, ' ');

COMMIT;

INSERT INTO SITABELASSISTEMA (tabelaSistema, descricao, ativo, ordenacao, tipoTabela, nomeCampoCodigo, tipoCampoCodigo, numeroDigitosCodigo, nomeCampoDescricao, adicionarCodigoNaDescricao, nomeCampoIdSeDiferenteCodigo, numeroDigitosCampoId, categoriaTabelaSistema, aplicacaoZoom, nomePublicoZoom, versaoTabela, versaoDados, observacoes) values ('SIREGIMESESPECIAISTRIBUT', 'Regimes Especiais Tributação', 1, 381, 'SI', 'regimeEspecialTributacao', 'A', 1, 'descricao', 0, ' ', 0, 999999, '%SYS_DIR%Versoes\%SYS_VER%\Framework.ecf', 'PesqRegimesEspeciaisTributacao', 1, 1, ' '); 

COMMIT;

ALTER TABLE PAESTABELECIMENTOXNFSE ADD CONSTRAINT PAESTABELECIMENTOXNFSE_FK3 FOREIGN KEY (regimeEspecialTributacao) REFERENCES SIREGIMESESPECIAISTRIBUT (regimeEspecialTributacao);

COMMIT;

-- SITIPOSANEXO
CREATE TABLE SITIPOSANEXO
  (
    tipoAnexo   CHAR (1) DEFAULT ' ' NOT NULL,
    ordenacao   NUMERIC (11,0) DEFAULT 0 NOT NULL,
    descricao   VARCHAR (256) DEFAULT ' ' NOT NULL,
    ativo       NUMERIC (1,0) DEFAULT 0 NOT NULL,
    observacoes VARCHAR (4000) DEFAULT ' ' NOT NULL
  );
ALTER TABLE SITIPOSANEXO ADD CONSTRAINT SITIPOSANEXO_PK1 PRIMARY KEY (tipoAnexo);
CREATE INDEX SITIPOSANEXO_K2 ON SITIPOSANEXO (descricao);
CREATE INDEX SITIPOSANEXO_K3 ON SITIPOSANEXO (ordenacao, tipoAnexo);

INSERT INTO SITIPOSANEXO (tipoAnexo, ordenacao, descricao, ativo, observacoes) values (' ', 0, 'SELECIONE', 1, ' ');
INSERT INTO SITIPOSANEXO (tipoAnexo, ordenacao, descricao, ativo, observacoes) values ('N', 1, 'Sem Anexo', 1, ' ');
INSERT INTO SITIPOSANEXO (tipoAnexo, ordenacao, descricao, ativo, observacoes) values ('A', 2, 'Arquivo', 1, ' ');
INSERT INTO SITIPOSANEXO (tipoAnexo, ordenacao, descricao, ativo, observacoes) values ('M', 3, 'Menu', 1, ' ');
INSERT INTO SITIPOSANEXO (tipoAnexo, ordenacao, descricao, ativo, observacoes) values ('R', 4, 'Registro', 1, ' ');
INSERT INTO SITIPOSANEXO (tipoAnexo, ordenacao, descricao, ativo, observacoes) values ('B', 5, 'Comando Banco de Dados', 1, ' ');
INSERT INTO SITIPOSANEXO (tipoAnexo, ordenacao, descricao, ativo, observacoes) values ('S', 6, 'Comando Prompt Server', 1, ' ');
INSERT INTO SITIPOSANEXO (tipoAnexo, ordenacao, descricao, ativo, observacoes) values ('C', 7, 'Comando Prompt Client', 1, ' ');

COMMIT;

INSERT INTO SITABELASSISTEMA (tabelaSistema, descricao, ativo, ordenacao, tipoTabela, nomeCampoCodigo, tipoCampoCodigo, numeroDigitosCodigo, nomeCampoDescricao, adicionarCodigoNaDescricao, nomeCampoIdSeDiferenteCodigo, numeroDigitosCampoId, categoriaTabelaSistema, aplicacaoZoom, nomePublicoZoom, versaoTabela, versaoDados, observacoes) values ('SITIPOSANEXO', 'Tipos Anexo', 1, 52, 'SI', 'tipoAnexo', 'A', 1, 'descricao', 0, ' ', 0, 999999, '%SYS_DIR%Versoes\%SYS_VER%\Framework.ecf', 'PesqTiposAnexo', 1, 1, ' '); 

COMMIT;

INSERT INTO SIMENUS (menu, descricao, ativo, ordenacao, tipoMenu, categoriaMenu, menuPrincipal, aplicacao, nomePublico, categoriaConfiguracao, categoriaPersonalCampo, categoriaMemoriaSistema, permiteReport, observacoes) values (906, 'Tipos Anexo', 1, 99000054, 'SI', 999999, 906, '%SYS_DIR%Versoes\%SYS_VER%\Framework.ecf', 'PesqTiposAnexo', 0, 0, 0, 0, ' ');

COMMIT;

-- SIRECORRENCIAS
CREATE TABLE SIRECORRENCIAS
  (
    recorrencia CHAR (1) DEFAULT ' ' NOT NULL,
    ordenacao   NUMERIC (11,0) DEFAULT 0 NOT NULL,
    descricao   VARCHAR (256) DEFAULT ' ' NOT NULL,
    ativo       NUMERIC (1,0) DEFAULT 0 NOT NULL,
    observacoes VARCHAR (4000) DEFAULT ' ' NOT NULL
  );
ALTER TABLE SIRECORRENCIAS ADD CONSTRAINT SIRECORRENCIAS_PK1 PRIMARY KEY (recorrencia);
CREATE INDEX SIRECORRENCIAS_K2 ON SIRECORRENCIAS (descricao);
CREATE INDEX SIRECORRENCIAS_K3 ON SIRECORRENCIAS (ordenacao, recorrencia);

INSERT INTO SIRECORRENCIAS (recorrencia, ordenacao, descricao, ativo, observacoes) values (' ', 0, 'SELECIONE', 1, ' ');
INSERT INTO SIRECORRENCIAS (recorrencia, ordenacao, descricao, ativo, observacoes) values ('N', 1, 'Sem Recorrência', 1, ' ');
INSERT INTO SIRECORRENCIAS (recorrencia, ordenacao, descricao, ativo, observacoes) values ('D', 2, 'Diário', 1, ' ');
INSERT INTO SIRECORRENCIAS (recorrencia, ordenacao, descricao, ativo, observacoes) values ('S', 3, 'Semanal', 1, ' ');

COMMIT;

INSERT INTO SITABELASSISTEMA (tabelaSistema, descricao, ativo, ordenacao, tipoTabela, nomeCampoCodigo, tipoCampoCodigo, numeroDigitosCodigo, nomeCampoDescricao, adicionarCodigoNaDescricao, nomeCampoIdSeDiferenteCodigo, numeroDigitosCampoId, categoriaTabelaSistema, aplicacaoZoom, nomePublicoZoom, versaoTabela, versaoDados, observacoes) values ('SIRECORRENCIAS', 'Recorrências', 1, 53, 'SI', 'recorrencia', 'A', 1, 'descricao', 0, ' ', 0, 999999, '%SYS_DIR%Versoes\%SYS_VER%\Framework.ecf', 'PesqRecorrencias', 1, 1, ' '); 

COMMIT;

INSERT INTO SIMENUS (menu, descricao, ativo, ordenacao, tipoMenu, categoriaMenu, menuPrincipal, aplicacao, nomePublico, categoriaConfiguracao, categoriaPersonalCampo, categoriaMemoriaSistema, permiteReport, observacoes) values (907, 'Recorrências', 1, 99000055, 'SI', 999999, 907, '%SYS_DIR%Versoes\%SYS_VER%\Framework.ecf', 'PesqRecorrencias', 0, 0, 0, 0, ' ');

COMMIT;

-- SISITUACOESNOTIFICACOES
CREATE TABLE SISITUACOESNOTIFICACOES
  (
    situacaoNotificacao CHAR (1) DEFAULT ' ' NOT NULL,
    ordenacao           NUMERIC (11,0) DEFAULT 0 NOT NULL,
    descricao           VARCHAR (256) DEFAULT ' ' NOT NULL,
    ativo               NUMERIC (1,0) DEFAULT 0 NOT NULL,
    observacoes         VARCHAR (4000) DEFAULT ' ' NOT NULL
  );
ALTER TABLE SISITUACOESNOTIFICACOES ADD CONSTRAINT SISITUACOESNOTIFICACOES_PK1 PRIMARY KEY (situacaoNotificacao);
CREATE INDEX SISITUACOESNOTIFICACOES_K2 ON SISITUACOESNOTIFICACOES (descricao);
CREATE INDEX SISITUACOESNOTIFICACOES_K3 ON SISITUACOESNOTIFICACOES (ordenacao, situacaoNotificacao);

INSERT INTO SISITUACOESNOTIFICACOES (situacaoNotificacao, ordenacao, descricao, ativo, observacoes) values (' ', 0, 'SELECIONE', 1, ' ');
INSERT INTO SISITUACOESNOTIFICACOES (situacaoNotificacao, ordenacao, descricao, ativo, observacoes) values ('P', 1, 'Pendente', 1, ' ');
INSERT INTO SISITUACOESNOTIFICACOES (situacaoNotificacao, ordenacao, descricao, ativo, observacoes) values ('V', 2, 'Visualizado', 1, ' ');
INSERT INTO SISITUACOESNOTIFICACOES (situacaoNotificacao, ordenacao, descricao, ativo, observacoes) values ('C', 3, 'Concluído', 1, ' ');
INSERT INTO SISITUACOESNOTIFICACOES (situacaoNotificacao, ordenacao, descricao, ativo, observacoes) values ('D', 4, 'Descartado', 1, ' ');

COMMIT;

INSERT INTO SITABELASSISTEMA (tabelaSistema, descricao, ativo, ordenacao, tipoTabela, nomeCampoCodigo, tipoCampoCodigo, numeroDigitosCodigo, nomeCampoDescricao, adicionarCodigoNaDescricao, nomeCampoIdSeDiferenteCodigo, numeroDigitosCampoId, categoriaTabelaSistema, aplicacaoZoom, nomePublicoZoom, versaoTabela, versaoDados, observacoes) values ('SISITUACOESNOTIFICACOES', 'Situações Notificações', 1, 613, 'SI', 'situacaoNotificacao', 'A', 1, 'descricao', 0, ' ', 0, 999999, '%SYS_DIR%Versoes\%SYS_VER%\Framework.ecf', 'PesqSituacoesNotificacoes', 1, 1, ' '); 

COMMIT;

INSERT INTO SIMENUS (menu, descricao, ativo, ordenacao, tipoMenu, categoriaMenu, menuPrincipal, aplicacao, nomePublico, categoriaConfiguracao, categoriaPersonalCampo, categoriaMemoriaSistema, permiteReport, observacoes) values (908, 'Situações Notificações', 1, 99000619, 'SI', 999999, 908, '%SYS_DIR%Versoes\%SYS_VER%\Framework.ecf', 'PesqSituacoesNotificacoes', 0, 0, 0, 0, ' ');

COMMIT;

-- PAETAPASPROJETO
CREATE TABLE PAETAPASPROJETO
  (
    etapaProjeto  NUMERIC (4,0) DEFAULT 0 NOT NULL,
    descricao     VARCHAR (60) DEFAULT ' ' NOT NULL,
    ativo         NUMERIC (1,0) DEFAULT 0 NOT NULL,
    ordenacao     NUMERIC (11,0) DEFAULT 0 NOT NULL,
    imagemLegenda VARCHAR (256) DEFAULT ' ' NOT NULL,
    observacoes   VARCHAR (4000) DEFAULT ' ' NOT NULL
  );
ALTER TABLE PAETAPASPROJETO ADD CONSTRAINT PAETAPASPROJETO_PK1 PRIMARY KEY (etapaProjeto);
CREATE INDEX PAETAPASPROJETO_K2 ON PAETAPASPROJETO (descricao);
CREATE INDEX PAETAPASPROJETO_K3 ON PAETAPASPROJETO (ordenacao, etapaProjeto);

INSERT INTO PAETAPASPROJETO (etapaProjeto, descricao, ativo, ordenacao, imagemLegenda, observacoes) VALUES (0, 'SELECIONE', 1, 0, ' ', ' ');

COMMIT;

INSERT INTO SITABELASSISTEMA (tabelaSistema, descricao, ativo, ordenacao, tipoTabela, nomeCampoCodigo, tipoCampoCodigo, numeroDigitosCodigo, nomeCampoDescricao, adicionarCodigoNaDescricao, nomeCampoIdSeDiferenteCodigo, numeroDigitosCampoId, categoriaTabelaSistema, aplicacaoZoom, nomePublicoZoom, versaoTabela, versaoDados, observacoes) values ('PAETAPASPROJETO', 'Etapas Projeto', 1, 30469, 'PA', 'etapaProjeto', 'N', 4, 'descricao', 1, ' ', 0, 200004, '%SYS_DIR%Versoes\%SYS_VER%\Framework.ecf', 'PesqEtapasProjeto', 1, 1, ' '); 

COMMIT;

INSERT INTO SIMENUS (menu, descricao, ativo, ordenacao, tipoMenu, categoriaMenu, menuPrincipal, aplicacao, nomePublico, categoriaConfiguracao, categoriaPersonalCampo, categoriaMemoriaSistema, permiteReport, observacoes) values (909, 'Etapas Projeto', 1, 90001734, 'PA', 200004, 909, '%SYS_DIR%Versoes\%SYS_VER%\Framework.ecf', 'PesqEtapasProjeto', 0, 0, 0, 0, ' ');

COMMIT;

-- MONOTIFICACOES
CREATE TABLE MONOTIFICACOES
  (
    idNotificacao  NUMERIC (14,0) DEFAULT 0 NOT NULL,
    usuarioCriacao NUMERIC (14,0) DEFAULT 0 NOT NULL,
    dataCriacao    DATE,
    assunto        VARCHAR (4000) DEFAULT ' ' NOT NULL,
    tipoAnexo      CHAR (1) DEFAULT ' ' NOT NULL,
    anexo          NCLOB,
    menu           NUMERIC (10,0) DEFAULT 0 NOT NULL,
    idRegistro     NUMERIC (14,0) DEFAULT 0 NOT NULL,
    recorrencia    CHAR (1) DEFAULT ' ' NOT NULL,
    notificarAte   DATE
  );
ALTER TABLE MONOTIFICACOES ADD CONSTRAINT MONOTIFICACOES_PK1 PRIMARY KEY (idNotificacao);
CREATE INDEX MONOTIFICACOES_K2 ON MONOTIFICACOES (dataCriacao DESC);
ALTER TABLE MONOTIFICACOES ADD CONSTRAINT MONOTIFICACOES_FK1 FOREIGN KEY (usuarioCriacao) REFERENCES CAUSUARIOS (usuario);
ALTER TABLE MONOTIFICACOES ADD CONSTRAINT MONOTIFICACOES_FK2 FOREIGN KEY (tipoAnexo) REFERENCES SITIPOSANEXO (tipoAnexo);
ALTER TABLE MONOTIFICACOES ADD CONSTRAINT MONOTIFICACOES_FK3 FOREIGN KEY (menu) REFERENCES SIMENUS (menu);
ALTER TABLE MONOTIFICACOES ADD CONSTRAINT MONOTIFICACOES_FK4 FOREIGN KEY (recorrencia) REFERENCES SIRECORRENCIAS (recorrencia);

INSERT INTO MONOTIFICACOES (idNotificacao, usuarioCriacao, dataCriacao, assunto, tipoAnexo, anexo, menu, idRegistro, recorrencia, notificarAte) VALUES (0, 0, NULL, ' ', ' ', ' ', 0, 0, ' ', NULL);

COMMIT;

INSERT INTO SITABELASSISTEMA (tabelaSistema, descricao, ativo, ordenacao, tipoTabela, nomeCampoCodigo, tipoCampoCodigo, numeroDigitosCodigo, nomeCampoDescricao, adicionarCodigoNaDescricao, nomeCampoIdSeDiferenteCodigo, numeroDigitosCampoId, categoriaTabelaSistema, aplicacaoZoom, nomePublicoZoom, versaoTabela, versaoDados, observacoes) values ('MONOTIFICACOES', 'Notificações', 1, 50630, 'MO', 'idNotificacao', 'N', 14, 'assunto', 1, ' ', 0, 100001, ' ', ' ', 1, 1, ' '); 

COMMIT;

-- MONOTIFICACAOXUSUARIOS
CREATE TABLE MONOTIFICACAOXUSUARIOS
  (
    id                  NUMERIC (14,0) DEFAULT 0 NOT NULL,
    idNotificacao       NUMERIC (14,0) DEFAULT 0 NOT NULL,
    usuarioNotificado   NUMERIC (14,0) DEFAULT 0 NOT NULL,
    dataNotificacao     DATE,
    situacaoNotificacao CHAR (1) DEFAULT ' ' NOT NULL,
    dataVisualizacao    DATE,
    dataEncerramento    DATE,
    observacoes         VARCHAR (4000) DEFAULT ' ' NOT NULL
  );
ALTER TABLE MONOTIFICACAOXUSUARIOS ADD CONSTRAINT MONOTIFICACAOXUSUARIOS_PK1 PRIMARY KEY (id);
CREATE INDEX MONOTIFICACAOXUSUARIOS_K2 ON MONOTIFICACAOXUSUARIOS (usuarioNotificado DESC, dataNotificacao DESC);
CREATE INDEX MONOTIFICACOES_K3 ON MONOTIFICACAOXUSUARIOS (usuarioNotificado DESC, situacaoNotificacao, dataNotificacao DESC);
ALTER TABLE MONOTIFICACAOXUSUARIOS ADD CONSTRAINT MONOTIFICACAOXUSUARIOS_FK1 FOREIGN KEY (idNotificacao) REFERENCES MONOTIFICACOES (idNotificacao);
ALTER TABLE MONOTIFICACAOXUSUARIOS ADD CONSTRAINT MONOTIFICACAOXUSUARIOS_FK2 FOREIGN KEY (usuarioNotificado) REFERENCES CAUSUARIOS (usuario);
ALTER TABLE MONOTIFICACAOXUSUARIOS ADD CONSTRAINT MONOTIFICACAOXUSUARIOS_FK3 FOREIGN KEY (situacaoNotificacao) REFERENCES SISITUACOESNOTIFICACOES (situacaoNotificacao);

INSERT INTO MONOTIFICACAOXUSUARIOS (id, idNotificacao, usuarioNotificado, dataNotificacao, situacaoNotificacao, dataVisualizacao, dataEncerramento, observacoes) VALUES (0, 0, 0, NULL, ' ', NULL, NULL, ' ');

COMMIT;

INSERT INTO SITABELASSISTEMA (tabelaSistema, descricao, ativo, ordenacao, tipoTabela, nomeCampoCodigo, tipoCampoCodigo, numeroDigitosCodigo, nomeCampoDescricao, adicionarCodigoNaDescricao, nomeCampoIdSeDiferenteCodigo, numeroDigitosCampoId, categoriaTabelaSistema, aplicacaoZoom, nomePublicoZoom, versaoTabela, versaoDados, observacoes) values ('MONOTIFICACAOXUSUARIOS', 'Notificação X Usuários', 1, 50630, 'MO', 'id', 'N', 14, ' ', 1, ' ', 0, 100001, ' ', ' ', 1, 1, ' '); 

COMMIT;

CREATE TABLE MOMARCADORES
  (
    idMarcador  NUMERIC (14,0) DEFAULT 0 NOT NULL,
    categoria   VARCHAR (256) DEFAULT ' ' NOT NULL,
    ordenacao   NUMERIC (11,0) DEFAULT 0 NOT NULL,
    tipoAnexo   CHAR (1) DEFAULT ' ' NOT NULL,
    anexo       NCLOB,
    menu        NUMERIC (10,0) DEFAULT 0 NOT NULL,
    idRegistro  NUMERIC (14,0) DEFAULT 0 NOT NULL,
    observacoes VARCHAR (4000) DEFAULT ' ' NOT NULL
  );
ALTER TABLE MOMARCADORES ADD CONSTRAINT MOMARCADORES_PK1 PRIMARY KEY (idMarcador);
CREATE INDEX MOMARCADORES_K2 ON MOMARCADORES (categoria, ordenacao, idMarcador);
ALTER TABLE MOMARCADORES ADD CONSTRAINT MOMARCADORES_FK1 FOREIGN KEY (tipoAnexo) REFERENCES SITIPOSANEXO (tipoAnexo);
ALTER TABLE MOMARCADORES ADD CONSTRAINT MOMARCADORES_FK2 FOREIGN KEY (menu) REFERENCES SIMENUS (menu);

INSERT INTO MOMARCADORES (idMarcador, categoria, ordenacao, tipoAnexo, anexo, menu, idRegistro, observacoes) VALUES (0, ' ', 0, ' ', NULL, 0, 0, ' ');

COMMIT;

INSERT INTO SITABELASSISTEMA (tabelaSistema, descricao, ativo, ordenacao, tipoTabela, nomeCampoCodigo, tipoCampoCodigo, numeroDigitosCodigo, nomeCampoDescricao, adicionarCodigoNaDescricao, nomeCampoIdSeDiferenteCodigo, numeroDigitosCampoId, categoriaTabelaSistema, aplicacaoZoom, nomePublicoZoom, versaoTabela, versaoDados, observacoes) values ('MOMARCADORES', 'Marcadores', 1, 50640, 'MO', 'idMarcador', 'N', 14, 'categoria', 1, ' ', 0, 100001, ' ', ' ', 1, 1, ' '); 

COMMIT;

-- PAPROJETOXATIVIDADES
CREATE TABLE PAPROJETOXATIVIDADES
  (
    atividadeProjeto NUMERIC (14,0) DEFAULT 0 NOT NULL,
    contaEstruturada VARCHAR (60) DEFAULT ' ' NOT NULL,
    descricao        VARCHAR (120) DEFAULT ' ' NOT NULL,
    ativo            NUMERIC (1,0) DEFAULT 0 NOT NULL,
    projeto          VARCHAR (60) DEFAULT ' ' NOT NULL,
    indicadorConta   CHAR (1) DEFAULT ' ' NOT NULL,
    nivelConta       NUMERIC (2,0) DEFAULT 0 NOT NULL,
    dataInicio       DATE,
    dataTermino      DATE,
    etapaProjeto     NUMERIC (4,0) DEFAULT 0 NOT NULL,
    observacoes      VARCHAR (4000) DEFAULT ' ' NOT NULL
  );
ALTER TABLE PAPROJETOXATIVIDADES ADD CONSTRAINT PAPROJETOXATIVIDADES_PK1 PRIMARY KEY (atividadeProjeto);
CREATE INDEX PAPROJETOXATIVIDADES_K2 ON PAPROJETOXATIVIDADES (descricao);
CREATE UNIQUE INDEX PAPROJETOXATIVIDADES_K3 ON PAPROJETOXATIVIDADES (projeto, contaEstruturada);
ALTER TABLE PAPROJETOXATIVIDADES ADD CONSTRAINT PAPROJETOXATIVIDADES_FK1 FOREIGN KEY (projeto) REFERENCES PAPROJETOS (projeto);
ALTER TABLE PAPROJETOXATIVIDADES ADD CONSTRAINT PAPROJETOXATIVIDADES_FK2 FOREIGN KEY (indicadorConta) REFERENCES SIINDICADORCONTA (indicadorConta);
ALTER TABLE PAPROJETOXATIVIDADES ADD CONSTRAINT PAPROJETOXATIVIDADES_FK3 FOREIGN KEY (etapaProjeto) REFERENCES PAETAPASPROJETO (etapaProjeto);

INSERT INTO PAPROJETOXATIVIDADES (atividadeProjeto, contaEstruturada, descricao, ativo, projeto, indicadorConta, nivelConta, dataInicio, dataTermino, etapaProjeto, observacoes) VALUES (0, ' ', 'SELECIONE', 1, ' ', ' ', 0, NULL, NULL, 0, ' ');

COMMIT;

INSERT INTO SITABELASSISTEMA (tabelaSistema, descricao, ativo, ordenacao, tipoTabela, nomeCampoCodigo, tipoCampoCodigo, numeroDigitosCodigo, nomeCampoDescricao, adicionarCodigoNaDescricao, nomeCampoIdSeDiferenteCodigo, numeroDigitosCampoId, categoriaTabelaSistema, aplicacaoZoom, nomePublicoZoom, versaoTabela, versaoDados, observacoes) values ('PAPROJETOXATIVIDADES', 'Projeto X Atividades', 1, 30473, 'PA', 'atividadeProjeto', 'N', 14, 'descricao', 1, ' ', 0, 200004, ' ', ' ', 1, 1, ' '); 

COMMIT;

-- PAPROJETOXATIVIDARQUIVOS
CREATE TABLE PAPROJETOXATIVIDARQUIVOS
  (
    id               NUMERIC (14,0) DEFAULT 0 NOT NULL,
    atividadeProjeto NUMERIC (14,0) DEFAULT 0 NOT NULL,
    ordenacao        NUMERIC (11,0) DEFAULT 0 NOT NULL,
    tipoArquivo      NUMERIC (3,0) DEFAULT 0 NOT NULL,
    arquivo          VARCHAR (256) DEFAULT ' ' NOT NULL,
    imagemReduzida   VARCHAR (256) DEFAULT ' ' NOT NULL,
    imagemRedonda    VARCHAR (256) DEFAULT ' ' NOT NULL,
    ativo            NUMERIC (1,0) DEFAULT 0 NOT NULL,
    observacoes      VARCHAR (4000) DEFAULT ' ' NOT NULL
  );
ALTER TABLE PAPROJETOXATIVIDARQUIVOS ADD CONSTRAINT PAPROJETOXATIVIDARQUIVOS_PK1 PRIMARY KEY (id);
CREATE INDEX PAPROJETOXATIVIDARQUIVOS_K2 ON PAPROJETOXATIVIDARQUIVOS (atividadeProjeto, ordenacao, tipoArquivo, arquivo);
ALTER TABLE PAPROJETOXATIVIDARQUIVOS ADD CONSTRAINT PAPROJETOXATIVIDARQUIVOS_FK1 FOREIGN KEY (atividadeProjeto) REFERENCES PAPROJETOXATIVIDADES (atividadeProjeto);
ALTER TABLE PAPROJETOXATIVIDARQUIVOS ADD CONSTRAINT PAPROJETOXATIVIDARQUIVOS_FK2 FOREIGN KEY (tipoArquivo) REFERENCES SITIPOSARQUIVO (tipoArquivo);

INSERT INTO PAPROJETOXATIVIDARQUIVOS (id, atividadeProjeto, ordenacao, tipoArquivo, arquivo, imagemReduzida, imagemRedonda, ativo, observacoes) VALUES (0, 0, 0, 0, ' ', ' ', ' ', 1, ' ');

COMMIT;

INSERT INTO SITABELASSISTEMA (tabelaSistema, descricao, ativo, ordenacao, tipoTabela, nomeCampoCodigo, tipoCampoCodigo, numeroDigitosCodigo, nomeCampoDescricao, adicionarCodigoNaDescricao, nomeCampoIdSeDiferenteCodigo, numeroDigitosCampoId, categoriaTabelaSistema, aplicacaoZoom, nomePublicoZoom, versaoTabela, versaoDados, observacoes) values ('PAPROJETOXATIVIDARQUIVOS', 'Projeto X Atividades X Arquivos', 1, 30474, 'PA', 'id', 'N', 14, 'arquivo', 1, ' ', 0, 200004, '%SYS_DIR%Versoes\%SYS_VER%\Framework.ecf', 'PesqProjetoXArquivos', 1, 1, ' '); 

COMMIT;

INSERT INTO SIMENUS (menu, descricao, ativo, ordenacao, tipoMenu, categoriaMenu, menuPrincipal, aplicacao, nomePublico, categoriaConfiguracao, categoriaPersonalCampo, categoriaMemoriaSistema, permiteReport, observacoes) values (910, 'Projeto X Atividades X Arquivos', 1, 90001738, 'PA', 200004, 398, '%SYS_DIR%Versoes\%SYS_VER%\Framework.ecf', 'PesqProjetoXArquivos', 0, 0, 0, 0, ' ');

COMMIT;

-- MOORCAMENTOXATIVIDADEPROJ
CREATE TABLE MOORCAMENTOXATIVIDADEPROJ
  (
    id               NUMERIC (14,0) DEFAULT 0 NOT NULL,
    idItemOrcamento  NUMERIC (14,0) DEFAULT 0 NOT NULL,
    atividadeProjeto NUMERIC (14,0) DEFAULT 0 NOT NULL
  );
ALTER TABLE MOORCAMENTOXATIVIDADEPROJ ADD CONSTRAINT MOORCAMENTOXATIVIDADEPROJ_PK1 PRIMARY KEY (id);
CREATE UNIQUE INDEX MOORCAMENTOXATIVIDADEPROJ_K2 ON MOORCAMENTOXATIVIDADEPROJ (idItemOrcamento, atividadeProjeto);
CREATE INDEX MOORCAMENTOXATIVIDADEPROJ_K3 ON MOORCAMENTOXATIVIDADEPROJ (idItemOrcamento);
CREATE INDEX MOORCAMENTOXATIVIDADEPROJ_K4 ON MOORCAMENTOXATIVIDADEPROJ (atividadeProjeto);
ALTER TABLE MOORCAMENTOXATIVIDADEPROJ ADD CONSTRAINT MOORCAMENTOXATIVIDADEPROJ_FK1 FOREIGN KEY (idItemOrcamento) REFERENCES MOORCAMENTOXITENS (idItemOrcamento);
ALTER TABLE MOORCAMENTOXATIVIDADEPROJ ADD CONSTRAINT MOORCAMENTOXATIVIDADEPROJ_FK2 FOREIGN KEY (atividadeProjeto) REFERENCES PAPROJETOXATIVIDADES (atividadeProjeto);

INSERT INTO MOORCAMENTOXATIVIDADEPROJ (id, idItemOrcamento, atividadeProjeto) VALUES (0, 0, 0);

COMMIT;

INSERT INTO SITABELASSISTEMA (tabelaSistema, descricao, ativo, ordenacao, tipoTabela, nomeCampoCodigo, tipoCampoCodigo, numeroDigitosCodigo, nomeCampoDescricao, adicionarCodigoNaDescricao, nomeCampoIdSeDiferenteCodigo, numeroDigitosCampoId, categoriaTabelaSistema, aplicacaoZoom, nomePublicoZoom, versaoTabela, versaoDados, observacoes) values ('MOORCAMENTOXATIVIDADEPROJ', 'Orçamento X Atividades Projeto', 1, 50178, 'MO', 'id', 'N', 14, ' ', 1, ' ', 0, 100001, ' ', ' ', 1, 1, ' '); 

COMMIT;

-- MOFINANCEIROXATIVIDADEPROJ
CREATE TABLE MOFINANCEIROXATIVIDADEPROJ
  (
    id               NUMERIC (14,0) DEFAULT 0 NOT NULL,
    idFinanceiro     NUMERIC (14,0) DEFAULT 0 NOT NULL,
    atividadeProjeto NUMERIC (14,0) DEFAULT 0 NOT NULL
  );
ALTER TABLE MOFINANCEIROXATIVIDADEPROJ ADD CONSTRAINT MOFINANCEIROXATIVIDADEPROJ_PK1 PRIMARY KEY (id);
CREATE UNIQUE INDEX MOFINANCEIROXATIVIDADEPROJ_K2 ON MOFINANCEIROXATIVIDADEPROJ (idFinanceiro, atividadeProjeto);
CREATE INDEX MOFINANCEIROXATIVIDADEPROJ_K3 ON MOFINANCEIROXATIVIDADEPROJ (idFinanceiro);
CREATE INDEX MOFINANCEIROXATIVIDADEPROJ_K4 ON MOFINANCEIROXATIVIDADEPROJ (atividadeProjeto);
ALTER TABLE MOFINANCEIROXATIVIDADEPROJ ADD CONSTRAINT MOFINANCEIROXATIVIDADEPROJ_FK1 FOREIGN KEY (idFinanceiro) REFERENCES MOFINANCEIROS (idFinanceiro);
ALTER TABLE MOFINANCEIROXATIVIDADEPROJ ADD CONSTRAINT MOFINANCEIROXATIVIDADEPROJ_FK2 FOREIGN KEY (atividadeProjeto) REFERENCES PAPROJETOXATIVIDADES (atividadeProjeto);

INSERT INTO MOFINANCEIROXATIVIDADEPROJ (id, idFinanceiro, atividadeProjeto) VALUES (0, 0, 0);

COMMIT;

INSERT INTO SITABELASSISTEMA (tabelaSistema, descricao, ativo, ordenacao, tipoTabela, nomeCampoCodigo, tipoCampoCodigo, numeroDigitosCodigo, nomeCampoDescricao, adicionarCodigoNaDescricao, nomeCampoIdSeDiferenteCodigo, numeroDigitosCampoId, categoriaTabelaSistema, aplicacaoZoom, nomePublicoZoom, versaoTabela, versaoDados, observacoes) values ('MOFINANCEIROXATIVIDADEPROJ', 'Financeiro X Atividade Projeto', 1, 50465, 'MO', 'id', 'N', 14, ' ', 1, ' ', 0, 100002, ' ', ' ', 1, 1, ' '); 

COMMIT;

DELETE SITABELASSISTEMA WHERE tabelaSistema IN ('MOLOGSTABELA', 'MOTRANSACOESLOG');

COMMIT;

DROP TABLE MOLOGSTABELA;
DROP TABLE MOTRANSACOESLOG;

DELETE SITABELASSISTEMA WHERE tabelaSistema IN ('PAMEMORIASISTEMAXUSUARIOS', 'SIMEMORIASSISTEMA', 'SICATEGORIASMEMOSISTEMA');

COMMIT;

ALTER TABLE SIMENUS DROP CONSTRAINT SIMENUS_FK5;

DROP TABLE PAMEMORIASISTEMAXUSUARIOS;
DROP TABLE SIMEMORIASSISTEMA;
DROP TABLE SICATEGORIASMEMOSISTEMA;

DELETE MONOTIFICACOES WHERE menu IN (300, 301, 302);
DELETE MOACESSOSMENU WHERE menu IN (300, 301, 302);
DELETE PAMENUXLAYOUTPESQUISA WHERE menu IN (300, 301, 302);
DELETE PAMENUXPERMISSOES WHERE menu IN (300, 301, 302);
DELETE PAGERADORRELFILTROS WHERE menuPesquisa IN (300, 301, 302);
DELETE PAGERADORRELCAMPOSVISAO WHERE menuPesquisa IN (300, 301, 302);
DELETE SIDOCVERSOESSISTEMA WHERE menu IN (300, 301, 302);
DELETE SIMENUS WHERE menu IN (300, 301, 302);

COMMIT;

-- MOLOGALTERACOES
CREATE TABLE MOLOGALTERACOES
  (
    idLogAlteracao  NUMERIC (14,0) DEFAULT 0 NOT NULL,
    tabelaSistema   VARCHAR (30) DEFAULT ' ' NOT NULL,
    id              NUMERIC (14,0) DEFAULT 0 NOT NULL,
    data            DATE,
    usuario         NUMERIC (14,0) DEFAULT 0 NOT NULL,
    tipoEdicao      CHAR (1) DEFAULT ' ' NOT NULL,
    camposAlterados NCLOB,
    observacoes     VARCHAR (4000) DEFAULT ' ' NOT NULL
  );
ALTER TABLE MOLOGALTERACOES ADD CONSTRAINT MOLOGALTERACOES_PK1 PRIMARY KEY (idLogAlteracao);
CREATE INDEX MOLOGALTERACOES_K2 ON MOLOGALTERACOES (tabelaSistema, id, data DESC);
ALTER TABLE MOLOGALTERACOES ADD CONSTRAINT MOLOGALTERACOES_FK1 FOREIGN KEY (usuario) REFERENCES CAUSUARIOS (usuario);
ALTER TABLE MOLOGALTERACOES ADD CONSTRAINT MOLOGALTERACOES_FK2 FOREIGN KEY (tabelaSistema) REFERENCES SITABELASSISTEMA (tabelaSistema);
ALTER TABLE MOLOGALTERACOES ADD CONSTRAINT MOLOGALTERACOES_FK3 FOREIGN KEY (tipoEdicao) REFERENCES SITIPOSEDICAO (tipoEdicao);

INSERT INTO MOLOGALTERACOES (idLogAlteracao, tabelaSistema, id, data, usuario, tipoEdicao, camposAlterados, observacoes) VALUES (0, ' ', 0, NULL, 0, ' ', ' ', ' ');

COMMIT;

INSERT INTO SITABELASSISTEMA (tabelaSistema, descricao, ativo, ordenacao, tipoTabela, nomeCampoCodigo, tipoCampoCodigo, numeroDigitosCodigo, nomeCampoDescricao, adicionarCodigoNaDescricao, nomeCampoIdSeDiferenteCodigo, numeroDigitosCampoId, categoriaTabelaSistema, aplicacaoZoom, nomePublicoZoom, versaoTabela, versaoDados, observacoes) values ('MOLOGALTERACOES', 'LOG Alteracoes', 1, 50045, 'MO', 'idLogAlteracao', 'N', 14, ' ', 1, ' ', 0, 800002, ' ', ' ', 1, 1, ' '); 

COMMIT;

create or replace FUNCTION FUNC_ADD_PROXIMO_ID (
  p_estabelecimentoAtivo      IN NUMBER,
  p_config_354_estabProximoId IN NUMBER,
  p_nomeId                    IN VARCHAR2,
  p_nomeCampoIdValidar        IN VARCHAR2,
  p_numeroCaracteresId        IN NUMBER)
  RETURN NUMBER
IS
  v_proximoId NUMBER;
  CURSOR c_ultimoId IS
    SELECT ultimoId
    FROM PAULTIMOSIDS
    WHERE nomeId = TRIM (p_nomeId) ||
      CASE
        WHEN p_numeroCaracteresId = 14 AND (p_config_354_estabProximoId <> 0 OR p_estabelecimentoAtivo <> 0)
        THEN '|' || LPAD (CASE WHEN p_config_354_estabProximoId = 0 THEN p_estabelecimentoAtivo ELSE p_config_354_estabProximoId END, 4, '0')
        ELSE '' 
      END
    FOR UPDATE;
PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
  v_proximoId := 0;
  WHILE v_proximoId = 0
  LOOP
    OPEN c_ultimoId;
      FETCH c_ultimoId INTO v_proximoId;
      IF c_ultimoId%notfound THEN
        v_proximoId :=
          CASE
            WHEN p_numeroCaracteresId = 14 AND (p_config_354_estabProximoId <> 0 OR p_estabelecimentoAtivo <> 0)
            THEN CASE WHEN p_config_354_estabProximoId = 0 THEN p_estabelecimentoAtivo ELSE p_config_354_estabProximoId END
            ELSE 0 
          END * 10000000000 + 1;
        INSERT INTO PAULTIMOSIDS (
          nomeId,
          ultimoId)
        VALUES (
          TRIM (p_nomeId) ||
            CASE
              WHEN p_numeroCaracteresId = 14 AND (p_config_354_estabProximoId <> 0 OR p_estabelecimentoAtivo <> 0)
              THEN '|' || LPAD (CASE WHEN p_config_354_estabProximoId = 0 THEN p_estabelecimentoAtivo ELSE p_config_354_estabProximoId END, 4, '0')
              ELSE '' 
            END,
          v_proximoId);
      ELSE
        v_proximoId := v_proximoId + 1;
        UPDATE PAULTIMOSIDS
        SET ultimoId = v_proximoId
        WHERE nomeId = TRIM (p_nomeId) ||
          CASE
            WHEN p_numeroCaracteresId = 14 AND (p_config_354_estabProximoId <> 0 OR p_estabelecimentoAtivo <> 0)
            THEN '|' || LPAD (CASE WHEN p_config_354_estabProximoId = 0 THEN p_estabelecimentoAtivo ELSE p_config_354_estabProximoId END, 4, '0')
            ELSE '' 
          END;
      END IF;
    CLOSE c_ultimoId;
    IF p_nomeCampoIdValidar IS NOT NULL
      AND p_nomeCampoIdValidar <> ' '
    THEN
      EXECUTE IMMEDIATE 'SELECT COALESCE (MAX (0), '
        || TO_CHAR(v_proximoId)
        || ') FROM ' || TRIM (p_nomeId)
        || ' WHERE ' || TRIM (p_nomeCampoIdValidar)
        || ' = ' || TO_CHAR(v_proximoId)
      INTO v_proximoId;
    END IF;
  END LOOP;
  COMMIT;
  IF p_numeroCaracteresId > 0
    AND v_proximoId > TO_NUMBER (LPAD ('9', p_numeroCaracteresId, '9'))
  THEN
    v_proximoId := 0;
  END IF;
  RETURN v_proximoId;
END FUNC_ADD_PROXIMO_ID;

/

create or replace FUNCTION FUNC_ADD_PROXIMO_ID_LIVRE (
  p_nomeId IN VARCHAR2,
  p_data   IN DATE)
  RETURN NUMBER
IS
  v_proximoId NUMBER;
  CURSOR c_ultimoId IS
    SELECT ultimoId
    FROM PAULTIMOSIDS
    WHERE nomeId = p_nomeId
    FOR UPDATE;
  CURSOR c_idsLivres IS
    SELECT MIN (idLivre)
    FROM PAIDSLIVRES
    WHERE nomeId = p_nomeId
    AND idLivre > 0
    AND (p_data IS NULL
      OR TRUNC (data) = TRUNC (p_data));
PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
  v_proximoId := 0;
  OPEN c_idsLivres;
    FETCH c_idsLivres INTO v_proximoId;
    IF c_idsLivres%notfound
      OR v_proximoId IS NULL
      OR v_proximoId <= 0
    THEN
      OPEN c_ultimoId;
        FETCH c_ultimoId INTO v_proximoId;
        IF c_ultimoId%notfound THEN
          v_proximoId := 1;
          INSERT INTO PAULTIMOSIDS (
            nomeId,
            ultimoId)
          VALUES (
            p_nomeId,
            v_proximoId);
        ELSE
          v_proximoId := v_proximoId + 1;
          UPDATE PAULTIMOSIDS
          SET ultimoId = v_proximoId
          WHERE nomeId = p_nomeId;
        END IF;
      CLOSE c_ultimoId;
    ELSE
      DELETE PAIDSLIVRES
      WHERE nomeId = p_nomeId
      AND (p_data IS NULL
        OR TRUNC (data) = TRUNC (p_data))
      AND idLivre = v_proximoId;
    END IF;
  CLOSE c_idsLivres;
  COMMIT;
  RETURN v_proximoId;
END FUNC_ADD_PROXIMO_ID_LIVRE;

/

create or replace PROCEDURE ADD_LOGALTERACOES_CRIA (
  p_sys_estabelecimentoAtivo  IN NUMBER,
  p_config_354_estabProximoId IN NUMBER,
  p_tabelaSistema             IN VARCHAR2,
  p_id                        IN NUMBER,
  p_usuario                   IN NUMBER,
  p_tipoEdicao                CHAR,
  p_camposAlterados           NCLOB,
  p_observacoes               IN VARCHAR2,
  r_idLogAlteracao            OUT NUMBER)
IS
BEGIN
  r_idLogAlteracao := FUNC_ADD_PROXIMO_ID (
    p_sys_estabelecimentoAtivo,
    p_config_354_estabProximoId,
    'MOLOGALTERACOES',
    'idLogAlteracao',
    14);
  INSERT INTO MOLOGALTERACOES (
    idLogAlteracao,
    tabelaSistema,
    id,
    data,
    usuario,
    tipoEdicao,
    camposAlterados,
    observacoes)
  VALUES (
    r_idLogAlteracao,
    p_tabelaSistema,
    p_id,
    SYSDATE,
    p_usuario,
    p_tipoEdicao,
    p_camposAlterados,
    p_observacoes);
END ADD_LOGALTERACOES_CRIA;

/

CREATE TABLE PASUBCATEGORIASPRODUTO_2401 AS SELECT * FROM PASUBCATEGORIASPRODUTO;

ALTER TABLE PAEXCLUSIVOSPRODUTOSPERM DROP CONSTRAINT PAEXCLUSIVOSPRODUTOSPERM_FK3;
ALTER TABLE CAPRODUTOS DROP CONSTRAINT CAPRODUTOS_FK1;
ALTER TABLE PAFILTROPRODUTOXSUBCAPROD DROP CONSTRAINT PAFILTROPRODUTOXSUBCAPROD_FK2;
ALTER TABLE PAPRODUTOSXTINTAS DROP CONSTRAINT PAPRODUTOSXTINTAS_FK3;
ALTER TABLE PAPRODUTOSXTINTAS DROP CONSTRAINT PAPRODUTOSXTINTAS_FK5;
ALTER TABLE PAPRODUTOSXTINTAS DROP CONSTRAINT PAPRODUTOSXTINTAS_FK7;
ALTER TABLE PAREGRASDISTRIBUICOES DROP CONSTRAINT PAREGRASDISTRIBUICOES_FK2;
ALTER TABLE PAABERTURASCOMPRA DROP CONSTRAINT PAABERTURASCOMPRA_FK2;

DROP TABLE PASUBCATEGORIASPRODUTO;

-- PASUBCATEGORIASPRODUTO
CREATE TABLE PASUBCATEGORIASPRODUTO
  (
    subcategoriaProduto           NUMERIC (8,0) DEFAULT 0 NOT NULL,
    descricao                     VARCHAR (120) DEFAULT ' ' NOT NULL,
    ativo                         NUMERIC (1,0) DEFAULT 0 NOT NULL,
    categoriaProduto              NUMERIC (4,0) DEFAULT 0 NOT NULL,
    solicitaMarca                 NUMERIC (1,0) DEFAULT 0 NOT NULL,
    solicitaCaracteristicaA       NUMERIC (1,0) DEFAULT 0 NOT NULL,
    solicitaCaracteristicaB       NUMERIC (1,0) DEFAULT 0 NOT NULL,
    solicitaCaracteristicaC       NUMERIC (1,0) DEFAULT 0 NOT NULL,
    solicitaCaracteristicaD       NUMERIC (1,0) DEFAULT 0 NOT NULL,
    solicitaCaracteristicaE       NUMERIC (1,0) DEFAULT 0 NOT NULL,
    solicitaReferencia            NUMERIC (1,0) DEFAULT 0 NOT NULL,
    tipoProdutoSugestao           CHAR (2) DEFAULT '  ' NOT NULL,
    origemMercadoriaSugestao      CHAR (1) DEFAULT ' ' NOT NULL,
    observacoes                   VARCHAR (4000) DEFAULT ' ' NOT NULL
  );
ALTER TABLE PASUBCATEGORIASPRODUTO ADD CONSTRAINT PASUBCATEGORIASPRODUTO_PK1 PRIMARY KEY (subcategoriaProduto);
CREATE INDEX PASUBCATEGORIASPRODUTO_K2 ON PASUBCATEGORIASPRODUTO (descricao);
ALTER TABLE PASUBCATEGORIASPRODUTO ADD CONSTRAINT PASUBCATEGORIASPRODUTO_FK1 FOREIGN KEY (categoriaProduto) REFERENCES PACATEGORIASPRODUTO (categoriaProduto);
ALTER TABLE PASUBCATEGORIASPRODUTO ADD CONSTRAINT PASUBCATEGORIASPRODUTO_FK2 FOREIGN KEY (tipoProdutoSugestao) REFERENCES SITIPOSPRODUTO (tipoProduto);
ALTER TABLE PASUBCATEGORIASPRODUTO ADD CONSTRAINT PASUBCATEGORIASPRODUTO_FK3 FOREIGN KEY (origemMercadoriaSugestao) REFERENCES SIORIGENSMERCADORIA (origemMercadoria);

INSERT INTO PASUBCATEGORIASPRODUTO (subcategoriaProduto, descricao, ativo, categoriaProduto, solicitaMarca,solicitaCaracteristicaA, solicitaCaracteristicaB, solicitaCaracteristicaC, solicitaCaracteristicaD, solicitaCaracteristicaE, solicitaReferencia, tipoProdutoSugestao, origemMercadoriaSugestao, observacoes) VALUES (0, 'SELECIONE', 1, 0, 0, 0, 0, 0, 0, 0, 0, '  ', ' ', ' ');
INSERT INTO PASUBCATEGORIASPRODUTO (subcategoriaProduto, descricao, ativo, categoriaProduto, solicitaMarca,solicitaCaracteristicaA, solicitaCaracteristicaB, solicitaCaracteristicaC, solicitaCaracteristicaD, solicitaCaracteristicaE, solicitaReferencia, tipoProdutoSugestao, origemMercadoriaSugestao, observacoes) SELECT subcategoriaProduto, descricao, ativo, categoriaProduto, solicitaMarca,solicitaCaracteristicaA, solicitaCaracteristicaB, solicitaCaracteristicaC, solicitaCaracteristicaD, solicitaCaracteristicaE, solicitaReferencia, tipoProdutoSugestao, origemMercadoriaSugestao, observacoes FROM PASUBCATEGORIASPRODUTO_2401 WHERE subcategoriaProduto > 0;

COMMIT;

ALTER TABLE PAEXCLUSIVOSPRODUTOSPERM ADD CONSTRAINT PAEXCLUSIVOSPRODUTOSPERM_FK3 FOREIGN KEY (subcategoriaProduto) REFERENCES PASUBCATEGORIASPRODUTO (subcategoriaProduto);
ALTER TABLE CAPRODUTOS ADD CONSTRAINT CAPRODUTOS_FK1 FOREIGN KEY (subcategoriaProduto) REFERENCES PASUBCATEGORIASPRODUTO (subcategoriaProduto);
ALTER TABLE PAFILTROPRODUTOXSUBCAPROD ADD CONSTRAINT PAFILTROPRODUTOXSUBCAPROD_FK2 FOREIGN KEY (subcategoriaProduto) REFERENCES PASUBCATEGORIASPRODUTO (subcategoriaProduto);
ALTER TABLE PAPRODUTOSXTINTAS ADD CONSTRAINT PAPRODUTOSXTINTAS_FK3 FOREIGN KEY (subcategoriaProdutoBase) REFERENCES PASUBCATEGORIASPRODUTO (subcategoriaProduto);
ALTER TABLE PAPRODUTOSXTINTAS ADD CONSTRAINT PAPRODUTOSXTINTAS_FK5 FOREIGN KEY (subcategoriaProdutoColorante) REFERENCES PASUBCATEGORIASPRODUTO (subcategoriaProduto);
ALTER TABLE PAPRODUTOSXTINTAS ADD CONSTRAINT PAPRODUTOSXTINTAS_FK7 FOREIGN KEY (subcategoriaProdutoEmbalagem) REFERENCES PASUBCATEGORIASPRODUTO (subcategoriaProduto);
ALTER TABLE PAREGRASDISTRIBUICOES ADD CONSTRAINT PAREGRASDISTRIBUICOES_FK2 FOREIGN KEY (subcategoriaProduto) REFERENCES PASUBCATEGORIASPRODUTO (subcategoriaProduto);
ALTER TABLE PAABERTURASCOMPRA ADD CONSTRAINT PAABERTURASCOMPRA_FK2 FOREIGN KEY (subcategoriaProduto) REFERENCES PASUBCATEGORIASPRODUTO (subcategoriaProduto);

CREATE TABLE CAPRODUTOS_2401 AS SELECT * FROM CAPRODUTOS;

ALTER TABLE CAPRODUTOXLENTESOCULOS DROP CONSTRAINT CAPRODUTOXLENTESOCULOS_FK1;
ALTER TABLE CAPRODUTOXINGRESSOS DROP CONSTRAINT CAPRODUTOXINGRESSOS_FK1;
ALTER TABLE CAPRODUTOXVALIDADESINGRES DROP CONSTRAINT CAPRODUTOXVALIDADESINGRES_FK1;
ALTER TABLE CAPRODUTOXALTURAS DROP CONSTRAINT CAPRODUTOXALTURAS_FK1;
ALTER TABLE CAPRODUTOXESTABELECIMENTO DROP CONSTRAINT CAPRODUTOXESTABELECIMENTO_FK1;
ALTER TABLE CAPRODUTOXFORNECEDORES DROP CONSTRAINT CAPRODUTOXFORNECEDORES_FK1;
ALTER TABLE CAPRODUTOXALTERNATIVOS DROP CONSTRAINT CAPRODUTOXALTERNATIVOS_FK1;
ALTER TABLE CAPRODUTOXALTERNATIVOS DROP CONSTRAINT CAPRODUTOXALTERNATIVOS_FK2;
ALTER TABLE CAPRODUTOXRELACIONADOS DROP CONSTRAINT CAPRODUTOXRELACIONADOS_FK1;
ALTER TABLE CAPRODUTOXRELACIONADOS DROP CONSTRAINT CAPRODUTOXRELACIONADOS_FK2;
ALTER TABLE CAPRODUTOXARQUIVOS DROP CONSTRAINT CAPRODUTOXARQUIVOS_FK1;
ALTER TABLE CAPRODUTOXCUSTOS DROP CONSTRAINT CAPRODUTOXCUSTOS_FK1;
ALTER TABLE PAAGRUPFISCXPRODUTOS DROP CONSTRAINT PAAGRUPFISCXPRODUTOS_FK2;
ALTER TABLE PAFILTROPRODUTOXPRODUTOS DROP CONSTRAINT PAFILTROPRODUTOXPRODUTOS_FK2;
ALTER TABLE CAGRADESPRODUTO DROP CONSTRAINT CAGRADESPRODUTO_FK1;
ALTER TABLE CAPRODUTOXCOMPOSICOESPREC DROP CONSTRAINT CAPRODUTOXCOMPOSICOESPREC_FK1;
ALTER TABLE CATABELAPRECOXPRECOS DROP CONSTRAINT CATABELAPRECOXPRECOS_FK2;
ALTER TABLE CAPRODUTOXMARGEMMARKUP DROP CONSTRAINT CAPRODUTOXMARGEMMARKUP_FK1;
ALTER TABLE PAMETAXEXCECOES DROP CONSTRAINT PAMETAXEXCECOES_FK3;
ALTER TABLE PAREGRAPROMOCAOXPRODUTOS DROP CONSTRAINT PAREGRAPROMOCAOXPRODUTOS_FK2;
ALTER TABLE PAMVAS DROP CONSTRAINT PAMVAS_FK2;
ALTER TABLE PADESONERACOESFISCAIS DROP CONSTRAINT PADESONERACOESFISCAIS_FK2;
ALTER TABLE PAREGRASDISTRIBUICOES DROP CONSTRAINT PAREGRASDISTRIBUICOES_FK9;
ALTER TABLE PAABERTURASCOMPRA DROP CONSTRAINT PAABERTURASCOMPRA_FK9;
ALTER TABLE CAPRODUTOXCONTROLEENTREGA DROP CONSTRAINT CAPRODUTOXCONTROLEENTREGA_FK1;
ALTER TABLE CATABELAPRECOXFORMACOESPR DROP CONSTRAINT CATABELAPRECOXFORMACOESPR_FK1;
ALTER TABLE MOPAINELCOMPRAXITENS DROP CONSTRAINT MOPAINELCOMPRAXITENS_FK3;

DROP TABLE CAPRODUTOS;

-- CAPRODUTOS
CREATE TABLE CAPRODUTOS
  (
    produto                      NUMERIC (7,0) DEFAULT 0 NOT NULL,
    descricao                    VARCHAR (120) DEFAULT ' ' NOT NULL,
    ativo                        NUMERIC (1,0) DEFAULT 0 NOT NULL,
    subcategoriaProduto          NUMERIC (8,0) DEFAULT 0 NOT NULL,
    marca                        NUMERIC (7,0) DEFAULT 0 NOT NULL,
    caracteristicaA              NUMERIC (7,0) DEFAULT 0 NOT NULL,
    caracteristicaB              NUMERIC (7,0) DEFAULT 0 NOT NULL,
    caracteristicaC              NUMERIC (7,0) DEFAULT 0 NOT NULL,
    caracteristicaD              NUMERIC (7,0) DEFAULT 0 NOT NULL,
    caracteristicaE              NUMERIC (7,0) DEFAULT 0 NOT NULL,
    exclusivoProdutoA            NUMERIC (14,0) DEFAULT 0 NOT NULL,
    exclusivoProdutoB            NUMERIC (14,0) DEFAULT 0 NOT NULL,
    exclusivoProdutoC            NUMERIC (14,0) DEFAULT 0 NOT NULL,
    exclusivoProdutoD            NUMERIC (14,0) DEFAULT 0 NOT NULL,
    exclusivoProdutoE            NUMERIC (14,0) DEFAULT 0 NOT NULL,
    referencia                   VARCHAR (60) DEFAULT ' ' NOT NULL,
    gradeCor                     NUMERIC (4,0) DEFAULT 0 NOT NULL,
    gradeTamanho                 NUMERIC (4,0) DEFAULT 0 NOT NULL,
    gradePersonalizacao          NUMERIC (4,0) DEFAULT 0 NOT NULL,
    controlaLote                 NUMERIC (1,0) DEFAULT 0 NOT NULL,
    diasValidadeLote             NUMERIC (6,0) DEFAULT 0 NOT NULL,
    controlaNumeroSerie          NUMERIC (1,0) DEFAULT 0 NOT NULL,
    controleEstoque              NUMERIC (2,0) DEFAULT 0 NOT NULL,
    unidadeMedida                VARCHAR (6) DEFAULT ' ' NOT NULL,
    controleQuantidadeVenda      NUMERIC (1,0) DEFAULT 0 NOT NULL,
    unidadeMedidaVenda           VARCHAR (6) DEFAULT ' ' NOT NULL,
    conversorQuantidadeVenda     NUMERIC (15,8) DEFAULT 0 NOT NULL,
    loteMinimoVenda              NUMERIC (15,6) DEFAULT 0 NOT NULL,
    loteMultiploVenda            NUMERIC (15,6) DEFAULT 0 NOT NULL,
    pesoLiquido                  NUMERIC (15,6) DEFAULT 0 NOT NULL,
    solicitaPesoLiquido          NUMERIC (1,0) DEFAULT 0 NOT NULL,
    pesoBruto                    NUMERIC (15,6) DEFAULT 0 NOT NULL,
    solicitaPesoBruto            NUMERIC (1,0) DEFAULT 0 NOT NULL,
    altura                       NUMERIC (14,3) DEFAULT 0 NOT NULL,
    largura                      NUMERIC (14,3) DEFAULT 0 NOT NULL,
    comprimento                  NUMERIC (14,3) DEFAULT 0 NOT NULL,
    empilhamentoMaximoVolumes    NUMERIC (15,0) DEFAULT 0 NOT NULL,
    excecaoLocalizacao           NUMERIC (4,0) DEFAULT 0 NOT NULL,
    obsoleto                     NUMERIC (1,0) DEFAULT 0 NOT NULL,
    enviarECommerce              NUMERIC (1,0) DEFAULT 0 NOT NULL,
    lancamento                   NUMERIC (1,0) DEFAULT 0 NOT NULL,
    vitrine                      NUMERIC (1,0) DEFAULT 0 NOT NULL,
    promocao                     NUMERIC (1,0) DEFAULT 0 NOT NULL,
    encomenda                    NUMERIC (1,0) DEFAULT 0 NOT NULL,
    gerarDOF                     NUMERIC (1,0) DEFAULT 0 NOT NULL,
    tipoProduto                  CHAR (2) DEFAULT '  ' NOT NULL,
    origemMercadoria             CHAR (1) DEFAULT ' ' NOT NULL,
    valorSaidaMercadoriaInterest NUMERIC (15,2) DEFAULT 0 NOT NULL,
    valorParcelaImportada        NUMERIC (15,2) DEFAULT 0 NOT NULL,
    percentualCI                 NUMERIC (7,4) DEFAULT 0 NOT NULL,
    codigoFCI                    VARCHAR (36) DEFAULT ' ' NOT NULL,
    idNcm                        NUMERIC (11,0) DEFAULT 0 NOT NULL,
    listaServicos                NUMERIC (4,0) DEFAULT 0 NOT NULL,
    codigoProdutoAnp             NUMERIC (9,0) DEFAULT 0 NOT NULL,
    precoPautaTabelado           NUMERIC (15,7) DEFAULT 0 NOT NULL,
    estabelecimentoFaturamento   NUMERIC (4,0) DEFAULT 0 NOT NULL,
    classificacaoProduto         VARCHAR (3) DEFAULT ' ' NOT NULL,
    dataClassificacaoProduto     DATE,
    aplicacao                    VARCHAR (4000) DEFAULT ' ' NOT NULL,
    detalhamento                 VARCHAR (4000) DEFAULT ' ' NOT NULL,
    informacoesAdicionaisProduto VARCHAR (500) DEFAULT ' ' NOT NULL,
    metaTitulo                   VARCHAR (256) DEFAULT ' ' NOT NULL,
    metaDescription              VARCHAR (256) DEFAULT ' ' NOT NULL,
    metaKeywords                 VARCHAR (256) DEFAULT ' ' NOT NULL,
    observacoes                  VARCHAR (4000) DEFAULT ' ' NOT NULL,
    dataInclusao                 DATE,
    usuarioInclusao              NUMERIC (14,0) DEFAULT 0 NOT NULL,
    dataAlteracao                DATE,
    usuarioAlteracao             NUMERIC (14,0) DEFAULT 0 NOT NULL
  );
ALTER TABLE CAPRODUTOS ADD CONSTRAINT CAPRODUTOS_PK1 PRIMARY KEY (produto);
CREATE INDEX CAPRODUTOS_K2 ON CAPRODUTOS (descricao);
CREATE INDEX CAPRODUTOS_K3 ON CAPRODUTOS (referencia);
CREATE INDEX CAPRODUTOS_K4 ON CAPRODUTOS (subcategoriaProduto);
CREATE INDEX CAPRODUTOS_K5 ON CAPRODUTOS (marca);
CREATE INDEX CAPRODUTOS_K6 ON CAPRODUTOS (caracteristicaA);
CREATE INDEX CAPRODUTOS_K7 ON CAPRODUTOS (caracteristicaB);
CREATE INDEX CAPRODUTOS_K8 ON CAPRODUTOS (caracteristicaC);
CREATE INDEX CAPRODUTOS_K9 ON CAPRODUTOS (caracteristicaD);
CREATE INDEX CAPRODUTOS_K10 ON CAPRODUTOS (caracteristicaE);
CREATE INDEX CAPRODUTOS_K11 ON CAPRODUTOS (exclusivoProdutoA);
CREATE INDEX CAPRODUTOS_K12 ON CAPRODUTOS (exclusivoProdutoB);
CREATE INDEX CAPRODUTOS_K13 ON CAPRODUTOS (exclusivoProdutoC);
CREATE INDEX CAPRODUTOS_K14 ON CAPRODUTOS (exclusivoProdutoD);
CREATE INDEX CAPRODUTOS_K15 ON CAPRODUTOS (exclusivoProdutoE);
CREATE INDEX CAPRODUTOS_K16 ON CAPRODUTOS (controleEstoque);
CREATE INDEX CAPRODUTOS_K17 ON CAPRODUTOS (idNcm);
CREATE INDEX CAPRODUTOS_K18 ON CAPRODUTOS (listaServicos);
CREATE INDEX CAPRODUTOS_K19 ON CAPRODUTOS (codigoProdutoAnp);
ALTER TABLE CAPRODUTOS ADD CONSTRAINT CAPRODUTOS_FK1 FOREIGN KEY (subcategoriaProduto) REFERENCES PASUBCATEGORIASPRODUTO (subcategoriaProduto);
ALTER TABLE CAPRODUTOS ADD CONSTRAINT CAPRODUTOS_FK2 FOREIGN KEY (marca) REFERENCES PAMARCAS (marca);
ALTER TABLE CAPRODUTOS ADD CONSTRAINT CAPRODUTOS_FK3 FOREIGN KEY (caracteristicaA) REFERENCES PACARACTERISTICASA (caracteristicaA);
ALTER TABLE CAPRODUTOS ADD CONSTRAINT CAPRODUTOS_FK4 FOREIGN KEY (caracteristicaB) REFERENCES PACARACTERISTICASB (caracteristicaB);
ALTER TABLE CAPRODUTOS ADD CONSTRAINT CAPRODUTOS_FK5 FOREIGN KEY (caracteristicaC) REFERENCES PACARACTERISTICASC (caracteristicaC);
ALTER TABLE CAPRODUTOS ADD CONSTRAINT CAPRODUTOS_FK6 FOREIGN KEY (caracteristicaD) REFERENCES PACARACTERISTICASD (caracteristicaD);
ALTER TABLE CAPRODUTOS ADD CONSTRAINT CAPRODUTOS_FK7 FOREIGN KEY (caracteristicaE) REFERENCES PACARACTERISTICASE (caracteristicaE);
ALTER TABLE CAPRODUTOS ADD CONSTRAINT CAPRODUTOS_FK8 FOREIGN KEY (exclusivoProdutoA) REFERENCES PAEXCLUSIVOSPRODUTOA (exclusivoProdutoA);
ALTER TABLE CAPRODUTOS ADD CONSTRAINT CAPRODUTOS_FK9 FOREIGN KEY (exclusivoProdutoB) REFERENCES PAEXCLUSIVOSPRODUTOB (exclusivoProdutoB);
ALTER TABLE CAPRODUTOS ADD CONSTRAINT CAPRODUTOS_FK10 FOREIGN KEY (exclusivoProdutoC) REFERENCES PAEXCLUSIVOSPRODUTOC (exclusivoProdutoC);
ALTER TABLE CAPRODUTOS ADD CONSTRAINT CAPRODUTOS_FK11 FOREIGN KEY (exclusivoProdutoD) REFERENCES PAEXCLUSIVOSPRODUTOD (exclusivoProdutoD);
ALTER TABLE CAPRODUTOS ADD CONSTRAINT CAPRODUTOS_FK12 FOREIGN KEY (exclusivoProdutoE) REFERENCES PAEXCLUSIVOSPRODUTOE (exclusivoProdutoE);
ALTER TABLE CAPRODUTOS ADD CONSTRAINT CAPRODUTOS_FK13 FOREIGN KEY (gradeCor) REFERENCES PAGRADESCOR (gradeCor);
ALTER TABLE CAPRODUTOS ADD CONSTRAINT CAPRODUTOS_FK14 FOREIGN KEY (gradeTamanho) REFERENCES PAGRADESTAMANHO (gradeTamanho);
ALTER TABLE CAPRODUTOS ADD CONSTRAINT CAPRODUTOS_FK15 FOREIGN KEY (gradePersonalizacao) REFERENCES PAGRADESPERSONALIZACAO (gradePersonalizacao);
ALTER TABLE CAPRODUTOS ADD CONSTRAINT CAPRODUTOS_FK16 FOREIGN KEY (controleEstoque) REFERENCES SICONTROLESESTOQUE (controleEstoque);
ALTER TABLE CAPRODUTOS ADD CONSTRAINT CAPRODUTOS_FK17 FOREIGN KEY (unidadeMedida) REFERENCES SIUNIDADESMEDIDA (unidadeMedida);
ALTER TABLE CAPRODUTOS ADD CONSTRAINT CAPRODUTOS_FK18 FOREIGN KEY (controleQuantidadeVenda) REFERENCES SICONTROLESQUANTIDADE (controleQuantidade);
ALTER TABLE CAPRODUTOS ADD CONSTRAINT CAPRODUTOS_FK19 FOREIGN KEY (unidadeMedidaVenda) REFERENCES SIUNIDADESMEDIDA (unidadeMedida);
ALTER TABLE CAPRODUTOS ADD CONSTRAINT CAPRODUTOS_FK20 FOREIGN KEY (excecaoLocalizacao) REFERENCES PAEXCECOESLOCALIZACAO (excecaoLocalizacao);
ALTER TABLE CAPRODUTOS ADD CONSTRAINT CAPRODUTOS_FK21 FOREIGN KEY (tipoProduto) REFERENCES SITIPOSPRODUTO (tipoProduto);
ALTER TABLE CAPRODUTOS ADD CONSTRAINT CAPRODUTOS_FK22 FOREIGN KEY (origemMercadoria) REFERENCES SIORIGENSMERCADORIA (origemMercadoria);
ALTER TABLE CAPRODUTOS ADD CONSTRAINT CAPRODUTOS_FK23 FOREIGN KEY (idNcm) REFERENCES SINCMS (idNcm);
ALTER TABLE CAPRODUTOS ADD CONSTRAINT CAPRODUTOS_FK24 FOREIGN KEY (listaServicos) REFERENCES SILISTASERVICOS (listaServicos);
ALTER TABLE CAPRODUTOS ADD CONSTRAINT CAPRODUTOS_FK25 FOREIGN KEY (codigoProdutoAnp) REFERENCES SICODIGOSPRODUTOSANP (codigoProdutoAnp);
ALTER TABLE CAPRODUTOS ADD CONSTRAINT CAPRODUTOS_FK26 FOREIGN KEY (estabelecimentoFaturamento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE CAPRODUTOS ADD CONSTRAINT CAPRODUTOS_FK27 FOREIGN KEY (classificacaoProduto) REFERENCES PACLASSIFICACOESPRODUTO (classificacaoProduto);
ALTER TABLE CAPRODUTOS ADD CONSTRAINT CAPRODUTOS_FK28 FOREIGN KEY (usuarioInclusao) REFERENCES CAUSUARIOS (usuario);
ALTER TABLE CAPRODUTOS ADD CONSTRAINT CAPRODUTOS_FK29 FOREIGN KEY (usuarioAlteracao) REFERENCES CAUSUARIOS (usuario);

INSERT INTO CAPRODUTOS (produto, descricao, ativo, subcategoriaProduto, marca, caracteristicaA, caracteristicaB, caracteristicaC, caracteristicaD, caracteristicaE, exclusivoProdutoA, exclusivoProdutoB, exclusivoProdutoC, exclusivoProdutoD, exclusivoProdutoE, referencia, gradeCor, gradeTamanho, gradePersonalizacao, controlaLote, diasValidadeLote, controlaNumeroSerie, controleEstoque, unidadeMedida, controleQuantidadeVenda, unidadeMedidaVenda, conversorQuantidadeVenda, loteMinimoVenda, loteMultiploVenda, pesoLiquido, solicitaPesoLiquido, pesoBruto, solicitaPesoBruto, altura, largura, comprimento, empilhamentoMaximoVolumes, excecaoLocalizacao, obsoleto, enviarECommerce, lancamento, vitrine, promocao, encomenda, gerarDOF, tipoProduto, origemMercadoria, valorSaidaMercadoriaInterest, valorParcelaImportada, percentualCI, codigoFCI, idNcm, listaServicos, codigoProdutoAnp, precoPautaTabelado, estabelecimentoFaturamento, classificacaoProduto, dataClassificacaoProduto, aplicacao, detalhamento, informacoesAdicionaisProduto, metaTitulo, metaDescription, metaKeywords, observacoes, dataInclusao, usuarioInclusao, dataAlteracao, usuarioAlteracao) VALUES (0, 'SELECIONE', 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ' ', 0, 0, 0, 0, 0, 0, 0, ' ', 0, ' ', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '  ', ' ', 0, 0, 0, ' ', 0, 0, 0, 0, 0, ' ', NULL, ' ', ' ', ' ', ' ', ' ', ' ', ' ', NULL, 0, NULL, 0);
INSERT INTO CAPRODUTOS (produto, descricao, ativo, subcategoriaProduto, marca, caracteristicaA, caracteristicaB, caracteristicaC, caracteristicaD, caracteristicaE, exclusivoProdutoA, exclusivoProdutoB, exclusivoProdutoC, exclusivoProdutoD, exclusivoProdutoE, referencia, gradeCor, gradeTamanho, gradePersonalizacao, controlaLote, diasValidadeLote, controlaNumeroSerie, controleEstoque, unidadeMedida, controleQuantidadeVenda, unidadeMedidaVenda, conversorQuantidadeVenda, loteMinimoVenda, loteMultiploVenda, pesoLiquido, solicitaPesoLiquido, pesoBruto, solicitaPesoBruto, altura, largura, comprimento, empilhamentoMaximoVolumes, excecaoLocalizacao, obsoleto, enviarECommerce, lancamento, vitrine, promocao, encomenda, gerarDOF, tipoProduto, origemMercadoria, valorSaidaMercadoriaInterest, valorParcelaImportada, percentualCI, codigoFCI, idNcm, listaServicos, codigoProdutoAnp, precoPautaTabelado, estabelecimentoFaturamento, classificacaoProduto, dataClassificacaoProduto, aplicacao, detalhamento, informacoesAdicionaisProduto, metaTitulo, metaDescription, metaKeywords, observacoes, dataInclusao, usuarioInclusao, dataAlteracao, usuarioAlteracao) SELECT produto, descricao, ativo, subcategoriaProduto, marca, caracteristicaA, caracteristicaB, caracteristicaC, caracteristicaD, caracteristicaE, exclusivoProdutoA, exclusivoProdutoB, exclusivoProdutoC, exclusivoProdutoD, exclusivoProdutoE, referencia, gradeCor, gradeTamanho, gradePersonalizacao, controlaLote, diasValidadeLote, controlaNumeroSerie, controleEstoque, unidadeMedida, controleQuantidadeVenda, unidadeMedidaVenda, conversorQuantidadeVenda, loteMinimoVenda, loteMultiploVenda, pesoLiquido, solicitaPesoLiquido, pesoBruto, solicitaPesoBruto, altura, largura, comprimento, empilhamentoMaximoVolumes, excecaoLocalizacao, obsoleto, enviarECommerce, lancamento, vitrine, promocao, encomenda, gerarDOF, tipoProduto, origemMercadoria, valorSaidaMercadoriaInterest, valorParcelaImportada, percentualCI, codigoFCI, idNcm, listaServicos, codigoProdutoAnp, precoPautaTabelado, estabelecimentoFaturamento, classificacaoProduto, dataClassificacaoProduto, aplicacao, detalhamento, informacoesAdicionaisProduto, metaTitulo, metaDescription, metaKeywords, observacoes, dataInclusao, usuarioInclusao, dataAlteracao, usuarioAlteracao FROM CAPRODUTOS_2401 WHERE produto > 0;

COMMIT;

ALTER TABLE CAPRODUTOXLENTESOCULOS ADD CONSTRAINT CAPRODUTOXLENTESOCULOS_FK1 FOREIGN KEY (produto) REFERENCES CAPRODUTOS (produto);
ALTER TABLE CAPRODUTOXINGRESSOS ADD CONSTRAINT CAPRODUTOXINGRESSOS_FK1 FOREIGN KEY (produto) REFERENCES CAPRODUTOS (produto);
ALTER TABLE CAPRODUTOXVALIDADESINGRES ADD CONSTRAINT CAPRODUTOXVALIDADESINGRES_FK1 FOREIGN KEY (produto) REFERENCES CAPRODUTOS (produto);
ALTER TABLE CAPRODUTOXALTURAS ADD CONSTRAINT CAPRODUTOXALTURAS_FK1 FOREIGN KEY (produto) REFERENCES CAPRODUTOS (produto);
ALTER TABLE CAPRODUTOXESTABELECIMENTO ADD CONSTRAINT CAPRODUTOXESTABELECIMENTO_FK1 FOREIGN KEY (produto) REFERENCES CAPRODUTOS (produto);
ALTER TABLE CAPRODUTOXFORNECEDORES ADD CONSTRAINT CAPRODUTOXFORNECEDORES_FK1 FOREIGN KEY (produto) REFERENCES CAPRODUTOS (produto);
ALTER TABLE CAPRODUTOXALTERNATIVOS ADD CONSTRAINT CAPRODUTOXALTERNATIVOS_FK1 FOREIGN KEY (produto) REFERENCES CAPRODUTOS (produto);
ALTER TABLE CAPRODUTOXALTERNATIVOS ADD CONSTRAINT CAPRODUTOXALTERNATIVOS_FK2 FOREIGN KEY (produtoAlternativo) REFERENCES CAPRODUTOS (produto);
ALTER TABLE CAPRODUTOXRELACIONADOS ADD CONSTRAINT CAPRODUTOXRELACIONADOS_FK1 FOREIGN KEY (produto) REFERENCES CAPRODUTOS (produto);
ALTER TABLE CAPRODUTOXRELACIONADOS ADD CONSTRAINT CAPRODUTOXRELACIONADOS_FK2 FOREIGN KEY (produtoRelacionado) REFERENCES CAPRODUTOS (produto);
ALTER TABLE CAPRODUTOXARQUIVOS ADD CONSTRAINT CAPRODUTOXARQUIVOS_FK1 FOREIGN KEY (produto) REFERENCES CAPRODUTOS (produto);
ALTER TABLE CAPRODUTOXCUSTOS ADD CONSTRAINT CAPRODUTOXCUSTOS_FK1 FOREIGN KEY (produto) REFERENCES CAPRODUTOS (produto);
ALTER TABLE PAAGRUPFISCXPRODUTOS ADD CONSTRAINT PAAGRUPFISCXPRODUTOS_FK2 FOREIGN KEY (produto) REFERENCES CAPRODUTOS (produto);
ALTER TABLE PAFILTROPRODUTOXPRODUTOS ADD CONSTRAINT PAFILTROPRODUTOXPRODUTOS_FK2 FOREIGN KEY (produto) REFERENCES CAPRODUTOS (produto);
ALTER TABLE CAGRADESPRODUTO ADD CONSTRAINT CAGRADESPRODUTO_FK1 FOREIGN KEY (produto) REFERENCES CAPRODUTOS (produto);
ALTER TABLE CAPRODUTOXCOMPOSICOESPREC ADD CONSTRAINT CAPRODUTOXCOMPOSICOESPREC_FK1 FOREIGN KEY (produto) REFERENCES CAPRODUTOS (produto);
ALTER TABLE CATABELAPRECOXPRECOS ADD CONSTRAINT CATABELAPRECOXPRECOS_FK2 FOREIGN KEY (produto) REFERENCES CAPRODUTOS (produto);
ALTER TABLE CAPRODUTOXMARGEMMARKUP ADD CONSTRAINT CAPRODUTOXMARGEMMARKUP_FK1 FOREIGN KEY (produto) REFERENCES CAPRODUTOS (produto);
ALTER TABLE PAMETAXEXCECOES ADD CONSTRAINT PAMETAXEXCECOES_FK3 FOREIGN KEY (produto) REFERENCES CAPRODUTOS (produto);
ALTER TABLE PAREGRAPROMOCAOXPRODUTOS ADD CONSTRAINT PAREGRAPROMOCAOXPRODUTOS_FK2 FOREIGN KEY (produto) REFERENCES CAPRODUTOS (produto);
ALTER TABLE PAMVAS ADD CONSTRAINT PAMVAS_FK2 FOREIGN KEY (produto) REFERENCES CAPRODUTOS (produto);
ALTER TABLE PADESONERACOESFISCAIS ADD CONSTRAINT PADESONERACOESFISCAIS_FK2 FOREIGN KEY (produto) REFERENCES CAPRODUTOS (produto);
ALTER TABLE PAREGRASDISTRIBUICOES ADD CONSTRAINT PAREGRASDISTRIBUICOES_FK9 FOREIGN KEY (produto) REFERENCES CAPRODUTOS (produto);
ALTER TABLE PAABERTURASCOMPRA ADD CONSTRAINT PAABERTURASCOMPRA_FK9 FOREIGN KEY (produto) REFERENCES CAPRODUTOS (produto);
ALTER TABLE CAPRODUTOXCONTROLEENTREGA ADD CONSTRAINT CAPRODUTOXCONTROLEENTREGA_FK1 FOREIGN KEY (produto) REFERENCES CAPRODUTOS (produto);
ALTER TABLE CATABELAPRECOXFORMACOESPR ADD CONSTRAINT CATABELAPRECOXFORMACOESPR_FK1 FOREIGN KEY (produto) REFERENCES CAPRODUTOS (produto);
ALTER TABLE MOPAINELCOMPRAXITENS ADD CONSTRAINT MOPAINELCOMPRAXITENS_FK3 FOREIGN KEY (produto) REFERENCES CAPRODUTOS (produto);

DELETE PAPERSCAMPOSXCONTEUDOS WHERE personalizacaoCampo = 100;
DELETE SIOPCOESCOMBOPERSCAMPOS WHERE personalizacaoCampo = 100;
DELETE SIPERSONALIZACOESCAMPOS WHERE personalizacaoCampo = 100;

DELETE MONOTIFICACOES WHERE menu = 196;
DELETE MOACESSOSMENU WHERE menu = 196;
DELETE PAMENUXLAYOUTPESQUISA WHERE menu = 196;
DELETE PAMENUXPERMISSOES WHERE menu = 196;
DELETE PAGERADORRELFILTROS WHERE menuPesquisa = 196;
DELETE PAGERADORRELCAMPOSVISAO WHERE menuPesquisa = 196;
DELETE SIDOCVERSOESSISTEMA WHERE menu = 196;
DELETE SIMENUS WHERE menu = 196;

DROP TABLE PACATEGORIASCONTABEISPROD;

CREATE TABLE PAOPERACOESFISCAIS_2401 AS SELECT * FROM PAOPERACOESFISCAIS;

ALTER TABLE PAOPERFISCALXPESSOAS DROP CONSTRAINT PAOPERFISCALXPESSOAS_FK1;
ALTER TABLE PAOPERFISCALXMUNICIPIOS DROP CONSTRAINT PAOPERFISCALXMUNICIPIOS_FK1;
ALTER TABLE PAOPERFISCALXMODELOSDOCUM DROP CONSTRAINT PAOPERFISCALXMODELOSDOCUM_FK1;
ALTER TABLE PAOPERFISCALXINFOCOMPLEM DROP CONSTRAINT PAOPERFISCALXINFOCOMPLEM_FK1;
ALTER TABLE MOORCAMENTOXITENS DROP CONSTRAINT MOORCAMENTOXITENS_FK20;
ALTER TABLE MOPREDOCUMXITENS DROP CONSTRAINT MOPREDOCUMXITENS_FK15;
ALTER TABLE MODOCFISCALXITENS DROP CONSTRAINT MODOCFISCALXITENS_FK16;
ALTER TABLE CATABELAPRECOXFORMACOESPR DROP CONSTRAINT CATABELAPRECOXFORMACOESPR_FK11;

DROP TABLE PAOPERACOESFISCAIS;

-- PAOPERACOESFISCAIS
CREATE TABLE PAOPERACOESFISCAIS
  (
    operacaoFiscal             NUMERIC (14,0) DEFAULT 0 NOT NULL,
    descricao                  VARCHAR (256) DEFAULT ' ' NOT NULL,
    ativo                      NUMERIC (1,0) DEFAULT 0 NOT NULL,
    tipoProduto                CHAR (2) DEFAULT '  ' NOT NULL,
    origemMercadoria           CHAR (1) DEFAULT ' ' NOT NULL,
    grupoFiscal                NUMERIC (4,0) DEFAULT 0 NOT NULL,
    ufOrigem                   CHAR (2) DEFAULT '  ' NOT NULL,
    ufDestino                  CHAR (2) DEFAULT '  ' NOT NULL,
    indicadorConsumidorFinal   CHAR (1) DEFAULT ' ' NOT NULL,
    indicadorInscricaoEstadual CHAR (1) DEFAULT ' ' NOT NULL,
    regimeTributario           CHAR (1) DEFAULT ' ' NOT NULL,
    filtrarPessoas             NUMERIC (1,0) DEFAULT 0 NOT NULL,
    agrupadorFiscal            NUMERIC (4,0) DEFAULT 0 NOT NULL,
    filtroProduto              NUMERIC (14,0) DEFAULT 0 NOT NULL,
    dataValidadeInicial        DATE,
    dataValidadeFinal          DATE,
    cfop                       NUMERIC (4,0) DEFAULT 0 NOT NULL,
    descricaoLegal             VARCHAR (60) DEFAULT ' ' NOT NULL,
    retencaoIRRF               NUMERIC (7,4) DEFAULT 0 NOT NULL,
    retencaoINSS               NUMERIC (7,4) DEFAULT 0 NOT NULL,
    retencaoPIS                NUMERIC (7,4) DEFAULT 0 NOT NULL,
    retencaoCOFINS             NUMERIC (7,4) DEFAULT 0 NOT NULL,
    retencaoCSLL               NUMERIC (7,4) DEFAULT 0 NOT NULL,
    retencaoOutros             NUMERIC (7,4) DEFAULT 0 NOT NULL,
    aliquotaII                 NUMERIC (7,4) DEFAULT 0 NOT NULL,
    aliquotaIOF                NUMERIC (7,4) DEFAULT 0 NOT NULL,
    codigoEnquadramentoIPI     NUMERIC (3,0) DEFAULT 0 NOT NULL,
    stIPI                      CHAR (2) DEFAULT '  ' NOT NULL,
    aliquotaIPI                NUMERIC (7,4) DEFAULT 0 NOT NULL,
    valorAliquotaIPI           NUMERIC (15,4) DEFAULT 0 NOT NULL,
    stPIS                      CHAR (2) DEFAULT '  ' NOT NULL,
    aliquotaPIS                NUMERIC (7,4) DEFAULT 0 NOT NULL,
    valorAliquotaPIS           NUMERIC (15,4) DEFAULT 0 NOT NULL,
    aliquotaPISST              NUMERIC (7,4) DEFAULT 0 NOT NULL,
    valorAliquotaPISST         NUMERIC (15,4) DEFAULT 0 NOT NULL,
    stCOFINS                   CHAR (2) DEFAULT '  ' NOT NULL,
    aliquotaCOFINS             NUMERIC (7,4) DEFAULT 0 NOT NULL,
    valorAliquotaCOFINS        NUMERIC (15,4) DEFAULT 0 NOT NULL,
    aliquotaCOFINSST           NUMERIC (7,4) DEFAULT 0 NOT NULL,
    valorAliquotaCOFINSST      NUMERIC (15,4) DEFAULT 0 NOT NULL,
    stSimplesNacional          CHAR (3) DEFAULT '   ' NOT NULL,
    creditoSimplesNacional     NUMERIC (7,4) DEFAULT 0 NOT NULL,
    stICMS                     CHAR (2) DEFAULT '  ' NOT NULL,
    modalidadeBaseCalcICMS     CHAR (1) DEFAULT ' ' NOT NULL,
    reducaoBaseICMS            NUMERIC (7,4) DEFAULT 0 NOT NULL,
    aliquotaICMS               NUMERIC (7,4) DEFAULT 0 NOT NULL,
    diferimentoICMS            NUMERIC (7,4) DEFAULT 0 NOT NULL,
    motivoDesoneracaoICMS      CHAR (2) DEFAULT '  ' NOT NULL,
    idBeneficio                NUMERIC (8,0) DEFAULT 0 NOT NULL,
    modalidadeBaseCalcICMSST   CHAR (1) DEFAULT ' ' NOT NULL,
    margemValorAdicionadoST    NUMERIC (7,4) DEFAULT 0 NOT NULL,
    reducaoBaseST              NUMERIC (7,4) DEFAULT 0 NOT NULL,
    aliquotaICMSST             NUMERIC (7,4) DEFAULT 0 NOT NULL,
    aliquotaSTSuportConsFinal  NUMERIC (7,4) DEFAULT 0 NOT NULL,
    reducaoBaseICMSEfetivo     NUMERIC (7,4) DEFAULT 0 NOT NULL,
    aliquotaICMSEfetivo        NUMERIC (7,4) DEFAULT 0 NOT NULL,
    aliquotaICMSUFDestinatario NUMERIC (7,4) DEFAULT 0 NOT NULL,
    aliquotaICMSInterestadual  NUMERIC (7,4) DEFAULT 0 NOT NULL,
    partilhaICMSInterestadual  NUMERIC (7,4) DEFAULT 0 NOT NULL,
    aliquotaFCP                NUMERIC (7,4) DEFAULT 0 NOT NULL,
    aliquotaFCPST              NUMERIC (7,4) DEFAULT 0 NOT NULL,
    aliquotaFCPSTAnteriormente NUMERIC (7,4) DEFAULT 0 NOT NULL,
    aliquotaFCPUFDestinatario  NUMERIC (7,4) DEFAULT 0 NOT NULL,
    observacoes                VARCHAR (4000) DEFAULT ' ' NOT NULL
  );
ALTER TABLE PAOPERACOESFISCAIS ADD CONSTRAINT PAOPERACOESFISCAIS_PK1 PRIMARY KEY (operacaoFiscal);
CREATE INDEX PAOPERACOESFISCAIS_K2 ON PAOPERACOESFISCAIS (descricao);
ALTER TABLE PAOPERACOESFISCAIS ADD CONSTRAINT PAOPERACOESFISCAIS_FK1 FOREIGN KEY (tipoProduto) REFERENCES SITIPOSPRODUTO (tipoProduto);
ALTER TABLE PAOPERACOESFISCAIS ADD CONSTRAINT PAOPERACOESFISCAIS_FK2 FOREIGN KEY (origemMercadoria) REFERENCES SIORIGENSMERCADORIA (origemMercadoria);
ALTER TABLE PAOPERACOESFISCAIS ADD CONSTRAINT PAOPERACOESFISCAIS_FK3 FOREIGN KEY (grupoFiscal) REFERENCES PAGRUPOSFISCAIS (grupoFiscal);
ALTER TABLE PAOPERACOESFISCAIS ADD CONSTRAINT PAOPERACOESFISCAIS_FK4 FOREIGN KEY (ufOrigem) REFERENCES SIUFS (uf);
ALTER TABLE PAOPERACOESFISCAIS ADD CONSTRAINT PAOPERACOESFISCAIS_FK5 FOREIGN KEY (ufDestino) REFERENCES SIUFS (uf);
ALTER TABLE PAOPERACOESFISCAIS ADD CONSTRAINT PAOPERACOESFISCAIS_FK6 FOREIGN KEY (indicadorConsumidorFinal) REFERENCES SIINDICCONSUMIDORFINAL (indicadorConsumidorFinal);
ALTER TABLE PAOPERACOESFISCAIS ADD CONSTRAINT PAOPERACOESFISCAIS_FK7 FOREIGN KEY (indicadorInscricaoEstadual) REFERENCES SIINDICINSCRICAOESTADUAL (indicadorInscricaoEstadual);
ALTER TABLE PAOPERACOESFISCAIS ADD CONSTRAINT PAOPERACOESFISCAIS_FK8 FOREIGN KEY (regimeTributario) REFERENCES SIREGIMESTRIBUTARIO (regimeTributario);
ALTER TABLE PAOPERACOESFISCAIS ADD CONSTRAINT PAOPERACOESFISCAIS_FK9 FOREIGN KEY (agrupadorFiscal) REFERENCES PAAGRUPADORESFISCAIS (agrupadorFiscal);
ALTER TABLE PAOPERACOESFISCAIS ADD CONSTRAINT PAOPERACOESFISCAIS_FK10 FOREIGN KEY (filtroProduto) REFERENCES PAFILTROSPRODUTO (filtroProduto);
ALTER TABLE PAOPERACOESFISCAIS ADD CONSTRAINT PAOPERACOESFISCAIS_FK11 FOREIGN KEY (cfop) REFERENCES SICFOPS (cfop);
ALTER TABLE PAOPERACOESFISCAIS ADD CONSTRAINT PAOPERACOESFISCAIS_FK12 FOREIGN KEY (codigoEnquadramentoIPI) REFERENCES SICODIGOSENQUADRAMENTOIPI (codigoEnquadramentoIPI);
ALTER TABLE PAOPERACOESFISCAIS ADD CONSTRAINT PAOPERACOESFISCAIS_FK13 FOREIGN KEY (stIPI) REFERENCES SISITTRIBUTIPI (stIPI);
ALTER TABLE PAOPERACOESFISCAIS ADD CONSTRAINT PAOPERACOESFISCAIS_FK14 FOREIGN KEY (stPIS) REFERENCES SISITTRIBUTPIS (stPIS);
ALTER TABLE PAOPERACOESFISCAIS ADD CONSTRAINT PAOPERACOESFISCAIS_FK15 FOREIGN KEY (stCOFINS) REFERENCES SISITTRIBUTCOFINS (stCOFINS);
ALTER TABLE PAOPERACOESFISCAIS ADD CONSTRAINT PAOPERACOESFISCAIS_FK16 FOREIGN KEY (stSimplesNacional) REFERENCES SISITTRIBUTSIMPLESNACION (stSimplesNacional);
ALTER TABLE PAOPERACOESFISCAIS ADD CONSTRAINT PAOPERACOESFISCAIS_FK17 FOREIGN KEY (stICMS) REFERENCES SISITTRIBUTICMS (stICMS);
ALTER TABLE PAOPERACOESFISCAIS ADD CONSTRAINT PAOPERACOESFISCAIS_FK18 FOREIGN KEY (modalidadeBaseCalcICMS) REFERENCES SIMODALIDBASECALCICMS (modalidadeBaseCalcICMS);
ALTER TABLE PAOPERACOESFISCAIS ADD CONSTRAINT PAOPERACOESFISCAIS_FK19 FOREIGN KEY (motivoDesoneracaoICMS) REFERENCES SIMOTIVOSDESONERACAOICMS (motivoDesoneracaoICMS);
ALTER TABLE PAOPERACOESFISCAIS ADD CONSTRAINT PAOPERACOESFISCAIS_FK20 FOREIGN KEY (idBeneficio) REFERENCES SIBENEFICIOSFISCAIS (idBeneficio);
ALTER TABLE PAOPERACOESFISCAIS ADD CONSTRAINT PAOPERACOESFISCAIS_FK21 FOREIGN KEY (modalidadeBaseCalcICMSST) REFERENCES SIMODALIDBASECALCICMSST (modalidadeBaseCalcICMSST);

INSERT INTO PAOPERACOESFISCAIS (operacaoFiscal, descricao, ativo, tipoProduto, origemMercadoria, grupoFiscal, ufOrigem, ufDestino, indicadorConsumidorFinal, indicadorInscricaoEstadual, regimeTributario, filtrarPessoas, agrupadorFiscal, filtroProduto, dataValidadeInicial, dataValidadeFinal, cfop, descricaoLegal, retencaoIRRF, retencaoINSS, retencaoPIS, retencaoCOFINS, retencaoCSLL, retencaoOutros, aliquotaII, aliquotaIOF, codigoEnquadramentoIPI, stIPI, aliquotaIPI, valorAliquotaIPI, stPIS, aliquotaPIS, valorAliquotaPIS, aliquotaPISST, valorAliquotaPISST, stCOFINS, aliquotaCOFINS, valorAliquotaCOFINS, aliquotaCOFINSST, valorAliquotaCOFINSST, stSimplesNacional, creditoSimplesNacional, stICMS, modalidadeBaseCalcICMS, reducaoBaseICMS, aliquotaICMS, diferimentoICMS, motivoDesoneracaoICMS, idBeneficio, modalidadeBaseCalcICMSST, margemValorAdicionadoST, reducaoBaseST, aliquotaICMSST, aliquotaSTSuportConsFinal, reducaoBaseICMSEfetivo, aliquotaICMSEfetivo, aliquotaICMSUFDestinatario, aliquotaICMSInterestadual, partilhaICMSInterestadual, aliquotaFCP, aliquotaFCPST, aliquotaFCPSTAnteriormente, aliquotaFCPUFDestinatario, observacoes) VALUES (0, 'SELECIONE', 1, '  ', ' ', 0, '  ', '  ', ' ', ' ', ' ', 0, 0, 0, NULL, NULL, 0, ' ', 0, 0, 0, 0, 0, 0, 0, 0, 0, '  ', 0, 0, '  ', 0, 0, 0, 0, '  ', 0, 0, 0, 0, '   ', 0, '  ', ' ', 0, 0, 0, '  ', 0, ' ', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ' ');
INSERT INTO PAOPERACOESFISCAIS (operacaoFiscal, descricao, ativo, tipoProduto, origemMercadoria, grupoFiscal, ufOrigem, ufDestino, indicadorConsumidorFinal, indicadorInscricaoEstadual, regimeTributario, filtrarPessoas, agrupadorFiscal, filtroProduto, dataValidadeInicial, dataValidadeFinal, cfop, descricaoLegal, retencaoIRRF, retencaoINSS, retencaoPIS, retencaoCOFINS, retencaoCSLL, retencaoOutros, aliquotaII, aliquotaIOF, codigoEnquadramentoIPI, stIPI, aliquotaIPI, valorAliquotaIPI, stPIS, aliquotaPIS, valorAliquotaPIS, aliquotaPISST, valorAliquotaPISST, stCOFINS, aliquotaCOFINS, valorAliquotaCOFINS, aliquotaCOFINSST, valorAliquotaCOFINSST, stSimplesNacional, creditoSimplesNacional, stICMS, modalidadeBaseCalcICMS, reducaoBaseICMS, aliquotaICMS, diferimentoICMS, motivoDesoneracaoICMS, idBeneficio, modalidadeBaseCalcICMSST, margemValorAdicionadoST, reducaoBaseST, aliquotaICMSST, aliquotaSTSuportConsFinal, reducaoBaseICMSEfetivo, aliquotaICMSEfetivo, aliquotaICMSUFDestinatario, aliquotaICMSInterestadual, partilhaICMSInterestadual, aliquotaFCP, aliquotaFCPST, aliquotaFCPSTAnteriormente, aliquotaFCPUFDestinatario, observacoes) SELECT operacaoFiscal, descricao, ativo, tipoProduto, origemMercadoria, grupoFiscal, ufOrigem, ufDestino, indicadorConsumidorFinal, indicadorInscricaoEstadual, regimeTributario, filtrarPessoas, agrupadorFiscal, filtroProduto, dataValidadeInicial, dataValidadeFinal, cfop, descricaoLegal, retencaoIRRF, retencaoINSS, retencaoPIS, retencaoCOFINS, retencaoCSLL, retencaoOutros, aliquotaII, aliquotaIOF, codigoEnquadramentoIPI, stIPI, aliquotaIPI, valorAliquotaIPI, stPIS, aliquotaPIS, valorAliquotaPIS, aliquotaPISST, valorAliquotaPISST, stCOFINS, aliquotaCOFINS, valorAliquotaCOFINS, aliquotaCOFINSST, valorAliquotaCOFINSST, stSimplesNacional, creditoSimplesNacional, stICMS, modalidadeBaseCalcICMS, reducaoBaseICMS, aliquotaICMS, diferimentoICMS, motivoDesoneracaoICMS, idBeneficio, modalidadeBaseCalcICMSST, margemValorAdicionadoST, reducaoBaseST, aliquotaICMSST, aliquotaSTSuportConsFinal, reducaoBaseICMSEfetivo, aliquotaICMSEfetivo, aliquotaICMSUFDestinatario, aliquotaICMSInterestadual, partilhaICMSInterestadual, aliquotaFCP, aliquotaFCPST, aliquotaFCPSTAnteriormente, aliquotaFCPUFDestinatario, observacoes FROM PAOPERACOESFISCAIS_2401 WHERE operacaoFiscal > 0;

COMMIT;

ALTER TABLE PAOPERFISCALXPESSOAS ADD CONSTRAINT PAOPERFISCALXPESSOAS_FK1 FOREIGN KEY (operacaoFiscal) REFERENCES PAOPERACOESFISCAIS (operacaoFiscal);
ALTER TABLE PAOPERFISCALXMUNICIPIOS ADD CONSTRAINT PAOPERFISCALXMUNICIPIOS_FK1 FOREIGN KEY (operacaoFiscal) REFERENCES PAOPERACOESFISCAIS (operacaoFiscal);
ALTER TABLE PAOPERFISCALXMODELOSDOCUM ADD CONSTRAINT PAOPERFISCALXMODELOSDOCUM_FK1 FOREIGN KEY (operacaoFiscal) REFERENCES PAOPERACOESFISCAIS (operacaoFiscal);
ALTER TABLE PAOPERFISCALXINFOCOMPLEM ADD CONSTRAINT PAOPERFISCALXINFOCOMPLEM_FK1 FOREIGN KEY (operacaoFiscal) REFERENCES PAOPERACOESFISCAIS (operacaoFiscal);
ALTER TABLE MOORCAMENTOXITENS ADD CONSTRAINT MOORCAMENTOXITENS_FK20 FOREIGN KEY (operacaoFiscal) REFERENCES PAOPERACOESFISCAIS (operacaoFiscal);
ALTER TABLE MOPREDOCUMXITENS ADD CONSTRAINT MOPREDOCUMXITENS_FK15 FOREIGN KEY (operacaoFiscal) REFERENCES PAOPERACOESFISCAIS (operacaoFiscal);
ALTER TABLE MODOCFISCALXITENS ADD CONSTRAINT MODOCFISCALXITENS_FK16 FOREIGN KEY (operacaoFiscal) REFERENCES PAOPERACOESFISCAIS (operacaoFiscal);
ALTER TABLE CATABELAPRECOXFORMACOESPR ADD CONSTRAINT CATABELAPRECOXFORMACOESPR_FK11 FOREIGN KEY (operacaoFiscal) REFERENCES PAOPERACOESFISCAIS (operacaoFiscal);

CREATE TABLE PACONTASFINANCEIRAS_2401 AS SELECT * FROM PACONTASFINANCEIRAS;

ALTER TABLE PAESTABXCONCILIACAOCARTOES DROP CONSTRAINT PAESTABXCONCILIACAOCARTOES_FK3;
ALTER TABLE PAESTABXCONCILIACAOCARTOES DROP CONSTRAINT PAESTABXCONCILIACAOCARTOES_FK4;
ALTER TABLE PAESTABXCONCILIACAOCARTOES DROP CONSTRAINT PAESTABXCONCILIACAOCARTOES_FK5;
ALTER TABLE PAESTABXCONCILIACAOCARTOES DROP CONSTRAINT PAESTABXCONCILIACAOCARTOES_FK6;
ALTER TABLE PAESTABXCONCILIACAOCARTOES DROP CONSTRAINT PAESTABXCONCILIACAOCARTOES_FK7;
ALTER TABLE PAESTABXCONCILIACAOCARTOES DROP CONSTRAINT PAESTABXCONCILIACAOCARTOES_FK8;
ALTER TABLE PACONDICOESPAGAMENTO DROP CONSTRAINT PACONDICOESPAGAMENTO_FK3;
ALTER TABLE PAMODELOSFINANCEIRO DROP CONSTRAINT PAMODELOSFINANCEIRO_FK5;
ALTER TABLE PAMODELOSFINANCEIRO DROP CONSTRAINT PAMODELOSFINANCEIRO_FK12;
ALTER TABLE PAMODELOFINANCEIROXCONTAS DROP CONSTRAINT PAMODELOFINANCEIROXCONTAS_FK2;
ALTER TABLE PADEMONSTRATIVOXCONTAFIN DROP CONSTRAINT PADEMONSTRATIVOXCONTAFIN_FK2;
ALTER TABLE PALISTACOBRANCAXCONTASFIN DROP CONSTRAINT PALISTACOBRANCAXCONTASFIN_FK2;
ALTER TABLE MOORCAMENTOS DROP CONSTRAINT MOORCAMENTOS_FK33;
ALTER TABLE MOPREDOCUMENTOS DROP CONSTRAINT MOPREDOCUMENTOS_FK36;
ALTER TABLE MODOCUMENTOSFISCAIS DROP CONSTRAINT MODOCUMENTOSFISCAIS_FK42;
ALTER TABLE MOFINANCEIROS DROP CONSTRAINT MOFINANCEIROS_FK4;
ALTER TABLE MOFINANCEIROXRATEIO DROP CONSTRAINT MOFINANCEIROXRATEIO_FK3;
ALTER TABLE MOFINANCEIROXBAIXAS DROP CONSTRAINT MOFINANCEIROXBAIXAS_FK5;
ALTER TABLE MOPREVISOESFINANCEIRAS DROP CONSTRAINT MOPREVISOESFINANCEIRAS_FK2;

DROP TABLE PACONTASFINANCEIRAS;

-- PACONTASFINANCEIRAS
CREATE TABLE PACONTASFINANCEIRAS
  (
    contaFinanceira        VARCHAR (60) DEFAULT ' ' NOT NULL,
    descricao              VARCHAR (120) DEFAULT ' ' NOT NULL,
    ativo                  NUMERIC (1,0) DEFAULT 0 NOT NULL,
    indicadorConta         CHAR (1) DEFAULT ' ' NOT NULL,
    nivelConta             NUMERIC (2,0) DEFAULT 0 NOT NULL,
    situacaoContabilizacao CHAR (1) DEFAULT ' ' NOT NULL,
    observacoes            VARCHAR (4000) DEFAULT ' ' NOT NULL
  );
ALTER TABLE PACONTASFINANCEIRAS ADD CONSTRAINT PACONTASFINANCEIRAS_PK1 PRIMARY KEY (contaFinanceira);
CREATE INDEX PACONTASFINANCEIRAS_K2 ON PACONTASFINANCEIRAS (descricao);
ALTER TABLE PACONTASFINANCEIRAS ADD CONSTRAINT PACONTASFINANCEIRAS_FK1 FOREIGN KEY (indicadorConta) REFERENCES SIINDICADORCONTA (indicadorConta);
ALTER TABLE PACONTASFINANCEIRAS ADD CONSTRAINT PACONTASFINANCEIRAS_FK2 FOREIGN KEY (situacaoContabilizacao) REFERENCES SISITUACOESCONTABILIZACAO (situacaoContabilizacao);

INSERT INTO PACONTASFINANCEIRAS (contaFinanceira, descricao, ativo, indicadorConta, nivelConta, situacaoContabilizacao, observacoes) VALUES (' ', 'SELECIONE', 1, ' ', 0, ' ', ' ');
INSERT INTO PACONTASFINANCEIRAS (contaFinanceira, descricao, ativo, indicadorConta, nivelConta, situacaoContabilizacao, observacoes) SELECT contaFinanceira, descricao, ativo, indicadorConta, nivelConta, situacaoContabilizacao, observacoes FROM PACONTASFINANCEIRAS_2401 WHERE contaFinanceira <> ' ';

COMMIT;

ALTER TABLE PAESTABXCONCILIACAOCARTOES ADD CONSTRAINT PAESTABXCONCILIACAOCARTOES_FK3 FOREIGN KEY (contaFinancCancelamentos) REFERENCES PACONTASFINANCEIRAS (contaFinanceira);
ALTER TABLE PAESTABXCONCILIACAOCARTOES ADD CONSTRAINT PAESTABXCONCILIACAOCARTOES_FK4 FOREIGN KEY (contaFinancEstornos) REFERENCES PACONTASFINANCEIRAS (contaFinanceira);
ALTER TABLE PAESTABXCONCILIACAOCARTOES ADD CONSTRAINT PAESTABXCONCILIACAOCARTOES_FK5 FOREIGN KEY (contaFinancAjustesDeb) REFERENCES PACONTASFINANCEIRAS (contaFinanceira);
ALTER TABLE PAESTABXCONCILIACAOCARTOES ADD CONSTRAINT PAESTABXCONCILIACAOCARTOES_FK6 FOREIGN KEY (contaFinancAjustesCred) REFERENCES PACONTASFINANCEIRAS (contaFinanceira);
ALTER TABLE PAESTABXCONCILIACAOCARTOES ADD CONSTRAINT PAESTABXCONCILIACAOCARTOES_FK7 FOREIGN KEY (contaFinancAlugueis) REFERENCES PACONTASFINANCEIRAS (contaFinanceira);
ALTER TABLE PAESTABXCONCILIACAOCARTOES ADD CONSTRAINT PAESTABXCONCILIACAOCARTOES_FK8 FOREIGN KEY (contaFinancAntecipacoes) REFERENCES PACONTASFINANCEIRAS (contaFinanceira);
ALTER TABLE PACONDICOESPAGAMENTO ADD CONSTRAINT PACONDICOESPAGAMENTO_FK3 FOREIGN KEY (contaFinanceira) REFERENCES PACONTASFINANCEIRAS (contaFinanceira);
ALTER TABLE PAMODELOSFINANCEIRO ADD CONSTRAINT PAMODELOSFINANCEIRO_FK5 FOREIGN KEY (contaFinanceira) REFERENCES PACONTASFINANCEIRAS (contaFinanceira);
ALTER TABLE PAMODELOSFINANCEIRO ADD CONSTRAINT PAMODELOSFINANCEIRO_FK12 FOREIGN KEY (transfContaFinanceira) REFERENCES PACONTASFINANCEIRAS (contaFinanceira);
ALTER TABLE PAMODELOFINANCEIROXCONTAS ADD CONSTRAINT PAMODELOFINANCEIROXCONTAS_FK2 FOREIGN KEY (contaFinanceira) REFERENCES PACONTASFINANCEIRAS (contaFinanceira);
ALTER TABLE PADEMONSTRATIVOXCONTAFIN ADD CONSTRAINT PADEMONSTRATIVOXCONTAFIN_FK2 FOREIGN KEY (contaFinanceira) REFERENCES PACONTASFINANCEIRAS (contaFinanceira);
ALTER TABLE PALISTACOBRANCAXCONTASFIN ADD CONSTRAINT PALISTACOBRANCAXCONTASFIN_FK2 FOREIGN KEY (contaFinanceira) REFERENCES PACONTASFINANCEIRAS (contaFinanceira);
ALTER TABLE MOORCAMENTOS ADD CONSTRAINT MOORCAMENTOS_FK33 FOREIGN KEY (contaFinanceira) REFERENCES PACONTASFINANCEIRAS (contaFinanceira);
ALTER TABLE MOPREDOCUMENTOS ADD CONSTRAINT MOPREDOCUMENTOS_FK36 FOREIGN KEY (contaFinanceira) REFERENCES PACONTASFINANCEIRAS (contaFinanceira);
ALTER TABLE MODOCUMENTOSFISCAIS ADD CONSTRAINT MODOCUMENTOSFISCAIS_FK42 FOREIGN KEY (contaFinanceira) REFERENCES PACONTASFINANCEIRAS (contaFinanceira);
ALTER TABLE MOFINANCEIROS ADD CONSTRAINT MOFINANCEIROS_FK4 FOREIGN KEY (contaFinanceira) REFERENCES PACONTASFINANCEIRAS (contaFinanceira);
ALTER TABLE MOFINANCEIROXRATEIO ADD CONSTRAINT MOFINANCEIROXRATEIO_FK3 FOREIGN KEY (contaFinanceira) REFERENCES PACONTASFINANCEIRAS (contaFinanceira);
ALTER TABLE MOFINANCEIROXBAIXAS ADD CONSTRAINT MOFINANCEIROXBAIXAS_FK5 FOREIGN KEY (contaFinanceira) REFERENCES PACONTASFINANCEIRAS (contaFinanceira);
ALTER TABLE MOPREVISOESFINANCEIRAS ADD CONSTRAINT MOPREVISOESFINANCEIRAS_FK2 FOREIGN KEY (contaFinanceira) REFERENCES PACONTASFINANCEIRAS (contaFinanceira);

CREATE TABLE PACONTASBANCARIASCAIXAS_2401 AS SELECT * FROM PACONTASBANCARIASCAIXAS;

ALTER TABLE PACONTABANCARIAXESTABELEC DROP CONSTRAINT PACONTABANCARIAXESTABELEC_FK1;
ALTER TABLE PACARTFINANCXESTABELECIM DROP CONSTRAINT PACARTFINANCXESTABELECIM_FK3;
ALTER TABLE PACARTFINANCXPAGAMENTOS DROP CONSTRAINT PACARTFINANCXPAGAMENTOS_FK3;
ALTER TABLE PACARTFINANCXCONCCARTOES DROP CONSTRAINT PACARTFINANCXCONCCARTOES_FK2;

DROP TABLE PACONTASBANCARIASCAIXAS;

-- PACONTASBANCARIASCAIXAS
CREATE TABLE PACONTASBANCARIASCAIXAS
  (
    contaBancariaCaixa         NUMERIC (4,0) DEFAULT 0 NOT NULL,
    descricao                  VARCHAR (256) DEFAULT ' ' NOT NULL,
    ativo                      NUMERIC (1,0) DEFAULT 0 NOT NULL,
    tipoContaBancariaCaixa     NUMERIC (2,0) DEFAULT 0 NOT NULL,
    banco                      CHAR (3) DEFAULT '   ' NOT NULL,
    agenciaBanco               VARCHAR (6) DEFAULT ' ' NOT NULL,
    contaBanco                 VARCHAR (12) DEFAULT ' ' NOT NULL,
    codigoCedente              VARCHAR (25) DEFAULT ' ' NOT NULL,
    dataUltimaRemessa          DATE,
    sequencialUltimaRemessa    NUMERIC (14,0) DEFAULT 0 NOT NULL,
    filtrarEstabelecimentos    NUMERIC (1,0) DEFAULT 0 NOT NULL,
    observacoes                VARCHAR (4000) DEFAULT ' ' NOT NULL
  );
ALTER TABLE PACONTASBANCARIASCAIXAS ADD CONSTRAINT PACONTASBANCARIASCAIXAS_PK1 PRIMARY KEY (contaBancariaCaixa);
CREATE INDEX PACONTASBANCARIASCAIXAS_K2 ON PACONTASBANCARIASCAIXAS (descricao);
CREATE INDEX PACONTASBANCARIASCAIXAS_K3 ON PACONTASBANCARIASCAIXAS (banco, agenciaBanco, contaBanco);
ALTER TABLE PACONTASBANCARIASCAIXAS ADD CONSTRAINT PACONTASBANCARIASCAIXAS_FK1 FOREIGN KEY (tipoContaBancariaCaixa) REFERENCES SITIPOSCONTABANCARIACAIXA (tipoContaBancariaCaixa);
ALTER TABLE PACONTASBANCARIASCAIXAS ADD CONSTRAINT PACONTASBANCARIASCAIXAS_FK2 FOREIGN KEY (banco) REFERENCES SIBANCOS (banco);
 
INSERT INTO PACONTASBANCARIASCAIXAS (contaBancariaCaixa, descricao, ativo, tipoContaBancariaCaixa, banco, agenciaBanco, contaBanco, codigoCedente, dataUltimaRemessa, sequencialUltimaRemessa, filtrarEstabelecimentos, observacoes) VALUES (0, 'SELECIONE', 1, 0, '   ', ' ', ' ', ' ', NULL, 0, 0, ' ');
INSERT INTO PACONTASBANCARIASCAIXAS (contaBancariaCaixa, descricao, ativo, tipoContaBancariaCaixa, banco, agenciaBanco, contaBanco, codigoCedente, dataUltimaRemessa, sequencialUltimaRemessa, filtrarEstabelecimentos, observacoes) SELECT contaBancariaCaixa, descricao, ativo, tipoContaBancariaCaixa, banco, agenciaBanco, contaBanco, codigoCedente, dataUltimaRemessa, sequencialUltimaRemessa, filtrarEstabelecimentos, observacoes FROM PACONTASBANCARIASCAIXAS_2401 WHERE contaBancariaCaixa > 0;

COMMIT;

ALTER TABLE PACONTABANCARIAXESTABELEC ADD CONSTRAINT PACONTABANCARIAXESTABELEC_FK1 FOREIGN KEY (contaBancariaCaixa) REFERENCES PACONTASBANCARIASCAIXAS (contaBancariaCaixa);
ALTER TABLE PACARTFINANCXESTABELECIM ADD CONSTRAINT PACARTFINANCXESTABELECIM_FK3 FOREIGN KEY (contaBancariaCaixa) REFERENCES PACONTASBANCARIASCAIXAS (contaBancariaCaixa);
ALTER TABLE PACARTFINANCXPAGAMENTOS ADD CONSTRAINT PACARTFINANCXPAGAMENTOS_FK3 FOREIGN KEY (contaBancariaCaixa) REFERENCES PACONTASBANCARIASCAIXAS (contaBancariaCaixa);
ALTER TABLE PACARTFINANCXCONCCARTOES ADD CONSTRAINT PACARTFINANCXCONCCARTOES_FK2 FOREIGN KEY (contaBancariaCaixa) REFERENCES PACONTASBANCARIASCAIXAS (contaBancariaCaixa);

-- PAPLANOSCONTASCONTABEIS
CREATE TABLE PAPLANOSCONTASCONTABEIS
  (
    idPlanoContaContabil NUMERIC (14,0) DEFAULT 0 NOT NULL,
    descricao            VARCHAR (120) DEFAULT ' ' NOT NULL,
    ativo                NUMERIC (1,0) DEFAULT 0 NOT NULL,
    observacoes          VARCHAR (4000) DEFAULT ' ' NOT NULL
  );
ALTER TABLE PAPLANOSCONTASCONTABEIS ADD CONSTRAINT PAPLANOSCONTASCONTABEIS_PK1 PRIMARY KEY (idPlanoContaContabil);
CREATE INDEX PAPLANOSCONTASCONTABEIS_K2 ON PAPLANOSCONTASCONTABEIS (descricao);

INSERT INTO PAPLANOSCONTASCONTABEIS (idPlanoContaContabil, descricao, ativo, observacoes) VALUES (0, 'SELECIONE', 1, ' ');
INSERT INTO PAPLANOSCONTASCONTABEIS (idPlanoContaContabil, descricao, ativo, observacoes) VALUES (1, 'Plano de Contas Contábeis', 1, ' ');

COMMIT;

INSERT INTO SITABELASSISTEMA (tabelaSistema, descricao, ativo, ordenacao, tipoTabela, nomeCampoCodigo, tipoCampoCodigo, numeroDigitosCodigo, nomeCampoDescricao, adicionarCodigoNaDescricao, nomeCampoIdSeDiferenteCodigo, numeroDigitosCampoId, categoriaTabelaSistema, aplicacaoZoom, nomePublicoZoom, versaoTabela, versaoDados, observacoes) values ('PAPLANOSCONTASCONTABEIS', 'Planos Contas Contábeis', 1, 30029, 'PA', 'idPlanoContaContabil', 'N', 14, 'descricao', 1, ' ', 0, 100004, '%SYS_DIR%Versoes\%SYS_VER%\Framework.ecf', 'PesqPlanosContasContabeis', 1, 1, ' '); 

COMMIT;

INSERT INTO SIMENUS (menu, descricao, ativo, ordenacao, tipoMenu, categoriaMenu, menuPrincipal, aplicacao, nomePublico, categoriaConfiguracao, categoriaPersonalCampo, categoriaMemoriaSistema, permiteReport, observacoes) values (911, 'Planos Contas Contábeis', 1, 90001329, 'PA', 100004, 911, '%SYS_DIR%Versoes\%SYS_VER%\Framework.ecf', 'PesqPlanosContasContabeis', 0, 0, 0, 0, ' ');

COMMIT;

DROP TABLE MOSINCRONIZACAOXDESTINO;

CREATE TABLE PAESTABELECIMENTOS_2401 AS SELECT * FROM PAESTABELECIMENTOS;

ALTER TABLE PAESTABELECIMENTOXSPED DROP CONSTRAINT PAESTABELECIMENTOXSPED_FK1;
ALTER TABLE PAESTABELECIMENTOXNFSE DROP CONSTRAINT PAESTABELECIMENTOXNFSE_FK1;
ALTER TABLE CAPESSOASXESTABELECIMTOS DROP CONSTRAINT CAPESSOASXESTABELECIMTOS_FK2;
ALTER TABLE PAIMPRESSORAS DROP CONSTRAINT PAIMPRESSORAS_FK2;
ALTER TABLE PASERIESFISCAIS DROP CONSTRAINT PASERIESFISCAIS_FK1;
ALTER TABLE PASPCCONEXOES DROP CONSTRAINT PASPCCONEXOES_FK1;
ALTER TABLE PAWHATSAPPCONEXOES DROP CONSTRAINT PAWHATSAPPCONEXOES_FK1;
ALTER TABLE PAESTABELECIMENTOXCAIXAS DROP CONSTRAINT PAESTABELECIMENTOXCAIXAS_FK1;
ALTER TABLE PAESTABELECIMENTOXCATRACA DROP CONSTRAINT PAESTABELECIMENTOXCATRACA_FK1;
ALTER TABLE PAFILTROCABECXESTABELEC DROP CONSTRAINT PAFILTROCABECXESTABELEC_FK2;
ALTER TABLE PAREGRASFRETE DROP CONSTRAINT PAREGRASFRETE_FK1;
ALTER TABLE PACLASSIFICPRODXREGRAS DROP CONSTRAINT PACLASSIFICPRODXREGRAS_FK2;
ALTER TABLE CAPRODUTOS DROP CONSTRAINT CAPRODUTOS_FK26;
ALTER TABLE CAPRODUTOXESTABELECIMENTO DROP CONSTRAINT CAPRODUTOXESTABELECIMENTO_FK2;
ALTER TABLE PAENDERECOSESTOQUE DROP CONSTRAINT PAENDERECOSESTOQUE_FK1;
ALTER TABLE PAESTABELECIMENTOXLOCAISE DROP CONSTRAINT PAESTABELECIMENTOXLOCAISE_FK1;
ALTER TABLE PACONTABANCARIAXESTABELEC DROP CONSTRAINT PACONTABANCARIAXESTABELEC_FK2;
ALTER TABLE PACARTFINANCXESTABELECIM DROP CONSTRAINT PACARTFINANCXESTABELECIM_FK2;
ALTER TABLE PACARTFINANCXPAGAMENTOS DROP CONSTRAINT PACARTFINANCXPAGAMENTOS_FK2;
ALTER TABLE PAESTABXCONCILIACAOCARTOES DROP CONSTRAINT PAESTABXCONCILIACAOCARTOES_FK1;
ALTER TABLE PACONDPAGAMXBANDEIRASCART DROP CONSTRAINT PACONDPAGAMXBANDEIRASCART_FK3;
ALTER TABLE PAMETAS DROP CONSTRAINT PAMETAS_FK1;
ALTER TABLE PAMETAXESTABELECIMENTOS DROP CONSTRAINT PAMETAXESTABELECIMENTOS_FK2;
ALTER TABLE PAPESOMETAXESTABELEC DROP CONSTRAINT PAPESOMETAXESTABELEC_FK2;
ALTER TABLE PAMODELOSFINANCEIRO DROP CONSTRAINT PAMODELOSFINANCEIRO_FK1;
ALTER TABLE PAMODELOSFINANCEIRO DROP CONSTRAINT PAMODELOSFINANCEIRO_FK9;
ALTER TABLE PAREGRAFORMACAOPRECOXEST DROP CONSTRAINT PAREGRAFORMACAOPRECOXEST_FK2;
ALTER TABLE PAMODELOSDOCUMENTO DROP CONSTRAINT PAMODELOSDOCUMENTO_FK8;
ALTER TABLE PAMODELOSDOCUMENTO DROP CONSTRAINT PAMODELOSDOCUMENTO_FK21;
ALTER TABLE PAMVAS DROP CONSTRAINT PAMVAS_FK4;
ALTER TABLE PADESONERACOESFISCAIS DROP CONSTRAINT PADESONERACOESFISCAIS_FK4;
ALTER TABLE PACENARIOCALCPRECOXESTAB DROP CONSTRAINT PACENARIOCALCPRECOXESTAB_FK2;
ALTER TABLE PAREGRASDISTRIBXESTABELEC DROP CONSTRAINT PAREGRASDISTRIBXESTABELEC_FK2;
ALTER TABLE PAREGRAREMANEJOXESTABELEC DROP CONSTRAINT PAREGRAREMANEJOXESTABELEC_FK2;
ALTER TABLE PAPRIORIZACOESREMANEJO DROP CONSTRAINT PAPRIORIZACOESREMANEJO_FK1;
ALTER TABLE PAPRIORIZACOESREMANEJO DROP CONSTRAINT PAPRIORIZACOESREMANEJO_FK2;
ALTER TABLE PACONFIGURACAOXCONTEUDOS DROP CONSTRAINT PACONFIGURACAOXCONTEUDOS_FK2;
ALTER TABLE PAPERSCAMPOSXCONTEUDOS DROP CONSTRAINT PAPERSCAMPOSXCONTEUDOS_FK2;
ALTER TABLE PAMENUXPERMISSOES DROP CONSTRAINT PAMENUXPERMISSOES_FK4;
ALTER TABLE PAMENUXLAYOUTPESQUISA DROP CONSTRAINT PAMENUXLAYOUTPESQUISA_FK2;
ALTER TABLE PACARTEIRASFINPERMITIDAS DROP CONSTRAINT PACARTEIRASFINPERMITIDAS_FK2;
ALTER TABLE PAMODELOSFINANPERMITIDOS DROP CONSTRAINT PAMODELOSFINANPERMITIDOS_FK2;
ALTER TABLE PAMODELOSDOCUMPERMITIDOS DROP CONSTRAINT PAMODELOSDOCUMPERMITIDOS_FK2;
ALTER TABLE PALOCAISESTOQUEPERMITIDOS DROP CONSTRAINT PALOCAISESTOQUEPERMITIDOS_FK2;
ALTER TABLE PAVALIDACOESPESSOA DROP CONSTRAINT PAVALIDACOESPESSOA_FK2;
ALTER TABLE PACONTROLESENTREGA DROP CONSTRAINT PACONTROLESENTREGA_FK1;
ALTER TABLE PACONTROLESENTREGA DROP CONSTRAINT PACONTROLESENTREGA_FK4;
ALTER TABLE PACONTROLESENTREGA DROP CONSTRAINT PACONTROLESENTREGA_FK5;
ALTER TABLE PAREGRASENTREGA DROP CONSTRAINT PAREGRASENTREGA_FK1;
ALTER TABLE CAPRODUTOXCONTROLEENTREGA DROP CONSTRAINT CAPRODUTOXCONTROLEENTREGA_FK3;
ALTER TABLE PACONTROLESENTREGAPERMIT DROP CONSTRAINT PACONTROLESENTREGAPERMIT_FK2;
ALTER TABLE PALISTACOBRANCAXESTABELEC DROP CONSTRAINT PALISTACOBRANCAXESTABELEC_FK2;
ALTER TABLE PALISTACRMXESTABELEC DROP CONSTRAINT PALISTACRMXESTABELEC_FK2;
ALTER TABLE PAREGRASCREDITO DROP CONSTRAINT PAREGRASCREDITO_FK3;
ALTER TABLE PAMOTORCREDITO DROP CONSTRAINT PAMOTORCREDITO_FK1;
ALTER TABLE PAREGRASPONTUACAO DROP CONSTRAINT PAREGRASPONTUACAO_FK1;
ALTER TABLE PAGERADORESRELPERMITIDOS DROP CONSTRAINT PAGERADORESRELPERMITIDOS_FK3;
ALTER TABLE PAMOTIVOSBLOQPERMITIDOS DROP CONSTRAINT PAMOTIVOSBLOQPERMITIDOS_FK2;
ALTER TABLE PAETAPASORCAMENTODEPARA DROP CONSTRAINT PAETAPASORCAMENTODEPARA_FK1;
ALTER TABLE PAETAPASORCAMENTOPERMITID DROP CONSTRAINT PAETAPASORCAMENTOPERMITID_FK1;
ALTER TABLE PAEMAILS DROP CONSTRAINT PAEMAILS_FK2;
ALTER TABLE PAWEBSERVICESCONEXOES DROP CONSTRAINT PAWEBSERVICESCONEXOES_FK2;
ALTER TABLE PAIMAGENSSISTEMA DROP CONSTRAINT PAIMAGENSSISTEMA_FK2;
ALTER TABLE PAIMPRESSORAXDOCUMENTO DROP CONSTRAINT PAIMPRESSORAXDOCUMENTO_FK3;
ALTER TABLE PACAIXASUSUARIOS DROP CONSTRAINT PACAIXASUSUARIOS_FK1;
ALTER TABLE PAMEIOSPAGAMENTOAUTOEFET DROP CONSTRAINT PAMEIOSPAGAMENTOAUTOEFET_FK2;
ALTER TABLE PACONDICOESPAGAMENTOAUTO DROP CONSTRAINT PACONDICOESPAGAMENTOAUTO_FK2;
ALTER TABLE PAREGRASCAIXAS DROP CONSTRAINT PAREGRASCAIXAS_FK1;
ALTER TABLE PAREGRASMARGEMCONTRIBUIC DROP CONSTRAINT PAREGRASMARGEMCONTRIBUIC_FK1;
ALTER TABLE PACATEGORIASPRODUTOSVENDA DROP CONSTRAINT PACATEGORIASPRODUTOSVENDA_FK1;
ALTER TABLE PAREGRASFAIXASATRASO DROP CONSTRAINT PAREGRASFAIXASATRASO_FK1;
ALTER TABLE MOSESSOES DROP CONSTRAINT MOSESSOES_FK1;
ALTER TABLE MOINTEGRACOES DROP CONSTRAINT MOINTEGRACOES_FK1;
ALTER TABLE MOSINCRONIZACOES DROP CONSTRAINT MOSINCRONIZACOES_FK1;
ALTER TABLE MOSINCRONIZACAOXESTABELEC DROP CONSTRAINT MOSINCRONIZACAOXESTABELEC_FK2;
ALTER TABLE MOSINCRONIZACOESIMAGENS DROP CONSTRAINT MOSINCRONIZACOESIMAGENS_FK1;
ALTER TABLE MOSINCRONIMAGEMXESTABELEC DROP CONSTRAINT MOSINCRONIMAGEMXESTABELEC_FK2;
ALTER TABLE MOCONSULTASDADOSCPF DROP CONSTRAINT MOCONSULTASDADOSCPF_FK1;
ALTER TABLE MOSPCCONSULTAS DROP CONSTRAINT MOSPCCONSULTAS_FK2;
ALTER TABLE MOFATOSCONTABEIS DROP CONSTRAINT MOFATOSCONTABEIS_FK1;
ALTER TABLE MOCONTABEIS DROP CONSTRAINT MOCONTABEIS_FK2;
ALTER TABLE MOATENDIMENTOS DROP CONSTRAINT MOATENDIMENTOS_FK1;
ALTER TABLE MOORCAMENTOS DROP CONSTRAINT MOORCAMENTOS_FK8;
ALTER TABLE MOORCAMENTOS DROP CONSTRAINT MOORCAMENTOS_FK9;
ALTER TABLE MOORCAMENTOXITENS DROP CONSTRAINT MOORCAMENTOXITENS_FK8;
ALTER TABLE MOORCAMENTOXBLOQUEIOSEST DROP CONSTRAINT MOORCAMENTOXBLOQUEIOSEST_FK2;
ALTER TABLE MOPREDOCUMENTOS DROP CONSTRAINT MOPREDOCUMENTOS_FK10;
ALTER TABLE MOPREDOCUMENTOS DROP CONSTRAINT MOPREDOCUMENTOS_FK11;
ALTER TABLE MOPREDOCUMXITENS DROP CONSTRAINT MOPREDOCUMXITENS_FK3;
ALTER TABLE MOPREDOCUMXBLOQUEIOSEST DROP CONSTRAINT MOPREDOCUMXBLOQUEIOSEST_FK2;
ALTER TABLE MODOCUMENTOSFISCAIS DROP CONSTRAINT MODOCUMENTOSFISCAIS_FK10;
ALTER TABLE MODOCUMENTOSFISCAIS DROP CONSTRAINT MODOCUMENTOSFISCAIS_FK11;
ALTER TABLE MODOCFISCALXITENS DROP CONSTRAINT MODOCFISCALXITENS_FK3;
ALTER TABLE MODOCFISCALXBLOQUEIOSEST DROP CONSTRAINT MODOCFISCALXBLOQUEIOSEST_FK2;
ALTER TABLE MODISTRIBUICOESDFE DROP CONSTRAINT MODISTRIBUICOESDFE_FK1;
ALTER TABLE MOVALESDESCONTO DROP CONSTRAINT MOVALESDESCONTO_FK1;
ALTER TABLE MOFINANCEIROS DROP CONSTRAINT MOFINANCEIROS_FK3;
ALTER TABLE MOFINANCEIROXRATEIO DROP CONSTRAINT MOFINANCEIROXRATEIO_FK2;
ALTER TABLE MOFINANCEIROXBAIXAS DROP CONSTRAINT MOFINANCEIROXBAIXAS_FK4;
ALTER TABLE MONEGOCIACOESDIVIDAS DROP CONSTRAINT MONEGOCIACOESDIVIDAS_FK1;
ALTER TABLE MOREPARCELAMENTOS DROP CONSTRAINT MOREPARCELAMENTOS_FK1;
ALTER TABLE MOSPCREGISTROS DROP CONSTRAINT MOSPCREGISTROS_FK3;
ALTER TABLE MOHISTORICOCOBRANCA DROP CONSTRAINT MOHISTORICOCOBRANCA_FK1;
ALTER TABLE MOHISTORICOCRM DROP CONSTRAINT MOHISTORICOCRM_FK1;
ALTER TABLE MOARQUIVOSCOBRANCA DROP CONSTRAINT MOARQUIVOSCOBRANCA_FK1;
ALTER TABLE MOPONTUACOES DROP CONSTRAINT MOPONTUACOES_FK1;
ALTER TABLE MOCONCILIACOESCARTOES DROP CONSTRAINT MOCONCILIACOESCARTOES_FK2;
ALTER TABLE MOPREVISOESFINANCEIRAS DROP CONSTRAINT MOPREVISOESFINANCEIRAS_FK1;
ALTER TABLE MOTRANSACOESTEF DROP CONSTRAINT MOTRANSACOESTEF_FK1;
ALTER TABLE MOSEPARACOES DROP CONSTRAINT MOSEPARACOES_FK3;
ALTER TABLE MOSEPARACAOXBLOQUEIOSEST DROP CONSTRAINT MOSEPARACAOXBLOQUEIOSEST_FK2;
ALTER TABLE MOINVENTARIOSESTOQUE DROP CONSTRAINT MOINVENTARIOSESTOQUE_FK1;
ALTER TABLE MOESTOQUES DROP CONSTRAINT MOESTOQUES_FK1;
ALTER TABLE MODOCUMENTOSTROCA DROP CONSTRAINT MODOCUMENTOSTROCA_FK1;
ALTER TABLE MOBALANCOS DROP CONSTRAINT MOBALANCOS_FK2;
ALTER TABLE MODOCUMENTOSTRANSFERENCIA DROP CONSTRAINT MODOCUMENTOSTRANSFERENCIA_FK2;
ALTER TABLE MODOCUMENTOSTRANSFERENCIA DROP CONSTRAINT MODOCUMENTOSTRANSFERENCIA_FK3;
ALTER TABLE MODOCTRANSFXBLOQUEIOSEST DROP CONSTRAINT MODOCTRANSFXBLOQUEIOSEST_FK2;
ALTER TABLE MOCONSERTOS DROP CONSTRAINT MOCONSERTOS_FK1;
ALTER TABLE MORESERVASESTOQUE DROP CONSTRAINT MORESERVASESTOQUE_FK1;
ALTER TABLE MOENTREGAS DROP CONSTRAINT MOENTREGAS_FK2;
ALTER TABLE MOPAINEISCOMPRA DROP CONSTRAINT MOPAINEISCOMPRA_FK2;
ALTER TABLE MOPAINELCOMPRAXITENS DROP CONSTRAINT MOPAINELCOMPRAXITENS_FK2;
ALTER TABLE MOMOTIVOSBLOQUEIOS DROP CONSTRAINT MOMOTIVOSBLOQUEIOS_FK2;
ALTER TABLE MORESUMOAPURACAOICMS DROP CONSTRAINT MORESUMOAPURACAOICMS_FK1;
ALTER TABLE MOAVALIACOESSATISFACAO DROP CONSTRAINT MOAVALIACOESSATISFACAO_FK1;

DROP TABLE PAESTABELECIMENTOS;

-- PAESTABELECIMENTOS
CREATE TABLE PAESTABELECIMENTOS
  (
    estabelecimento                NUMERIC (4,0) DEFAULT 0 NOT NULL,
    descricao                      VARCHAR (120) DEFAULT ' ' NOT NULL,
    ativo                          NUMERIC (1,0) DEFAULT 0 NOT NULL,
    pessoaEstabelecimento          NUMERIC (14,0) DEFAULT 0 NOT NULL,
    grupoFiscal                    NUMERIC (4,0) DEFAULT 0 NOT NULL,
    numeroSerieCertificadoDigital  VARCHAR (50) DEFAULT ' ' NOT NULL,
    codigoIdToken                  NUMERIC (6,0) DEFAULT 0 NOT NULL,
    codigoSegurancaContribuinte    VARCHAR (36) DEFAULT ' ' NOT NULL,
    indicadorAmbienteNfe           CHAR (1) DEFAULT ' ' NOT NULL,
    versaoNfe                      VARCHAR (6) DEFAULT ' ' NOT NULL,
    idPlanoContaContabil           NUMERIC (14,0) DEFAULT 0 NOT NULL,
    contador                       NUMERIC (14,0) DEFAULT 0 NOT NULL,
    observacoes                    VARCHAR (4000) DEFAULT ' ' NOT NULL
  );
ALTER TABLE PAESTABELECIMENTOS ADD CONSTRAINT PAESTABELECIMENTOS_PK1 PRIMARY KEY (estabelecimento);
CREATE INDEX PAESTABELECIMENTOS_K2 ON PAESTABELECIMENTOS (descricao);
CREATE INDEX PAESTABELECIMENTOS_K3 ON PAESTABELECIMENTOS (pessoaEstabelecimento);
ALTER TABLE PAESTABELECIMENTOS ADD CONSTRAINT PAESTABELECIMENTOS_FK1 FOREIGN KEY (pessoaEstabelecimento) REFERENCES CAPESSOAESTABELECIMENTOS (pessoaEstabelecimento);
ALTER TABLE PAESTABELECIMENTOS ADD CONSTRAINT PAESTABELECIMENTOS_FK2 FOREIGN KEY (grupoFiscal) REFERENCES PAGRUPOSFISCAIS (grupoFiscal);
ALTER TABLE PAESTABELECIMENTOS ADD CONSTRAINT PAESTABELECIMENTOS_FK3 FOREIGN KEY (indicadorAmbienteNfe) REFERENCES SIINDICAMBIENTENFE (indicadorAmbienteNfe);
ALTER TABLE PAESTABELECIMENTOS ADD CONSTRAINT PAESTABELECIMENTOS_FK4 FOREIGN KEY (versaoNfe) REFERENCES SIVERSOESNFE (versaoNfe);
ALTER TABLE PAESTABELECIMENTOS ADD CONSTRAINT PAESTABELECIMENTOS_FK5 FOREIGN KEY (idPlanoContaContabil) REFERENCES PAPLANOSCONTASCONTABEIS (idPlanoContaContabil);
ALTER TABLE PAESTABELECIMENTOS ADD CONSTRAINT PAESTABELECIMENTOS_FK6 FOREIGN KEY (contador) REFERENCES CAPROFISSIONAISREGISTRAD (profissionalRegistrado);

INSERT INTO PAESTABELECIMENTOS (estabelecimento, descricao, ativo, pessoaEstabelecimento, grupoFiscal, numeroSerieCertificadoDigital, codigoIdToken, codigoSegurancaContribuinte, indicadorAmbienteNfe, versaoNfe, idPlanoContaContabil, contador, observacoes) VALUES (0, 'SELECIONE', 1, 0, 0, ' ', 0, ' ', ' ', ' ', 0, 0, ' ');
INSERT INTO PAESTABELECIMENTOS (estabelecimento, descricao, ativo, pessoaEstabelecimento, grupoFiscal, numeroSerieCertificadoDigital, codigoIdToken, codigoSegurancaContribuinte, indicadorAmbienteNfe, versaoNfe, idPlanoContaContabil, contador, observacoes) SELECT estabelecimento, descricao, ativo, pessoaEstabelecimento, grupoFiscal, numeroSerieCertificadoDigital, codigoIdToken, codigoSegurancaContribuinte, indicadorAmbienteNfe, versaoNfe, 1, contador, observacoes FROM PAESTABELECIMENTOS_2401 WHERE estabelecimento > 0;

COMMIT;

ALTER TABLE PAESTABELECIMENTOXSPED ADD CONSTRAINT PAESTABELECIMENTOXSPED_FK1 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PAESTABELECIMENTOXNFSE ADD CONSTRAINT PAESTABELECIMENTOXNFSE_FK1 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE CAPESSOASXESTABELECIMTOS ADD CONSTRAINT CAPESSOASXESTABELECIMTOS_FK2 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PAIMPRESSORAS ADD CONSTRAINT PAIMPRESSORAS_FK2 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PASERIESFISCAIS ADD CONSTRAINT PASERIESFISCAIS_FK1 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PASPCCONEXOES ADD CONSTRAINT PASPCCONEXOES_FK1 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PAWHATSAPPCONEXOES ADD CONSTRAINT PAWHATSAPPCONEXOES_FK1 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PAESTABELECIMENTOXCAIXAS ADD CONSTRAINT PAESTABELECIMENTOXCAIXAS_FK1 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PAESTABELECIMENTOXCATRACA ADD CONSTRAINT PAESTABELECIMENTOXCATRACA_FK1 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PAFILTROCABECXESTABELEC ADD CONSTRAINT PAFILTROCABECXESTABELEC_FK2 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PAREGRASFRETE ADD CONSTRAINT PAREGRASFRETE_FK1 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PACLASSIFICPRODXREGRAS ADD CONSTRAINT PACLASSIFICPRODXREGRAS_FK2 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE CAPRODUTOS ADD CONSTRAINT CAPRODUTOS_FK26 FOREIGN KEY (estabelecimentoFaturamento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE CAPRODUTOXESTABELECIMENTO ADD CONSTRAINT CAPRODUTOXESTABELECIMENTO_FK2 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PAENDERECOSESTOQUE ADD CONSTRAINT PAENDERECOSESTOQUE_FK1 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PAESTABELECIMENTOXLOCAISE ADD CONSTRAINT PAESTABELECIMENTOXLOCAISE_FK1 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PACONTABANCARIAXESTABELEC ADD CONSTRAINT PACONTABANCARIAXESTABELEC_FK2 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PACARTFINANCXESTABELECIM ADD CONSTRAINT PACARTFINANCXESTABELECIM_FK2 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PACARTFINANCXPAGAMENTOS ADD CONSTRAINT PACARTFINANCXPAGAMENTOS_FK2 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PAESTABXCONCILIACAOCARTOES ADD CONSTRAINT PAESTABXCONCILIACAOCARTOES_FK1 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PACONDPAGAMXBANDEIRASCART ADD CONSTRAINT PACONDPAGAMXBANDEIRASCART_FK3 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PAMETAS ADD CONSTRAINT PAMETAS_FK1 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PAMETAXESTABELECIMENTOS ADD CONSTRAINT PAMETAXESTABELECIMENTOS_FK2 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PAPESOMETAXESTABELEC ADD CONSTRAINT PAPESOMETAXESTABELEC_FK2 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PAMODELOSFINANCEIRO ADD CONSTRAINT PAMODELOSFINANCEIRO_FK1 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PAMODELOSFINANCEIRO ADD CONSTRAINT PAMODELOSFINANCEIRO_FK9 FOREIGN KEY (transfEstabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PAREGRAFORMACAOPRECOXEST ADD CONSTRAINT PAREGRAFORMACAOPRECOXEST_FK2 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PAMODELOSDOCUMENTO ADD CONSTRAINT PAMODELOSDOCUMENTO_FK8 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PAMODELOSDOCUMENTO ADD CONSTRAINT PAMODELOSDOCUMENTO_FK21 FOREIGN KEY (transfEstabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PAMVAS ADD CONSTRAINT PAMVAS_FK4 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PADESONERACOESFISCAIS ADD CONSTRAINT PADESONERACOESFISCAIS_FK4 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PACENARIOCALCPRECOXESTAB ADD CONSTRAINT PACENARIOCALCPRECOXESTAB_FK2 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PAREGRASDISTRIBXESTABELEC ADD CONSTRAINT PAREGRASDISTRIBXESTABELEC_FK2 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PAREGRAREMANEJOXESTABELEC ADD CONSTRAINT PAREGRAREMANEJOXESTABELEC_FK2 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PAPRIORIZACOESREMANEJO ADD CONSTRAINT PAPRIORIZACOESREMANEJO_FK1 FOREIGN KEY (estabelecimentoOrigem) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PAPRIORIZACOESREMANEJO ADD CONSTRAINT PAPRIORIZACOESREMANEJO_FK2 FOREIGN KEY (estabelecimentoDestino) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PACONFIGURACAOXCONTEUDOS ADD CONSTRAINT PACONFIGURACAOXCONTEUDOS_FK2 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PAPERSCAMPOSXCONTEUDOS ADD CONSTRAINT PAPERSCAMPOSXCONTEUDOS_FK2 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PAMENUXPERMISSOES ADD CONSTRAINT PAMENUXPERMISSOES_FK4 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PAMENUXLAYOUTPESQUISA ADD CONSTRAINT PAMENUXLAYOUTPESQUISA_FK2 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PACARTEIRASFINPERMITIDAS ADD CONSTRAINT PACARTEIRASFINPERMITIDAS_FK2 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PAMODELOSFINANPERMITIDOS ADD CONSTRAINT PAMODELOSFINANPERMITIDOS_FK2 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PAMODELOSDOCUMPERMITIDOS ADD CONSTRAINT PAMODELOSDOCUMPERMITIDOS_FK2 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PALOCAISESTOQUEPERMITIDOS ADD CONSTRAINT PALOCAISESTOQUEPERMITIDOS_FK2 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PAVALIDACOESPESSOA ADD CONSTRAINT PAVALIDACOESPESSOA_FK2 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PACONTROLESENTREGA ADD CONSTRAINT PACONTROLESENTREGA_FK1 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PACONTROLESENTREGA ADD CONSTRAINT PACONTROLESENTREGA_FK4 FOREIGN KEY (estabelecimentoSaida) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PACONTROLESENTREGA ADD CONSTRAINT PACONTROLESENTREGA_FK5 FOREIGN KEY (estabelecimentoRemessa) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PAREGRASENTREGA ADD CONSTRAINT PAREGRASENTREGA_FK1 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE CAPRODUTOXCONTROLEENTREGA ADD CONSTRAINT CAPRODUTOXCONTROLEENTREGA_FK3 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PACONTROLESENTREGAPERMIT ADD CONSTRAINT PACONTROLESENTREGAPERMIT_FK2 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PALISTACOBRANCAXESTABELEC ADD CONSTRAINT PALISTACOBRANCAXESTABELEC_FK2 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PALISTACRMXESTABELEC ADD CONSTRAINT PALISTACRMXESTABELEC_FK2 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PAREGRASCREDITO ADD CONSTRAINT PAREGRASCREDITO_FK3 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PAMOTORCREDITO ADD CONSTRAINT PAMOTORCREDITO_FK1 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PAREGRASPONTUACAO ADD CONSTRAINT PAREGRASPONTUACAO_FK1 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PAGERADORESRELPERMITIDOS ADD CONSTRAINT PAGERADORESRELPERMITIDOS_FK3 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PAMOTIVOSBLOQPERMITIDOS ADD CONSTRAINT PAMOTIVOSBLOQPERMITIDOS_FK2 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PAETAPASORCAMENTODEPARA ADD CONSTRAINT PAETAPASORCAMENTODEPARA_FK1 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PAETAPASORCAMENTOPERMITID ADD CONSTRAINT PAETAPASORCAMENTOPERMITID_FK1 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PAEMAILS ADD CONSTRAINT PAEMAILS_FK2 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PAWEBSERVICESCONEXOES ADD CONSTRAINT PAWEBSERVICESCONEXOES_FK2 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PAIMAGENSSISTEMA ADD CONSTRAINT PAIMAGENSSISTEMA_FK2 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PAIMPRESSORAXDOCUMENTO ADD CONSTRAINT PAIMPRESSORAXDOCUMENTO_FK3 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PACAIXASUSUARIOS ADD CONSTRAINT PACAIXASUSUARIOS_FK1 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PAMEIOSPAGAMENTOAUTOEFET ADD CONSTRAINT PAMEIOSPAGAMENTOAUTOEFET_FK2 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PACONDICOESPAGAMENTOAUTO ADD CONSTRAINT PACONDICOESPAGAMENTOAUTO_FK2 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PAREGRASCAIXAS ADD CONSTRAINT PAREGRASCAIXAS_FK1 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PAREGRASMARGEMCONTRIBUIC ADD CONSTRAINT PAREGRASMARGEMCONTRIBUIC_FK1 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PACATEGORIASPRODUTOSVENDA ADD CONSTRAINT PACATEGORIASPRODUTOSVENDA_FK1 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PAREGRASFAIXASATRASO ADD CONSTRAINT PAREGRASFAIXASATRASO_FK1 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE MOSESSOES ADD CONSTRAINT MOSESSOES_FK1 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE MOINTEGRACOES ADD CONSTRAINT MOINTEGRACOES_FK1 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE MOSINCRONIZACOES ADD CONSTRAINT MOSINCRONIZACOES_FK1 FOREIGN KEY (estabelecimentoOrigem) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE MOSINCRONIZACAOXESTABELEC ADD CONSTRAINT MOSINCRONIZACAOXESTABELEC_FK2 FOREIGN KEY (estabelecimentoDestino) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE MOSINCRONIZACOESIMAGENS ADD CONSTRAINT MOSINCRONIZACOESIMAGENS_FK1 FOREIGN KEY (estabelecimentoOrigem) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE MOSINCRONIMAGEMXESTABELEC ADD CONSTRAINT MOSINCRONIMAGEMXESTABELEC_FK2 FOREIGN KEY (estabelecimentoDestino) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE MOCONSULTASDADOSCPF ADD CONSTRAINT MOCONSULTASDADOSCPF_FK1 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE MOSPCCONSULTAS ADD CONSTRAINT MOSPCCONSULTAS_FK2 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE MOFATOSCONTABEIS ADD CONSTRAINT MOFATOSCONTABEIS_FK1 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE MOCONTABEIS ADD CONSTRAINT MOCONTABEIS_FK2 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE MOATENDIMENTOS ADD CONSTRAINT MOATENDIMENTOS_FK1 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE MOORCAMENTOS ADD CONSTRAINT MOORCAMENTOS_FK8 FOREIGN KEY (estabelecimentoOriginal) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE MOORCAMENTOS ADD CONSTRAINT MOORCAMENTOS_FK9 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE MOORCAMENTOXITENS ADD CONSTRAINT MOORCAMENTOXITENS_FK8 FOREIGN KEY (estabelecimentoOriginal) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE MOORCAMENTOXBLOQUEIOSEST ADD CONSTRAINT MOORCAMENTOXBLOQUEIOSEST_FK2 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE MOPREDOCUMENTOS ADD CONSTRAINT MOPREDOCUMENTOS_FK10 FOREIGN KEY (estabelecimentoOriginal) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE MOPREDOCUMENTOS ADD CONSTRAINT MOPREDOCUMENTOS_FK11 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE MOPREDOCUMXITENS ADD CONSTRAINT MOPREDOCUMXITENS_FK3 FOREIGN KEY (estabelecimentoOriginal) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE MOPREDOCUMXBLOQUEIOSEST ADD CONSTRAINT MOPREDOCUMXBLOQUEIOSEST_FK2 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE MODOCUMENTOSFISCAIS ADD CONSTRAINT MODOCUMENTOSFISCAIS_FK10 FOREIGN KEY (estabelecimentoOriginal) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE MODOCUMENTOSFISCAIS ADD CONSTRAINT MODOCUMENTOSFISCAIS_FK11 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE MODOCFISCALXITENS ADD CONSTRAINT MODOCFISCALXITENS_FK3 FOREIGN KEY (estabelecimentoOriginal) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE MODOCFISCALXBLOQUEIOSEST ADD CONSTRAINT MODOCFISCALXBLOQUEIOSEST_FK2 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE MODISTRIBUICOESDFE ADD CONSTRAINT MODISTRIBUICOESDFE_FK1 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE MOVALESDESCONTO ADD CONSTRAINT MOVALESDESCONTO_FK1 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE MOFINANCEIROS ADD CONSTRAINT MOFINANCEIROS_FK3 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE MOFINANCEIROXRATEIO ADD CONSTRAINT MOFINANCEIROXRATEIO_FK2 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE MOFINANCEIROXBAIXAS ADD CONSTRAINT MOFINANCEIROXBAIXAS_FK4 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE MONEGOCIACOESDIVIDAS ADD CONSTRAINT MONEGOCIACOESDIVIDAS_FK1 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE MOREPARCELAMENTOS ADD CONSTRAINT MOREPARCELAMENTOS_FK1 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE MOSPCREGISTROS ADD CONSTRAINT MOSPCREGISTROS_FK3 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE MOHISTORICOCOBRANCA ADD CONSTRAINT MOHISTORICOCOBRANCA_FK1 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE MOHISTORICOCRM ADD CONSTRAINT MOHISTORICOCRM_FK1 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE MOARQUIVOSCOBRANCA ADD CONSTRAINT MOARQUIVOSCOBRANCA_FK1 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE MOPONTUACOES ADD CONSTRAINT MOPONTUACOES_FK1 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE MOCONCILIACOESCARTOES ADD CONSTRAINT MOCONCILIACOESCARTOES_FK2 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE MOPREVISOESFINANCEIRAS ADD CONSTRAINT MOPREVISOESFINANCEIRAS_FK1 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE MOTRANSACOESTEF ADD CONSTRAINT MOTRANSACOESTEF_FK1 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE MOSEPARACOES ADD CONSTRAINT MOSEPARACOES_FK3 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE MOSEPARACAOXBLOQUEIOSEST ADD CONSTRAINT MOSEPARACAOXBLOQUEIOSEST_FK2 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE MOINVENTARIOSESTOQUE ADD CONSTRAINT MOINVENTARIOSESTOQUE_FK1 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE MOESTOQUES ADD CONSTRAINT MOESTOQUES_FK1 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE MODOCUMENTOSTROCA ADD CONSTRAINT MODOCUMENTOSTROCA_FK1 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE MOBALANCOS ADD CONSTRAINT MOBALANCOS_FK2 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE MODOCUMENTOSTRANSFERENCIA ADD CONSTRAINT MODOCUMENTOSTRANSFERENCIA_FK2 FOREIGN KEY (estabelecimentoSaida) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE MODOCUMENTOSTRANSFERENCIA ADD CONSTRAINT MODOCUMENTOSTRANSFERENCIA_FK3 FOREIGN KEY (estabelecimentoEntrada) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE MODOCTRANSFXBLOQUEIOSEST ADD CONSTRAINT MODOCTRANSFXBLOQUEIOSEST_FK2 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE MOCONSERTOS ADD CONSTRAINT MOCONSERTOS_FK1 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE MORESERVASESTOQUE ADD CONSTRAINT MORESERVASESTOQUE_FK1 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE MOENTREGAS ADD CONSTRAINT MOENTREGAS_FK2 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE MOPAINEISCOMPRA ADD CONSTRAINT MOPAINEISCOMPRA_FK2 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE MOPAINELCOMPRAXITENS ADD CONSTRAINT MOPAINELCOMPRAXITENS_FK2 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE MOMOTIVOSBLOQUEIOS ADD CONSTRAINT MOMOTIVOSBLOQUEIOS_FK2 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE MORESUMOAPURACAOICMS ADD CONSTRAINT MORESUMOAPURACAOICMS_FK1 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE MOAVALIACOESSATISFACAO ADD CONSTRAINT MOAVALIACOESSATISFACAO_FK1 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);

DROP TABLE CAPRODUTOS_2303;
DROP TABLE CAPRODUTOXMARGEMMARKUP_2303;
DROP TABLE MOCONSERTOS_2205;
DROP TABLE MODOCFISCALXITENS_2204;
DROP TABLE MODOCFISCALXITENS_2302;
DROP TABLE MODOCFISCALXITENS_2303;
DROP TABLE MODOCFISCALXITENS_2303B;
DROP TABLE MODOCFISCALXORCAMENTOITEM_2204;
DROP TABLE MODOCFISCALXPEDIDOCOMPRA_2303;
DROP TABLE MODOCFISCALXPROMOCOES_0402;
DROP TABLE MODOCUMENTOSTRANSFERENCIA_2302;
DROP TABLE MOENTREGAS_2303;
DROP TABLE MOFINANCEIROXBOLETO_2302;
DROP TABLE MOINVENTARIOESTOQUEXITENS_2302;
DROP TABLE MONEGOCIACOESDIVIDAS_2204;
DROP TABLE MOORCAMENTOXAMBIENTES_2303;
DROP TABLE MOORCAMENTOXITENS_2204;
DROP TABLE MOORCAMENTOXITENS_2303;
DROP TABLE MOORCAMENTOXITENS_2303B;
DROP TABLE MOORCAMENTOXPEDIDOCOMPRA_2303;
DROP TABLE MOORCAMENTOXPROMOCOES_0402;
DROP TABLE MOPREDOCUMXITENS_2204;
DROP TABLE MOPREDOCUMXITENS_2303;
DROP TABLE MOPREDOCUMXITENS_2303B;
DROP TABLE MOPREDOCUMXORCAMENTOITEM_2204;
DROP TABLE MOPREDOCUMXPEDIDOCOMPRA_2303;
DROP TABLE MOPREDOCUMXPROMOCOES_0402;
DROP TABLE PACARTFINANCXESTABELECIM_2301;
DROP TABLE PACARTFINANCXESTABELECIM_2302;
DROP TABLE PACENARIOCALCPRECOTABELAS_2302;
DROP TABLE PACENARIOSCALCULOPRECO_2302;
DROP TABLE PACONDICOESPAGAMENTO_2204;
DROP TABLE PAENDERECOSESTOQUE_2303;
DROP TABLE PAESTABELECIMENTOS_2401;
DROP TABLE PAESTABELECIMENTOXCAIXAS_2303;
DROP TABLE PAFILTROSCABECALHO_2205;
DROP TABLE PAMETAXCONTEUDOS_2302;
DROP TABLE PAMETAXEXCECOES_2302;
DROP TABLE PAMODELOSDOCUMENTO_2302;
DROP TABLE PAOPERACOESFISCAIS_2303;
DROP TABLE PAOPERFISCALXLISTASSERV_2303;
DROP TABLE PAOPERFISCALXNCMS_2303;
DROP TABLE PAREGRASDISTRIBXESTABELEC_2303;
DROP TABLE PAREGRASPONTUACAO_2205;
DROP TABLE PAREGRASPROMOCOES_2302;
DROP TABLE PAWHATSAPPCONEXOES_23_02;

DROP TABLE PACONTASCONTABEISPAIFILHO;
DELETE SITABELASSISTEMA WHERE tabelaSistema = 'PACONTASCONTABEISPAIFILHO'; 

DROP TABLE MODOCFISCALXCENTROSCUSTOS;
DROP TABLE MOPREDOCUMXCENTROSCUSTOS;
DROP TABLE MOORCAMENTOXCENTROSCUSTOS;
DROP TABLE MOCONTABILXCENTROSCUSTOS;
DROP TABLE MOCONTABEIS;
DROP TABLE PACONTACONTXCENTROSCUSTOS;
DROP TABLE PACENTROSCUSTOS;
DROP TABLE PACONTASCONTABEIS;

DROP TABLE SINATUREZASCONTACONTABIL;
DELETE SITABELASSISTEMA WHERE tabelaSistema = 'SINATUREZASCONTACONTABIL'; 

DELETE MONOTIFICACOES WHERE menu = 9;
DELETE MOACESSOSMENU WHERE menu = 9;
DELETE PAMENUXLAYOUTPESQUISA WHERE menu = 9;
DELETE PAMENUXPERMISSOES WHERE menu = 9;
DELETE PAGERADORRELFILTROS WHERE menuPesquisa = 9;
DELETE PAGERADORRELCAMPOSVISAO WHERE menuPesquisa = 9;
DELETE SIDOCVERSOESSISTEMA WHERE menu = 9;
DELETE SIMENUS WHERE menu = 9;

COMMIT;

-- PACONTASCONTABEIS
CREATE TABLE PACONTASCONTABEIS
  (
    idContaContabil      NUMERIC (14,0) DEFAULT 0 NOT NULL,
    idPlanoContaContabil NUMERIC (14,0) DEFAULT 0 NOT NULL,
    reduzido             NUMERIC (6,0) DEFAULT 0 NOT NULL,
    contaEstruturada     VARCHAR (60) DEFAULT ' ' NOT NULL,
    descricao            VARCHAR (256) DEFAULT ' ' NOT NULL,
    ativo                NUMERIC (1,0) DEFAULT 0 NOT NULL,
    indicadorConta       CHAR (1) DEFAULT ' ' NOT NULL,
    nivelConta           NUMERIC (2,0) DEFAULT 0 NOT NULL,
    solicitaCentroCusto  NUMERIC (1,0) DEFAULT 0 NOT NULL,
    observacoes          VARCHAR (4000) DEFAULT ' ' NOT NULL
  );
ALTER TABLE PACONTASCONTABEIS ADD CONSTRAINT PACONTASCONTABEIS_PK1 PRIMARY KEY (idContaContabil);
CREATE UNIQUE INDEX PACONTASCONTABEIS_K2 ON PACONTASCONTABEIS (idPlanoContaContabil, contaEstruturada);
CREATE INDEX PACONTASCONTABEIS_K3 ON PACONTASCONTABEIS (descricao);
ALTER TABLE PACONTASCONTABEIS ADD CONSTRAINT PACONTASCONTABEIS_FK1 FOREIGN KEY (idPlanoContaContabil) REFERENCES PAPLANOSCONTASCONTABEIS (idPlanoContaContabil);
ALTER TABLE PACONTASCONTABEIS ADD CONSTRAINT PACONTASCONTABEIS_FK2 FOREIGN KEY (indicadorConta) REFERENCES SIINDICADORCONTA (indicadorConta);

INSERT INTO PACONTASCONTABEIS (idContaContabil, idPlanoContaContabil, reduzido, contaEstruturada, descricao, ativo, indicadorConta, nivelConta, solicitaCentroCusto, observacoes) VALUES (0, 0, 0, ' ', 'SELECIONE', 1, ' ', 0, 0, ' ');

COMMIT;

UPDATE SITABELASSISTEMA SET nomeCampoCodigo = 'idContaContabil', tipoCampoCodigo = 'N', numeroDigitosCodigo = 14 WHERE tabelaSistema = 'PACONTASCONTABEIS'; 

COMMIT;

-- PACENTROSCUSTOS
CREATE TABLE PACENTROSCUSTOS
  (
    idCentroCusto NUMERIC (14,0) DEFAULT 0 NOT NULL,
    centroCusto   VARCHAR (60) DEFAULT ' ' NOT NULL,
    descricao     VARCHAR (256) DEFAULT ' ' NOT NULL,
    ativo         NUMERIC (1,0) DEFAULT 0 NOT NULL,
    observacoes   VARCHAR (4000) DEFAULT ' ' NOT NULL
  );
ALTER TABLE PACENTROSCUSTOS ADD CONSTRAINT PACENTROSCUSTOS_PK1 PRIMARY KEY (idCentroCusto);
CREATE INDEX PACENTROSCUSTOS_K2 ON PACENTROSCUSTOS (descricao);

INSERT INTO PACENTROSCUSTOS (idCentroCusto, centroCusto, descricao, ativo, observacoes) VALUES (0, ' ', 'SELECIONE', 1, ' ');

COMMIT;

UPDATE SITABELASSISTEMA SET nomeCampoCodigo = 'idCentroCusto', tipoCampoCodigo = 'N', numeroDigitosCodigo = 14 WHERE tabelaSistema = 'PACENTROSCUSTOS'; 

COMMIT;

-- PACONTACONTXCENTROSCUSTOS
CREATE TABLE PACONTACONTXCENTROSCUSTOS
  (
    id               NUMERIC (14,0) DEFAULT 0 NOT NULL,
    idContaContabil  NUMERIC (14,0) DEFAULT 0 NOT NULL,
    idCentroCusto    NUMERIC (14,0) DEFAULT 0 NOT NULL,
    ativo            NUMERIC (1,0) DEFAULT 0 NOT NULL,
    percentualRateio NUMERIC (15,8) DEFAULT 0 NOT NULL
  );
ALTER TABLE PACONTACONTXCENTROSCUSTOS ADD CONSTRAINT PACONTACONTXCENTROSCUSTOS_PK1 PRIMARY KEY (id);
CREATE UNIQUE INDEX PACONTACONTXCENTROSCUSTOS_K2 ON PACONTACONTXCENTROSCUSTOS (idContaContabil, idCentroCusto);
ALTER TABLE PACONTACONTXCENTROSCUSTOS ADD CONSTRAINT PACONTACONTXCENTROSCUSTOS_FK1 FOREIGN KEY (idContaContabil) REFERENCES PACONTASCONTABEIS (idContaContabil);
ALTER TABLE PACONTACONTXCENTROSCUSTOS ADD CONSTRAINT PACONTACONTXCENTROSCUSTOS_FK2 FOREIGN KEY (idCentroCusto) REFERENCES PACENTROSCUSTOS (idCentroCusto);

INSERT INTO PACONTACONTXCENTROSCUSTOS (id, idContaContabil, idCentroCusto, ativo, percentualRateio) VALUES (0, 0, 0, 1, 0);

COMMIT;

UPDATE SITABELASSISTEMA SET nomeCampoCodigo = 'id' WHERE tabelaSistema = 'PACONTACONTXCENTROSCUSTOS'; 

COMMIT;

-- SIORIGENSCONTABEIS
CREATE TABLE SIORIGENSCONTABEIS
  (
    origemContabil  NUMERIC (3,0) DEFAULT 0 NOT NULL,
    descricao       VARCHAR (60) DEFAULT ' ' NOT NULL,
    abreviacao      VARCHAR (11) DEFAULT ' ' NOT NULL,
    ativo           NUMERIC (1,0) DEFAULT 0 NOT NULL,
    observacoes     VARCHAR (4000) DEFAULT ' ' NOT NULL
  );
ALTER TABLE SIORIGENSCONTABEIS ADD CONSTRAINT SIORIGENSCONTABEIS_PK1 PRIMARY KEY (origemContabil);
CREATE INDEX SIORIGENSCONTABEIS_K2 ON SIORIGENSCONTABEIS (descricao);

INSERT INTO SIORIGENSCONTABEIS (origemContabil, descricao, abreviacao, ativo, observacoes) VALUES (0, 'SELECIONE', ' ', 1, ' ');
INSERT INTO SIORIGENSCONTABEIS (origemContabil, descricao, abreviacao, ativo, observacoes) VALUES (1, 'Manual', 'MANUAL', 1, ' ');
INSERT INTO SIORIGENSCONTABEIS (origemContabil, descricao, abreviacao, ativo, observacoes) VALUES (100, 'Documento', 'DOCTO', 1, ' ');
INSERT INTO SIORIGENSCONTABEIS (origemContabil, descricao, abreviacao, ativo, observacoes) VALUES (200, 'Financeiro', 'FINANC', 1, ' ');
INSERT INTO SIORIGENSCONTABEIS (origemContabil, descricao, abreviacao, ativo, observacoes) VALUES (300, 'Baixa Financeiro', 'BAIXA', 1, ' ');
INSERT INTO SIORIGENSCONTABEIS (origemContabil, descricao, abreviacao, ativo, observacoes) VALUES (999, 'Conversão', 'CONV', 1, ' ');

COMMIT;

INSERT INTO SITABELASSISTEMA (tabelaSistema, descricao, ativo, ordenacao, tipoTabela, nomeCampoCodigo, tipoCampoCodigo, numeroDigitosCodigo, nomeCampoDescricao, adicionarCodigoNaDescricao, nomeCampoIdSeDiferenteCodigo, numeroDigitosCampoId, categoriaTabelaSistema, aplicacaoZoom, nomePublicoZoom, versaoTabela, versaoDados, observacoes) values ('SIORIGENSCONTABEIS', 'Origens Contábeis', 1, 809, 'SI', 'origemContabil', 'N', 3, 'descricao', 0, ' ', 0, 999999, '%SYS_DIR%Versoes\%SYS_VER%\Framework.ecf', 'PesqOrigensContabeis', 1, 1, ' '); 

COMMIT;

INSERT INTO SIMENUS (menu, descricao, ativo, ordenacao, tipoMenu, categoriaMenu, menuPrincipal, aplicacao, nomePublico, categoriaConfiguracao, categoriaPersonalCampo, categoriaMemoriaSistema, permiteReport, observacoes) values (912, 'Origens Contábeis', 1, 99000823, 'SI', 999999, 912, '%SYS_DIR%Versoes\%SYS_VER%\Framework.ecf', 'PesqOrigensContabeis', 0, 0, 0, 0, ' ');

COMMIT;

-- SITIPOSCONTABILIZACAO
CREATE TABLE SITIPOSCONTABILIZACAO
  (
    tipoContabilizacao NUMERIC (2,0) DEFAULT 0 NOT NULL,
    descricao          VARCHAR (60) DEFAULT ' ' NOT NULL,
    ativo              NUMERIC (1,0) DEFAULT 0 NOT NULL,
    solicitarCategoria NUMERIC (1,0) DEFAULT 0 NOT NULL,
    observacoes        VARCHAR (4000) DEFAULT ' ' NOT NULL
  );
ALTER TABLE SITIPOSCONTABILIZACAO ADD CONSTRAINT SITIPOSCONTABILIZACAO_PK1 PRIMARY KEY (tipoContabilizacao);
CREATE INDEX SITIPOSCONTABILIZACAO_K2 ON SITIPOSCONTABILIZACAO (descricao);

INSERT INTO SITIPOSCONTABILIZACAO (tipoContabilizacao, descricao, ativo, solicitarCategoria, observacoes) values (0, 'SELECIONE', 1, 1, ' ');
INSERT INTO SITIPOSCONTABILIZACAO (tipoContabilizacao, descricao, ativo, solicitarCategoria, observacoes) values (1, 'Conta Contábil', 1, 0, ' ');
INSERT INTO SITIPOSCONTABILIZACAO (tipoContabilizacao, descricao, ativo, solicitarCategoria, observacoes) values (10, 'Pessoa', 1, 1, ' ');
INSERT INTO SITIPOSCONTABILIZACAO (tipoContabilizacao, descricao, ativo, solicitarCategoria, observacoes) values (20, 'Produto', 1, 1, ' ');
INSERT INTO SITIPOSCONTABILIZACAO (tipoContabilizacao, descricao, ativo, solicitarCategoria, observacoes) values (40, 'Conta Financeira', 1, 1, ' ');
INSERT INTO SITIPOSCONTABILIZACAO (tipoContabilizacao, descricao, ativo, solicitarCategoria, observacoes) values (50, 'Carteira Financeira', 1, 1, ' ');
INSERT INTO SITIPOSCONTABILIZACAO (tipoContabilizacao, descricao, ativo, solicitarCategoria, observacoes) values (90, 'Diminuir Valor Contábil', 1, 0, ' ');
INSERT INTO SITIPOSCONTABILIZACAO (tipoContabilizacao, descricao, ativo, solicitarCategoria, observacoes) values (91, 'Somar Valor Contábil', 1, 0, ' ');

COMMIT;

INSERT INTO SITABELASSISTEMA (tabelaSistema, descricao, ativo, ordenacao, tipoTabela, nomeCampoCodigo, tipoCampoCodigo, numeroDigitosCodigo, nomeCampoDescricao, adicionarCodigoNaDescricao, nomeCampoIdSeDiferenteCodigo, numeroDigitosCampoId, categoriaTabelaSistema, aplicacaoZoom, nomePublicoZoom, versaoTabela, versaoDados, observacoes) values ('SITIPOSCONTABILIZACAO', 'Tipos Contabilização', 1, 809, 'SI', 'tipoContabilizacao', 'N', 2, 'descricao', 0, ' ', 0, 999999, '%SYS_DIR%Versoes\%SYS_VER%\Framework.ecf', 'PesqTiposContabilizacao', 1, 1, ' '); 

COMMIT;

INSERT INTO SIMENUS (menu, descricao, ativo, ordenacao, tipoMenu, categoriaMenu, menuPrincipal, aplicacao, nomePublico, categoriaConfiguracao, categoriaPersonalCampo, categoriaMemoriaSistema, permiteReport, observacoes) values (913, 'Origens Contábeis', 1, 99000824, 'SI', 999999, 913, '%SYS_DIR%Versoes\%SYS_VER%\Framework.ecf', 'PesqTiposContabilizacao', 0, 0, 0, 0, ' ');

COMMIT;

-- SITIPOSAGLUTINACOESCONTAB
CREATE TABLE SITIPOSAGLUTINACOESCONTAB
  (
    tipoAglutinacaoContabil NUMERIC (2,0) DEFAULT 0 NOT NULL,
    descricao               VARCHAR (60) DEFAULT ' ' NOT NULL,
    ativo                   NUMERIC (1,0) DEFAULT 0 NOT NULL,
    observacoes             VARCHAR (4000) DEFAULT ' ' NOT NULL
  );
ALTER TABLE SITIPOSAGLUTINACOESCONTAB ADD CONSTRAINT SITIPOSAGLUTINACOESCONTAB_PK1 PRIMARY KEY (tipoAglutinacaoContabil);
CREATE INDEX SITIPOSAGLUTINACOESCONTAB_K2 ON SITIPOSAGLUTINACOESCONTAB (descricao);

INSERT INTO SITIPOSAGLUTINACOESCONTAB (tipoAglutinacaoContabil, descricao, ativo, observacoes) VALUES (0, 'SELECIONE', 1, ' ');
INSERT INTO SITIPOSAGLUTINACOESCONTAB (tipoAglutinacaoContabil, descricao, ativo, observacoes) VALUES (1, 'Fato Contábil', 1, ' ');
INSERT INTO SITIPOSAGLUTINACOESCONTAB (tipoAglutinacaoContabil, descricao, ativo, observacoes) VALUES (2, 'Dia', 1, ' ');
INSERT INTO SITIPOSAGLUTINACOESCONTAB (tipoAglutinacaoContabil, descricao, ativo, observacoes) VALUES (3, 'Mês', 1, ' ');

COMMIT;

-- SITIPOSDOCUMENTOCONTABIL
CREATE TABLE SITIPOSDOCUMENTOCONTABIL
  (
    tipoDocumentoContabil NUMERIC (3,0) DEFAULT 0 NOT NULL,
    descricao             VARCHAR (60) DEFAULT ' ' NOT NULL,
    ativo                 NUMERIC (1,0) DEFAULT 0 NOT NULL,
    origemContabil        NUMERIC (3,0) DEFAULT 0 NOT NULL,
    observacoes           VARCHAR (4000) DEFAULT ' ' NOT NULL
  );
ALTER TABLE SITIPOSDOCUMENTOCONTABIL ADD CONSTRAINT SITIPOSDOCUMENTOCONTABIL_PK1 PRIMARY KEY (tipoDocumentoContabil);
CREATE INDEX SITIPOSDOCUMENTOCONTABIL_K2 ON SITIPOSDOCUMENTOCONTABIL (descricao);
ALTER TABLE SITIPOSDOCUMENTOCONTABIL ADD CONSTRAINT SITIPOSDOCUMENTOCONTABIL_FK1 FOREIGN KEY (origemContabil) REFERENCES SIORIGENSCONTABEIS (origemContabil);

INSERT INTO SITIPOSDOCUMENTOCONTABIL (tipoDocumentoContabil, descricao, ativo, origemContabil, observacoes) VALUES (0, 'SELECIONE', 1, 0, ' ');
INSERT INTO SITIPOSDOCUMENTOCONTABIL (tipoDocumentoContabil, descricao, ativo, origemContabil, observacoes) VALUES (100, 'Nota de Saída', 1, 100, ' ');
INSERT INTO SITIPOSDOCUMENTOCONTABIL (tipoDocumentoContabil, descricao, ativo, origemContabil, observacoes) VALUES (101, 'Nota de Entrada', 1, 100, ' ');
INSERT INTO SITIPOSDOCUMENTOCONTABIL (tipoDocumentoContabil, descricao, ativo, origemContabil, observacoes) VALUES (102, 'Devolução de Entrada', 1, 100, ' ');
INSERT INTO SITIPOSDOCUMENTOCONTABIL (tipoDocumentoContabil, descricao, ativo, origemContabil, observacoes) VALUES (103, 'Devolução de Saída', 1, 100, ' ');
INSERT INTO SITIPOSDOCUMENTOCONTABIL (tipoDocumentoContabil, descricao, ativo, origemContabil, observacoes) VALUES (104, 'Transferência', 1, 100, ' ');
INSERT INTO SITIPOSDOCUMENTOCONTABIL (tipoDocumentoContabil, descricao, ativo, origemContabil, observacoes) VALUES (105, 'Nota Complementar', 1, 100, ' ');
INSERT INTO SITIPOSDOCUMENTOCONTABIL (tipoDocumentoContabil, descricao, ativo, origemContabil, observacoes) VALUES (106, 'Nota de Serviço', 1, 100, ' ');
INSERT INTO SITIPOSDOCUMENTOCONTABIL (tipoDocumentoContabil, descricao, ativo, origemContabil, observacoes) VALUES (231, 'Adiantamento de Clientes (-)', 1, 200, ' ');
INSERT INTO SITIPOSDOCUMENTOCONTABIL (tipoDocumentoContabil, descricao, ativo, origemContabil, observacoes) VALUES (232, 'A Receber (+)', 1, 200, ' ');
INSERT INTO SITIPOSDOCUMENTOCONTABIL (tipoDocumentoContabil, descricao, ativo, origemContabil, observacoes) VALUES (271, 'Adiantamento à Fornecedores (+)', 1, 200, ' ');
INSERT INTO SITIPOSDOCUMENTOCONTABIL (tipoDocumentoContabil, descricao, ativo, origemContabil, observacoes) VALUES (272, 'A Pagar  (-)', 1, 200, ' ');
INSERT INTO SITIPOSDOCUMENTOCONTABIL (tipoDocumentoContabil, descricao, ativo, origemContabil, observacoes) VALUES (333, 'Recebimento Prestação (+)', 1, 300, ' ');
INSERT INTO SITIPOSDOCUMENTOCONTABIL (tipoDocumentoContabil, descricao, ativo, origemContabil, observacoes) VALUES (334, 'Recebimento (+)', 1, 300, ' ');
INSERT INTO SITIPOSDOCUMENTOCONTABIL (tipoDocumentoContabil, descricao, ativo, origemContabil, observacoes) VALUES (373, 'Pagamento Prestação (-)', 1, 300, ' ');
INSERT INTO SITIPOSDOCUMENTOCONTABIL (tipoDocumentoContabil, descricao, ativo, origemContabil, observacoes) VALUES (374, 'Pagamento (-)', 1, 300, ' ');

COMMIT;

-- SILINHASCONTABEIS
CREATE TABLE SILINHASCONTABEIS
  (
    linhaContabil  NUMERIC (3,0) DEFAULT 0 NOT NULL,
    descricao      VARCHAR (60) DEFAULT ' ' NOT NULL,
    ativo          NUMERIC (1,0) DEFAULT 0 NOT NULL,
    origemContabil NUMERIC (3,0) DEFAULT 0 NOT NULL,
    observacoes    VARCHAR (4000) DEFAULT ' ' NOT NULL
  );
ALTER TABLE SILINHASCONTABEIS ADD CONSTRAINT SILINHASCONTABEIS_PK1 PRIMARY KEY (linhaContabil);
CREATE INDEX SILINHASCONTABEIS_K2 ON SILINHASCONTABEIS (descricao);
ALTER TABLE SILINHASCONTABEIS ADD CONSTRAINT SILINHASCONTABEIS_FK1 FOREIGN KEY (origemContabil) REFERENCES SIORIGENSCONTABEIS (origemContabil);

INSERT INTO SILINHASCONTABEIS (linhaContabil, descricao, ativo, origemContabil, observacoes) VALUES (0, 'SELECIONE', 1, 0, ' ');
INSERT INTO SILINHASCONTABEIS (linhaContabil, descricao, ativo, origemContabil, observacoes) VALUES (100, 'Valor Contábil', 1, 100, ' ');
INSERT INTO SILINHASCONTABEIS (linhaContabil, descricao, ativo, origemContabil, observacoes) VALUES (110, 'Valor Frete', 1, 100, ' ');
INSERT INTO SILINHASCONTABEIS (linhaContabil, descricao, ativo, origemContabil, observacoes) VALUES (111, 'Valor Seguro', 1, 100, ' ');
INSERT INTO SILINHASCONTABEIS (linhaContabil, descricao, ativo, origemContabil, observacoes) VALUES (112, 'Valor Desconto', 1, 100, ' ');
INSERT INTO SILINHASCONTABEIS (linhaContabil, descricao, ativo, origemContabil, observacoes) VALUES (113, 'Valor Outras Despesas', 1, 100, ' ');
INSERT INTO SILINHASCONTABEIS (linhaContabil, descricao, ativo, origemContabil, observacoes) VALUES (114, 'Valor Adicional Frete Marinha Mercantil', 1, 100, ' ');
INSERT INTO SILINHASCONTABEIS (linhaContabil, descricao, ativo, origemContabil, observacoes) VALUES (115, 'Valor Despesas Aduaneiras', 1, 100, ' ');
INSERT INTO SILINHASCONTABEIS (linhaContabil, descricao, ativo, origemContabil, observacoes) VALUES (116, 'Valor Outros Descontos Custo', 1, 100, ' ');
INSERT INTO SILINHASCONTABEIS (linhaContabil, descricao, ativo, origemContabil, observacoes) VALUES (117, 'Valor Outros Acréscimos Custo', 1, 100, ' ');
INSERT INTO SILINHASCONTABEIS (linhaContabil, descricao, ativo, origemContabil, observacoes) VALUES (118, 'Valor Acréscimo Extemporâneo', 1, 100, ' ');
INSERT INTO SILINHASCONTABEIS (linhaContabil, descricao, ativo, origemContabil, observacoes) VALUES (130, 'Valor ISSQN', 1, 100, ' ');
INSERT INTO SILINHASCONTABEIS (linhaContabil, descricao, ativo, origemContabil, observacoes) VALUES (131, 'Valor ISSQN Retido', 1, 100, ' ');
INSERT INTO SILINHASCONTABEIS (linhaContabil, descricao, ativo, origemContabil, observacoes) VALUES (132, 'Valor Retenção IRRF', 1, 100, ' ');
INSERT INTO SILINHASCONTABEIS (linhaContabil, descricao, ativo, origemContabil, observacoes) VALUES (133, 'Valor Retenção INSS', 1, 100, ' ');
INSERT INTO SILINHASCONTABEIS (linhaContabil, descricao, ativo, origemContabil, observacoes) VALUES (134, 'Valor Retenção PIS', 1, 100, ' ');
INSERT INTO SILINHASCONTABEIS (linhaContabil, descricao, ativo, origemContabil, observacoes) VALUES (135, 'Valor Retenção COFINS', 1, 100, ' ');
INSERT INTO SILINHASCONTABEIS (linhaContabil, descricao, ativo, origemContabil, observacoes) VALUES (136, 'Valor Retenção CSLL', 1, 100, ' ');
INSERT INTO SILINHASCONTABEIS (linhaContabil, descricao, ativo, origemContabil, observacoes) VALUES (137, 'Valor Retenção Outros', 1, 100, ' ');
INSERT INTO SILINHASCONTABEIS (linhaContabil, descricao, ativo, origemContabil, observacoes) VALUES (140, 'Valor Imposto Importação', 1, 100, ' ');
INSERT INTO SILINHASCONTABEIS (linhaContabil, descricao, ativo, origemContabil, observacoes) VALUES (141, 'Valor IOF', 1, 100, ' ');
INSERT INTO SILINHASCONTABEIS (linhaContabil, descricao, ativo, origemContabil, observacoes) VALUES (142, 'Valor IPI', 1, 100, ' ');
INSERT INTO SILINHASCONTABEIS (linhaContabil, descricao, ativo, origemContabil, observacoes) VALUES (143, 'Valor IPI Devolução', 1, 100, ' ');
INSERT INTO SILINHASCONTABEIS (linhaContabil, descricao, ativo, origemContabil, observacoes) VALUES (144, 'Valor PIS', 1, 100, ' ');
INSERT INTO SILINHASCONTABEIS (linhaContabil, descricao, ativo, origemContabil, observacoes) VALUES (145, 'Valor PIS ST', 1, 100, ' ');
INSERT INTO SILINHASCONTABEIS (linhaContabil, descricao, ativo, origemContabil, observacoes) VALUES (146, 'Valor COFINS', 1, 100, ' ');
INSERT INTO SILINHASCONTABEIS (linhaContabil, descricao, ativo, origemContabil, observacoes) VALUES (147, 'Valor COFINS ST', 1, 100, ' ');
INSERT INTO SILINHASCONTABEIS (linhaContabil, descricao, ativo, origemContabil, observacoes) VALUES (148, 'Valor Crédito Simples Nacional', 1, 100, ' ');
INSERT INTO SILINHASCONTABEIS (linhaContabil, descricao, ativo, origemContabil, observacoes) VALUES (160, 'Valor ICMS Operação', 1, 100, ' ');
INSERT INTO SILINHASCONTABEIS (linhaContabil, descricao, ativo, origemContabil, observacoes) VALUES (161, 'Valor ICMS Diferido', 1, 100, ' ');
INSERT INTO SILINHASCONTABEIS (linhaContabil, descricao, ativo, origemContabil, observacoes) VALUES (162, 'Valor ICMS', 1, 100, ' ');
INSERT INTO SILINHASCONTABEIS (linhaContabil, descricao, ativo, origemContabil, observacoes) VALUES (163, 'Valor ICMS Desoneração', 1, 100, ' ');
INSERT INTO SILINHASCONTABEIS (linhaContabil, descricao, ativo, origemContabil, observacoes) VALUES (164, 'Valor ICMS ST', 1, 100, ' ');
INSERT INTO SILINHASCONTABEIS (linhaContabil, descricao, ativo, origemContabil, observacoes) VALUES (165, 'Valor ICMS ST Anteriormente', 1, 100, ' ');
INSERT INTO SILINHASCONTABEIS (linhaContabil, descricao, ativo, origemContabil, observacoes) VALUES (166, 'Valor ICMS Próprio Substituto', 1, 100, ' ');
INSERT INTO SILINHASCONTABEIS (linhaContabil, descricao, ativo, origemContabil, observacoes) VALUES (167, 'Valor ICMS Efetivo', 1, 100, ' ');
INSERT INTO SILINHASCONTABEIS (linhaContabil, descricao, ativo, origemContabil, observacoes) VALUES (168, 'Valor ICMS UF Destinatario', 1, 100, ' ');
INSERT INTO SILINHASCONTABEIS (linhaContabil, descricao, ativo, origemContabil, observacoes) VALUES (169, 'Valor ICMS UF Remetente', 1, 100, ' ');
INSERT INTO SILINHASCONTABEIS (linhaContabil, descricao, ativo, origemContabil, observacoes) VALUES (180, 'Valor FCP', 1, 100, ' ');
INSERT INTO SILINHASCONTABEIS (linhaContabil, descricao, ativo, origemContabil, observacoes) VALUES (181, 'Valor FCP ST', 1, 100, ' ');
INSERT INTO SILINHASCONTABEIS (linhaContabil, descricao, ativo, origemContabil, observacoes) VALUES (182, 'Valor FCP ST Anteriormente', 1, 100, ' ');
INSERT INTO SILINHASCONTABEIS (linhaContabil, descricao, ativo, origemContabil, observacoes) VALUES (183, 'Valor FCP UF Destinatario', 1, 100, ' ');
INSERT INTO SILINHASCONTABEIS (linhaContabil, descricao, ativo, origemContabil, observacoes) VALUES (184, 'Valor FCP', 1, 100, ' ');
INSERT INTO SILINHASCONTABEIS (linhaContabil, descricao, ativo, origemContabil, observacoes) VALUES (187, 'Valor Estimado Impostos Federais', 1, 100, ' ');
INSERT INTO SILINHASCONTABEIS (linhaContabil, descricao, ativo, origemContabil, observacoes) VALUES (188, 'Valor Estimado Impostos Estaduais', 1, 100, ' ');
INSERT INTO SILINHASCONTABEIS (linhaContabil, descricao, ativo, origemContabil, observacoes) VALUES (189, 'Valor Estimado Impostos Municipais', 1, 100, ' ');
INSERT INTO SILINHASCONTABEIS (linhaContabil, descricao, ativo, origemContabil, observacoes) VALUES (190, 'Valor Custo Operação', 1, 100, ' ');
INSERT INTO SILINHASCONTABEIS (linhaContabil, descricao, ativo, origemContabil, observacoes) VALUES (191, 'Valor CMV', 1, 100, ' ');
INSERT INTO SILINHASCONTABEIS (linhaContabil, descricao, ativo, origemContabil, observacoes) VALUES (200, 'Valor Contábil', 1, 200, ' ');
INSERT INTO SILINHASCONTABEIS (linhaContabil, descricao, ativo, origemContabil, observacoes) VALUES (300, 'Valor Contábil', 1, 300, ' ');
INSERT INTO SILINHASCONTABEIS (linhaContabil, descricao, ativo, origemContabil, observacoes) VALUES (301, 'Valor Variação Indexador Redução', 1, 300, ' ');
INSERT INTO SILINHASCONTABEIS (linhaContabil, descricao, ativo, origemContabil, observacoes) VALUES (302, 'Valor Variação Indexador Acréscimo', 1, 300, ' ');
INSERT INTO SILINHASCONTABEIS (linhaContabil, descricao, ativo, origemContabil, observacoes) VALUES (303, 'Valor Juros de Mora', 1, 300, ' ');
INSERT INTO SILINHASCONTABEIS (linhaContabil, descricao, ativo, origemContabil, observacoes) VALUES (304, 'Valor Multa', 1, 300, ' ');
INSERT INTO SILINHASCONTABEIS (linhaContabil, descricao, ativo, origemContabil, observacoes) VALUES (305, 'Valor Tarifa Cartão', 1, 300, ' ');
INSERT INTO SILINHASCONTABEIS (linhaContabil, descricao, ativo, origemContabil, observacoes) VALUES (306, 'Valor Descontos', 1, 300, ' ');
INSERT INTO SILINHASCONTABEIS (linhaContabil, descricao, ativo, origemContabil, observacoes) VALUES (307, 'Valor Outros Acréscimos', 1, 300, ' ');

COMMIT;

-- SIFILTROSCONTABEIS
CREATE TABLE SIFILTROSCONTABEIS
  (
    filtroContabil         NUMERIC (3,0) DEFAULT 0 NOT NULL,
    descricao              VARCHAR (60) DEFAULT ' ' NOT NULL,
    ativo                  NUMERIC (1,0) DEFAULT 0 NOT NULL,
    origemContabil         NUMERIC (3,0) DEFAULT 0 NOT NULL,
    tipoCampo              CHAR (1) DEFAULT ' ' NOT NULL,
    mascara                VARCHAR (30) DEFAULT ' ' NOT NULL,
    tabelaSistema          VARCHAR (30) DEFAULT ' ' NOT NULL,
    cabecalhoItemPagamento CHAR (1) DEFAULT ' ' NOT NULL,
    campoSelect            VARCHAR (4000) DEFAULT ' ' NOT NULL,
    campoJoin              VARCHAR (4000) DEFAULT ' ' NOT NULL,
    observacoes            VARCHAR (4000) DEFAULT ' ' NOT NULL
  );
ALTER TABLE SIFILTROSCONTABEIS ADD CONSTRAINT SIFILTROSCONTABEIS_PK1 PRIMARY KEY (filtroContabil);
CREATE INDEX SIFILTROSCONTABEIS_K2 ON SIFILTROSCONTABEIS (descricao);
ALTER TABLE SIFILTROSCONTABEIS ADD CONSTRAINT SIFILTROSCONTABEIS_FK1 FOREIGN KEY (origemContabil) REFERENCES SIORIGENSCONTABEIS (origemContabil);
ALTER TABLE SIFILTROSCONTABEIS ADD CONSTRAINT SIFILTROSCONTABEIS_FK2 FOREIGN KEY (tipoCampo) REFERENCES SITIPOSCAMPO (tipoCampo);
ALTER TABLE SIFILTROSCONTABEIS ADD CONSTRAINT SIFILTROSCONTABEIS_FK3 FOREIGN KEY (tabelaSistema) REFERENCES SITABELASSISTEMA (tabelaSistema);
ALTER TABLE SIFILTROSCONTABEIS ADD CONSTRAINT SIFILTROSCONTABEIS_FK4 FOREIGN KEY (cabecalhoItemPagamento) REFERENCES SICABECALHOITEMPAGAMENTO (cabecalhoItemPagamento);

INSERT INTO SIFILTROSCONTABEIS (filtroContabil, descricao, ativo, origemContabil, tipoCampo, mascara, tabelaSistema, cabecalhoItemPagamento, campoSelect, campoJoin, observacoes) VALUES (0, 'SELECIONE', 1, 0, ' ', ' ', ' ', ' ', ' ', ' ', ' ');

COMMIT;

-- PACATEGORIASCONTABEIS
CREATE TABLE PACATEGORIASCONTABEIS
  (
    categoriaContabil  NUMERIC (6,0) DEFAULT 0 NOT NULL,
    ordenacao          NUMERIC (11,0) DEFAULT 0 NOT NULL,
    descricao          VARCHAR (120) DEFAULT ' ' NOT NULL,
    ativo              NUMERIC (1,0) DEFAULT 0 NOT NULL,
    tipoContabilizacao NUMERIC (2,0) DEFAULT 0 NOT NULL,
    observacoes        VARCHAR (4000) DEFAULT ' ' NOT NULL
  );
ALTER TABLE PACATEGORIASCONTABEIS ADD CONSTRAINT PACATEGORIASCONTABEIS_PK1 PRIMARY KEY (categoriaContabil);
CREATE INDEX PACATEGORIASCONTABEIS_K2 ON PACATEGORIASCONTABEIS (descricao);
CREATE INDEX PACATEGORIASCONTABEIS_K3 ON PACATEGORIASCONTABEIS (ordenacao, categoriaContabil);
ALTER TABLE PACATEGORIASCONTABEIS ADD CONSTRAINT PACATEGORIASCONTABEIS_FK1 FOREIGN KEY (tipoContabilizacao) REFERENCES SITIPOSCONTABILIZACAO (tipoContabilizacao);

INSERT INTO PACATEGORIASCONTABEIS (categoriaContabil, ordenacao, descricao, ativo, tipoContabilizacao, observacoes) VALUES (0, 0, 'selecione', 1, 0, ' ');

-- CAPESSOAXCONTASCONTABEIS
CREATE TABLE CAPESSOAXCONTASCONTABEIS
  (
    id                   NUMERIC (14,0) DEFAULT 0 NOT NULL,
    pessoa               NUMERIC (14,0) DEFAULT 0 NOT NULL,
    categoriaContabil    NUMERIC (6,0) DEFAULT 0 NOT NULL,
    idPlanoContaContabil NUMERIC (14,0) DEFAULT 0 NOT NULL,
    ativo                NUMERIC (1,0) DEFAULT 0 NOT NULL,
    idContaContabil      NUMERIC (14,0) DEFAULT 0 NOT NULL,
    observacoes          VARCHAR (4000) DEFAULT ' ' NOT NULL
  );
ALTER TABLE CAPESSOAXCONTASCONTABEIS ADD CONSTRAINT CAPESSOAXCONTASCONTABEIS_PK1 PRIMARY KEY (id);
CREATE UNIQUE INDEX CAPESSOAXCONTASCONTABEIS_K2 ON CAPESSOAXCONTASCONTABEIS (pessoa, categoriaContabil, idPlanoContaContabil);
CREATE INDEX CAPESSOAXCONTASCONTABEIS_K3 ON CAPESSOAXCONTASCONTABEIS (pessoa);
ALTER TABLE CAPESSOAXCONTASCONTABEIS ADD CONSTRAINT CAPESSOAXCONTASCONTABEIS_FK1 FOREIGN KEY (pessoa) REFERENCES CAPESSOAS (pessoa);
ALTER TABLE CAPESSOAXCONTASCONTABEIS ADD CONSTRAINT CAPESSOAXCONTASCONTABEIS_FK2 FOREIGN KEY (categoriaContabil) REFERENCES PACATEGORIASCONTABEIS (categoriaContabil);
ALTER TABLE CAPESSOAXCONTASCONTABEIS ADD CONSTRAINT CAPESSOAXCONTASCONTABEIS_FK3 FOREIGN KEY (idPlanoContaContabil) REFERENCES PAPLANOSCONTASCONTABEIS (idPlanoContaContabil);
ALTER TABLE CAPESSOAXCONTASCONTABEIS ADD CONSTRAINT CAPESSOAXCONTASCONTABEIS_FK4 FOREIGN KEY (idContaContabil) REFERENCES PACONTASCONTABEIS (idContaContabil);

INSERT INTO CAPESSOAXCONTASCONTABEIS (id, pessoa, categoriaContabil, idPlanoContaContabil, ativo, idContaContabil, observacoes) VALUES (0, 0, 0, 0, 1, 0, ' ');

COMMIT;

-- CAPRODUTOXCONTASCONTABEIS
CREATE TABLE CAPRODUTOXCONTASCONTABEIS
  (
    id                   NUMERIC (14,0) DEFAULT 0 NOT NULL,
    produto              NUMERIC (7,0) DEFAULT 0 NOT NULL,
    categoriaContabil    NUMERIC (6,0) DEFAULT 0 NOT NULL,
    idPlanoContaContabil NUMERIC (14,0) DEFAULT 0 NOT NULL,
    ativo                NUMERIC (1,0) DEFAULT 0 NOT NULL,
    idContaContabil      NUMERIC (14,0) DEFAULT 0 NOT NULL,
    observacoes          VARCHAR (4000) DEFAULT ' ' NOT NULL
  );
ALTER TABLE CAPRODUTOXCONTASCONTABEIS ADD CONSTRAINT CAPRODUTOXCONTASCONTABEIS_PK1 PRIMARY KEY (id);
CREATE UNIQUE INDEX CAPRODUTOXCONTASCONTABEIS_K2 ON CAPRODUTOXCONTASCONTABEIS (produto, categoriaContabil, idPlanoContaContabil);
CREATE INDEX CAPRODUTOXCONTASCONTABEIS_K3 ON CAPRODUTOXCONTASCONTABEIS (produto);
ALTER TABLE CAPRODUTOXCONTASCONTABEIS ADD CONSTRAINT CAPRODUTOXCONTASCONTABEIS_FK1 FOREIGN KEY (produto) REFERENCES CAPRODUTOS (produto);
ALTER TABLE CAPRODUTOXCONTASCONTABEIS ADD CONSTRAINT CAPRODUTOXCONTASCONTABEIS_FK2 FOREIGN KEY (categoriaContabil) REFERENCES PACATEGORIASCONTABEIS (categoriaContabil);
ALTER TABLE CAPRODUTOXCONTASCONTABEIS ADD CONSTRAINT CAPRODUTOXCONTASCONTABEIS_FK3 FOREIGN KEY (idPlanoContaContabil) REFERENCES PAPLANOSCONTASCONTABEIS (idPlanoContaContabil);
ALTER TABLE CAPRODUTOXCONTASCONTABEIS ADD CONSTRAINT CAPRODUTOXCONTASCONTABEIS_FK4 FOREIGN KEY (idContaContabil) REFERENCES PACONTASCONTABEIS (idContaContabil);

INSERT INTO CAPRODUTOXCONTASCONTABEIS (id, produto, categoriaContabil, idPlanoContaContabil, ativo, idContaContabil, observacoes) VALUES (0, 0, 0, 0, 1, 0, ' ');

COMMIT;

-- PACONTAFINANCEIRAXCONTAB
CREATE TABLE PACONTAFINANCEIRAXCONTAB
  (
    id                   NUMERIC (14,0) DEFAULT 0 NOT NULL,
    contaFinanceira      VARCHAR (60) DEFAULT ' ' NOT NULL,
    categoriaContabil    NUMERIC (6,0) DEFAULT 0 NOT NULL,
    idPlanoContaContabil NUMERIC (14,0) DEFAULT 0 NOT NULL,
    ativo                NUMERIC (1,0) DEFAULT 0 NOT NULL,
    idContaContabil      NUMERIC (14,0) DEFAULT 0 NOT NULL,
    observacoes          VARCHAR (4000) DEFAULT ' ' NOT NULL
  );
ALTER TABLE PACONTAFINANCEIRAXCONTAB ADD CONSTRAINT PACONTAFINANCEIRAXCONTAB_PK1 PRIMARY KEY (id);
CREATE UNIQUE INDEX PACONTAFINANCEIRAXCONTAB_K2 ON PACONTAFINANCEIRAXCONTAB (contaFinanceira, categoriaContabil, idPlanoContaContabil);
CREATE INDEX PACONTAFINANCEIRAXCONTAB_K3 ON PACONTAFINANCEIRAXCONTAB (contaFinanceira);
ALTER TABLE PACONTAFINANCEIRAXCONTAB ADD CONSTRAINT PACONTAFINANCEIRAXCONTAB_FK1 FOREIGN KEY (contaFinanceira) REFERENCES PACONTASFINANCEIRAS (contaFinanceira);
ALTER TABLE PACONTAFINANCEIRAXCONTAB ADD CONSTRAINT PACONTAFINANCEIRAXCONTAB_FK2 FOREIGN KEY (categoriaContabil) REFERENCES PACATEGORIASCONTABEIS (categoriaContabil);
ALTER TABLE PACONTAFINANCEIRAXCONTAB ADD CONSTRAINT PACONTAFINANCEIRAXCONTAB_FK3 FOREIGN KEY (idPlanoContaContabil) REFERENCES PAPLANOSCONTASCONTABEIS (idPlanoContaContabil);
ALTER TABLE PACONTAFINANCEIRAXCONTAB ADD CONSTRAINT PACONTAFINANCEIRAXCONTAB_FK4 FOREIGN KEY (idContaContabil) REFERENCES PACONTASCONTABEIS (idContaContabil);

INSERT INTO PACONTAFINANCEIRAXCONTAB (id, contaFinanceira, categoriaContabil, idPlanoContaContabil, ativo, idContaContabil, observacoes) VALUES (0, ' ', 0, 0, 1, 0, ' ');

COMMIT;

-- PACARTFINANCXCONTASCONTAB;
CREATE TABLE PACARTFINANCXCONTASCONTAB
  (
    id                   NUMERIC (14,0) DEFAULT 0 NOT NULL,
    carteiraFinanceira   NUMERIC (4,0) DEFAULT 0 NOT NULL,
    categoriaContabil    NUMERIC (6,0) DEFAULT 0 NOT NULL,
    idPlanoContaContabil NUMERIC (14,0) DEFAULT 0 NOT NULL,
    ativo                NUMERIC (1,0) DEFAULT 0 NOT NULL,
    idContaContabil      NUMERIC (14,0) DEFAULT 0 NOT NULL,
    observacoes          VARCHAR (4000) DEFAULT ' ' NOT NULL
  );
ALTER TABLE PACARTFINANCXCONTASCONTAB ADD CONSTRAINT PACARTFINANCXCONTASCONTAB_PK1 PRIMARY KEY (id);
CREATE UNIQUE INDEX PACARTFINANCXCONTASCONTAB_K2 ON PACARTFINANCXCONTASCONTAB (carteiraFinanceira, categoriaContabil, idPlanoContaContabil);
CREATE INDEX PACARTFINANCXCONTASCONTAB_K3 ON PACARTFINANCXCONTASCONTAB (carteiraFinanceira);
ALTER TABLE PACARTFINANCXCONTASCONTAB ADD CONSTRAINT PACARTFINANCXCONTASCONTAB_FK1 FOREIGN KEY (carteiraFinanceira) REFERENCES PACARTEIRASFINANCEIRAS (carteiraFinanceira);
ALTER TABLE PACARTFINANCXCONTASCONTAB ADD CONSTRAINT PACARTFINANCXCONTASCONTAB_FK2 FOREIGN KEY (categoriaContabil) REFERENCES PACATEGORIASCONTABEIS (categoriaContabil);
ALTER TABLE PACARTFINANCXCONTASCONTAB ADD CONSTRAINT PACARTFINANCXCONTASCONTAB_FK3 FOREIGN KEY (idPlanoContaContabil) REFERENCES PAPLANOSCONTASCONTABEIS (idPlanoContaContabil);
ALTER TABLE PACARTFINANCXCONTASCONTAB ADD CONSTRAINT PACARTFINANCXCONTASCONTAB_FK4 FOREIGN KEY (idContaContabil) REFERENCES PACONTASCONTABEIS (idContaContabil);

INSERT INTO PACARTFINANCXCONTASCONTAB (id, carteiraFinanceira, categoriaContabil, idPlanoContaContabil, ativo, idContaContabil, observacoes) VALUES (0, 0, 0, 0, 1, 0, ' ');

COMMIT;

-- PAREGRASCONTABILIZACAO
CREATE TABLE PAREGRASCONTABILIZACAO
  (
    idRegraContabilizacao   NUMERIC (14,0) DEFAULT 0 NOT NULL,
    idPlanoContaContabil    NUMERIC (14,0) DEFAULT 0 NOT NULL,
    tipoDocumentoContabil   NUMERIC (3,0) DEFAULT 0 NOT NULL,
    ordenacao               NUMERIC (11,0) DEFAULT 0 NOT NULL,
    descricao               VARCHAR (256) DEFAULT ' ' NOT NULL,
    ativo                   NUMERIC (1,0) DEFAULT 0 NOT NULL,
    tipoAglutinacaoContabil NUMERIC (2,0) DEFAULT 0 NOT NULL,
    observacoes             VARCHAR (4000) DEFAULT ' ' NOT NULL
  );
ALTER TABLE PAREGRASCONTABILIZACAO ADD CONSTRAINT PAREGRASCONTABILIZACAO_PK1 PRIMARY KEY (idRegraContabilizacao);
CREATE INDEX PAREGRASCONTABILIZACAO_K2 ON PAREGRASCONTABILIZACAO (descricao);
CREATE INDEX PAREGRASCONTABILIZACAO_K3 ON PAREGRASCONTABILIZACAO (idPlanoContaContabil, tipoDocumentoContabil, ordenacao, idRegraContabilizacao);
ALTER TABLE PAREGRASCONTABILIZACAO ADD CONSTRAINT PAREGRASCONTABILIZACAO_FK1 FOREIGN KEY (idPlanoContaContabil) REFERENCES PAPLANOSCONTASCONTABEIS (idPlanoContaContabil);
ALTER TABLE PAREGRASCONTABILIZACAO ADD CONSTRAINT PAREGRASCONTABILIZACAO_FK2 FOREIGN KEY (tipoDocumentoContabil) REFERENCES SITIPOSDOCUMENTOCONTABIL (tipoDocumentoContabil);
ALTER TABLE PAREGRASCONTABILIZACAO ADD CONSTRAINT PAREGRASCONTABILIZACAO_FK3 FOREIGN KEY (tipoAglutinacaoContabil) REFERENCES SITIPOSAGLUTINACOESCONTAB (tipoAglutinacaoContabil);

INSERT INTO PAREGRASCONTABILIZACAO (idRegraContabilizacao, idPlanoContaContabil, tipoDocumentoContabil, ordenacao, descricao, ativo, tipoAglutinacaoContabil, observacoes) VALUES (0, 0, 0, 0, 'SELECIONE', 1, 0, ' ');

COMMIT;

-- PAREGRACONTABXLINHAS
CREATE TABLE PAREGRACONTABXLINHAS
  (
    id                        NUMERIC (14,0) DEFAULT 0 NOT NULL,
    idRegraContabilizacao     NUMERIC (14,0) DEFAULT 0 NOT NULL,
    linhaContabil             NUMERIC (3,0) DEFAULT 0 NOT NULL,
    tipoContabilizacaoDebito  NUMERIC (2,0) DEFAULT 0 NOT NULL,
    idContaContabilDebito     NUMERIC (14,0) DEFAULT 0 NOT NULL,
    categoriaContabilDebito   NUMERIC (6,0) DEFAULT 0 NOT NULL,
    tipoContabilizacaoCredito NUMERIC (2,0) DEFAULT 0 NOT NULL,
    idContaContabilCredito    NUMERIC (14,0) DEFAULT 0 NOT NULL,
    categoriaContabilCredito  NUMERIC (6,0) DEFAULT 0 NOT NULL,
    historicoContabil         NUMERIC (4,0) DEFAULT 0 NOT NULL
  );
ALTER TABLE PAREGRACONTABXLINHAS ADD CONSTRAINT PAREGRACONTABXLINHAS_PK1 PRIMARY KEY (id);
CREATE UNIQUE INDEX PAREGRACONTABXLINHAS_K2 ON PAREGRACONTABXLINHAS (idRegraContabilizacao, linhaContabil);
ALTER TABLE PAREGRACONTABXLINHAS ADD CONSTRAINT PAREGRACONTABXLINHAS_FK1 FOREIGN KEY (idRegraContabilizacao) REFERENCES PAREGRASCONTABILIZACAO (idRegraContabilizacao);
ALTER TABLE PAREGRACONTABXLINHAS ADD CONSTRAINT PAREGRACONTABXLINHAS_FK2 FOREIGN KEY (tipoContabilizacaoDebito) REFERENCES SITIPOSCONTABILIZACAO (tipoContabilizacao);
ALTER TABLE PAREGRACONTABXLINHAS ADD CONSTRAINT PAREGRACONTABXLINHAS_FK3 FOREIGN KEY (idContaContabilDebito) REFERENCES PACONTASCONTABEIS (idContaContabil);
ALTER TABLE PAREGRACONTABXLINHAS ADD CONSTRAINT PAREGRACONTABXLINHAS_FK4 FOREIGN KEY (categoriaContabilDebito) REFERENCES PACATEGORIASCONTABEIS (categoriaContabil);
ALTER TABLE PAREGRACONTABXLINHAS ADD CONSTRAINT PAREGRACONTABXLINHAS_FK5 FOREIGN KEY (tipoContabilizacaoCredito) REFERENCES SITIPOSCONTABILIZACAO (tipoContabilizacao);
ALTER TABLE PAREGRACONTABXLINHAS ADD CONSTRAINT PAREGRACONTABXLINHAS_FK6 FOREIGN KEY (idContaContabilCredito) REFERENCES PACONTASCONTABEIS (idContaContabil);
ALTER TABLE PAREGRACONTABXLINHAS ADD CONSTRAINT PAREGRACONTABXLINHAS_FK7 FOREIGN KEY (categoriaContabilCredito) REFERENCES PACATEGORIASCONTABEIS (categoriaContabil);
ALTER TABLE PAREGRACONTABXLINHAS ADD CONSTRAINT PAREGRACONTABXLINHAS_FK8 FOREIGN KEY (historicoContabil) REFERENCES PAHISTORICOSCONTABEIS (historicoContabil);

INSERT INTO PAREGRACONTABXLINHAS (id, idRegraContabilizacao, linhaContabil, tipoContabilizacaoDebito, idContaContabilDebito, categoriaContabilDebito, tipoContabilizacaoCredito, idContaContabilCredito, categoriaContabilCredito, historicoContabil) VALUES (0, 0, 0, 0, 0, 0, 0, 0, 0, 0);

COMMIT;

-- PAREGRACONTABXFILTROS
CREATE TABLE PAREGRACONTABXFILTROS
  (
    id                    NUMERIC (14,0) DEFAULT 0 NOT NULL,
    idRegraContabilizacao NUMERIC (14,0) DEFAULT 0 NOT NULL,
    ordenacao             NUMERIC (11,0) DEFAULT 0 NOT NULL,
    filtroContabil        NUMERIC (3,0) DEFAULT 0 NOT NULL,
    campoIn               NCLOB,
    campoInDescricao      NCLOB,
    faixaDe               VARCHAR (256) DEFAULT ' ' NOT NULL,
    faixaAte              VARCHAR (256) DEFAULT ' ' NOT NULL,
    observacoes           VARCHAR (4000) DEFAULT ' ' NOT NULL
  );
ALTER TABLE PAREGRACONTABXFILTROS ADD CONSTRAINT PAREGRACONTABXFILTROS_PK1 PRIMARY KEY (id);
CREATE INDEX PAREGRACONTABXFILTROS_K2 ON PAREGRACONTABXFILTROS (idRegraContabilizacao, ordenacao, filtroContabil, id);
ALTER TABLE PAREGRACONTABXFILTROS ADD CONSTRAINT PAREGRACONTABXFILTROS_FK1 FOREIGN KEY (idRegraContabilizacao) REFERENCES PAREGRASCONTABILIZACAO (idRegraContabilizacao);
ALTER TABLE PAREGRACONTABXFILTROS ADD CONSTRAINT PAREGRACONTABXFILTROS_FK2 FOREIGN KEY (filtroContabil) REFERENCES SIFILTROSCONTABEIS (filtroContabil);

INSERT INTO PAREGRACONTABXFILTROS (id, idRegraContabilizacao, ordenacao, filtroContabil, campoIn, campoInDescricao, faixaDe, faixaAte, observacoes) VALUES (0, 0, 0, 0, NULL, NULL, ' ', ' ', ' ');

COMMIT;

-- MOCONTABEIS
CREATE TABLE MOCONTABEIS
  (
    idContabil        NUMERIC (14,0) DEFAULT 0 NOT NULL,
    estabelecimento   NUMERIC (4,0) DEFAULT 0 NOT NULL,
    data              DATE,
    pessoa            NUMERIC (14,0) DEFAULT 0 NOT NULL,
    documento         VARCHAR (60) DEFAULT ' ' NOT NULL,
    fatoContabil      NUMERIC (14,0) DEFAULT 0 NOT NULL,
    ordenacao         NUMERIC (11,0) DEFAULT 0 NOT NULL,
    debitoCredito     CHAR (1) DEFAULT ' ' NOT NULL,
    idContaContabil   NUMERIC (14,0) DEFAULT 0 NOT NULL,
    valor             NUMERIC (15,2) DEFAULT 0 NOT NULL,
    historicoContabil NUMERIC (4,0) DEFAULT 0 NOT NULL,
    complemento       VARCHAR (120) DEFAULT ' ' NOT NULL,
    historicoMontado  VARCHAR (256) DEFAULT ' ' NOT NULL,
    origemContabil    NUMERIC (3,0) DEFAULT 0 NOT NULL,
    observacoes       VARCHAR (4000) DEFAULT ' ' NOT NULL
  );
ALTER TABLE MOCONTABEIS ADD CONSTRAINT MOCONTABEIS_PK1 PRIMARY KEY (idContabil);
CREATE INDEX MOCONTABEIS_K2 ON MOCONTABEIS (fatoContabil, ordenacao);
CREATE INDEX MOCONTABEIS_K3 ON MOCONTABEIS (idContaContabil);
ALTER TABLE MOCONTABEIS ADD CONSTRAINT MOCONTABEIS_FK1 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE MOCONTABEIS ADD CONSTRAINT MOCONTABEIS_FK2 FOREIGN KEY (pessoa) REFERENCES CAPESSOAS (pessoa);
ALTER TABLE MOCONTABEIS ADD CONSTRAINT MOCONTABEIS_FK3 FOREIGN KEY (fatoContabil) REFERENCES MOFATOSCONTABEIS (fatoContabil);
ALTER TABLE MOCONTABEIS ADD CONSTRAINT MOCONTABEIS_FK4 FOREIGN KEY (debitoCredito) REFERENCES SIDEBITOCREDITO (debitoCredito);
ALTER TABLE MOCONTABEIS ADD CONSTRAINT MOCONTABEIS_FK5 FOREIGN KEY (idContaContabil) REFERENCES PACONTASCONTABEIS (idContaContabil);
ALTER TABLE MOCONTABEIS ADD CONSTRAINT MOCONTABEIS_FK6 FOREIGN KEY (historicoContabil) REFERENCES PAHISTORICOSCONTABEIS (historicoContabil);
ALTER TABLE MOCONTABEIS ADD CONSTRAINT MOCONTABEIS_FK7 FOREIGN KEY (origemContabil) REFERENCES SIORIGENSCONTABEIS (origemContabil);

INSERT INTO MOCONTABEIS (idContabil, estabelecimento, data, pessoa, documento, fatoContabil, ordenacao, debitoCredito, idContaContabil, valor, historicoContabil, complemento, historicoMontado, origemContabil, observacoes) VALUES (0, 0, NULL, 0, ' ', 0, 0, ' ', 0, 0, 0, ' ', ' ', 0, ' ');

COMMIT;

-- MOCONTABILXCENTROSCUSTOS
CREATE TABLE MOCONTABILXCENTROSCUSTOS
  (
    idContabilXCentroCusto NUMERIC (14,0) DEFAULT 0 NOT NULL,
    idCentroCusto          NUMERIC (14,0) DEFAULT 0 NOT NULL,
    idContabil             NUMERIC (14,0) DEFAULT 0 NOT NULL,
    valor                  NUMERIC (15,2) DEFAULT 0 NOT NULL
  );
ALTER TABLE MOCONTABILXCENTROSCUSTOS ADD CONSTRAINT MOCONTABILXCENTROSCUSTOS_PK1 PRIMARY KEY (idContabilXCentroCusto);
CREATE UNIQUE INDEX MOCONTABILXCENTROSCUSTOS_K2 ON MOCONTABILXCENTROSCUSTOS (idContabil, idCentroCusto);
CREATE INDEX MOCONTABILXCENTROSCUSTOS_K3 ON MOCONTABILXCENTROSCUSTOS (idCentroCusto);
CREATE INDEX MOCONTABILXCENTROSCUSTOS_K4 ON MOCONTABILXCENTROSCUSTOS (idContabil);
ALTER TABLE MOCONTABILXCENTROSCUSTOS ADD CONSTRAINT MOCONTABILXCENTROSCUSTOS_FK1 FOREIGN KEY (idCentroCusto) REFERENCES PACENTROSCUSTOS (idCentroCusto);
ALTER TABLE MOCONTABILXCENTROSCUSTOS ADD CONSTRAINT MOCONTABILXCENTROSCUSTOS_FK2 FOREIGN KEY (idContabil) REFERENCES MOCONTABEIS (idContabil);

INSERT INTO MOCONTABILXCENTROSCUSTOS (idContabilXCentroCusto, idCentroCusto, idContabil, valor) VALUES (0, 0, 0, 0);

COMMIT;

UPDATE SITABELASSISTEMA SET nomeCampoCodigo = 'idContabilXCentroCusto' WHERE tabelaSistema = 'MOCONTABILXCENTROSCUSTOS'; 

COMMIT;

-- MOORCAMENTOXCENTROSCUSTOS
CREATE TABLE MOORCAMENTOXCENTROSCUSTOS
  (
    idCentroCustoOrcamento NUMERIC (14,0) DEFAULT 0 NOT NULL,
    idItemOrcamento        NUMERIC (14,0) DEFAULT 0 NOT NULL,
    idCentroCusto          NUMERIC (14,0) DEFAULT 0 NOT NULL,
    percentualRateio       NUMERIC (15,8) DEFAULT 0 NOT NULL
  );
ALTER TABLE MOORCAMENTOXCENTROSCUSTOS ADD CONSTRAINT MOORCAMENTOXCENTROSCUSTOS_PK1 PRIMARY KEY (idCentroCustoOrcamento);
CREATE UNIQUE INDEX MOORCAMENTOXCENTROSCUSTOS_K2 ON MOORCAMENTOXCENTROSCUSTOS (idItemOrcamento, idCentroCusto);
CREATE INDEX MOORCAMENTOXCENTROSCUSTOS_K3 ON MOORCAMENTOXCENTROSCUSTOS (idItemOrcamento);
CREATE INDEX MOORCAMENTOXCENTROSCUSTOS_K4 ON MOORCAMENTOXCENTROSCUSTOS (idCentroCusto);
ALTER TABLE MOORCAMENTOXCENTROSCUSTOS ADD CONSTRAINT MOORCAMENTOXCENTROSCUSTOS_FK1 FOREIGN KEY (idItemOrcamento) REFERENCES MOORCAMENTOXITENS (idItemOrcamento);
ALTER TABLE MOORCAMENTOXCENTROSCUSTOS ADD CONSTRAINT MOORCAMENTOXCENTROSCUSTOS_FK2 FOREIGN KEY (idCentroCusto) REFERENCES PACENTROSCUSTOS (idCentroCusto);

INSERT INTO MOORCAMENTOXCENTROSCUSTOS (idCentroCustoOrcamento, idItemOrcamento, idCentroCusto, percentualRateio) VALUES (0, 0, 0, 0);

COMMIT;

-- MOPREDOCUMXCENTROSCUSTOS
CREATE TABLE MOPREDOCUMXCENTROSCUSTOS
  (
    idCentroCustoPreDocumento NUMERIC (14,0) DEFAULT 0 NOT NULL,
    idItemPreDocumento        NUMERIC (14,0) DEFAULT 0 NOT NULL,
    idCentroCusto             NUMERIC (14,0) DEFAULT 0 NOT NULL,
    percentualRateio          NUMERIC (15,8) DEFAULT 0 NOT NULL
  );
ALTER TABLE MOPREDOCUMXCENTROSCUSTOS ADD CONSTRAINT MOPREDOCUMXCENTROSCUSTOS_PK1 PRIMARY KEY (idCentroCustoPreDocumento);
CREATE UNIQUE INDEX MOPREDOCUMXCENTROSCUSTOS_K2 ON MOPREDOCUMXCENTROSCUSTOS (idItemPreDocumento, idCentroCusto);
CREATE INDEX MOPREDOCUMXCENTROSCUSTOS_K3 ON MOPREDOCUMXCENTROSCUSTOS (idItemPreDocumento);
CREATE INDEX MOPREDOCUMXCENTROSCUSTOS_K4 ON MOPREDOCUMXCENTROSCUSTOS (idItemPreDocumento, idCentroCusto);
ALTER TABLE MOPREDOCUMXCENTROSCUSTOS ADD CONSTRAINT MOPREDOCUMXCENTROSCUSTOS_FK1 FOREIGN KEY (idItemPreDocumento) REFERENCES MOPREDOCUMXITENS (idItemPreDocumento);
ALTER TABLE MOPREDOCUMXCENTROSCUSTOS ADD CONSTRAINT MOPREDOCUMXCENTROSCUSTOS_FK2 FOREIGN KEY (idCentroCusto) REFERENCES PACENTROSCUSTOS (idCentroCusto);

INSERT INTO MOPREDOCUMXCENTROSCUSTOS (idCentroCustoPreDocumento, idItemPreDocumento, idCentroCusto, percentualRateio) VALUES (0, 0, 0, 0);

COMMIT;

-- MODOCFISCALXCENTROSCUSTOS
CREATE TABLE MODOCFISCALXCENTROSCUSTOS
  (
    idCentroCustoDocFiscal NUMERIC (14,0) DEFAULT 0 NOT NULL,
    idItemDocFiscal        NUMERIC (14,0) DEFAULT 0 NOT NULL,
    idCentroCusto          NUMERIC (14,0) DEFAULT 0 NOT NULL,
    percentualRateio       NUMERIC (15,8) DEFAULT 0 NOT NULL
  );
ALTER TABLE MODOCFISCALXCENTROSCUSTOS ADD CONSTRAINT MODOCFISCALXCENTROSCUSTOS_PK1 PRIMARY KEY (idCentroCustoDocFiscal);
CREATE UNIQUE INDEX MODOCFISCALXCENTROSCUSTOS_K2 ON MODOCFISCALXCENTROSCUSTOS (idItemDocFiscal, idCentroCusto);
CREATE INDEX MODOCFISCALXCENTROSCUSTOS_K3 ON MODOCFISCALXCENTROSCUSTOS (idItemDocFiscal);
CREATE INDEX MODOCFISCALXCENTROSCUSTOS_K4 ON MODOCFISCALXCENTROSCUSTOS (idCentroCusto);
ALTER TABLE MODOCFISCALXCENTROSCUSTOS ADD CONSTRAINT MODOCFISCALXCENTROSCUSTOS_FK1 FOREIGN KEY (idItemDocFiscal) REFERENCES MODOCFISCALXITENS (idItemDocFiscal);
ALTER TABLE MODOCFISCALXCENTROSCUSTOS ADD CONSTRAINT MODOCFISCALXCENTROSCUSTOS_FK2 FOREIGN KEY (idCentroCusto) REFERENCES PACENTROSCUSTOS (idCentroCusto);

INSERT INTO MODOCFISCALXCENTROSCUSTOS (idCentroCustoDocFiscal, idItemDocFiscal, idCentroCusto, percentualRateio) VALUES (0, 0, 0, 0);

COMMIT;

CREATE TABLE MOEVENTOS_2401 AS SELECT * FROM MOEVENTOS;

DROP TABLE MOEVENTOS;

CREATE TABLE MOEVENTOS
  (
    evento                 NUMERIC (14,0) DEFAULT 0 NOT NULL,
    pessoa                 NUMERIC (14,0) DEFAULT 0 NOT NULL,
    projeto                VARCHAR (60) DEFAULT ' ' NOT NULL,
    orcamento              NUMERIC (14,0) DEFAULT 0 NOT NULL,
    preDocumento           NUMERIC (14,0) DEFAULT 0 NOT NULL,
    idDocumentoFiscal      NUMERIC (14,0) DEFAULT 0 NOT NULL,
    idFinanceiro           NUMERIC (14,0) DEFAULT 0 NOT NULL,
    separacao              NUMERIC (14,0) DEFAULT 0 NOT NULL,
    balanco                NUMERIC (14,0) DEFAULT 0 NOT NULL,
    documentoTransferencia NUMERIC (14,0) DEFAULT 0 NOT NULL,
    idConserto             NUMERIC (14,0) DEFAULT 0 NOT NULL,
    painelCompra           NUMERIC (14,0) DEFAULT 0 NOT NULL,
    sessaoCaixa            NUMERIC (14,0) DEFAULT 0 NOT NULL,
    atividadeProjeto       NUMERIC (14,0) DEFAULT 0 NOT NULL,
    data                   DATE,
    usuario                NUMERIC (14,0) DEFAULT 0 NOT NULL,
    sistema                NUMERIC (1,0) DEFAULT 0 NOT NULL,
    tipoEvento             NUMERIC (4,0) DEFAULT 0 NOT NULL,
    foneSms                VARCHAR (14) DEFAULT ' ' NOT NULL,
    deEmail                VARCHAR (256) DEFAULT ' ' NOT NULL,
    paraEmail              VARCHAR (4000) DEFAULT ' ' NOT NULL,
    comCopiaEmail          VARCHAR (4000) DEFAULT ' ' NOT NULL,
    comCopiaOcultaEmail    VARCHAR (4000) DEFAULT ' ' NOT NULL,
    assuntoEmailSms        VARCHAR (256) DEFAULT ' ' NOT NULL,
    corpoEmail             VARCHAR (4000) DEFAULT ' ' NOT NULL,
    tipoArquivoAnexoA      NUMERIC (3,0) DEFAULT 0 NOT NULL,
    arquivoAnexoA          VARCHAR (256) DEFAULT ' ' NOT NULL,
    tipoArquivoAnexoB      NUMERIC (3,0) DEFAULT 0 NOT NULL,
    arquivoAnexoB          VARCHAR (256) DEFAULT ' ' NOT NULL,
    tipoArquivoAnexoC      NUMERIC (3,0) DEFAULT 0 NOT NULL,
    arquivoAnexoC          VARCHAR (256) DEFAULT ' ' NOT NULL,
    tipoArquivoAnexoD      NUMERIC (3,0) DEFAULT 0 NOT NULL,
    arquivoAnexoD          VARCHAR (256) DEFAULT ' ' NOT NULL,
    tipoArquivoAnexoE      NUMERIC (3,0) DEFAULT 0 NOT NULL,
    arquivoAnexoE          VARCHAR (256) DEFAULT ' ' NOT NULL,
    tipoArquivoAnexoF      NUMERIC (3,0) DEFAULT 0 NOT NULL,
    arquivoAnexoF          VARCHAR (256) DEFAULT ' ' NOT NULL,
    tipoArquivoAnexoG      NUMERIC (3,0) DEFAULT 0 NOT NULL,
    arquivoAnexoG          VARCHAR (256) DEFAULT ' ' NOT NULL,
    tipoArquivoAnexoH      NUMERIC (3,0) DEFAULT 0 NOT NULL,
    arquivoAnexoH          VARCHAR (256) DEFAULT ' ' NOT NULL,
    tipoArquivoAnexoI      NUMERIC (3,0) DEFAULT 0 NOT NULL,
    arquivoAnexoI          VARCHAR (256) DEFAULT ' ' NOT NULL,
    tipoArquivoAnexoJ      NUMERIC (3,0) DEFAULT 0 NOT NULL,
    arquivoAnexoJ          VARCHAR (256) DEFAULT ' ' NOT NULL
  );
ALTER TABLE MOEVENTOS ADD CONSTRAINT MOEVENTOS_PK1 PRIMARY KEY (evento);
CREATE INDEX MOEVENTOS_K2 ON MOEVENTOS (pessoa);
CREATE INDEX MOEVENTOS_K3 ON MOEVENTOS (projeto);
CREATE INDEX MOEVENTOS_K4 ON MOEVENTOS (orcamento);
CREATE INDEX MOEVENTOS_K5 ON MOEVENTOS (preDocumento);
CREATE INDEX MOEVENTOS_K6 ON MOEVENTOS (idDocumentoFiscal);
CREATE INDEX MOEVENTOS_K7 ON MOEVENTOS (idFinanceiro);
CREATE INDEX MOEVENTOS_K8 ON MOEVENTOS (separacao);
CREATE INDEX MOEVENTOS_K9 ON MOEVENTOS (balanco);
CREATE INDEX MOEVENTOS_K10 ON MOEVENTOS (documentoTransferencia);
CREATE INDEX MOEVENTOS_K11 ON MOEVENTOS (idConserto);
CREATE INDEX MOEVENTOS_K12 ON MOEVENTOS (painelCompra);
CREATE INDEX MOEVENTOS_K13 ON MOEVENTOS (sessaoCaixa);
CREATE INDEX MOEVENTOS_K14 ON MOEVENTOS (atividadeProjeto);
CREATE INDEX MOEVENTOS_K15 ON MOEVENTOS (data DESC);
ALTER TABLE MOEVENTOS ADD CONSTRAINT MOEVENTOS_FK1 FOREIGN KEY (pessoa) REFERENCES CAPESSOAS (pessoa);
ALTER TABLE MOEVENTOS ADD CONSTRAINT MOEVENTOS_FK2 FOREIGN KEY (projeto) REFERENCES PAPROJETOS (projeto);
ALTER TABLE MOEVENTOS ADD CONSTRAINT MOEVENTOS_FK3 FOREIGN KEY (orcamento) REFERENCES MOORCAMENTOS (orcamento);
ALTER TABLE MOEVENTOS ADD CONSTRAINT MOEVENTOS_FK4 FOREIGN KEY (preDocumento) REFERENCES MOPREDOCUMENTOS (preDocumento);
ALTER TABLE MOEVENTOS ADD CONSTRAINT MOEVENTOS_FK5 FOREIGN KEY (idDocumentoFiscal) REFERENCES MODOCUMENTOSFISCAIS (idDocumentoFiscal);
ALTER TABLE MOEVENTOS ADD CONSTRAINT MOEVENTOS_FK6 FOREIGN KEY (idFinanceiro) REFERENCES MOFINANCEIROS (idFinanceiro);
ALTER TABLE MOEVENTOS ADD CONSTRAINT MOEVENTOS_FK7 FOREIGN KEY (separacao) REFERENCES MOSEPARACOES (separacao);
ALTER TABLE MOEVENTOS ADD CONSTRAINT MOEVENTOS_FK8 FOREIGN KEY (balanco) REFERENCES MOBALANCOS (balanco);
ALTER TABLE MOEVENTOS ADD CONSTRAINT MOEVENTOS_FK9 FOREIGN KEY (documentoTransferencia) REFERENCES MODOCUMENTOSTRANSFERENCIA (documentoTransferencia);
ALTER TABLE MOEVENTOS ADD CONSTRAINT MOEVENTOS_FK10 FOREIGN KEY (idConserto) REFERENCES MOCONSERTOS (idConserto);
ALTER TABLE MOEVENTOS ADD CONSTRAINT MOEVENTOS_FK11 FOREIGN KEY (sessaoCaixa) REFERENCES MOSESSOESCAIXA (sessaoCaixa);
ALTER TABLE MOEVENTOS ADD CONSTRAINT MOEVENTOS_FK12 FOREIGN KEY (atividadeProjeto) REFERENCES PAPROJETOXATIVIDADES (atividadeProjeto);
ALTER TABLE MOEVENTOS ADD CONSTRAINT MOEVENTOS_FK13 FOREIGN KEY (usuario) REFERENCES CAUSUARIOS (usuario);
ALTER TABLE MOEVENTOS ADD CONSTRAINT MOEVENTOS_FK14 FOREIGN KEY (tipoEvento) REFERENCES PATIPOSEVENTO (tipoEvento);
ALTER TABLE MOEVENTOS ADD CONSTRAINT MOEVENTOS_FK15 FOREIGN KEY (foneSms) REFERENCES CAFONES (fone);
ALTER TABLE MOEVENTOS ADD CONSTRAINT MOEVENTOS_FK16 FOREIGN KEY (tipoArquivoAnexoA) REFERENCES SITIPOSARQUIVO (tipoArquivo);
ALTER TABLE MOEVENTOS ADD CONSTRAINT MOEVENTOS_FK17 FOREIGN KEY (tipoArquivoAnexoB) REFERENCES SITIPOSARQUIVO (tipoArquivo);
ALTER TABLE MOEVENTOS ADD CONSTRAINT MOEVENTOS_FK18 FOREIGN KEY (tipoArquivoAnexoC) REFERENCES SITIPOSARQUIVO (tipoArquivo);
ALTER TABLE MOEVENTOS ADD CONSTRAINT MOEVENTOS_FK19 FOREIGN KEY (tipoArquivoAnexoD) REFERENCES SITIPOSARQUIVO (tipoArquivo);
ALTER TABLE MOEVENTOS ADD CONSTRAINT MOEVENTOS_FK20 FOREIGN KEY (tipoArquivoAnexoE) REFERENCES SITIPOSARQUIVO (tipoArquivo);
ALTER TABLE MOEVENTOS ADD CONSTRAINT MOEVENTOS_FK21 FOREIGN KEY (tipoArquivoAnexoF) REFERENCES SITIPOSARQUIVO (tipoArquivo);
ALTER TABLE MOEVENTOS ADD CONSTRAINT MOEVENTOS_FK22 FOREIGN KEY (tipoArquivoAnexoG) REFERENCES SITIPOSARQUIVO (tipoArquivo);
ALTER TABLE MOEVENTOS ADD CONSTRAINT MOEVENTOS_FK23 FOREIGN KEY (tipoArquivoAnexoH) REFERENCES SITIPOSARQUIVO (tipoArquivo);
ALTER TABLE MOEVENTOS ADD CONSTRAINT MOEVENTOS_FK24 FOREIGN KEY (tipoArquivoAnexoI) REFERENCES SITIPOSARQUIVO (tipoArquivo);
ALTER TABLE MOEVENTOS ADD CONSTRAINT MOEVENTOS_FK25 FOREIGN KEY (tipoArquivoAnexoJ) REFERENCES SITIPOSARQUIVO (tipoArquivo);

INSERT INTO MOEVENTOS (evento, pessoa, projeto, orcamento, preDocumento, idDocumentoFiscal, idFinanceiro, separacao, balanco, documentoTransferencia, idConserto, painelCompra, sessaoCaixa, atividadeProjeto, data, usuario, sistema, tipoEvento, foneSms, deEmail, paraEmail, comCopiaEmail, comCopiaOcultaEmail, assuntoEmailSms, corpoEmail, tipoArquivoAnexoA, arquivoAnexoA, tipoArquivoAnexoB, arquivoAnexoB, tipoArquivoAnexoC, arquivoAnexoC, tipoArquivoAnexoD, arquivoAnexoD, tipoArquivoAnexoE, arquivoAnexoE, tipoArquivoAnexoF, arquivoAnexoF, tipoArquivoAnexoG, arquivoAnexoG, tipoArquivoAnexoH, arquivoAnexoH, tipoArquivoAnexoI, arquivoAnexoI, tipoArquivoAnexoJ, arquivoAnexoJ) VALUES (0, 0, ' ', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 0, 0, 0, ' ', ' ', ' ', ' ', ' ', ' ', ' ', 0, ' ', 0, ' ', 0, ' ', 0, ' ', 0, ' ', 0, ' ', 0, ' ', 0, ' ', 0, ' ', 0, ' ');
INSERT INTO MOEVENTOS (evento, pessoa, projeto, orcamento, preDocumento, idDocumentoFiscal, idFinanceiro, separacao, balanco, documentoTransferencia, idConserto, painelCompra, sessaoCaixa, atividadeProjeto, data, usuario, sistema, tipoEvento, foneSms, deEmail, paraEmail, comCopiaEmail, comCopiaOcultaEmail, assuntoEmailSms, corpoEmail, tipoArquivoAnexoA, arquivoAnexoA, tipoArquivoAnexoB, arquivoAnexoB, tipoArquivoAnexoC, arquivoAnexoC, tipoArquivoAnexoD, arquivoAnexoD, tipoArquivoAnexoE, arquivoAnexoE, tipoArquivoAnexoF, arquivoAnexoF, tipoArquivoAnexoG, arquivoAnexoG, tipoArquivoAnexoH, arquivoAnexoH, tipoArquivoAnexoI, arquivoAnexoI, tipoArquivoAnexoJ, arquivoAnexoJ) SELECT evento, pessoa, projeto, orcamento, preDocumento, idDocumentoFiscal, idFinanceiro, separacao, balanco, documentoTransferencia, idConserto, painelCompra, sessaoCaixa, 0, data, usuario, sistema, tipoEvento, foneSms, deEmail, paraEmail, comCopiaEmail, comCopiaOcultaEmail, assuntoEmailSms, corpoEmail, tipoArquivoAnexoA, arquivoAnexoA, tipoArquivoAnexoB, arquivoAnexoB, tipoArquivoAnexoC, arquivoAnexoC, tipoArquivoAnexoD, arquivoAnexoD, tipoArquivoAnexoE, arquivoAnexoE, tipoArquivoAnexoF, arquivoAnexoF, tipoArquivoAnexoG, arquivoAnexoG, tipoArquivoAnexoH, arquivoAnexoH, tipoArquivoAnexoI, arquivoAnexoI, tipoArquivoAnexoJ, arquivoAnexoJ FROM MOEVENTOS_2401 WHERE evento > 0;

COMMIT;

CREATE TABLE CAPESSOAXARQUIVOS_2401 AS SELECT * FROM CAPESSOAXARQUIVOS;

DROP TABLE CAPESSOAXARQUIVOS;

-- CAPESSOAXARQUIVOS
CREATE TABLE CAPESSOAXARQUIVOS
  (
    id               NUMERIC (14,0) DEFAULT 0 NOT NULL,
    pessoa           NUMERIC (14,0) DEFAULT 0 NOT NULL,
    ordenacao        NUMERIC (11,0) DEFAULT 0 NOT NULL,
    tipoArquivo      NUMERIC (3,0) DEFAULT 0 NOT NULL,
    arquivo          VARCHAR (256) DEFAULT ' ' NOT NULL,
    imagemReduzida   VARCHAR (256) DEFAULT ' ' NOT NULL,
    imagemRedonda    VARCHAR (256) DEFAULT ' ' NOT NULL,
    tipoImagemPessoa NUMERIC (3,0) DEFAULT 0 NOT NULL,
    ativo            NUMERIC (1,0) DEFAULT 0 NOT NULL,
    observacoes      VARCHAR (4000) DEFAULT ' ' NOT NULL
  );
ALTER TABLE CAPESSOAXARQUIVOS ADD CONSTRAINT CAPESSOAXARQUIVOS_PK1 PRIMARY KEY (id);
CREATE INDEX CAPESSOAXARQUIVOS_K2 ON CAPESSOAXARQUIVOS (pessoa, ordenacao, tipoArquivo, arquivo);
CREATE INDEX CAPESSOAXARQUIVOS_K3 ON CAPESSOAXARQUIVOS (pessoa, tipoArquivo, tipoImagemPessoa, ordenacao, arquivo);
ALTER TABLE CAPESSOAXARQUIVOS ADD CONSTRAINT CAPESSOAXARQUIVOS_FK1 FOREIGN KEY (pessoa) REFERENCES CAPESSOAS (pessoa);
ALTER TABLE CAPESSOAXARQUIVOS ADD CONSTRAINT CAPESSOAXARQUIVOS_FK2 FOREIGN KEY (tipoArquivo) REFERENCES SITIPOSARQUIVO (tipoArquivo);
ALTER TABLE CAPESSOAXARQUIVOS ADD CONSTRAINT CAPESSOAXARQUIVOS_FK3 FOREIGN KEY (tipoImagemPessoa) REFERENCES SITIPOSIMAGEMPESSOA (tipoImagemPessoa);

INSERT INTO CAPESSOAXARQUIVOS (id, pessoa, ordenacao, tipoArquivo, arquivo, imagemReduzida, imagemRedonda, tipoImagemPessoa, ativo, observacoes) VALUES (0, 0, 0, 0, ' ', ' ', ' ', 0, 0, ' ');
INSERT INTO CAPESSOAXARQUIVOS (id, pessoa, ordenacao, tipoArquivo, arquivo, imagemReduzida, imagemRedonda, tipoImagemPessoa, ativo, observacoes) SELECT id, pessoa, ordenacao, tipoArquivo, arquivo, ' ', ' ', tipoImagemPessoa, ativo, observacoes FROM CAPESSOAXARQUIVOS_2401 WHERE id > 0;

COMMIT;

CREATE TABLE CAPRODUTOXARQUIVOS_2401 AS SELECT * FROM CAPRODUTOXARQUIVOS;

DROP TABLE CAPRODUTOXARQUIVOS;

-- CAPRODUTOXARQUIVOS
CREATE TABLE CAPRODUTOXARQUIVOS
  (
    id             NUMERIC (14,0) DEFAULT 0 NOT NULL,
    produto        NUMERIC (7,0) DEFAULT 0 NOT NULL,
    ordenacao      NUMERIC (11,0) DEFAULT 0 NOT NULL,
    cor            NUMERIC (7,0) DEFAULT 0 NOT NULL,
    tipoArquivo    NUMERIC (3,0) DEFAULT 0 NOT NULL,
    arquivo        VARCHAR (256) DEFAULT ' ' NOT NULL,
    imagemReduzida VARCHAR (256) DEFAULT ' ' NOT NULL,
    imagemRedonda  VARCHAR (256) DEFAULT ' ' NOT NULL,
    ativo          NUMERIC (1,0) DEFAULT 0 NOT NULL,
    observacoes    VARCHAR (4000) DEFAULT ' ' NOT NULL
  );
ALTER TABLE CAPRODUTOXARQUIVOS ADD CONSTRAINT CAPRODUTOXARQUIVOS_PK1 PRIMARY KEY (id);
CREATE INDEX CAPRODUTOXARQUIVOS_K2 ON CAPRODUTOXARQUIVOS (produto, ordenacao, cor, tipoArquivo, arquivo);
ALTER TABLE CAPRODUTOXARQUIVOS ADD CONSTRAINT CAPRODUTOXARQUIVOS_FK1 FOREIGN KEY (produto) REFERENCES CAPRODUTOS (produto);
ALTER TABLE CAPRODUTOXARQUIVOS ADD CONSTRAINT CAPRODUTOXARQUIVOS_FK2 FOREIGN KEY (cor) REFERENCES PACORES (cor);
ALTER TABLE CAPRODUTOXARQUIVOS ADD CONSTRAINT CAPRODUTOXARQUIVOS_FK3 FOREIGN KEY (tipoArquivo) REFERENCES SITIPOSARQUIVO (tipoArquivo);

INSERT INTO CAPRODUTOXARQUIVOS (id, produto, ordenacao, cor, tipoArquivo, arquivo, imagemReduzida, imagemRedonda, ativo, observacoes) VALUES (0, 0, 0, 0, 0,'SELECIONE', ' ', ' ', 1, ' ');
INSERT INTO CAPRODUTOXARQUIVOS (id, produto, ordenacao, cor, tipoArquivo, arquivo, imagemReduzida, imagemRedonda, ativo, observacoes) SELECT id, produto, ordenacao, cor, tipoArquivo, arquivo, ' ', ' ', ativo, observacoes FROM CAPRODUTOXARQUIVOS_2401 WHERE id > 0;

COMMIT;

CREATE TABLE MOCATEGORIASMENUUSUARIO_2401 AS SELECT * FROM MOCATEGORIASMENUUSUARIO;

DROP TABLE MOCATEGORIASMENUUSUARIO;

CREATE TABLE MOCATEGORIASMENUUSUARIO
  (
    id            NUMERIC (14,0) DEFAULT 0 NOT NULL,
    guia          CHAR (1) DEFAULT ' ' NOT NULL,
    categoriaMenu NUMERIC (6,0) DEFAULT 0 NOT NULL,
    tipoMenu      CHAR (2) DEFAULT '  ' NOT NULL,
    usuario       NUMERIC (14,0) DEFAULT 0 NOT NULL,
    expandido     NUMERIC (1,0) DEFAULT 0 NOT NULL
  );
ALTER TABLE MOCATEGORIASMENUUSUARIO ADD CONSTRAINT MOCATEGORIASMENUUSUARIO_PK1 PRIMARY KEY (id);
CREATE UNIQUE INDEX MOCATEGORIASMENUUSUARIO_K2 ON MOCATEGORIASMENUUSUARIO (guia, categoriaMenu, tipoMenu, usuario);
CREATE INDEX MOCATEGORIASMENUUSUARIO_K3 ON MOCATEGORIASMENUUSUARIO (usuario, guia, categoriaMenu, tipoMenu);
ALTER TABLE MOCATEGORIASMENUUSUARIO ADD CONSTRAINT MOCATEGORIASMENUUSUARIO_FK1 FOREIGN KEY (categoriaMenu) REFERENCES SICATEGORIASMENU (categoriaMenu);
ALTER TABLE MOCATEGORIASMENUUSUARIO ADD CONSTRAINT MOCATEGORIASMENUUSUARIO_FK2 FOREIGN KEY (tipoMenu) REFERENCES SITIPOSMENU (tipoMenu);
ALTER TABLE MOCATEGORIASMENUUSUARIO ADD CONSTRAINT MOCATEGORIASMENUUSUARIO_FK3 FOREIGN KEY (usuario) REFERENCES CAUSUARIOS (usuario);

INSERT INTO MOCATEGORIASMENUUSUARIO (id, guia, categoriaMenu, tipoMenu, usuario, expandido) VALUES (0, ' ', 0, '  ', 0, 0);
INSERT INTO MOCATEGORIASMENUUSUARIO (id, guia, categoriaMenu, tipoMenu, usuario, expandido) SELECT id, guia, categoriaMenu, '  ', usuario, expandido FROM MOCATEGORIASMENUUSUARIO_2401 WHERE id > 0;

COMMIT;

ALTER TABLE SIMENUS DROP CONSTRAINT SIMENUS_FK1;
ALTER TABLE PAMENUXPERMISSOES DROP CONSTRAINT PAMENUXPERMISSOES_FK1;
ALTER TABLE MOCATEGORIASMENUUSUARIO DROP CONSTRAINT MOCATEGORIASMENUUSUARIO_FK2;

DROP TABLE SITIPOSMENU;

-- SITIPOSMENU
CREATE TABLE SITIPOSMENU
  (
    tipoMenu    CHAR (2) DEFAULT '  ' NOT NULL,
    descricao   VARCHAR (60) DEFAULT ' ' NOT NULL,
    ativo       NUMERIC (1,0) DEFAULT 0 NOT NULL,
    ordenacao   NUMERIC (11,0) DEFAULT 0 NOT NULL,
    observacoes VARCHAR (4000) DEFAULT ' ' NOT NULL
  );
ALTER TABLE SITIPOSMENU ADD CONSTRAINT SITIPOSMENU_PK1 PRIMARY KEY (tipoMenu);
CREATE INDEX SITIPOSMENU_K2 ON SITIPOSMENU (descricao);
CREATE INDEX SITIPOSMENU_K3 ON SITIPOSMENU (ordenacao, tipoMenu);

INSERT INTO SITIPOSMENU (tipoMenu, descricao, ativo, ordenacao, observacoes) VALUES ('  ', 'SELECIONE', 1, 0, ' ');
INSERT INTO SITIPOSMENU (tipoMenu, descricao, ativo, ordenacao, observacoes) values ('MO', 'Movimento', 1, 10, ' ');
INSERT INTO SITIPOSMENU (tipoMenu, descricao, ativo, ordenacao, observacoes) values ('RE', 'Relatório', 1, 20, ' ');
INSERT INTO SITIPOSMENU (tipoMenu, descricao, ativo, ordenacao, observacoes) values ('PE', 'Pessoa', 1, 30, ' ');
INSERT INTO SITIPOSMENU (tipoMenu, descricao, ativo, ordenacao, observacoes) values ('PR', 'Produto', 1, 40, ' ');
INSERT INTO SITIPOSMENU (tipoMenu, descricao, ativo, ordenacao, observacoes) values ('CO', 'Comando', 1, 50, ' ');
INSERT INTO SITIPOSMENU (tipoMenu, descricao, ativo, ordenacao, observacoes) values ('MA', 'Manutenção', 1, 60, ' ');
INSERT INTO SITIPOSMENU (tipoMenu, descricao, ativo, ordenacao, observacoes) values ('PA', 'Parâmetro', 1, 70, ' ');
INSERT INTO SITIPOSMENU (tipoMenu, descricao, ativo, ordenacao, observacoes) values ('SI', 'Sistema', 1, 90, ' ');

COMMIT;

ALTER TABLE SIMENUS ADD CONSTRAINT SIMENUS_FK1 FOREIGN KEY (tipoMenu) REFERENCES SITIPOSMENU (tipoMenu);
ALTER TABLE PAMENUXPERMISSOES ADD CONSTRAINT PAMENUXPERMISSOES_FK1 FOREIGN KEY (tipoMenu) REFERENCES SITIPOSMENU (tipoMenu);
ALTER TABLE MOCATEGORIASMENUUSUARIO ADD CONSTRAINT MOCATEGORIASMENUUSUARIO_FK2 FOREIGN KEY (tipoMenu) REFERENCES SITIPOSMENU (tipoMenu);

DROP TABLE TEMPGRAFICO;

DROP TABLE TEMPJSON;

-- TEMPJSON;
CREATE GLOBAL TEMPORARY TABLE TEMPJSON
  (
    sessaoClient    VARCHAR (30) DEFAULT ' ' NOT NULL,
    contadorSessao  NUMERIC (14,0) DEFAULT 0 NOT NULL,
    conteudo        CLOB
    CONSTRAINT TEMPJSON_CK1 CHECK (conteudo IS JSON)
  ) ON COMMIT PRESERVE ROWS;
ALTER TABLE TEMPJSON ADD CONSTRAINT TEMPJSON_PK1 PRIMARY KEY (sessaoClient, contadorSessao);

DROP TABLE TEMPIMPRESSOES;

-- TEMPIMPRESSOES;
CREATE GLOBAL TEMPORARY TABLE TEMPIMPRESSOES
  (
    sessaoClient            VARCHAR (30) DEFAULT ' ' NOT NULL,
    contadorSessao          NUMERIC (14,0) DEFAULT 0 NOT NULL,
    ordenacao               NUMERIC (11,0) DEFAULT 0 NOT NULL,
    selecionar              NUMERIC (1,0) DEFAULT 0 NOT NULL,
    selecionado             NUMERIC (1,0) DEFAULT 0 NOT NULL,
    tipoDocumentoImpresso   NUMERIC (3,0) DEFAULT 0 NOT NULL,
    tecnologiaImpressao     NUMERIC (3,0) DEFAULT 0 NOT NULL,
    descricao               VARCHAR (60) DEFAULT ' ' NOT NULL,
    numeroVias              NUMERIC (3,0) DEFAULT 0 NOT NULL,
    visualizarAntesImprimir NUMERIC (1,0) DEFAULT 0 NOT NULL,
    arquivoModelo           VARCHAR (256) DEFAULT ' ' NOT NULL,
    extensaoReport          VARCHAR (10) NOT NULL,
    arquivoGerado           CLOB,
    arquivoGeradoB          CLOB,
    formaImpressao          NUMERIC (3,0) DEFAULT 0 NOT NULL,
    idImpressora            NUMERIC (14,0) DEFAULT 0 NOT NULL,
    tipoImpressora          NUMERIC (3,0) DEFAULT 0 NOT NULL,
    impressoraClient        NUMERIC (1,0) DEFAULT 0 NOT NULL,
    caminhoImpressora       VARCHAR (256) DEFAULT ' ' NOT NULL,
    observacoes             VARCHAR (4000) DEFAULT ' ' NOT NULL
  ) ON COMMIT PRESERVE ROWS;
ALTER TABLE TEMPIMPRESSOES ADD CONSTRAINT TEMPIMPRESSOES_PK1 PRIMARY KEY (sessaoClient, contadorSessao, ordenacao);

DROP TABLE TEMPDADOS;

-- TEMPDADOS
CREATE GLOBAL TEMPORARY TABLE TEMPDADOS
  (
    sessaoClient    VARCHAR (30) DEFAULT ' ' NOT NULL,
    contadorSessao  NUMERIC (14,0) DEFAULT 0 NOT NULL,
    planilha        NUMERIC (14,0) DEFAULT 0 NOT NULL,
    linha           NUMERIC (14,0) DEFAULT 0 NOT NULL,
    coluna          NUMERIC (14,0) DEFAULT 0 NOT NULL,
    conteudo        VARCHAR2(4000) NOT NULL
  ) ON COMMIT PRESERVE ROWS;
CREATE UNIQUE INDEX TEMPDADOS_PK1 ON TEMPDADOS (sessaoClient, contadorSessao, planilha, linha, coluna);

DROP TABLE TEMPSELECIONADOS;

-- TEMPSELECIONADOS
CREATE GLOBAL TEMPORARY TABLE TEMPSELECIONADOS
  (
    sessaoClient    VARCHAR (30) DEFAULT ' ' NOT NULL,
    contadorSessao  NUMERIC (14,0) DEFAULT 0 NOT NULL,
    ordenacao       NUMERIC (11,0) DEFAULT 0 NOT NULL,
    selecionado     NUMERIC (1,0) DEFAULT 0 NOT NULL,
    id              NUMERIC (14,0) DEFAULT 0 NOT NULL,
    codigo          VARCHAR (256) DEFAULT ' ' NOT NULL,
    id2             NUMERIC (14,0) DEFAULT 0 NOT NULL,
    codigo2         VARCHAR (256) DEFAULT ' ' NOT NULL,
    descricao       VARCHAR (300) DEFAULT ' ' NOT NULL,
    quebra          VARCHAR (256) DEFAULT ' ' NOT NULL,
    registros       NUMERIC (14,0) DEFAULT 0 NOT NULL
  ) ON COMMIT PRESERVE ROWS;
CREATE UNIQUE INDEX TEMPSELECIONADOS_PK1 ON TEMPSELECIONADOS (sessaoClient, contadorSessao, ordenacao, id, codigo);
CREATE INDEX TEMPSELECIONADOS_K2 ON TEMPSELECIONADOS (sessaoClient, contadorSessao, id, codigo);
CREATE INDEX TEMPSELECIONADOS_K3 ON TEMPSELECIONADOS (sessaoClient, contadorSessao, quebra, id, codigo);
CREATE INDEX TEMPSELECIONADOS_K4 ON TEMPSELECIONADOS (sessaoClient);
CREATE INDEX TEMPSELECIONADOS_K5 ON TEMPSELECIONADOS (sessaoClient, contadorSessao);

DROP TABLE TEMPSPCDETALHE;

CREATE GLOBAL TEMPORARY TABLE TEMPSPCDETALHE
  (
    sessaoClient         VARCHAR (30) DEFAULT ' ' NOT NULL,
    contadorSessao       NUMERIC (14,0) DEFAULT 0 NOT NULL,
    tipoRetornoSPC       CHAR (1) DEFAULT ' ' NOT NULL,
    ordenacao            NUMERIC (11,0) DEFAULT 0 NOT NULL,
    data                 DATE,
    motivoOpcao          VARCHAR2(256) NOT NULL,
    valor                NUMERIC (15,2) DEFAULT 0 NOT NULL,
    vencimento           DATE,
    documento            VARCHAR2(60) NOT NULL,
    banco                VARCHAR2(3) NOT NULL,
    agenciaBanco         VARCHAR2(6) NOT NULL,
    contaBanco           VARCHAR2(12) NOT NULL,
    chequeInicial        NUMBER(6) NOT NULL,
    chequeFinal          NUMBER(6) NOT NULL,
    numeroBO             VARCHAR2(60) NOT NULL,
    cidadeBO             VARCHAR2(60) NOT NULL,
    ufBO                 VARCHAR2(2) NOT NULL,
    dataBO               DATE,
    dataExpedicaoNovoRG  DATE,
    dataExpedicaoNovaCNH DATE,
    nomeAssociado        VARCHAR2(60) NOT NULL,
    municipioAssociado   VARCHAR2(60) NOT NULL,
    ufAssociado          VARCHAR2(2) NOT NULL,
    foneAssociado        VARCHAR2(14) NOT NULL,
    CDLOrigem            VARCHAR2(60) NOT NULL
  ) ON COMMIT PRESERVE ROWS;
CREATE UNIQUE INDEX TEMPSPCDETALHE_PK1 ON TEMPSPCDETALHE (sessaoClient, contadorSessao, tipoRetornoSPC DESC, ordenacao);
CREATE INDEX TEMPSPCDETALHE_K2 ON TEMPSPCDETALHE (sessaoClient, contadorSessao, tipoRetornoSPC, motivoOpcao, valor, vencimento, documento);

DROP TABLE TEMPIMAGENSCLIENT;

CREATE GLOBAL TEMPORARY TABLE TEMPIMAGENSCLIENT
  (
    sessaoClient    VARCHAR (30) DEFAULT ' ' NOT NULL,
    nomeImagem      VARCHAR (256) DEFAULT ' ' NOT NULL,
    caminhoNoClient VARCHAR (256) DEFAULT ' ' NOT NULL
  ) ON COMMIT PRESERVE ROWS;
ALTER TABLE TEMPIMAGENSCLIENT ADD CONSTRAINT TEMPIMAGENSCLIENT_PK1 PRIMARY KEY (sessaoClient, nomeImagem);

DROP TABLE TEMPBOTOES;

CREATE GLOBAL TEMPORARY TABLE TEMPBOTOES
  (
    sessaoClient    VARCHAR (30) DEFAULT ' ' NOT NULL,
    contadorSessao  NUMERIC (14,0) DEFAULT 0 NOT NULL,
    ordenacao       NUMERIC (11,0) DEFAULT 0 NOT NULL,
    id              NUMERIC (14,0) DEFAULT 0 NOT NULL,
    codigo          VARCHAR (256) DEFAULT ' ' NOT NULL,
    id2             NUMERIC (14,0) DEFAULT 0 NOT NULL,
    codigo2         VARCHAR (256) DEFAULT ' ' NOT NULL,
    codigoDescricao VARCHAR (300) DEFAULT ' ' NOT NULL,
    descricao       VARCHAR (256) DEFAULT ' ' NOT NULL
  ) ON COMMIT PRESERVE ROWS;
ALTER TABLE TEMPBOTOES ADD CONSTRAINT TEMPBOTOES_PK1 PRIMARY KEY (sessaoClient, contadorSessao, ordenacao);

DROP TABLE TEMPPESQUISAS;

-- TEMPPESQUISAS
CREATE GLOBAL TEMPORARY TABLE TEMPPESQUISAS
  (
    sessaoClient    VARCHAR (30) DEFAULT ' ' NOT NULL,
    nomePublico     VARCHAR (30) DEFAULT ' ' NOT NULL,
    contadorSessao  NUMERIC (14,0) DEFAULT 0 NOT NULL,
    id              NUMERIC (14,0) DEFAULT 0 NOT NULL,
    codigo          VARCHAR (256) DEFAULT ' ' NOT NULL,
    visivel         NUMERIC (1,0) DEFAULT 0 NOT NULL,
    ordenacao       NUMERIC (11,0) DEFAULT 0 NOT NULL,
    selecionado     NUMERIC (1,0) DEFAULT 0 NOT NULL,
    tipoDocumento   NUMERIC (3,0) DEFAULT 0 NOT NULL,
    idDocumento     NUMERIC (14,0) DEFAULT 0 NOT NULL,
    pessoa          NUMERIC (14,0) DEFAULT 0 NOT NULL,
    legenda         NUMERIC (3,0) DEFAULT 0 NOT NULL,
    imagem          VARCHAR (256) DEFAULT ' ' NOT NULL,
    ativo           NUMERIC (1,0) DEFAULT 0 NOT NULL,
    efetivar        NUMERIC (1,0) DEFAULT 0 NOT NULL,
    quebraEfetivar  VARCHAR (300) DEFAULT ' ' NOT NULL,
    editarComoCriar NUMERIC (1,0) DEFAULT 0 NOT NULL,
    eventos         NUMERIC (1,0) DEFAULT 0 NOT NULL,
    imprimir        NUMERIC (1,0) DEFAULT 0 NOT NULL,
    salvar          NUMERIC (1,0) DEFAULT 0 NOT NULL,
    fonte           NUMERIC (3,0) DEFAULT 0 NOT NULL,
    cor             NUMERIC (3,0) DEFAULT 0 NOT NULL,
    campoA          VARCHAR (300) DEFAULT ' ' NOT NULL,
    campoDescricao  VARCHAR (300) DEFAULT ' ' NOT NULL,
    campoB          VARCHAR (300) DEFAULT ' ' NOT NULL,
    corB            NUMERIC (3,0) DEFAULT 0 NOT NULL,
    campoC          VARCHAR (300) DEFAULT ' ' NOT NULL,
    corC            NUMERIC (3,0) DEFAULT 0 NOT NULL,
    campoD          VARCHAR (300) DEFAULT ' ' NOT NULL,
    corD            NUMERIC (3,0) DEFAULT 0 NOT NULL,
    campoE          VARCHAR (300) DEFAULT ' ' NOT NULL,
    corE            NUMERIC (3,0) DEFAULT 0 NOT NULL,
    campoF          VARCHAR (300) DEFAULT ' ' NOT NULL,
    corF            NUMERIC (3,0) DEFAULT 0 NOT NULL,
    campoG          VARCHAR (300) DEFAULT ' ' NOT NULL,
    corG            NUMERIC (3,0) DEFAULT 0 NOT NULL,
    campoH          VARCHAR (300) DEFAULT ' ' NOT NULL,
    corH            NUMERIC (3,0) DEFAULT 0 NOT NULL,
    campoI          VARCHAR (300) DEFAULT ' ' NOT NULL,
    corI            NUMERIC (3,0) DEFAULT 0 NOT NULL,
    campoJ          VARCHAR (300) DEFAULT ' ' NOT NULL,
    corJ            NUMERIC (3,0) DEFAULT 0 NOT NULL,
    campoK          VARCHAR (300) DEFAULT ' ' NOT NULL,
    corK            NUMERIC (3,0) DEFAULT 0 NOT NULL,
    campoL          VARCHAR (300) DEFAULT ' ' NOT NULL,
    corL            NUMERIC (3,0) DEFAULT 0 NOT NULL,
    linhaB          VARCHAR (300) DEFAULT ' ' NOT NULL,
    corLinhaB       NUMERIC (3,0) DEFAULT 0 NOT NULL,
    linhaC          VARCHAR (300) DEFAULT ' ' NOT NULL,
    corLinhaC       NUMERIC (3,0) DEFAULT 0 NOT NULL,
    colunaOcultaA   VARCHAR (300) DEFAULT ' ' NOT NULL,
    colunaOcultaB   VARCHAR (300) DEFAULT ' ' NOT NULL,
    colunaOcultaC   VARCHAR (300) DEFAULT ' ' NOT NULL,
    colunaOcultaD   VARCHAR (300) DEFAULT ' ' NOT NULL,
    idAuxilizar     NUMERIC (14,0) DEFAULT 0 NOT NULL,
    logicoAAuxiliar NUMERIC (1,0) DEFAULT 0 NOT NULL,
    logicoBAuxiliar NUMERIC (1,0) DEFAULT 0 NOT NULL,
    observacoes     VARCHAR (4000) DEFAULT ' ' NOT NULL
  ) ON COMMIT PRESERVE ROWS;
ALTER TABLE TEMPPESQUISAS ADD CONSTRAINT TEMPPESQUISAS_PK1 PRIMARY KEY (sessaoClient, nomePublico, contadorSessao, id, codigo);
CREATE INDEX TEMPPESQUISAS_K2 ON TEMPPESQUISAS (sessaoClient, nomePublico, contadorSessao, visivel, ordenacao);
CREATE INDEX TEMPPESQUISAS_K3 ON TEMPPESQUISAS (sessaoClient, nomePublico, contadorSessao, visivel, quebraEfetivar, id, codigo);
CREATE INDEX TEMPPESQUISAS_K4 ON TEMPPESQUISAS (sessaoClient);
CREATE INDEX TEMPPESQUISAS_K5 ON TEMPPESQUISAS (nomePublico);
CREATE INDEX TEMPPESQUISAS_K6 ON TEMPPESQUISAS (sessaoClient, nomePublico, contadorSessao);
CREATE INDEX TEMPPESQUISAS_K7 ON TEMPPESQUISAS (id);
CREATE INDEX TEMPPESQUISAS_K8 ON TEMPPESQUISAS (codigo);

DROP TABLE TEMPCARRINHO;

-- TEMPCARRINHO
CREATE GLOBAL TEMPORARY TABLE TEMPCARRINHO
  (
    sessaoClient                VARCHAR (30) DEFAULT ' ' NOT NULL,
    sequencia                   NUMERIC (3,0) DEFAULT 0 NOT NULL,
    produto                     NUMERIC (7,0) DEFAULT 0 NOT NULL,
    gradeProduto                NUMERIC (14,0) DEFAULT 0 NOT NULL,
    idFormulaTinta              NUMERIC (14,0) DEFAULT 0 NOT NULL,
    personalizacao              NUMERIC (7,0) DEFAULT 0 NOT NULL,
    idLoteEstoque               NUMERIC (14,0) DEFAULT 0 NOT NULL,
    localEstoque                NUMERIC (4,0) DEFAULT 0 NOT NULL,
    pessoaParticipante          NUMERIC (14,0) DEFAULT 0 NOT NULL,
    controleQuantidade          NUMERIC (1,0) DEFAULT 0 NOT NULL,
    unidadeMedidaConversao      VARCHAR (6) DEFAULT ' ' NOT NULL,
    conversorQuantidade         NUMERIC (15,8) DEFAULT 0 NOT NULL,
    loteMinimo                  NUMERIC (15,6) DEFAULT 0 NOT NULL,
    loteMultiplo                NUMERIC (15,6) DEFAULT 0 NOT NULL,
    altura                      NUMERIC (14,3) DEFAULT 0 NOT NULL,
    largura                     NUMERIC (14,3) DEFAULT 0 NOT NULL,
    comprimento                 NUMERIC (14,3) DEFAULT 0 NOT NULL,
    pecas                       NUMERIC (15,6) DEFAULT 0 NOT NULL,
    quantidade                  NUMERIC (15,6) DEFAULT 0 NOT NULL,
    quantidadeConvertida        NUMERIC (15,6) DEFAULT 0 NOT NULL,
    pesoLiquido                 NUMERIC (15,6) DEFAULT 0 NOT NULL,
    pesoBruto                   NUMERIC (15,6) DEFAULT 0 NOT NULL,
    tipoPreco                   CHAR (1) DEFAULT ' ' NOT NULL,
    tabelaPreco                 VARCHAR (10) DEFAULT ' ' NOT NULL,
    precoSugestaoAPrazo         NUMERIC (15,7) DEFAULT 0 NOT NULL,
    precoSugestaoAVista         NUMERIC (15,7) DEFAULT 0 NOT NULL,
    precoDesconto               NUMERIC (15,7) DEFAULT 0 NOT NULL,
    precoMinimo                 NUMERIC (15,7) DEFAULT 0 NOT NULL,
    usarPrecoAVista             NUMERIC (1,0) DEFAULT 0 NOT NULL,
    precoPautaTabelado          NUMERIC (15,7) DEFAULT 0 NOT NULL,
    precoUnitarioBruto          NUMERIC (15,7) DEFAULT 0 NOT NULL,
    acrescimoUnitarioComposicao NUMERIC (15,7) DEFAULT 0 NOT NULL,
    precoUnitario               NUMERIC (15,7) DEFAULT 0 NOT NULL,
    precoUnitarioConvertido     NUMERIC (15,7) DEFAULT 0 NOT NULL,
    valorProdutoServicoBruto    NUMERIC (15,2) DEFAULT 0 NOT NULL,
    valorProdutoServico         NUMERIC (15,2) DEFAULT 0 NOT NULL,
    observacoesDigitadas        VARCHAR (4000) DEFAULT ' ' NOT NULL,
    observacoes                 VARCHAR (4000) DEFAULT ' ' NOT NULL,
    idEnderecoEstoque           NUMERIC (14,0) DEFAULT 0 NOT NULL,
    idNumeroSerie               NUMERIC (14,0) DEFAULT 0 NOT NULL
  ) ON COMMIT PRESERVE ROWS;
ALTER TABLE TEMPCARRINHO ADD CONSTRAINT TEMPCARRINHO_PK1 PRIMARY KEY (sessaoClient, sequencia);
CREATE INDEX TEMPCARRINHO_K2 ON TEMPCARRINHO (sessaoClient, produto, sequencia);
CREATE INDEX TEMPCARRINHO_K3 ON TEMPCARRINHO (sessaoClient);
CREATE INDEX TEMPCARRINHO_K4 ON TEMPCARRINHO (produto);
CREATE INDEX TEMPCARRINHO_K5 ON TEMPCARRINHO (gradeProduto);
CREATE INDEX TEMPCARRINHO_K6 ON TEMPCARRINHO (sessaoClient, gradeProduto, idFormulaTinta, personalizacao, idLoteEstoque, idEnderecoEstoque, idNumeroSerie);

DROP TABLE TEMPCOMPOSICAOPRECO;

-- TEMPCOMPOSICAOPRECO
CREATE GLOBAL TEMPORARY TABLE TEMPCOMPOSICAOPRECO
  (
    sessaoClient                VARCHAR (30) DEFAULT ' ' NOT NULL,
    nomeTempComposicao          VARCHAR (30) DEFAULT ' ' NOT NULL,
    sequencia                   NUMERIC (3,0) DEFAULT 0 NOT NULL,
    sequenciaComposicao         NUMERIC (3,0) DEFAULT 0 NOT NULL,
    idItem                      NUMERIC (14,0) DEFAULT 0 NOT NULL,
    composicaoPreco             NUMERIC (14,0) DEFAULT 0 NOT NULL,
    descricao                   VARCHAR (120) DEFAULT ' ' NOT NULL,
    informaQuantidade           NUMERIC (1,0) DEFAULT 0 NOT NULL,
    gradeProdutoEstoque         NUMERIC (14,0) DEFAULT 0 NOT NULL,
    selecionado                 NUMERIC (1,0) DEFAULT 0 NOT NULL,
    selecionadoTela             NUMERIC (1,0) DEFAULT 0 NOT NULL,
    quantidade                  NUMERIC (15,6) DEFAULT 0 NOT NULL,
    quantidadeTela              NUMERIC (15,6) DEFAULT 0 NOT NULL,
    percAcrescimoPrecoUnitario  NUMERIC (15,8) DEFAULT 0 NOT NULL,
    valorAcrescimoPrecoUnitario NUMERIC (15,7) DEFAULT 0 NOT NULL,
    observacoes                 VARCHAR (4000) DEFAULT ' ' NOT NULL
  ) ON COMMIT PRESERVE ROWS;
CREATE UNIQUE INDEX TEMPCOMPOSICAOPRECO_PK1 ON TEMPCOMPOSICAOPRECO (sessaoClient, nomeTempComposicao, sequencia, sequenciaComposicao);
CREATE INDEX TEMPCOMPOSICAOPRECO_K2 ON TEMPCOMPOSICAOPRECO (sessaoClient);
CREATE INDEX TEMPCOMPOSICAOPRECO_K3 ON TEMPCOMPOSICAOPRECO (sessaoClient, nomeTempComposicao, sequencia);

DROP TABLE TEMPCONFERENCIAS;

CREATE GLOBAL TEMPORARY TABLE TEMPCONFERENCIAS
  (
    sessaoClient    VARCHAR (30) DEFAULT ' ' NOT NULL,
    contadorSessao  NUMERIC (14,0) DEFAULT 0 NOT NULL,
    id              NUMERIC (14,0) DEFAULT 0 NOT NULL,
    selecionado     NUMERIC (1,0) DEFAULT 0 NOT NULL,
    nomeCampo       VARCHAR (256) DEFAULT ' ' NOT NULL,
    conteudoAtual   VARCHAR (4000) DEFAULT ' ' NOT NULL,
    conteudoNovo    VARCHAR (4000) DEFAULT ' ' NOT NULL,
    mascara         VARCHAR (30) DEFAULT ' ' NOT NULL,
    excecaoTipi     CHAR (3) DEFAULT '   ' NOT NULL
  ) ON COMMIT PRESERVE ROWS;
ALTER TABLE TEMPCONFERENCIAS ADD CONSTRAINT TEMPCONFERENCIAS_PK1 PRIMARY KEY (sessaoClient, contadorSessao, id);

DROP TABLE TEMPPESQUISAPRODUTOS;

-- TEMPPESQUISAPRODUTOS
CREATE GLOBAL TEMPORARY TABLE TEMPPESQUISAPRODUTOS
  (
    sessaoClient                 VARCHAR (30) DEFAULT ' ' NOT NULL,
    contadorSessao               NUMERIC (14,0) DEFAULT 0 NOT NULL,
    gradeProduto                 NUMERIC (14,0) DEFAULT 0 NOT NULL,
    produto                      NUMERIC (7,0) DEFAULT 0 NOT NULL,
    visivel                      NUMERIC (1,0) DEFAULT 0 NOT NULL,
    ordenacao                    NUMERIC (11,0) DEFAULT 0 NOT NULL,
    selecionado                  NUMERIC (1,0) DEFAULT 0 NOT NULL,
    quantidadeCarrinhoCompras    NUMERIC (15,6) DEFAULT 0 NOT NULL,
    legenda                      NUMERIC (3,0) DEFAULT 0 NOT NULL,
    imagem                       VARCHAR (256) DEFAULT ' ' NOT NULL,
    produtoImpresso              VARCHAR (60) DEFAULT ' ' NOT NULL,
    descricao                    VARCHAR (120) DEFAULT ' ' NOT NULL,
    ativo                        NUMERIC (1,0) DEFAULT 0 NOT NULL,
    descricaoCategoriaProduto    VARCHAR (120) DEFAULT ' ' NOT NULL,
    descricaoSubcategoriaProduto VARCHAR (120) DEFAULT ' ' NOT NULL,
    descricaoMarca               VARCHAR (60) DEFAULT ' ' NOT NULL,
    referencia                   VARCHAR (60) DEFAULT ' ' NOT NULL,
    descricaoCaracteristicaA     VARCHAR (120) DEFAULT ' ' NOT NULL,
    descricaoCaracteristicaB     VARCHAR (120) DEFAULT ' ' NOT NULL,
    descricaoCaracteristicaC     VARCHAR (120) DEFAULT ' ' NOT NULL,
    descricaoCaracteristicaD     VARCHAR (120) DEFAULT ' ' NOT NULL,
    descricaoCaracteristicaE     VARCHAR (120) DEFAULT ' ' NOT NULL,
    descricaoExclusivoA          VARCHAR (256) DEFAULT ' ' NOT NULL,
    descricaoExclusivoB          VARCHAR (256) DEFAULT ' ' NOT NULL,
    descricaoExclusivoC          VARCHAR (256) DEFAULT ' ' NOT NULL,
    descricaoExclusivoD          VARCHAR (256) DEFAULT ' ' NOT NULL,
    descricaoExclusivoE          VARCHAR (256) DEFAULT ' ' NOT NULL,
    eanGtin                      VARCHAR (14) DEFAULT ' ' NOT NULL,
    gradeCor                     NUMERIC (4,0) DEFAULT 0 NOT NULL,
    gradeTamanho                 NUMERIC (4,0) DEFAULT 0 NOT NULL,
    controleEstoque              NUMERIC (2,0) DEFAULT 0 NOT NULL,
    unidadeMedida                VARCHAR (6) DEFAULT ' ' NOT NULL,
    casasDecimaisUnidadeMedida   NUMERIC (1,0) DEFAULT 0 NOT NULL,
    quantidadeEstoque            NUMERIC (15,6) DEFAULT 0 NOT NULL,
    quantidadeReserva            NUMERIC (15,6) DEFAULT 0 NOT NULL,
    quantidadeDisponivel         NUMERIC (15,6) DEFAULT 0 NOT NULL,
    quantidadeEstoqueB           NUMERIC (15,6) DEFAULT 0 NOT NULL,
    quantidadeEstoqueTotal       NUMERIC (15,6) DEFAULT 0 NOT NULL,
    quantidadeDisponivelTotal    NUMERIC (15,6) DEFAULT 0 NOT NULL,
    situacaoTributaria           CHAR (1) DEFAULT ' ' NOT NULL,
    precoPromocao                NUMERIC (1,0) DEFAULT 0 NOT NULL,
    precoPrazo                   NUMERIC (15,7) DEFAULT 0 NOT NULL,
    precoVista                   NUMERIC (15,7) DEFAULT 0 NOT NULL,
    precoDesconto                NUMERIC (15,7) DEFAULT 0 NOT NULL,
    precoMinimo                  NUMERIC (15,7) DEFAULT 0 NOT NULL,
    descricaoDesconto            VARCHAR (30) DEFAULT ' ' NOT NULL,
    enderecoEstoque              VARCHAR (60) DEFAULT ' ' NOT NULL,
    iat                          CHAR (1) DEFAULT ' ' NOT NULL,
    ippt                         CHAR (1) DEFAULT ' ' NOT NULL,
    aplicacao                    VARCHAR (4000) DEFAULT ' ' NOT NULL,
    detalhamento                 VARCHAR (4000) DEFAULT ' ' NOT NULL,
    observacoes                  VARCHAR (4000) DEFAULT ' ' NOT NULL
  ) ON COMMIT PRESERVE ROWS;
ALTER TABLE TEMPPESQUISAPRODUTOS ADD CONSTRAINT TEMPPESQUISAPRODUTOS_PK1 PRIMARY KEY (sessaoClient, contadorSessao, gradeProduto, produto, visivel, ordenacao);
CREATE INDEX TEMPPESQUISAPRODUTOS_K2 ON TEMPPESQUISAPRODUTOS (sessaoClient, contadorSessao, visivel, ordenacao);
CREATE INDEX TEMPPESQUISAPRODUTOS_K3 ON TEMPPESQUISAPRODUTOS (sessaoClient);
CREATE INDEX TEMPPESQUISAPRODUTOS_K4 ON TEMPPESQUISAPRODUTOS (sessaoClient, contadorSessao);

DROP TABLE TEMPCOMPRASVENDAS;

-- TEMPCOMPRASVENDAS
CREATE GLOBAL TEMPORARY TABLE TEMPCOMPRASVENDAS
  (
    sessaoClient    VARCHAR (30) DEFAULT ' ' NOT NULL,
    contadorSessao  NUMERIC (14,0) DEFAULT 0 NOT NULL,
    gradeProduto    NUMERIC (14,0) DEFAULT 0 NOT NULL,
    estabelecimento NUMERIC (4,0) DEFAULT 0 NOT NULL,
    localEstoque    NUMERIC (4,0) DEFAULT 0 NOT NULL,
    periodoInicial  DATE NOT NULL,
    periodoFinal    DATE NOT NULL,
    quantidade      NUMERIC (15,6) DEFAULT 0 NOT NULL
  ) ON COMMIT PRESERVE ROWS;
ALTER TABLE TEMPCOMPRASVENDAS ADD CONSTRAINT TEMPCOMPRASVENDAS_PK1 PRIMARY KEY (sessaoClient, contadorSessao, gradeProduto, estabelecimento, localEstoque, periodoInicial, periodoFinal);

DROP TABLE TEMPPRODUTOSESTOQUE;

-- TEMPPRODUTOSESTOQUE
CREATE GLOBAL TEMPORARY TABLE TEMPPRODUTOSESTOQUE
  (
    sessaoClient               VARCHAR (30) DEFAULT ' ' NOT NULL,
    contadorSessao             NUMERIC (14,0) DEFAULT 0 NOT NULL,
    produto                    NUMERIC (7,0) DEFAULT 0 NOT NULL,
    ordenacao                  NUMERIC (11,0) DEFAULT 0 NOT NULL,
    produtoImpresso            VARCHAR (60) DEFAULT ' ' NOT NULL,
    descricao                  VARCHAR (120) DEFAULT ' ' NOT NULL,
    descricaoCaracteristicaA   VARCHAR (120) DEFAULT ' ' NOT NULL,
    descricaoCaracteristicaB   VARCHAR (120) DEFAULT ' ' NOT NULL,
    descricaoCaracteristicaC   VARCHAR (120) DEFAULT ' ' NOT NULL,
    descricaoCaracteristicaD   VARCHAR (120) DEFAULT ' ' NOT NULL,
    descricaoCaracteristicaE   VARCHAR (120) DEFAULT ' ' NOT NULL,
    gradeCor                   NUMERIC (4,0) DEFAULT 0 NOT NULL,
    gradePersonalizacao        NUMERIC (4,0) DEFAULT 0 NOT NULL,
    descricaoGradePersonalizac VARCHAR (120) DEFAULT ' ' NOT NULL,
    controlaLote               NUMERIC (1,0) DEFAULT 0 NOT NULL,
    controlaNumeroSerie        NUMERIC (1,0) DEFAULT 0 NOT NULL,
    controleEstoque            NUMERIC (2,0) DEFAULT 0 NOT NULL,
    unidadeMedida              VARCHAR (6) DEFAULT ' ' NOT NULL,
    casasDecimaisUnidadeMedida NUMERIC (1,0) DEFAULT 0 NOT NULL
  ) ON COMMIT PRESERVE ROWS;
ALTER TABLE TEMPPRODUTOSESTOQUE ADD CONSTRAINT TEMPPRODUTOSESTOQUE_PK1 PRIMARY KEY (sessaoClient, contadorSessao, produto);
CREATE INDEX TEMPPRODUTOSESTOQUE_K2 ON TEMPPRODUTOSESTOQUE (sessaoClient, contadorSessao, ordenacao);
CREATE INDEX TEMPPRODUTOSESTOQUE_K3 ON TEMPPRODUTOSESTOQUE (sessaoClient);
CREATE INDEX TEMPPRODUTOSESTOQUE_K4 ON TEMPPRODUTOSESTOQUE (produto);
CREATE INDEX TEMPPRODUTOSESTOQUE_K5 ON TEMPPRODUTOSESTOQUE (sessaoClient, contadorSessao);

DROP TABLE TEMPPRODUTOSESTDET;

-- TEMPPRODUTOSESTDET
CREATE GLOBAL TEMPORARY TABLE TEMPPRODUTOSESTDET
  (
    sessaoClient              VARCHAR (30) DEFAULT ' ' NOT NULL,
    contadorSessao            NUMERIC (14,0) DEFAULT 0 NOT NULL,
    produto                   NUMERIC (7,0) DEFAULT 0 NOT NULL,
    ordenacao                 NUMERIC (11,0) DEFAULT 0 NOT NULL,
    grupoEconomico            NUMERIC (14,0) DEFAULT 0 NOT NULL,
    estabelecimento           NUMERIC (4,0) DEFAULT 0 NOT NULL,
    localEstoque              NUMERIC (4,0) DEFAULT 0 NOT NULL,
    cor                       NUMERIC (7,0) DEFAULT 0 NOT NULL,
    tamanho                   VARCHAR (10) DEFAULT ' ' NOT NULL,
    personalizacao            NUMERIC (7,0) DEFAULT 0 NOT NULL,
    idLoteEstoque             NUMERIC (14,0) DEFAULT 0 NOT NULL,
    descricaoEstabelecimento  VARCHAR (120) DEFAULT ' ' NOT NULL,
    cnpjCpfIdEstrangeiroEstab VARCHAR (20) DEFAULT ' ' NOT NULL,
    descricaoLocalEstoque     VARCHAR (120) DEFAULT ' ' NOT NULL,
    descricaoCor              VARCHAR (120) DEFAULT ' ' NOT NULL,
    descricaoTamanho          VARCHAR (120) DEFAULT ' ' NOT NULL,
    descricaoPersonalizacao   VARCHAR (120) DEFAULT ' ' NOT NULL,
    loteEstoque               VARCHAR (20) DEFAULT ' ' NOT NULL,
    estoqueTotal              NUMERIC (15,6) DEFAULT 0 NOT NULL,
    reservasTotal             NUMERIC (15,6) DEFAULT 0 NOT NULL,
    precoMedio                NUMERIC (15,7) DEFAULT 0 NOT NULL,
    precoCusto                NUMERIC (15,7) DEFAULT 0 NOT NULL,
    precoUltimaCompra         NUMERIC (15,7) DEFAULT 0 NOT NULL,
    solicitaLocalEstoque      NUMERIC (1,0) DEFAULT 0 NOT NULL,
    produtoImpresso01         VARCHAR (60) DEFAULT ' ' NOT NULL,
    estoque01                 NUMERIC (15,6) DEFAULT 0 NOT NULL,
    reservas01                NUMERIC (15,6) DEFAULT 0 NOT NULL,
    produtoImpresso02         VARCHAR (60) DEFAULT ' ' NOT NULL,
    estoque02                 NUMERIC (15,6) DEFAULT 0 NOT NULL,
    reservas02                NUMERIC (15,6) DEFAULT 0 NOT NULL,
    produtoImpresso03         VARCHAR (60) DEFAULT ' ' NOT NULL,
    estoque03                 NUMERIC (15,6) DEFAULT 0 NOT NULL,
    reservas03                NUMERIC (15,6) DEFAULT 0 NOT NULL,
    produtoImpresso04         VARCHAR (60) DEFAULT ' ' NOT NULL,
    estoque04                 NUMERIC (15,6) DEFAULT 0 NOT NULL,
    reservas04                NUMERIC (15,6) DEFAULT 0 NOT NULL,
    produtoImpresso05         VARCHAR (60) DEFAULT ' ' NOT NULL,
    estoque05                 NUMERIC (15,6) DEFAULT 0 NOT NULL,
    reservas05                NUMERIC (15,6) DEFAULT 0 NOT NULL,
    produtoImpresso06         VARCHAR (60) DEFAULT ' ' NOT NULL,
    estoque06                 NUMERIC (15,6) DEFAULT 0 NOT NULL,
    reservas06                NUMERIC (15,6) DEFAULT 0 NOT NULL,
    produtoImpresso07         VARCHAR (60) DEFAULT ' ' NOT NULL,
    estoque07                 NUMERIC (15,6) DEFAULT 0 NOT NULL,
    reservas07                NUMERIC (15,6) DEFAULT 0 NOT NULL,
    produtoImpresso08         VARCHAR (60) DEFAULT ' ' NOT NULL,
    estoque08                 NUMERIC (15,6) DEFAULT 0 NOT NULL,
    reservas08                NUMERIC (15,6) DEFAULT 0 NOT NULL,
    produtoImpresso09         VARCHAR (60) DEFAULT ' ' NOT NULL,
    estoque09                 NUMERIC (15,6) DEFAULT 0 NOT NULL,
    reservas09                NUMERIC (15,6) DEFAULT 0 NOT NULL,
    produtoImpresso10         VARCHAR (60) DEFAULT ' ' NOT NULL,
    estoque10                 NUMERIC (15,6) DEFAULT 0 NOT NULL,
    reservas10                NUMERIC (15,6) DEFAULT 0 NOT NULL,
    produtoImpresso11         VARCHAR (60) DEFAULT ' ' NOT NULL,
    estoque11                 NUMERIC (15,6) DEFAULT 0 NOT NULL,
    reservas11                NUMERIC (15,6) DEFAULT 0 NOT NULL,
    produtoImpresso12         VARCHAR (60) DEFAULT ' ' NOT NULL,
    estoque12                 NUMERIC (15,6) DEFAULT 0 NOT NULL,
    reservas12                NUMERIC (15,6) DEFAULT 0 NOT NULL,
    produtoImpresso13         VARCHAR (60) DEFAULT ' ' NOT NULL,
    estoque13                 NUMERIC (15,6) DEFAULT 0 NOT NULL,
    reservas13                NUMERIC (15,6) DEFAULT 0 NOT NULL,
    produtoImpresso14         VARCHAR (60) DEFAULT ' ' NOT NULL,
    estoque14                 NUMERIC (15,6) DEFAULT 0 NOT NULL,
    reservas14                NUMERIC (15,6) DEFAULT 0 NOT NULL,
    produtoImpresso15         VARCHAR (60) DEFAULT ' ' NOT NULL,
    estoque15                 NUMERIC (15,6) DEFAULT 0 NOT NULL,
    reservas15                NUMERIC (15,6) DEFAULT 0 NOT NULL,
    produtoImpresso16         VARCHAR (60) DEFAULT ' ' NOT NULL,
    estoque16                 NUMERIC (15,6) DEFAULT 0 NOT NULL,
    reservas16                NUMERIC (15,6) DEFAULT 0 NOT NULL,
    produtoImpresso17         VARCHAR (60) DEFAULT ' ' NOT NULL,
    estoque17                 NUMERIC (15,6) DEFAULT 0 NOT NULL,
    reservas17                NUMERIC (15,6) DEFAULT 0 NOT NULL,
    produtoImpresso18         VARCHAR (60) DEFAULT ' ' NOT NULL,
    estoque18                 NUMERIC (15,6) DEFAULT 0 NOT NULL,
    reservas18                NUMERIC (15,6) DEFAULT 0 NOT NULL,
    produtoImpresso19         VARCHAR (60) DEFAULT ' ' NOT NULL,
    estoque19                 NUMERIC (15,6) DEFAULT 0 NOT NULL,
    reservas19                NUMERIC (15,6) DEFAULT 0 NOT NULL,
    produtoImpresso20         VARCHAR (60) DEFAULT ' ' NOT NULL,
    estoque20                 NUMERIC (15,6) DEFAULT 0 NOT NULL,
    reservas20                NUMERIC (15,6) DEFAULT 0 NOT NULL,
    produtoImpresso21         VARCHAR (60) DEFAULT ' ' NOT NULL,
    estoque21                 NUMERIC (15,6) DEFAULT 0 NOT NULL,
    reservas21                NUMERIC (15,6) DEFAULT 0 NOT NULL,
    produtoImpresso22         VARCHAR (60) DEFAULT ' ' NOT NULL,
    estoque22                 NUMERIC (15,6) DEFAULT 0 NOT NULL,
    reservas22                NUMERIC (15,6) DEFAULT 0 NOT NULL,
    produtoImpresso23         VARCHAR (60) DEFAULT ' ' NOT NULL,
    estoque23                 NUMERIC (15,6) DEFAULT 0 NOT NULL,
    reservas23                NUMERIC (15,6) DEFAULT 0 NOT NULL,
    produtoImpresso24         VARCHAR (60) DEFAULT ' ' NOT NULL,
    estoque24                 NUMERIC (15,6) DEFAULT 0 NOT NULL,
    reservas24                NUMERIC (15,6) DEFAULT 0 NOT NULL,
    produtoImpresso25         VARCHAR (60) DEFAULT ' ' NOT NULL,
    estoque25                 NUMERIC (15,6) DEFAULT 0 NOT NULL,
    reservas25                NUMERIC (15,6) DEFAULT 0 NOT NULL,
    produtoImpresso26         VARCHAR (60) DEFAULT ' ' NOT NULL,
    estoque26                 NUMERIC (15,6) DEFAULT 0 NOT NULL,
    reservas26                NUMERIC (15,6) DEFAULT 0 NOT NULL,
    produtoImpresso27         VARCHAR (60) DEFAULT ' ' NOT NULL,
    estoque27                 NUMERIC (15,6) DEFAULT 0 NOT NULL,
    reservas27                NUMERIC (15,6) DEFAULT 0 NOT NULL,
    produtoImpresso28         VARCHAR (60) DEFAULT ' ' NOT NULL,
    estoque28                 NUMERIC (15,6) DEFAULT 0 NOT NULL,
    reservas28                NUMERIC (15,6) DEFAULT 0 NOT NULL,
    produtoImpresso29         VARCHAR (60) DEFAULT ' ' NOT NULL,
    estoque29                 NUMERIC (15,6) DEFAULT 0 NOT NULL,
    reservas29                NUMERIC (15,6) DEFAULT 0 NOT NULL,
    produtoImpresso30         VARCHAR (60) DEFAULT ' ' NOT NULL,
    estoque30                 NUMERIC (15,6) DEFAULT 0 NOT NULL,
    reservas30                NUMERIC (15,6) DEFAULT 0 NOT NULL,
    corLinha                  NUMERIC (3,0) DEFAULT 0 NOT NULL
  ) ON COMMIT PRESERVE ROWS;
ALTER TABLE TEMPPRODUTOSESTDET ADD CONSTRAINT TEMPPRODUTOSESTDET_PK1 PRIMARY KEY (sessaoClient, contadorSessao, produto, ordenacao);

DROP TABLE TEMPPRODUTOSESTPRECOS;

-- TEMPPRODUTOSESTPRECOS
CREATE GLOBAL TEMPORARY TABLE TEMPPRODUTOSESTPRECOS
  (
    sessaoClient       VARCHAR (30) DEFAULT ' ' NOT NULL,
    contadorSessao     NUMERIC (14,0) DEFAULT 0 NOT NULL,
    produto            NUMERIC (7,0) DEFAULT 0 NOT NULL,
    cor                NUMERIC (7,0) DEFAULT 0 NOT NULL,
    tamanho            VARCHAR (10) DEFAULT ' ' NOT NULL,
    personalizacao     NUMERIC (7,0) DEFAULT 0 NOT NULL,
    grupoEconomico     NUMERIC (14,0) DEFAULT 0 NOT NULL,
    estabelecimento    NUMERIC (4,0) DEFAULT 0 NOT NULL,
    precoMedio         NUMERIC (15,7) DEFAULT 0 NOT NULL,
    precoCusto         NUMERIC (15,7) DEFAULT 0 NOT NULL,
    precoCustoFormacao NUMERIC (15,7) DEFAULT 0 NOT NULL,
    precoUltimaCompra  NUMERIC (15,7) DEFAULT 0 NOT NULL
  ) ON COMMIT PRESERVE ROWS;
ALTER TABLE TEMPPRODUTOSESTPRECOS ADD CONSTRAINT TEMPPRODUTOSESTPRECOS_PK1 PRIMARY KEY (sessaoClient, contadorSessao, produto, cor, tamanho, personalizacao, grupoEconomico, estabelecimento);

DROP TABLE TEMPATUALIZAPRECOLOTE;

-- TEMPATUALIZAPRECOLOTE
CREATE GLOBAL TEMPORARY TABLE TEMPATUALIZAPRECOLOTE
  (
    sessaoClient             VARCHAR (30) DEFAULT ' ' NOT NULL,
    contadorSessao           NUMERIC (14,0) DEFAULT 0 NOT NULL,
    id                       NUMERIC (14,0) DEFAULT 0 NOT NULL,
    selecionado              NUMERIC (1,0) DEFAULT 0 NOT NULL,
    idPrecoTabela            NUMERIC (14,0) DEFAULT 0 NOT NULL,
    idPrecoTabelaNovo        NUMERIC (14,0) DEFAULT 0 NOT NULL,
    produto                  NUMERIC (7,0) DEFAULT 0 NOT NULL,
    descricao                VARCHAR (120) DEFAULT ' ' NOT NULL,
    ordenacao                NUMERIC (11,0) DEFAULT 0 NOT NULL,
    filtrarCores             NUMERIC (1,0) DEFAULT 0 NOT NULL,
    filtrarTamanhos          NUMERIC (1,0) DEFAULT 0 NOT NULL,
    filtrarPersonalizacoes   NUMERIC (1,0) DEFAULT 0 NOT NULL,
    quantidadeMinima         NUMERIC (15,6) DEFAULT 0 NOT NULL,
    quantidadeMaxima         NUMERIC (15,6) DEFAULT 0 NOT NULL,
    dataValidadeInicial      DATE,
    dataValidadeFinal        DATE,
    precoAVista              NUMERIC (15,7) DEFAULT 0 NOT NULL,
    precoAPrazo              NUMERIC (15,7) DEFAULT 0 NOT NULL,
    promocao                 NUMERIC (1,0) DEFAULT 0 NOT NULL,
    precoPromocaoAVista      NUMERIC (15,7) DEFAULT 0 NOT NULL,
    precoPromocaoAPrazo      NUMERIC (15,7) DEFAULT 0 NOT NULL,
    precoDesconto            NUMERIC (15,7) DEFAULT 0 NOT NULL,
    precoMinimo              NUMERIC (15,7) DEFAULT 0 NOT NULL,
    classificacaoProdutoDe   VARCHAR (3) DEFAULT ' ' NOT NULL,
    classificacaoProdutoPara VARCHAR (3) DEFAULT ' ' NOT NULL,
    observacoes              VARCHAR (4000) DEFAULT ' ' NOT NULL
  ) ON COMMIT PRESERVE ROWS;
CREATE UNIQUE INDEX TEMPATUALIZAPRECOLOTE_PK1 ON TEMPATUALIZAPRECOLOTE (sessaoClient, contadorSessao, id);
CREATE INDEX TEMPATUALIZAPRECOLOTE_K2 ON TEMPATUALIZAPRECOLOTE (sessaoClient, contadorSessao);
CREATE INDEX TEMPATUALIZAPRECOLOTE_K3 ON TEMPATUALIZAPRECOLOTE (id);

DROP TABLE TEMPFORMPRECOPRODUTOS;

CREATE GLOBAL TEMPORARY TABLE TEMPFORMPRECOPRODUTOS
  (
    sessaoClient                   VARCHAR (30) DEFAULT ' ' NOT NULL,
    nivel                          NUMERIC (14,0) DEFAULT 0 NOT NULL,
    produto                        NUMERIC (7,0) DEFAULT 0 NOT NULL,
    cor                            NUMERIC (7,0) DEFAULT 0 NOT NULL,
    tamanho                        VARCHAR (10) DEFAULT ' ' NOT NULL,
    personalizacao                 NUMERIC (7,0) DEFAULT 0 NOT NULL,
    gradeProdutoFilho              NUMERIC (14,0) DEFAULT 0 NOT NULL,
    produtoFilho                   NUMERIC (7,0) DEFAULT 0 NOT NULL,
    corFilho                       NUMERIC (7,0) DEFAULT 0 NOT NULL,
    tamanhoFilho                   VARCHAR (10) DEFAULT ' ' NOT NULL,
    personalizacaoFilho            NUMERIC (7,0) DEFAULT 0 NOT NULL,
    quantidadeKitFilho             NUMERIC (15,6) DEFAULT 0 NOT NULL,
    gradeProdutoNeto               NUMERIC (14,0) DEFAULT 0 NOT NULL,
    produtoNeto                    NUMERIC (7,0) DEFAULT 0 NOT NULL,
    corNeto                        NUMERIC (7,0) DEFAULT 0 NOT NULL,
    tamanhoNeto                    VARCHAR (10) DEFAULT ' ' NOT NULL,
    personalizacaoNeto             NUMERIC (7,0) DEFAULT 0 NOT NULL,
    quantidadeKitNeto              NUMERIC (15,6) DEFAULT 0 NOT NULL,
    legenda                        NUMERIC (3,0) DEFAULT 0 NOT NULL,
    selecionado                    NUMERIC (1,0) DEFAULT 0 NOT NULL,
    imagem                         VARCHAR (256) DEFAULT ' ' NOT NULL,
    ordenacao                      NUMERIC (11,0) DEFAULT 0 NOT NULL,
    descricaoProduto               VARCHAR (120) DEFAULT ' ' NOT NULL,
    descricaoCor                   VARCHAR (120) DEFAULT ' ' NOT NULL,
    descricaoTamanho               VARCHAR (120) DEFAULT ' ' NOT NULL,
    descricaoPersonalizacao        VARCHAR (120) DEFAULT ' ' NOT NULL,
    referencia                     VARCHAR (60) DEFAULT ' ' NOT NULL,
    controleEstoque                NUMERIC (2,0) DEFAULT 0 NOT NULL,
    unidadeMedida                  VARCHAR (6) DEFAULT ' ' NOT NULL,
    casasDecimaisUnidadeMedida     NUMERIC (1,0) DEFAULT 0 NOT NULL,
    quantidadeEstoque              NUMERIC (15,6) DEFAULT 0 NOT NULL,
    precoUltimaCompraNovo          NUMERIC (15,7) DEFAULT 0 NOT NULL,
    idProdutoXCustoAnterior        NUMERIC (14,0) DEFAULT 0 NOT NULL,
    precoCustoAnterior             NUMERIC (15,7) DEFAULT 0 NOT NULL,
    idProdutoXCustoAtualizado      NUMERIC (14,0) DEFAULT 0 NOT NULL,
    precoCustoAtualizado           NUMERIC (15,7) DEFAULT 0 NOT NULL,
    precoCustoNovo                 NUMERIC (15,7) DEFAULT 0 NOT NULL,
    percentualVariacao             NUMERIC (15,8) DEFAULT 0 NOT NULL,
    preDocumento                   NUMERIC (14,0) DEFAULT 0 NOT NULL,
    idDocumentoFiscal              NUMERIC (14,0) DEFAULT 0 NOT NULL,
    tipoDocumento                  NUMERIC (3,0) DEFAULT 0 NOT NULL,
    abreviacao                     VARCHAR (11) DEFAULT ' ' NOT NULL,
    idDocumento                    NUMERIC (14,0) DEFAULT 0 NOT NULL,
    modeloDocumento                NUMERIC (4,0) DEFAULT 0 NOT NULL,
    estabelecimento                NUMERIC (4,0) DEFAULT 0 NOT NULL,
    estabGrupoFiscal               NUMERIC (4,0) DEFAULT 0 NOT NULL,
    estabRegimeTributario          CHAR (1) DEFAULT ' ' NOT NULL,
    estabUf                        CHAR (2) DEFAULT '  ' NOT NULL,
    dataEntrada                    DATE,
    pessoa                         NUMERIC (14,0) DEFAULT 0 NOT NULL,
    nomeRazaoSocial                VARCHAR (60) DEFAULT ' ' NOT NULL,
    pessoaUf                       CHAR (2) DEFAULT '  ' NOT NULL,
    idCenarioCalculoPreco          NUMERIC (14,0) DEFAULT 0 NOT NULL,
    idItemPreDocumento             NUMERIC (14,0) DEFAULT 0 NOT NULL,
    idItemDocFiscal                NUMERIC (14,0) DEFAULT 0 NOT NULL,
    vendedor                       NUMERIC (14,0) DEFAULT 0 NOT NULL,
    localEstoque                   NUMERIC (4,0) DEFAULT 0 NOT NULL,
    quantidade                     NUMERIC (15,6) DEFAULT 0 NOT NULL,
    compraComSt                    NUMERIC (1,0) DEFAULT 0 NOT NULL,
    aliquotaICMS                   NUMERIC (7,4) DEFAULT 0 NOT NULL,
    valorICMS                      NUMERIC (15,2) DEFAULT 0 NOT NULL,
    valorPIS                       NUMERIC (15,2) DEFAULT 0 NOT NULL,
    valorCOFINS                    NUMERIC (15,2) DEFAULT 0 NOT NULL,
    valorICMSST                    NUMERIC (15,2) DEFAULT 0 NOT NULL,
    valorIPI                       NUMERIC (15,2) DEFAULT 0 NOT NULL,
    valorDIFAL                     NUMERIC (15,2) DEFAULT 0 NOT NULL,
    valorII                        NUMERIC (15,2) DEFAULT 0 NOT NULL,
    valorIR                        NUMERIC (15,2) DEFAULT 0 NOT NULL,
    valorCSLL                      NUMERIC (15,2) DEFAULT 0 NOT NULL,
    valorAdicFreteMarinhaMercantil NUMERIC (15,2) DEFAULT 0 NOT NULL,
    valorDespesaAduaneira          NUMERIC (15,2) DEFAULT 0 NOT NULL,
    valorFrete                     NUMERIC (15,2) DEFAULT 0 NOT NULL,
    valorDesconto                  NUMERIC (15,2) DEFAULT 0 NOT NULL,
    valorJuros                     NUMERIC (15,2) DEFAULT 0 NOT NULL,
    valorOutrasDespesas            NUMERIC (15,2) DEFAULT 0 NOT NULL,
    valorDescontoCustoOperacional  NUMERIC (15,2) DEFAULT 0 NOT NULL,
    valorAcrescimoCustoOperacional NUMERIC (15,2) DEFAULT 0 NOT NULL,
    valorAcrescimoExtemporaneo     NUMERIC (15,2) DEFAULT 0 NOT NULL,
    prazoMedioPonderado            NUMERIC (6,0) DEFAULT 0 NOT NULL,
    situacao                       CHAR (1) DEFAULT ' ' NOT NULL
  ) ON COMMIT PRESERVE ROWS;
CREATE UNIQUE INDEX TEMPFORMPRECOPRODUTOS_PK1 ON TEMPFORMPRECOPRODUTOS (sessaoClient, nivel, produto, cor, tamanho, personalizacao, gradeProdutoFilho, gradeProdutoNeto);
CREATE INDEX TEMPFORMPRECOPRODUTOS_K2 ON TEMPFORMPRECOPRODUTOS (sessaoClient, nivel, ordenacao);
CREATE INDEX TEMPFORMPRECOPRODUTOS_K3 ON TEMPFORMPRECOPRODUTOS (sessaoClient, nivel, produto, cor, tamanho, personalizacao, ordenacao);
CREATE INDEX TEMPFORMPRECOPRODUTOS_K4 ON TEMPFORMPRECOPRODUTOS (sessaoClient, nivel, produto, cor, tamanho, personalizacao, gradeProdutoFilho, ordenacao);

DROP TABLE TEMPFORMPRECOINCIDENCIAS;

CREATE GLOBAL TEMPORARY TABLE TEMPFORMPRECOINCIDENCIAS
  (
    sessaoClient            VARCHAR (30) DEFAULT ' ' NOT NULL,
    nomePublico             VARCHAR (30) DEFAULT ' ' NOT NULL,
    nivel                   NUMERIC (14,0) DEFAULT 0 NOT NULL,
    produto                 NUMERIC (7,0) DEFAULT 0 NOT NULL,
    cor                     NUMERIC (7,0) DEFAULT 0 NOT NULL,
    tamanho                 VARCHAR (10) DEFAULT ' ' NOT NULL,
    personalizacao          NUMERIC (7,0) DEFAULT 0 NOT NULL,
    gradeProdutoFilho       NUMERIC (14,0) DEFAULT 0 NOT NULL,
    gradeProdutoNeto        NUMERIC (14,0) DEFAULT 0 NOT NULL,
    compraVenda             CHAR (1) DEFAULT ' ' NOT NULL,
    tabelaPreco             VARCHAR (10) DEFAULT ' ' NOT NULL,
    ordenacao               NUMERIC (11,0) DEFAULT 0 NOT NULL,
    descricao               VARCHAR (120) DEFAULT ' ' NOT NULL,
    somaDiminuiIgnora       CHAR (1) DEFAULT ' ' NOT NULL,
    percentualBase          NUMERIC (15,8) DEFAULT 0 NOT NULL,
    valorBase               NUMERIC (15,7) DEFAULT 0 NOT NULL,
    indicadorConta          CHAR (1) DEFAULT ' ' NOT NULL,
    conteudoCampo1          VARCHAR (256) DEFAULT ' ' NOT NULL,
    conteudoCampo2          VARCHAR (256) DEFAULT ' ' NOT NULL,
    valor                   NUMERIC (15,7) DEFAULT 0 NOT NULL,
    percSobreReceita        NUMERIC (15,8) DEFAULT 0 NOT NULL,
    percSobreReceitaLiquida NUMERIC (15,8) DEFAULT 0 NOT NULL,
    percSobreCusto          NUMERIC (15,8) DEFAULT 0 NOT NULL
  ) ON COMMIT PRESERVE ROWS;
CREATE UNIQUE INDEX TEMPFORMPRECOINCIDENCIAS_PK1 ON TEMPFORMPRECOINCIDENCIAS (sessaoClient, nomePublico, nivel, produto, cor, tamanho, personalizacao, gradeProdutoFilho, gradeProdutoNeto, compraVenda, tabelaPreco, ordenacao);

DROP TABLE TEMPFORMPRECOTABELAS;

CREATE GLOBAL TEMPORARY TABLE TEMPFORMPRECOTABELAS
  (
    sessaoClient              VARCHAR (30) DEFAULT ' ' NOT NULL,
    produto                   NUMERIC (7,0) DEFAULT 0 NOT NULL,
    cor                       NUMERIC (7,0) DEFAULT 0 NOT NULL,
    tamanho                   VARCHAR (10) DEFAULT ' ' NOT NULL,
    personalizacao            NUMERIC (7,0) DEFAULT 0 NOT NULL,
    tabelaPreco               VARCHAR (10) DEFAULT ' ' NOT NULL,
    ordenacao                 NUMERIC (11,0) DEFAULT 0 NOT NULL,
    selecionado               NUMERIC (1,0) DEFAULT 0 NOT NULL,
    idCenarioCalculoPreco     NUMERIC (14,0) DEFAULT 0 NOT NULL,
    modeloDocumento           NUMERIC (4,0) DEFAULT 0 NOT NULL,
    uf                        CHAR (2) DEFAULT '  ' NOT NULL,
    operacaoFiscal            NUMERIC (14,0) DEFAULT 0 NOT NULL,
    aliquotaIRRF              NUMERIC (7,4) DEFAULT 0 NOT NULL,
    retencaoCSLL              NUMERIC (7,4) DEFAULT 0 NOT NULL,
    aliquotaIPI               NUMERIC (7,4) DEFAULT 0 NOT NULL,
    aliquotaII                NUMERIC (7,4) DEFAULT 0 NOT NULL,
    aliquotaPIS               NUMERIC (7,4) DEFAULT 0 NOT NULL,
    aliquotaCOFINS            NUMERIC (7,4) DEFAULT 0 NOT NULL,
    stSimplesNacional         CHAR (3) DEFAULT '   ' NOT NULL,
    stICMS                    CHAR (2) DEFAULT '  ' NOT NULL,
    reducaoBaseICMS           NUMERIC (7,4) DEFAULT 0 NOT NULL,
    aliquotaICMS              NUMERIC (7,4) DEFAULT 0 NOT NULL,
    aliquotaICMSST            NUMERIC (7,4) DEFAULT 0 NOT NULL,
    idFormacaoPrecoTabela     NUMERIC (14,0) DEFAULT 0 NOT NULL,
    situacaoLiberacao         CHAR (1) DEFAULT ' ' NOT NULL,
    idPrecoTabelaAtual        NUMERIC (14,0) DEFAULT 0 NOT NULL,
    precoUnitarioAtual        NUMERIC (15,7) DEFAULT 0 NOT NULL,
    percMargemAdicionalAtual  NUMERIC (15,8) DEFAULT 0 NOT NULL,
    valorMargemAdicionalAtual NUMERIC (15,7) DEFAULT 0 NOT NULL,
    margemMarkupAtual         NUMERIC (15,8) DEFAULT 0 NOT NULL,
    idPrecoTabelaNovo         NUMERIC (14,0) DEFAULT 0 NOT NULL,
    precoUnitarioNovo         NUMERIC (15,7) DEFAULT 0 NOT NULL,
    percMargemAdicionalNovo   NUMERIC (15,8) DEFAULT 0 NOT NULL,
    valorMargemAdicionalNovo  NUMERIC (15,7) DEFAULT 0 NOT NULL,
    margemMarkupNovo          NUMERIC (15,8) DEFAULT 0 NOT NULL,
    percentualVariacao        NUMERIC (15,8) DEFAULT 0 NOT NULL,
    margemMarkupIdeal         NUMERIC (15,8) DEFAULT 0 NOT NULL
  ) ON COMMIT PRESERVE ROWS;
CREATE UNIQUE INDEX TEMPFORMPRECOTABELAS_PK1 ON TEMPFORMPRECOTABELAS (sessaoClient, produto, cor, tamanho, personalizacao, tabelaPreco);
CREATE INDEX TEMPFORMPRECOTABELAS_K2 ON TEMPFORMPRECOTABELAS (sessaoClient, produto, cor, tamanho, personalizacao, ordenacao DESC, tabelaPreco DESC);

DROP TABLE TEMPIMAGENSPESSOA;

CREATE GLOBAL TEMPORARY TABLE TEMPIMAGENSPESSOA
  (
    sessaoClient     VARCHAR (30) DEFAULT ' ' NOT NULL,
    contadorSessao   NUMERIC (14,0) DEFAULT 0 NOT NULL,
    linha            NUMERIC (11,0) DEFAULT 0 NOT NULL,
    id               NUMERIC (14,0) DEFAULT 0 NOT NULL,
    ordenacao        NUMERIC (11,0) DEFAULT 0 NOT NULL,
    origem           NUMERIC (14,0) DEFAULT 0 NOT NULL,
    tipoImagemPessoa NUMERIC (3,0) DEFAULT 0 NOT NULL,
    descricao        VARCHAR (256) DEFAULT ' ' NOT NULL,
    imagem           VARCHAR (256) DEFAULT ' ' NOT NULL,
    imagemReduzida   VARCHAR (256) DEFAULT ' ' NOT NULL,
    imagemRedonda    VARCHAR (256) DEFAULT ' ' NOT NULL
  ) ON COMMIT PRESERVE ROWS;
CREATE UNIQUE INDEX TEMPIMAGENSPESSOA_PK1 ON TEMPIMAGENSPESSOA (sessaoClient, contadorSessao, linha);
CREATE INDEX TEMPIMAGENSPESSOA_K2 ON TEMPIMAGENSPESSOA (sessaoClient);
CREATE INDEX TEMPIMAGENSPESSOA_K3 ON TEMPIMAGENSPESSOA (sessaoClient, contadorSessao);

DROP TABLE TEMPMARGEMCONTRIBUICAO;

-- TEMPMARGEMCONTRIBUICAO
CREATE GLOBAL TEMPORARY TABLE TEMPMARGEMCONTRIBUICAO
  (
    sessaoClient                   VARCHAR (30) DEFAULT ' ' NOT NULL,
    orcamentoPredocumentoDocumento CHAR (1) DEFAULT ' ' NOT NULL,
    idCabecalho                    NUMERIC (14,0) DEFAULT 0 NOT NULL,
    sequencia                      NUMERIC (3,0) DEFAULT 0 NOT NULL,
    valorLiquidoSemFreteSeguro     NUMERIC (15,2) DEFAULT 0 NOT NULL,
    valorCaptacao                  NUMERIC (15,2) DEFAULT 0 NOT NULL,
    valorTarifaCartao              NUMERIC (15,2) DEFAULT 0 NOT NULL,
    valorImpostos                  NUMERIC (15,2) DEFAULT 0 NOT NULL,
    precoCusto                     NUMERIC (15,7) DEFAULT 0 NOT NULL,
    valorCusto                     NUMERIC (15,2) DEFAULT 0 NOT NULL,
    valorMargem                    NUMERIC (15,2) DEFAULT 0 NOT NULL,
    percentualMargem               NUMERIC (15,8) DEFAULT 0 NOT NULL,
    imagemMargem                   VARCHAR (256) DEFAULT ' ' NOT NULL
  ) ON COMMIT PRESERVE ROWS;
CREATE UNIQUE INDEX TEMPMARGEMCONTRIBUICAO_PK1 ON TEMPMARGEMCONTRIBUICAO (sessaoClient, orcamentoPredocumentoDocumento, idCabecalho, sequencia);

DROP TABLE TEMPPERSONALIZACOESPROJET;

-- TEMPPERSONALIZACOESPROJET
CREATE GLOBAL TEMPORARY TABLE TEMPPERSONALIZACOESPROJET
  (
    sessaoClient          VARCHAR (30) DEFAULT ' ' NOT NULL,
    contadorTemp          NUMERIC (11,0) DEFAULT 0 NOT NULL,
    id                    NUMERIC (14,0) DEFAULT 0 NOT NULL,
    personalizacaoProjeto NUMERIC (7,0) DEFAULT 0 NOT NULL,
    conteudo              VARCHAR (256) DEFAULT ' ' NOT NULL,
    excluido              NUMERIC (1,0) DEFAULT 0 NOT NULL
  ) ON COMMIT PRESERVE ROWS;
CREATE UNIQUE INDEX TEMPPERSONALIZACOESPROJET_PK1 ON TEMPPERSONALIZACOESPROJET (sessaoClient, contadorTemp);
CREATE INDEX TEMPPERSONALIZACOESPROJET_K2 ON TEMPPERSONALIZACOESPROJET (sessaoClient, personalizacaoProjeto);

DROP TABLE TEMPENDERECOSESTOQUE;

-- TEMPENDERECOSESTOQUE
CREATE GLOBAL TEMPORARY TABLE TEMPENDERECOSESTOQUE
  (
    sessaoClient          VARCHAR (30) DEFAULT ' ' NOT NULL,
    contadorTemp          NUMERIC (11,0) DEFAULT 0 NOT NULL,
    idEnderecoXDocumento  NUMERIC (14,0) DEFAULT 0 NOT NULL,
    entradaSaida          CHAR (1) DEFAULT ' ' NOT NULL,
    idEnderecoEstoque     NUMERIC (14,0) DEFAULT 0 NOT NULL,
    enderecoEstoque       VARCHAR (60) DEFAULT ' ' NOT NULL,
    codigoDescricaoEndEst VARCHAR (300) DEFAULT ' ' NOT NULL,
    posicaoCaixaEstoque   NUMERIC (3,0) DEFAULT 0 NOT NULL,
    capacidade            NUMERIC (15,6) DEFAULT 0 NOT NULL,
    ocupadoEstoque        NUMERIC (15,6) DEFAULT 0 NOT NULL,
    saldoCapacidade       NUMERIC (15,6) DEFAULT 0 NOT NULL,
    quantidade            NUMERIC (15,6) DEFAULT 0 NOT NULL,
    quantidadeSaldoDevRet NUMERIC (15,6) DEFAULT 0 NOT NULL,
    quantidadeConferida   NUMERIC (15,6) DEFAULT 0 NOT NULL,
    observacoes           VARCHAR (4000) DEFAULT ' ' NOT NULL,
    excluido              NUMERIC (1,0) DEFAULT 0 NOT NULL
  ) ON COMMIT PRESERVE ROWS;
CREATE UNIQUE INDEX TEMPENDERECOSESTOQUE_PK1 ON TEMPENDERECOSESTOQUE (sessaoClient, contadorTemp);
CREATE INDEX TEMPENDERECOSESTOQUE_K2 ON TEMPENDERECOSESTOQUE (sessaoClient, entradaSaida, enderecoEstoque);

DROP TABLE TEMPNUMEROSSERIE;

-- TEMPNUMEROSSERIE
CREATE GLOBAL TEMPORARY TABLE TEMPNUMEROSSERIE
  (
    sessaoClient                VARCHAR (30) DEFAULT ' ' NOT NULL,
    contadorSessao              NUMERIC (14,0) DEFAULT 0 NOT NULL,
    contadorTemp                NUMERIC (14,0) DEFAULT 0 NOT NULL,
    id                          NUMERIC (14,0) DEFAULT 0 NOT NULL,
    idEnderecoEstoqueXDocumento NUMERIC (14,0) DEFAULT 0 NOT NULL,
    gradeProduto                NUMERIC (14,0) DEFAULT 0 NOT NULL,
    numeroSerie                 VARCHAR (60) DEFAULT ' ' NOT NULL,
    idNumeroSerie               NUMERIC (14,0) DEFAULT 0 NOT NULL,
    efetivadoDevRet             NUMERIC (1,0) DEFAULT 0 NOT NULL,
    excluido                    NUMERIC (1,0) DEFAULT 0 NOT NULL
  ) ON COMMIT PRESERVE ROWS;
CREATE UNIQUE INDEX TEMPNUMEROSSERIE_PK1 ON TEMPNUMEROSSERIE (sessaoClient, contadorSessao, contadorTemp);
CREATE INDEX TEMPNUMEROSSERIE_K2 ON TEMPNUMEROSSERIE (sessaoClient, contadorSessao, idEnderecoEstoqueXDocumento, gradeProduto, numeroSerie);
CREATE INDEX TEMPNUMEROSSERIE_K3 ON TEMPNUMEROSSERIE (sessaoClient, contadorSessao, idEnderecoEstoqueXDocumento, gradeProduto, idNumeroSerie);

DROP TABLE TEMPCENTROSCUSTOS;

-- TEMPCENTROSCUSTOS
CREATE GLOBAL TEMPORARY TABLE TEMPCENTROSCUSTOS
  (
    sessaoClient               VARCHAR (30) DEFAULT ' ' NOT NULL,
    contadorTemp               NUMERIC (11,0) DEFAULT 0 NOT NULL,
    id                         NUMERIC (14,0) DEFAULT 0 NOT NULL,
    idCentroCusto              NUMERIC (14,0) DEFAULT 0 NOT NULL,
    codigoDescricaoCentroCusto VARCHAR (300) DEFAULT ' ' NOT NULL,
    percentualRateio           NUMERIC (15,8) DEFAULT 0 NOT NULL,
    valor                      NUMERIC (15,2) DEFAULT 0 NOT NULL,
    excluido                   NUMERIC (1,0) DEFAULT 0 NOT NULL
  ) ON COMMIT PRESERVE ROWS;
CREATE UNIQUE INDEX TEMPCENTROSCUSTOS_PK1 ON TEMPCENTROSCUSTOS (sessaoClient, contadorTemp);
CREATE INDEX TEMPCENTROSCUSTOS_K2 ON TEMPCENTROSCUSTOS (sessaoClient, idCentroCusto);

DROP TABLE TEMPFECHAMENTOSESSAO;

-- TEMPFECHAMENTOSESSAO
CREATE GLOBAL TEMPORARY TABLE TEMPFECHAMENTOSESSAO
  (
    sessaoClient    VARCHAR (30) DEFAULT ' ' NOT NULL,
    meioPagamento   NUMERIC (2,0) DEFAULT 0 NOT NULL,
    valor           NUMERIC (15,2) DEFAULT 0 NOT NULL,
    observacoes     VARCHAR (4000) DEFAULT ' ' NOT NULL
  ) ON COMMIT PRESERVE ROWS;
CREATE UNIQUE INDEX TEMPFECHAMENTOSESSAO_PK1 ON TEMPFECHAMENTOSESSAO (sessaoClient, meioPagamento);

DROP TABLE TEMPSELECAODOCUMENTO;

-- TEMPSELECAODOCUMENTO
CREATE GLOBAL TEMPORARY TABLE TEMPSELECAODOCUMENTO
  (
    sessaoClient               VARCHAR (30) DEFAULT ' ' NOT NULL,
    nomePublico                VARCHAR (30) DEFAULT ' ' NOT NULL,
    quebra                     VARCHAR2(190) NOT NULL,
    origem                     CHAR (1) DEFAULT ' ' NOT NULL,
    idCabecalho                NUMERIC (14,0) DEFAULT 0 NOT NULL,
    sequencia                  NUMERIC (3,0) DEFAULT 0 NOT NULL,
    idItem                     NUMERIC (14,0) DEFAULT 0 NOT NULL,
    quebraB                    VARCHAR2(190) NOT NULL,
    selecionado                NUMERIC (1,0) DEFAULT 0 NOT NULL,
    linhaA                     VARCHAR (300) DEFAULT ' ' NOT NULL,
    linhaB                     VARCHAR (300) DEFAULT ' ' NOT NULL,
    campoA                     VARCHAR (256) DEFAULT ' ' NOT NULL,
    campoB                     VARCHAR (256) DEFAULT ' ' NOT NULL,
    campoC                     VARCHAR (256) DEFAULT ' ' NOT NULL,
    campoD                     VARCHAR (256) DEFAULT ' ' NOT NULL,
    idA                        NUMERIC (14,0) DEFAULT 0 NOT NULL,
    idB                        NUMERIC (14,0) DEFAULT 0 NOT NULL,
    idC                        NUMERIC (14,0) DEFAULT 0 NOT NULL,
    idD                        NUMERIC (14,0) DEFAULT 0 NOT NULL,
    idE                        NUMERIC (14,0) DEFAULT 0 NOT NULL,
    idF                        NUMERIC (14,0) DEFAULT 0 NOT NULL,
    idG                        NUMERIC (14,0) DEFAULT 0 NOT NULL,
    idH                        NUMERIC (14,0) DEFAULT 0 NOT NULL,
    idI                        NUMERIC (14,0) DEFAULT 0 NOT NULL,
    idJ                        NUMERIC (14,0) DEFAULT 0 NOT NULL,
    idK                        NUMERIC (14,0) DEFAULT 0 NOT NULL,
    idL                        NUMERIC (14,0) DEFAULT 0 NOT NULL,
    idM                        NUMERIC (14,0) DEFAULT 0 NOT NULL,
    idN                        NUMERIC (14,0) DEFAULT 0 NOT NULL,
    idO                        NUMERIC (14,0) DEFAULT 0 NOT NULL,
    simNaoA                    NUMERIC (1,0) DEFAULT 0 NOT NULL,
    simNaoB                    NUMERIC (1,0) DEFAULT 0 NOT NULL,
    simNaoC                    NUMERIC (1,0) DEFAULT 0 NOT NULL,
    simNaoD                    NUMERIC (1,0) DEFAULT 0 NOT NULL,
    simNaoE                    NUMERIC (1,0) DEFAULT 0 NOT NULL,
    vendedor                   NUMERIC (14,0) DEFAULT 0 NOT NULL,
    gradeProduto               NUMERIC (14,0) DEFAULT 0 NOT NULL,
    personalizacao             NUMERIC (7,0) DEFAULT 0 NOT NULL,
    localEstoque               NUMERIC (4,0) DEFAULT 0 NOT NULL,
    operacaoFiscal             NUMERIC (14,0) DEFAULT 0 NOT NULL,
    controleQuantidade         NUMERIC (1,0) DEFAULT 0 NOT NULL,
    unidadeMedida              VARCHAR (6) DEFAULT ' ' NOT NULL,
    casasDecimaisUnidadeMedida NUMERIC (1,0) DEFAULT 0 NOT NULL,
    conversorQuantidade        NUMERIC (15,8) DEFAULT 0 NOT NULL,
    loteMinimo                 NUMERIC (15,6) DEFAULT 0 NOT NULL,
    loteMultiplo               NUMERIC (15,6) DEFAULT 0 NOT NULL,
    altura                     NUMERIC (14,3) DEFAULT 0 NOT NULL,
    largura                    NUMERIC (14,3) DEFAULT 0 NOT NULL,
    comprimento                NUMERIC (14,3) DEFAULT 0 NOT NULL,
    pecas                      NUMERIC (15,6) DEFAULT 0 NOT NULL,
    pecasSelecionada           NUMERIC (15,6) DEFAULT 0 NOT NULL,
    quantidade                 NUMERIC (15,6) DEFAULT 0 NOT NULL,
    quantidadeSelecionada      NUMERIC (15,6) DEFAULT 0 NOT NULL,
    quantidadeConvertida       NUMERIC (15,6) DEFAULT 0 NOT NULL,
    quantidadeConvertidaSelec  NUMERIC (15,6) DEFAULT 0 NOT NULL,
    pesoLiquido                NUMERIC (15,6) DEFAULT 0 NOT NULL,
    pesoLiquidoSelecionado     NUMERIC (15,6) DEFAULT 0 NOT NULL,
    pesoBruto                  NUMERIC (15,6) DEFAULT 0 NOT NULL,
    pesoBrutoSelecionado       NUMERIC (15,6) DEFAULT 0 NOT NULL,
    valor                      NUMERIC (15,2) DEFAULT 0 NOT NULL,
    valorSelecionado           NUMERIC (15,2) DEFAULT 0 NOT NULL,
    data                       DATE,
    hora                       CHAR(6),
    dataSelecionada            DATE,
    horaSelecionada            CHAR(6),
    quantidadeA                NUMERIC (15,6) DEFAULT 0 NOT NULL,
    quantidadeB                NUMERIC (15,6) DEFAULT 0 NOT NULL,
    quantidadeC                NUMERIC (15,6) DEFAULT 0 NOT NULL,
    quantidadeD                NUMERIC (15,6) DEFAULT 0 NOT NULL,
    quantidadeE                NUMERIC (15,6) DEFAULT 0 NOT NULL,
    precoUnitarioA             NUMERIC (15,7) DEFAULT 0 NOT NULL,
    precoUnitarioB             NUMERIC (15,7) DEFAULT 0 NOT NULL,
    precoUnitarioC             NUMERIC (15,7) DEFAULT 0 NOT NULL,
    precoUnitarioD             NUMERIC (15,7) DEFAULT 0 NOT NULL,
    precoUnitarioE             NUMERIC (15,7) DEFAULT 0 NOT NULL,
    valorA                     NUMERIC (15,2) DEFAULT 0 NOT NULL,
    valorB                     NUMERIC (15,2) DEFAULT 0 NOT NULL,
    valorC                     NUMERIC (15,2) DEFAULT 0 NOT NULL,
    valorD                     NUMERIC (15,2) DEFAULT 0 NOT NULL,
    valorE                     NUMERIC (15,2) DEFAULT 0 NOT NULL,
    valorF                     NUMERIC (15,2) DEFAULT 0 NOT NULL,
    valorG                     NUMERIC (15,2) DEFAULT 0 NOT NULL,
    valorH                     NUMERIC (15,2) DEFAULT 0 NOT NULL,
    valorI                     NUMERIC (15,2) DEFAULT 0 NOT NULL,
    valorJ                     NUMERIC (15,2) DEFAULT 0 NOT NULL,
    BLOB NCLOB
  ) ON COMMIT PRESERVE ROWS;
CREATE UNIQUE INDEX TEMPSELECAODOCUMENTO_PK1 ON TEMPSELECAODOCUMENTO (sessaoClient, nomePublico, quebra, origem, idCabecalho, sequencia, idItem);
CREATE INDEX TEMPSELECAODOCUMENTO_K2 ON TEMPSELECAODOCUMENTO (sessaoClient, nomePublico, quebraB, origem, idCabecalho, sequencia, idItem);

DROP TABLE TEMPVERIFICACAOESTOQUE;

--TEMPVERIFICACAOESTOQUE
CREATE GLOBAL TEMPORARY TABLE TEMPVERIFICACAOESTOQUE
  (
    sessaoClient         VARCHAR (30) DEFAULT ' ' NOT NULL,
    idCabecalho          NUMERIC (14,0) DEFAULT 0 NOT NULL,
    sequencia            NUMERIC (3,0) DEFAULT 0 NOT NULL,
    estabelecimento      NUMERIC (4,0) DEFAULT 0 NOT NULL,
    localEstoque         NUMERIC (4,0) DEFAULT 0 NOT NULL,
    pessoaParticipante   NUMERIC (14,0) DEFAULT 0 NOT NULL,
    idEnderecoEstoque    NUMERIC (14,0) DEFAULT 0 NOT NULL,
    gradeProduto         NUMERIC (14,0) DEFAULT 0 NOT NULL,
    personalizacao       NUMERIC (7,0) DEFAULT 0 NOT NULL,
    idLoteEstoque        NUMERIC (14,0) DEFAULT 0 NOT NULL,
    idNumeroSerie        NUMERIC (14,0) DEFAULT 0 NOT NULL,
    quantidade           NUMERIC (15,6) DEFAULT 0 NOT NULL,
    quantidadeEstoque    NUMERIC (15,6) DEFAULT 0 NOT NULL,
    quantidadeReservas   NUMERIC (15,6) DEFAULT 0 NOT NULL,
    quantidadeJaLiberada NUMERIC (15,6) DEFAULT 0 NOT NULL,
    bloqueado            NUMERIC (1,0) DEFAULT 0 NOT NULL
  ) ON COMMIT PRESERVE ROWS;
CREATE UNIQUE INDEX TEMPVERIFICACAOESTOQUE_PK1 ON TEMPVERIFICACAOESTOQUE (sessaoClient, idCabecalho, sequencia, estabelecimento, localEstoque, pessoaParticipante, idEnderecoEstoque, gradeProduto, personalizacao, idLoteEstoque, idNumeroSerie);
CREATE INDEX TEMPVERIFICACAOESTOQUE_K2 ON TEMPVERIFICACAOESTOQUE (sessaoClient, estabelecimento, localEstoque, pessoaParticipante, idEnderecoEstoque, gradeProduto, personalizacao, idLoteEstoque, idNumeroSerie);

DROP TABLE TEMPMOVIMENTOESTOQUE;

-- TEMPMOVIMENTOESTOQUE
CREATE GLOBAL TEMPORARY TABLE TEMPMOVIMENTOESTOQUE
  (
    sessaoClient                  VARCHAR (30) DEFAULT ' ' NOT NULL,
    entradaSaida                  CHAR (1) DEFAULT ' ' NOT NULL,
    contador                      NUMERIC (14,0) DEFAULT 0 NOT NULL,
    vendedor                      NUMERIC (14,0) DEFAULT 0 NOT NULL,
    gradeProduto                  NUMERIC (14,0) DEFAULT 0 NOT NULL,
    servico                       NUMERIC (1,0) DEFAULT 0 NOT NULL,
    idFormulaTinta                NUMERIC (14,0) DEFAULT 0 NOT NULL,
    personalizacao                NUMERIC (7,0) DEFAULT 0 NOT NULL,
    idLoteEstoque                 NUMERIC (14,0) DEFAULT 0 NOT NULL,
    idEnderecoEstoque             NUMERIC (14,0) DEFAULT 0 NOT NULL,
    posicaoCaixaEstoque           NUMERIC (3,0) DEFAULT 0 NOT NULL,
    idNumeroSerie                 NUMERIC (14,0) DEFAULT 0 NOT NULL,
    localEstoque                  NUMERIC (4,0) DEFAULT 0 NOT NULL,
    pessoaParticipante            NUMERIC (14,0) DEFAULT 0 NOT NULL,
    quantidade                    NUMERIC (15,6) DEFAULT 0 NOT NULL,
    tipoPreco                     CHAR (1) DEFAULT ' ' NOT NULL,
    tabelaPreco                   VARCHAR (10) DEFAULT ' ' NOT NULL,
    precoUnitario                 NUMERIC (15,7) DEFAULT 0 NOT NULL,
    valorProdutoServico           NUMERIC (15,2) DEFAULT 0 NOT NULL,
    valorDesconto                 NUMERIC (15,2) DEFAULT 0 NOT NULL,
    valorAcrescimo                NUMERIC (15,2) DEFAULT 0 NOT NULL,
    valorFrete                    NUMERIC (15,2) DEFAULT 0 NOT NULL,
    valorSeguro                   NUMERIC (15,2) DEFAULT 0 NOT NULL,
    valorAdicFreteMarinhaMer      NUMERIC (15,2) DEFAULT 0 NOT NULL,
    valorDespesasAduaneiras       NUMERIC (15,2) DEFAULT 0 NOT NULL,
    valorImpostosSomaPagamento    NUMERIC (15,2) DEFAULT 0 NOT NULL,
    valorImpostosDiminuiPagamento NUMERIC (15,2) DEFAULT 0 NOT NULL,
    valorLiquido                  NUMERIC (15,2) DEFAULT 0 NOT NULL,
    precoCustoOperacao            NUMERIC (15,7) DEFAULT 0 NOT NULL,
    valorCustoOperacao            NUMERIC (15,2) DEFAULT 0 NOT NULL,
    precoCMV                      NUMERIC (15,7) DEFAULT 0 NOT NULL,
    valorCMV                      NUMERIC (15,2) DEFAULT 0 NOT NULL,
    idItemPreDocumentoSaida       NUMERIC (14,0) DEFAULT 0 NOT NULL,
    idItemDocFiscalSaida          NUMERIC (14,0) DEFAULT 0 NOT NULL,
    observacoes                   VARCHAR (4000) DEFAULT ' ' NOT NULL
   ) ON COMMIT PRESERVE ROWS;
CREATE UNIQUE INDEX TEMPMOVIMENTOESTOQUE_PK1 ON TEMPMOVIMENTOESTOQUE (sessaoClient, entradaSaida, contador);

DROP TABLE TEMPLIBERACOES;

-- TEMPLIBERACOES
CREATE GLOBAL TEMPORARY TABLE TEMPLIBERACOES
  (
    sessaoClient       VARCHAR (30) DEFAULT ' ' NOT NULL,
    idLiberacao        NUMERIC (14,0) DEFAULT 0 NOT NULL,
    idMotivoBloqueio   NUMERIC (14,0) DEFAULT 0 NOT NULL,
    usuario            NUMERIC (14,0) DEFAULT 0 NOT NULL,
    dataLiberacao      DATE,
    horaLiberacao      CHAR(6),
    valorLiberado      NUMERIC (15,2) DEFAULT 0 NOT NULL,
    percentualLiberado NUMERIC (15,8) DEFAULT 0 NOT NULL,
    percentualAlcada   NUMERIC (15,8) DEFAULT 0 NOT NULL,
    situacaoLiberacao  CHAR (1) DEFAULT ' ' NOT NULL,
    observacoes        VARCHAR (4000) DEFAULT ' ' NOT NULL
  ) ON COMMIT PRESERVE ROWS;
CREATE UNIQUE INDEX TEMPLIBERACOES_PK1 ON TEMPLIBERACOES (sessaoClient, idLiberacao);
CREATE INDEX TEMPLIBERACOES_K2 ON TEMPLIBERACOES (sessaoClient, idMotivoBloqueio, usuario, idLiberacao);

DROP TABLE TEMPPAGAMENTOS;

-- TEMPPAGAMENTOS
CREATE GLOBAL TEMPORARY TABLE TEMPPAGAMENTOS
  (
    sessaoClient                VARCHAR (30) DEFAULT ' ' NOT NULL,
    contadorSessao              NUMERIC (14,0) DEFAULT 0 NOT NULL,
    origem                      CHAR (1) DEFAULT ' ' NOT NULL,
    idCabecalho                 NUMERIC (14,0) DEFAULT 0 NOT NULL,
    pagamentoTroco              CHAR (1) DEFAULT ' ' NOT NULL,
    sequencia                   NUMERIC (3,0) DEFAULT 0 NOT NULL,
    pagamentoRecebimento        CHAR (1) DEFAULT ' ' NOT NULL,
    condicaoPagamento           NUMERIC (4,0) DEFAULT 0 NOT NULL,
    cobranca                    NUMERIC (14,0) DEFAULT 0 NOT NULL,
    totalParcelas               NUMERIC (3,0) DEFAULT 0 NOT NULL,
    valorPagamentoLiquido       NUMERIC (15,2) DEFAULT 0 NOT NULL,
    contratoCompra              NUMERIC (14,0) DEFAULT 0 NOT NULL,
    cartaoCredenciadoraCartao   NUMERIC (14,0) DEFAULT 0 NOT NULL,
    cartaoBandeiraCartaoDebCred NUMERIC (2,0) DEFAULT 0 NOT NULL,
    cartaoTransacaoCartaoNSU    VARCHAR (20) DEFAULT ' ' NOT NULL,
    cartaoAutorizacaoCartao     VARCHAR (100) DEFAULT ' ' NOT NULL,
    cartaoTarifaCartao          NUMERIC (15,8) DEFAULT 0 NOT NULL,
    cartaoProprio               VARCHAR (16) DEFAULT ' ' NOT NULL,
    idFinanceiroAdiantamento    NUMERIC (14,0) DEFAULT 0 NOT NULL
  ) ON COMMIT PRESERVE ROWS;
CREATE UNIQUE INDEX TEMPPAGAMENTOS_PK1 ON TEMPPAGAMENTOS (sessaoClient, contadorSessao, origem, idCabecalho, pagamentoTroco, sequencia);
CREATE INDEX TEMPPAGAMENTOS_K2 ON TEMPPAGAMENTOS (sessaoClient, contadorSessao, contratoCompra);

DROP TABLE TEMPPARCELAS;

-- TEMPPARCELAS
CREATE GLOBAL TEMPORARY TABLE TEMPPARCELAS
  (
    sessaoClient                   VARCHAR (30) DEFAULT ' ' NOT NULL,
    contadorSessao                 NUMERIC (14,0) DEFAULT 0 NOT NULL,
    origem                         CHAR (1) DEFAULT ' ' NOT NULL,
    idCabecalho                    NUMERIC (14,0) DEFAULT 0 NOT NULL,
    pagamentoTroco                 CHAR (1) DEFAULT ' ' NOT NULL,
    sequencia                      NUMERIC (3,0) DEFAULT 0 NOT NULL,
    parcela                        NUMERIC (3,0) DEFAULT 0 NOT NULL,
    prazoPadrao                    NUMERIC (6,0) DEFAULT 0 NOT NULL,
    prazo                          NUMERIC (6,0) DEFAULT 0 NOT NULL,
    vencimento                     DATE,
    baixaAutomatica                NUMERIC (1,0) DEFAULT 0 NOT NULL,
    percentualRateioOriginal       NUMERIC (15,8) DEFAULT 0 NOT NULL,
    valor                          NUMERIC (15,2) DEFAULT 0 NOT NULL,
    complementoFinanceiro          VARCHAR (500) DEFAULT ' ' NOT NULL,
    idPrevisaoFinanceira           NUMERIC (14,0) DEFAULT 0 NOT NULL,
    idFinanceiro                   NUMERIC (14,0) DEFAULT 0 NOT NULL,
    idTransacaoTef                 NUMERIC (14,0) DEFAULT 0 NOT NULL,
    chequeCompensacao              CHAR (3) DEFAULT '   ' NOT NULL,
    chequeBanco                    CHAR (3) DEFAULT '   ' NOT NULL,
    chequeAgenciaBanco             VARCHAR (6) DEFAULT ' ' NOT NULL,
    chequeC1                       NUMERIC (1,0) DEFAULT 0 NOT NULL,
    chequeContaBanco               VARCHAR (12) DEFAULT ' ' NOT NULL,
    chequeC2                       NUMERIC (1,0) DEFAULT 0 NOT NULL,
    cheque                         NUMERIC (6,0) DEFAULT 0 NOT NULL,
    chequeC3                       NUMERIC (1,0) DEFAULT 0 NOT NULL,
    chequeBomPara                  DATE,
    chequeIndicadorPessoa          CHAR (1) DEFAULT ' ' NOT NULL,
    chequeTitular                  VARCHAR (60) DEFAULT ' ' NOT NULL,
    chequeIndicadorDocumentoPessoa CHAR (1) DEFAULT ' ' NOT NULL,
    chequeCnpjCpfIdEstrangeiro     VARCHAR (20) DEFAULT ' ' NOT NULL,
    chequeFone                     VARCHAR (14) DEFAULT ' ' NOT NULL,
    chequeDesde                    DATE,
    chequeAutenticacao             VARCHAR (256) DEFAULT ' ' NOT NULL,
    chequeIndicadorFone            NUMERIC (3,0) DEFAULT 0 NOT NULL,
    chequeOperacaoTelefonia        NUMERIC (3,0) DEFAULT 0 NOT NULL,
    chequeObservacaoFone           VARCHAR (4000) DEFAULT ' ' NOT NULL,
    linhaDigitavelBoleto           VARCHAR (47) DEFAULT ' ' NOT NULL
  ) ON COMMIT PRESERVE ROWS;
CREATE UNIQUE INDEX TEMPPARCELAS_PK1 ON TEMPPARCELAS (sessaoClient, contadorSessao, origem, idCabecalho, pagamentoTroco, sequencia, parcela);

DROP TABLE TEMPRECEBIMENTO;

-- TEMPRECEBIMENTO
CREATE GLOBAL TEMPORARY TABLE TEMPRECEBIMENTO
  (
    sessaoClient                  VARCHAR (30) DEFAULT ' ' NOT NULL,
    contadorSessao                NUMERIC (14,0) DEFAULT 0 NOT NULL,
    idFinanceiro                  NUMERIC (14,0) DEFAULT 0 NOT NULL,
    idBaixaFinanceiro             NUMERIC (14,0) DEFAULT 0 NOT NULL,
    ordenacao                     VARCHAR (256) DEFAULT ' ' NOT NULL,
    quebra                        VARCHAR (256) DEFAULT ' ' NOT NULL,
    selecionado                   NUMERIC (1,0) DEFAULT 0 NOT NULL,
    legenda                       NUMERIC (3,0) DEFAULT 0 NOT NULL,
    documento                     VARCHAR (60) DEFAULT ' ' NOT NULL,
    contaFinanceira               VARCHAR (60) DEFAULT ' ' NOT NULL,
    contaFinanceiraDescricao      VARCHAR (120) DEFAULT ' ' NOT NULL,
    carteiraFinanceira            NUMERIC (4,0) DEFAULT 0 NOT NULL,
    carteiraFinanceiraDescricao   VARCHAR (256) DEFAULT ' ' NOT NULL,
    meioPagamento                 NUMERIC (2,0) DEFAULT 0 NOT NULL,
    meioPagamentoDescricao        VARCHAR (60) DEFAULT ' ' NOT NULL,
    bandeiraCartaoDebCred         NUMERIC (2,0) DEFAULT 0 NOT NULL,
    bandeiraCartaoDebCrDescricao  VARCHAR (120) DEFAULT ' ' NOT NULL,
    pagamentoRecebimento          CHAR (1) DEFAULT ' ' NOT NULL,
    cotacao                       NUMERIC (12,4) DEFAULT 0 NOT NULL,
    valor                         NUMERIC (15,2) DEFAULT 0 NOT NULL,
    saldo                         NUMERIC (15,2) DEFAULT 0 NOT NULL,
    saldoIndexado                 NUMERIC (15,6) DEFAULT 0 NOT NULL,
    valorVariacaoIndexador        NUMERIC (15,2) DEFAULT 0 NOT NULL,
    valorJurosDeMora              NUMERIC (15,2) DEFAULT 0 NOT NULL,
    valorMulta                    NUMERIC (15,2) DEFAULT 0 NOT NULL,
    valorTarifaCartao             NUMERIC (15,2) DEFAULT 0 NOT NULL,
    valorDescontos                NUMERIC (15,2) DEFAULT 0 NOT NULL,
    valorOutrosAcrescimos         NUMERIC (15,2) DEFAULT 0 NOT NULL,
    valorLiquido                  NUMERIC (15,2) DEFAULT 0 NOT NULL,
    saldoVariacaoIndexador        NUMERIC (15,2) DEFAULT 0 NOT NULL,
    saldoJurosDeMora              NUMERIC (15,2) DEFAULT 0 NOT NULL,
    saldoMulta                    NUMERIC (15,2) DEFAULT 0 NOT NULL,
    saldoTarifaCartao             NUMERIC (15,2) DEFAULT 0 NOT NULL,
    saldoDescontos                NUMERIC (15,2) DEFAULT 0 NOT NULL,
    saldoOutrosAcrescimos         NUMERIC (15,2) DEFAULT 0 NOT NULL,
    saldoLiquido                  NUMERIC (15,2) DEFAULT 0 NOT NULL
  ) ON COMMIT PRESERVE ROWS;
CREATE UNIQUE INDEX TEMPRECEBIMENTO_PK1 ON TEMPRECEBIMENTO (sessaoClient, contadorSessao, idFinanceiro, idBaixaFinanceiro);
CREATE INDEX TEMPRECEBIMENTO_K2 ON TEMPRECEBIMENTO (sessaoClient, contadorSessao, ordenacao);
CREATE INDEX TEMPRECEBIMENTO_K3 ON TEMPRECEBIMENTO (sessaoClient, contadorSessao, documento);

DROP TABLE TEMPEXTRATOPESSOA;

-- TEMPEXTRATOPESSOA
CREATE GLOBAL TEMPORARY TABLE TEMPEXTRATOPESSOA
  (
    sessaoClient                   VARCHAR (30) DEFAULT ' ' NOT NULL,
    idSessao                       NUMERIC (14,0) DEFAULT 0 NOT NULL,
    idFinanceiro                   NUMERIC (14,0) DEFAULT 0 NOT NULL,
    idFinanceiroReduzido           VARCHAR (256) DEFAULT ' ' NOT NULL,
    pagamentoRecebimento           CHAR (1) DEFAULT ' ' NOT NULL,
    ordenacao                      VARCHAR (256) DEFAULT ' ' NOT NULL,
    quebra                         VARCHAR (256) DEFAULT ' ' NOT NULL,
    estabelecimento                NUMERIC (4,0) DEFAULT 0 NOT NULL,
    emissao                        DATE,
    contratoCompra                 NUMERIC (14,0) DEFAULT 0 NOT NULL,
    documento                      VARCHAR (60) DEFAULT ' ' NOT NULL,
    sequenciaPagamento             NUMERIC (3,0) DEFAULT 0 NOT NULL,
    parcelaAtual                   NUMERIC (3,0) DEFAULT 0 NOT NULL,
    parcelasTotais                 NUMERIC (3,0) DEFAULT 0 NOT NULL,
    valorTotal                     NUMERIC (15,2) DEFAULT 0 NOT NULL,
    meioPagamento                  NUMERIC (2,0) DEFAULT 0 NOT NULL,
    vencimento                     DATE,
    vencimentoNegociado            DATE,
    naoCobrarJurosMultaAte         DATE,
    valor                          NUMERIC (15,2) DEFAULT 0 NOT NULL,
    saldo                          NUMERIC (15,2) DEFAULT 0 NOT NULL,
    valorPagoCrediarioSemRenegoc   NUMERIC (15,2) DEFAULT 0 NOT NULL,
    indexador                      VARCHAR (10) DEFAULT ' ' NOT NULL,
    saldoIndexado                  NUMERIC (15,6) DEFAULT 0 NOT NULL,
    tarifaDescontoAteVencimento    NUMERIC (15,8) DEFAULT 0 NOT NULL,
    tipoPagamentoAntecipado        CHAR (1) DEFAULT ' ' NOT NULL,
    tarifaMensalDescontoAntecipado NUMERIC (15,8) DEFAULT 0 NOT NULL,
    tipoJuroDeMora                 CHAR (1) DEFAULT ' ' NOT NULL,
    tarifaMensalJuroDeMora         NUMERIC (15,8) DEFAULT 0 NOT NULL,
    tarifaMulta                    NUMERIC (15,8) DEFAULT 0 NOT NULL,
    valorFixoMulta                 NUMERIC (15,2) DEFAULT 0 NOT NULL,
    dataPagamento                  DATE,
    jurosAberto                    NUMERIC (15,2) DEFAULT 0 NOT NULL,
    descontosAberto                NUMERIC (15,2) DEFAULT 0 NOT NULL,
    jurosLiquidado                 NUMERIC (15,2) DEFAULT 0 NOT NULL,
    descontosLiquidado             NUMERIC (15,2) DEFAULT 0 NOT NULL,
    atraso                         NUMERIC (6,0) DEFAULT 0 NOT NULL,
    efetivado                      NUMERIC (1,0) DEFAULT 0 NOT NULL,
    vinculado                      NUMERIC (1,0) DEFAULT 0 NOT NULL,
    possuiRelacionados             NUMERIC (1,0) DEFAULT 0 NOT NULL,
    possuiBaixas                   NUMERIC (1,0) DEFAULT 0 NOT NULL,
    primeiroDocumento              NUMERIC (1,0) DEFAULT 0 NOT NULL,
    emDigitacao                    NUMERIC (1,0) DEFAULT 0 NOT NULL,
    idPagamentoPreDocumento        NUMERIC (14,0) DEFAULT 0 NOT NULL,
    preDocumento                   NUMERIC (14,0) DEFAULT 0 NOT NULL,
    idPagamentoDocFiscal           NUMERIC (14,0) DEFAULT 0 NOT NULL,
    idDocumentoFiscal              NUMERIC (14,0) DEFAULT 0 NOT NULL,
    autorizadoPessoa               NUMERIC (14,0) DEFAULT 0 NOT NULL,
    tipoDocumento                  NUMERIC (3,0) DEFAULT 0 NOT NULL,
    operacaoFinanceira             NUMERIC (2,0) DEFAULT 0 NOT NULL,
    complementoFinanceiro          VARCHAR (500) DEFAULT ' ' NOT NULL
  ) ON COMMIT PRESERVE ROWS;
CREATE UNIQUE INDEX TEMPEXTRATOPESSOA_PK1 ON TEMPEXTRATOPESSOA (sessaoClient, idSessao, idFinanceiro);
CREATE INDEX TEMPEXTRATOPESSOA_K2 ON TEMPEXTRATOPESSOA (sessaoClient, idSessao, ordenacao);
CREATE INDEX TEMPEXTRATOPESSOA_K3 ON TEMPEXTRATOPESSOA (sessaoClient, idSessao, ordenacao DESC);

DROP TABLE TEMPCNAB;

-- TEMPCNAB
CREATE GLOBAL TEMPORARY TABLE TEMPCNAB
  (
    sessaoClient                   VARCHAR (30) DEFAULT ' ' NOT NULL,
    idSessao                       NUMERIC (14,0) DEFAULT 0 NOT NULL,
    ordenacao                      NUMERIC (14,0) DEFAULT 0 NOT NULL,
    idFinanceiro                   NUMERIC (14,0) DEFAULT 0 NOT NULL,
    idBaixaFinanceiro              NUMERIC (14,0) DEFAULT 0 NOT NULL,
    idRegistroSpc                  NUMERIC (14,0) DEFAULT 0 NOT NULL,
    dataRegistroSPC                DATE,
    selecionado                    NUMERIC (1,0) DEFAULT 0 NOT NULL,
    estabelecimento                NUMERIC (14,0) DEFAULT 0 NOT NULL,
    contratoCompra                 NUMERIC (14,0) DEFAULT 0 NOT NULL,
    documento                      VARCHAR (60) DEFAULT ' ' NOT NULL,
    fatura                         VARCHAR (60) DEFAULT ' ' NOT NULL,
    parcelaAtual                   NUMERIC (3,0) DEFAULT 0 NOT NULL,
    dataEmissao                    DATE,
    vencimento                     DATE,
    naoCobrarJurosMultaAte         DATE,
    saldo                          NUMERIC (15,2) DEFAULT 0 NOT NULL,
    tarifaDescontoAteVencimento    NUMERIC (15,8) DEFAULT 0 NOT NULL,
    tarifaMensalDescontoAntecipado NUMERIC (15,8) DEFAULT 0 NOT NULL,
    tarifaMensalJuroDeMora         NUMERIC (15,8) DEFAULT 0 NOT NULL,
    tarifaMulta                    NUMERIC (15,8) DEFAULT 0 NOT NULL,
    valorFixoMulta                 NUMERIC (15,2) DEFAULT 0 NOT NULL,
    nossoNumero                    VARCHAR (25) DEFAULT ' ' NOT NULL,
    linhaDigitavelBoleto           VARCHAR (47) DEFAULT ' ' NOT NULL,
    pessoa                         NUMERIC (14,0) DEFAULT 0 NOT NULL,
    nomeRazaoSocial                VARCHAR (60) DEFAULT ' ' NOT NULL,
    indicadorPessoa                CHAR (1) DEFAULT ' ' NOT NULL,
    nascimentoFundacao             DATE,
    cnpjCpfIdEstrangeiro           VARCHAR (20) DEFAULT ' ' NOT NULL,
    enderecoCep                    NUMERIC (8,0) DEFAULT 0 NOT NULL,
    enderecoLogradouro             VARCHAR (60) DEFAULT ' ' NOT NULL,
    enderecoNumero                 VARCHAR (60) DEFAULT ' ' NOT NULL,
    enderecoComplemento            VARCHAR (60) DEFAULT ' ' NOT NULL,
    enderecoBairroDistrito         VARCHAR (60) DEFAULT ' ' NOT NULL,
    enderecoMunicipio              NUMERIC (7,0) DEFAULT 0 NOT NULL,
    enderecoPais                   CHAR (4) DEFAULT ' ' NOT NULL,
    enderecoObservacoes            VARCHAR (4000) DEFAULT ' ' NOT NULL,
    enderecoDescricaoMunicipio     VARCHAR (60) DEFAULT ' ' NOT NULL,
    enderecoUf                     CHAR (2) DEFAULT '  ' NOT NULL,
    enderecoDescricaoPais          VARCHAR (60) DEFAULT ' ' NOT NULL,
    foneA                          VARCHAR (14) DEFAULT ' ' NOT NULL,
    foneB                          VARCHAR (14) DEFAULT ' ' NOT NULL,
    email                          VARCHAR (60) DEFAULT ' ' NOT NULL,
    rg                             VARCHAR (20) DEFAULT ' ' NOT NULL,
    mae                            VARCHAR (60) DEFAULT ' ' NOT NULL,
    pai                            VARCHAR (60) DEFAULT ' ' NOT NULL,
    descricaoOcupacao              VARCHAR (256) DEFAULT ' ' NOT NULL,
    empregoRazaoSocial             VARCHAR (60) DEFAULT ' ' NOT NULL,
    empregoFone                    VARCHAR (14) DEFAULT ' ' NOT NULL,
    empregoCep                     NUMERIC (8,0) DEFAULT 0 NOT NULL,
    empregoLogradouro              VARCHAR (60) DEFAULT ' ' NOT NULL,
    empregoNumero                  VARCHAR (60) DEFAULT ' ' NOT NULL,
    empregoComplemento             VARCHAR (60) DEFAULT ' ' NOT NULL,
    empregoBairroDistrito          VARCHAR (60) DEFAULT ' ' NOT NULL,
    empregoMunicipio               NUMERIC (7,0) DEFAULT 0 NOT NULL,
    empregoPais                    CHAR (4) DEFAULT ' ' NOT NULL,
    empregoObservacoes             VARCHAR (4000) DEFAULT ' ' NOT NULL,
    empregoDescricaoMunicipio      VARCHAR (60) DEFAULT ' ' NOT NULL,
    empregoUf                      CHAR (2) DEFAULT '  ' NOT NULL,
    empregoDescricaoPais           VARCHAR (60) DEFAULT ' ' NOT NULL,
    conjugeNome                    VARCHAR (60) DEFAULT ' ' NOT NULL,
    conjugeCpf                     VARCHAR (20) DEFAULT ' ' NOT NULL,
    entidadeSPC                    NUMERIC (3,0) DEFAULT 0 NOT NULL,
    codigoCDL                      VARCHAR (256) DEFAULT ' ' NOT NULL,
    codigoAssociado                VARCHAR (256) DEFAULT ' ' NOT NULL,
    codigoFilial                   VARCHAR (256) DEFAULT ' ' NOT NULL,
    senha                          VARCHAR (256) DEFAULT ' ' NOT NULL,
    mensagemErro                   VARCHAR (256) DEFAULT ' ' NOT NULL
  ) ON COMMIT PRESERVE ROWS;
CREATE UNIQUE INDEX TEMPCNAB_PK1 ON TEMPCNAB (sessaoClient, idSessao, ordenacao);

DROP TABLE TEMPCNABRETORNO;

--TEMPCNABRETORNO
CREATE GLOBAL TEMPORARY TABLE TEMPCNABRETORNO
  (
    sessaoClient              VARCHAR (30) DEFAULT ' ' NOT NULL,
    idSessao                  NUMERIC (14,0) DEFAULT 0 NOT NULL,
    ocorrenciaArquivoCobranca CHAR (2) DEFAULT '  ' NOT NULL,
    motivoArquivoCobranca     VARCHAR (4) DEFAULT ' ' NOT NULL,
    acaoArquivoCobranca       NUMERIC (2,0) DEFAULT 0 NOT NULL,
    idFinanceiro              NUMERIC (14,0) DEFAULT 0 NOT NULL,
    contador                  NUMERIC (14,0) DEFAULT 0 NOT NULL,
    descricaoOcorrencia       VARCHAR (256) DEFAULT ' ' NOT NULL,
    descricaoMotivo           VARCHAR (256) DEFAULT ' ' NOT NULL,
    nossoNumero               VARCHAR (25) DEFAULT ' ' NOT NULL,
    vencimento                DATE,
    valorTitulo               NUMERIC (15,2) DEFAULT 0 NOT NULL,
    dataCredito               DATE,
    valorPago                 NUMERIC (15,2) DEFAULT 0 NOT NULL,
    nomeRazaoSocial           VARCHAR (60) DEFAULT ' ' NOT NULL
  ) ON COMMIT PRESERVE ROWS;
CREATE UNIQUE INDEX TEMPRETORNOCNAB_PK1 ON TEMPCNABRETORNO (sessaoClient, idSessao, ocorrenciaArquivoCobranca, motivoArquivoCobranca, acaoArquivoCobranca, idFinanceiro, contador);

DROP TABLE TEMPLOGISTICA;

-- TEMPLOGISTICA
CREATE GLOBAL TEMPORARY TABLE TEMPLOGISTICA
  (
    sessaoClient         VARCHAR (30) DEFAULT ' ' NOT NULL,
    idSessao             NUMERIC (14,0) DEFAULT 0 NOT NULL,
    orcamento            NUMERIC (14,0) DEFAULT 0 NOT NULL,
    ordenacao            NUMERIC (11,0) DEFAULT 0 NOT NULL,
    selecionado          NUMERIC (1,0) DEFAULT 0 NOT NULL,
    dataFaturamento      DATE,
    dataEntrega          DATE,
    habilitarProgramar   NUMERIC (1,0) DEFAULT 0 NOT NULL,
    habilitarEntregar    NUMERIC (1,0) DEFAULT 0 NOT NULL,
    exibirPendente       NUMERIC (1,0) DEFAULT 0 NOT NULL,
    exibirAguardando     NUMERIC (1,0) DEFAULT 0 NOT NULL,
    exibirProgramado     NUMERIC (1,0) DEFAULT 0 NOT NULL,
    exibirSeparacao      NUMERIC (1,0) DEFAULT 0 NOT NULL,
    exibirEmEntrega      NUMERIC (1,0) DEFAULT 0 NOT NULL,
    exibirEntregue       NUMERIC (1,0) DEFAULT 0 NOT NULL,
    exibirDevolvido      NUMERIC (1,0) DEFAULT 0 NOT NULL,
    exibirCancelado      NUMERIC (1,0) DEFAULT 0 NOT NULL
  ) ON COMMIT PRESERVE ROWS;
CREATE UNIQUE INDEX TEMPLOGISTICA_PK1 ON TEMPLOGISTICA (sessaoClient, idSessao, orcamento);
CREATE INDEX TEMPLOGISTICA_K2 ON TEMPLOGISTICA (sessaoClient, idSessao, ordenacao);

DROP TABLE TEMPBALANCOXDIVERGENCIA;

-- TEMPBALANCOXDIVERGENCIA
CREATE GLOBAL TEMPORARY TABLE TEMPBALANCOXDIVERGENCIA
  (
    sessaoClient       VARCHAR (30) DEFAULT ' ' NOT NULL,
    idSessao           NUMERIC (14,0) DEFAULT 0 NOT NULL,
    ordenacao          NUMERIC (11,0) DEFAULT 0 NOT NULL,
    divergenciaBalanco NUMERIC (14,0) DEFAULT 0 NOT NULL,
    cancelado          NUMERIC (1,0) DEFAULT 0 NOT NULL,
    linhaImportada     VARCHAR (300) DEFAULT ' ' NOT NULL,
    mensagemBalanco    NUMERIC (3,0) DEFAULT 0 NOT NULL,
    gradeProduto       NUMERIC (14,0) DEFAULT 0 NOT NULL,
    personalizacao     NUMERIC (7,0) DEFAULT 0 NOT NULL,
    idLoteEstoque      NUMERIC (14,0) DEFAULT 0 NOT NULL,
    idEnderecoEstoque  NUMERIC (14,0) DEFAULT 0 NOT NULL,
    idNumeroSerie      NUMERIC (14,0) DEFAULT 0 NOT NULL,
    quantidadeEstoque  NUMERIC (15,6) DEFAULT 0 NOT NULL,
    quantidadeBalanco  NUMERIC (15,6) DEFAULT 0 NOT NULL,
    observacoes        VARCHAR (4000) DEFAULT ' ' NOT NULL
  ) ON COMMIT PRESERVE ROWS;
CREATE UNIQUE INDEX TEMPBALANCOXDIVERGENCIA_PK1 ON TEMPBALANCOXDIVERGENCIA (sessaoClient, idSessao, ordenacao);

DROP TABLE TEMPETIQUETA;

CREATE TABLE TEMPETIQUETA
  (
    sessaoClient          VARCHAR (30) DEFAULT ' ' NOT NULL,
    contadorSessao        NUMERIC (14,0) DEFAULT 0 NOT NULL,
    sequencial            NUMERIC (14,0) DEFAULT 0 NOT NULL,
    quantidadeEstoque     NUMERIC (15,6) DEFAULT 0 NOT NULL,
    quantidadeDocumento   NUMERIC (15,6) DEFAULT 0 NOT NULL,
    quantidadeEtiquetas   NUMERIC (14,0) DEFAULT 0 NOT NULL,
    gradeProduto          NUMERIC (14,0) DEFAULT 0 NOT NULL,
    produtoImpresso       VARCHAR (60) DEFAULT ' ' NOT NULL,
    tabelaPreco           VARCHAR (10) DEFAULT ' ' NOT NULL,
    precoUnitarioAnterior NUMERIC (15,7) DEFAULT 0 NOT NULL,
    precoUnitarioAPrazo   NUMERIC (15,7) DEFAULT 0 NOT NULL,
    precoUnitarioAVista   NUMERIC (15,7) DEFAULT 0 NOT NULL,
    linhaA                VARCHAR (300) DEFAULT ' ' NOT NULL,
    linhaB                VARCHAR (300) DEFAULT ' ' NOT NULL,
    linhaC                VARCHAR (300) DEFAULT ' ' NOT NULL,
    linhaD                VARCHAR (300) DEFAULT ' ' NOT NULL,
    linhaE                VARCHAR (300) DEFAULT ' ' NOT NULL,
    linhaF                VARCHAR (60) DEFAULT ' ' NOT NULL,
    imagemServer          VARCHAR (256) DEFAULT ' ' NOT NULL,
    imagemClient          VARCHAR (256) DEFAULT ' ' NOT NULL
  );
ALTER TABLE TEMPETIQUETA ADD CONSTRAINT TEMPETIQUETA_PK1 PRIMARY KEY (sessaoClient, contadorSessao, sequencial);
CREATE INDEX TEMPETIQUETA_K2 ON TEMPETIQUETA (sessaoClient, contadorSessao, gradeProduto);

DROP TABLE TEMPPROMOCOES;

-- TEMPPROMOCOES
CREATE GLOBAL TEMPORARY TABLE TEMPPROMOCOES
  (
    sessaoClient           VARCHAR (30) DEFAULT ' ' NOT NULL,
    contadorSessao         NUMERIC (14,0) DEFAULT 0 NOT NULL,
    idItem                 NUMERIC (14,0) DEFAULT 0 NOT NULL,
    regraPromocao          NUMERIC (14,0) DEFAULT 0 NOT NULL,
    tipoBeneficio          CHAR (2) DEFAULT '  ' NOT NULL,
    multiplicador          NUMERIC (15,6) DEFAULT 0 NOT NULL,
    percentualDesconto     NUMERIC (15,8) DEFAULT 0 NOT NULL,
    valorDesconto          NUMERIC (15,2) DEFAULT 0 NOT NULL,
    gerarPontuacao         NUMERIC (1,0) DEFAULT 0 NOT NULL
  ) ON COMMIT PRESERVE ROWS;
CREATE UNIQUE INDEX TEMPPROMOCOES_PK1 ON TEMPPROMOCOES (sessaoClient, contadorSessao, idItem, regraPromocao);

DROP TABLE TEMPINVENTARIOESTXFISCAL;

-- TEMPINVENTARIOESTXFISCAL
CREATE GLOBAL TEMPORARY TABLE TEMPINVENTARIOESTXFISCAL
  (
    sessaoClient                  VARCHAR (30) DEFAULT ' ' NOT NULL,
    contadorSessao                NUMERIC (14,0) DEFAULT 0 NOT NULL,
    contador                      NUMERIC (14,0) DEFAULT 0 NOT NULL,
    estabelecimento               NUMERIC (4,0) DEFAULT 0 NOT NULL,
    gradeProduto                  NUMERIC (14,0) DEFAULT 0 NOT NULL,
    indicadorPropriedadePosseItem CHAR (1) DEFAULT ' ' NOT NULL,
    pessoaParticipante            NUMERIC (14,0) DEFAULT 0 NOT NULL,
    quantidade                    NUMERIC (15,6) DEFAULT 0 NOT NULL,
    precoUnitarioCMV              NUMERIC (15,7) DEFAULT 0 NOT NULL,
    stICMS                        CHAR (2) DEFAULT '  ' NOT NULL,
    baseICMS                      NUMERIC (15,2) DEFAULT 0 NOT NULL,
    valorICMS                     NUMERIC (15,2) DEFAULT 0 NOT NULL
  ) ON COMMIT PRESERVE ROWS;
ALTER TABLE TEMPINVENTARIOESTXFISCAL ADD CONSTRAINT TEMPINVENTARIOESTXFISCAL_PK1 PRIMARY KEY (sessaoClient, contadorSessao, contador);
CREATE UNIQUE INDEX TEMPINVENTARIOESTXFISCAL_K2 ON TEMPINVENTARIOESTXFISCAL (sessaoClient, contadorSessao, estabelecimento, gradeProduto, indicadorPropriedadePosseItem, pessoaParticipante);

DROP TABLE TEMPINVENTARIOESTXGERENC;

-- TEMPINVENTARIOESTXGERENC
CREATE GLOBAL TEMPORARY TABLE TEMPINVENTARIOESTXGERENC
  (
    sessaoClient                  VARCHAR (30) DEFAULT ' ' NOT NULL,
    contadorSessao                NUMERIC (14,0) DEFAULT 0 NOT NULL,
    contador                      NUMERIC (14,0) DEFAULT 0 NOT NULL,
    estabelecimento               NUMERIC (4,0) DEFAULT 0 NOT NULL,
    gradeProduto                  NUMERIC (14,0) DEFAULT 0 NOT NULL,
    indicadorPropriedadePosseItem CHAR (1) DEFAULT ' ' NOT NULL,
    pessoaParticipante            NUMERIC (14,0) DEFAULT 0 NOT NULL,
    localEstoque                  NUMERIC (4,0) DEFAULT 0 NOT NULL,
    personalizacao                NUMERIC (7,0) DEFAULT 0 NOT NULL,
    idLoteEstoque                 NUMERIC (14,0) DEFAULT 0 NOT NULL,
    idEnderecoEstoque             NUMERIC (14,0) DEFAULT 0 NOT NULL,
    idNumeroSerie                 NUMERIC (14,0) DEFAULT 0 NOT NULL,
    quantidade                    NUMERIC (15,6) DEFAULT 0 NOT NULL,
    precoUnitarioCMV              NUMERIC (15,7) DEFAULT 0 NOT NULL,
    precoUnitarioUltimaCompra     NUMERIC (15,7) DEFAULT 0 NOT NULL,
    precoCustoUltimaCompra        NUMERIC (15,7) DEFAULT 0 NOT NULL,
    precoCustoUltimaFormacao      NUMERIC (15,7) DEFAULT 0 NOT NULL
  ) ON COMMIT PRESERVE ROWS;
ALTER TABLE TEMPINVENTARIOESTXGERENC ADD CONSTRAINT TEMPINVENTARIOESTXGERENC_PK1 PRIMARY KEY (sessaoClient, contadorSessao, contador);
CREATE UNIQUE INDEX TEMPINVENTARIOESTXGERENC_K2 ON TEMPINVENTARIOESTXGERENC (sessaoClient, contadorSessao, estabelecimento, gradeProduto, indicadorPropriedadePosseItem, pessoaParticipante, localEstoque, personalizacao, idLoteEstoque, idEnderecoEstoque, idNumeroSerie);

DROP TABLE TEMPPEDCOMPRAGRADES;

-- TEMPPEDCOMPRAGRADES
CREATE GLOBAL TEMPORARY TABLE TEMPPEDCOMPRAGRADES
  (
    sessaoClient    VARCHAR (30) DEFAULT ' ' NOT NULL,
    contadorSessao  NUMERIC (14,0) DEFAULT 0 NOT NULL,
    grade           CHAR (1) DEFAULT ' ' NOT NULL,
    tamanhoA        VARCHAR (10) DEFAULT ' ' NOT NULL,
    tamanhoB        VARCHAR (10) DEFAULT ' ' NOT NULL,
    tamanhoC        VARCHAR (10) DEFAULT ' ' NOT NULL,
    tamanhoD        VARCHAR (10) DEFAULT ' ' NOT NULL,
    tamanhoE        VARCHAR (10) DEFAULT ' ' NOT NULL,
    tamanhoF        VARCHAR (10) DEFAULT ' ' NOT NULL,
    tamanhoG        VARCHAR (10) DEFAULT ' ' NOT NULL,
    tamanhoH        VARCHAR (10) DEFAULT ' ' NOT NULL,
    tamanhoI        VARCHAR (10) DEFAULT ' ' NOT NULL,
    tamanhoJ        VARCHAR (10) DEFAULT ' ' NOT NULL,
    tamanhoK        VARCHAR (10) DEFAULT ' ' NOT NULL,
    tamanhoL        VARCHAR (10) DEFAULT ' ' NOT NULL,
    tamanhoM        VARCHAR (10) DEFAULT ' ' NOT NULL,
    tamanhoN        VARCHAR (10) DEFAULT ' ' NOT NULL,
    tamanhoO        VARCHAR (10) DEFAULT ' ' NOT NULL,
    tamanhoP        VARCHAR (10) DEFAULT ' ' NOT NULL,
    tamanhoQ        VARCHAR (10) DEFAULT ' ' NOT NULL,
    tamanhoR        VARCHAR (10) DEFAULT ' ' NOT NULL,
    tamanhoS        VARCHAR (10) DEFAULT ' ' NOT NULL,
    tamanhoT        VARCHAR (10) DEFAULT ' ' NOT NULL,
    tamanhoU        VARCHAR (10) DEFAULT ' ' NOT NULL,
    tamanhoV        VARCHAR (10) DEFAULT ' ' NOT NULL,
    tamanhoW        VARCHAR (10) DEFAULT ' ' NOT NULL,
    tamanhoX        VARCHAR (10) DEFAULT ' ' NOT NULL,
    tamanhoY        VARCHAR (10) DEFAULT ' ' NOT NULL,
    tamanhoZ        VARCHAR (10) DEFAULT ' ' NOT NULL,
    tamanhoBA       VARCHAR (10) DEFAULT ' ' NOT NULL,
    tamanhoBB       VARCHAR (10) DEFAULT ' ' NOT NULL,
    tamanhoBC       VARCHAR (10) DEFAULT ' ' NOT NULL,
    tamanhoBD       VARCHAR (10) DEFAULT ' ' NOT NULL,
    tamanhoBE       VARCHAR (10) DEFAULT ' ' NOT NULL,
    tamanhoBF       VARCHAR (10) DEFAULT ' ' NOT NULL,
    tamanhoBG       VARCHAR (10) DEFAULT ' ' NOT NULL,
    tamanhoBH       VARCHAR (10) DEFAULT ' ' NOT NULL,
    tamanhoBI       VARCHAR (10) DEFAULT ' ' NOT NULL,
    tamanhoBJ       VARCHAR (10) DEFAULT ' ' NOT NULL,
    tamanhoBK       VARCHAR (10) DEFAULT ' ' NOT NULL,
    tamanhoBL       VARCHAR (10) DEFAULT ' ' NOT NULL,
    tamanhoBM       VARCHAR (10) DEFAULT ' ' NOT NULL,
    tamanhoBN       VARCHAR (10) DEFAULT ' ' NOT NULL,
    tamanhoBO       VARCHAR (10) DEFAULT ' ' NOT NULL,
    tamanhoBP       VARCHAR (10) DEFAULT ' ' NOT NULL,
    tamanhoBQ       VARCHAR (10) DEFAULT ' ' NOT NULL,
    tamanhoBR       VARCHAR (10) DEFAULT ' ' NOT NULL,
    tamanhoBS       VARCHAR (10) DEFAULT ' ' NOT NULL,
    tamanhoBT       VARCHAR (10) DEFAULT ' ' NOT NULL,
    tamanhoBU       VARCHAR (10) DEFAULT ' ' NOT NULL,
    tamanhoBV       VARCHAR (10) DEFAULT ' ' NOT NULL,
    tamanhoBW       VARCHAR (10) DEFAULT ' ' NOT NULL,
    tamanhoBX       VARCHAR (10) DEFAULT ' ' NOT NULL,
    tamanhoBY       VARCHAR (10) DEFAULT ' ' NOT NULL,
    tamanhoBZ       VARCHAR (10) DEFAULT ' ' NOT NULL
  ) ON COMMIT PRESERVE ROWS;
CREATE UNIQUE INDEX TEMPPEDCOMPRAGRADES_PK1 ON TEMPPEDCOMPRAGRADES (sessaoClient, contadorSessao, grade);

