Violation of PRIMARY or UNIQUE KEY constraint
Meus caros, aqui estou novamente para buscar ajuda.
O caso é o seguinte, tenho uma procedure para gerar parcelamento de títulos em um contas a pagar e está acontecendo de dar a seguinte mensagem de erro: Violation of PRIMARY or UNIQUE KEY constraint "INTEG_1107" on table "MVTPCP".
Ótimo até ai sem problemas.
Porem fui debugar a mesma e constatei que ele está me dando esta mensagem em um registro inexistente exemplo: A primary key é composta pelos seguintes campos.
EMPRESA, FILIAL, PCP, PARCELA.
A procedure recebe como parâmetro EMPRESA, FILIAL, PCP e o códiogo da forma de pagamento.
Ex: PEMPRESA = '99.999.999/9999-99'
PFILIAL = '99.999.999/9999-99'
PPCP = 4401
PCODIGO_FORMA = 79
ENTÃO A PROCEDURE LÊ O TÍTULO NA TABELA BUSCANDO SOMENTE A PARCELA = 1 E COM ESSES DADOS CARREGADOS EM VARIAVEIS GERA-SE AS DEMAIS PARCELAS.
ELE FAZ A PRIMEIRA LEITURA GERA A PARCELA 2 E QUANDO VAI GERAR A 3 ELE ACUSA O ERRO MENCIONADO ACIMA.
Já varri a tabela filha em busca de registros orfãos e não encontrei, por esse motivo peço ajuda dos companheiros, para faciliar anexo o código fonte.
Atenciosamente,
Tadeu
COMMIT WORK;
SET AUTODDL OFF;
SET TERM ^ ;
/* Stored procedures */
CREATE PROCEDURE CRIA_PARC_PCP
(
PEMPRESA VARCHAR(18),
PFILIAL VARCHAR(18),
PPCP INTEGER,
PCODIGO_FORMA INTEGER
)
AS
BEGIN EXIT; END ^
ALTER PROCEDURE CRIA_PARC_PCP
(
PEMPRESA VARCHAR(18),
PFILIAL VARCHAR(18),
PPCP INTEGER,
PCODIGO_FORMA INTEGER
)
AS
DECLARE VARIABLE vEMPRESA VARCHAR(18);
DECLARE VARIABLE vFILIAL VARCHAR(18);
DECLARE VARIABLE vPCP INTEGER;
DECLARE VARIABLE vPARCELA INTEGER;
DECLARE VARIABLE vPARCELAS INTEGER;
DECLARE VARIABLE vDT_EMIS DATE;
DECLARE VARIABLE vVLR_PCP DOUBLE PRECISION;
DECLARE VARIABLE vVCT_PCP DATE;
DECLARE VARIABLE vCOD_FORN VARCHAR(18);
DECLARE VARIABLE vFOR_A VARCHAR(100);
DECLARE VARIABLE vDEPARTAMENTO VARCHAR(2);
DECLARE VARIABLE vNDEPARTAMENTO VARCHAR(40);
DECLARE VARIABLE vSETOR VARCHAR(2);
DECLARE VARIABLE vNSETOR VARCHAR(40);
DECLARE VARIABLE vAPLICACAO VARCHAR(10);
DECLARE VARIABLE vNAPLICACAO VARCHAR(50);
DECLARE VARIABLE vOBSERVACAO VARCHAR(255);
DECLARE VARIABLE vNUMERO_DOCUMENTO VARCHAR(20);
DECLARE VARIABLE vTIPO_DOCUMENTO VARCHAR(20);
DECLARE VARIABLE vMOEDA VARCHAR(5);
DECLARE VARIABLE vQTD_MOEDA DOUBLE PRECISION;
DECLARE VARIABLE vDATA_EMIDOC DATE;
DECLARE VARIABLE vAUTENTICACAO VARCHAR(255);
DECLARE VARIABLE vIMPRIMIU VARCHAR(1);
DECLARE VARIABLE vDT_PGTO DATE;
DECLARE VARIABLE vBCO_PG VARCHAR(3);
DECLARE VARIABLE vAGE_PG VARCHAR(6);
DECLARE VARIABLE vCTA_PG VARCHAR(12);
DECLARE VARIABLE vNRO_CHQ VARCHAR(20);
DECLARE VARIABLE vVL_PG DOUBLE PRECISION;
DECLARE VARIABLE vDT_IMPRESSAO DATE;
DECLARE VARIABLE vEPRAIMPRIMIR VARCHAR(1);
DECLARE VARIABLE vSTATUS SMALLINT;
DECLARE VARIABLE vVALOR_ABATIMENTO DOUBLE PRECISION;
DECLARE VARIABLE vVALOR_DESCONTO DOUBLE PRECISION;
DECLARE VARIABLE vVALOR_JUROS_MORA DOUBLE PRECISION;
DECLARE VARIABLE vVALOR_MULTA DOUBLE PRECISION;
DECLARE VARIABLE vCODIGO_BARRAS VARCHAR(255);
DECLARE VARIABLE vBANCO_DESTINO VARCHAR(3);
DECLARE VARIABLE vAGENCIA_DESTINO VARCHAR(6);
DECLARE VARIABLE vCONTA_DESTINO VARCHAR(12);
DECLARE VARIABLE vTIPO_SERVICO VARCHAR(2);
DECLARE VARIABLE vFORMA_LANCAMENTO VARCHAR(2);
DECLARE VARIABLE vCAMARA_CENTRALIZADORA VARCHAR(3);
DECLARE VARIABLE vDATA_AGENDADA DATE;
DECLARE VARIABLE vVALOR_ORIGINAL DOUBLE PRECISION;
DECLARE VARIABLE vTIPO_MOVIMENTO VARCHAR(3);
DECLARE VARIABLE vVALOR_DESPESAS DOUBLE PRECISION;
DECLARE VARIABLE vNOSSONUMERO VARCHAR(100);
DECLARE VARIABLE vINSTRUMOV VARCHAR(2);
DECLARE VARIABLE vDATA_LIM_DESCONTO DATE;
DECLARE VARIABLE vNUMLAN INTEGER;
DECLARE VARIABLE vAPROVADO VARCHAR(5);
DECLARE VARIABLE vDATRAN DATE;
DECLARE VARIABLE vUSUARIO VARCHAR(20);
DECLARE VARIABLE vCONT INTEGER;
DECLARE VARIABLE vINTERVALO INTEGER;
DECLARE VARIABLE vPERCENTUAL NUMERIC(6, 2);
DECLARE VARIABLE vVALOR_RATEIO NUMERIC(12, 2);
DECLARE VARIABLE vTIPO_RATEIO VARCHAR(1);
DECLARE VARIABLE vFORMA_RATEIO VARCHAR(1);
BEGIN
SELECT
EMPRESA, FILIAL, PCP, PARCELA, PARCELAS, DT_EMIS, VLR_PCP, VCT_PCP, COD_FORN, FOR_A,
DEPARTAMENTO, NDEPARTAMENTO, SETOR, NSETOR, APLICACAO, NAPLICACAO, OBSERVACAO,
NUMERO_DOCUMENTO, TIPO_DOCUMENTO, MOEDA, QTD_MOEDA, DATA_EMIDOC, AUTENTICACAO,
IMPRIMIU, DT_PGTO, BCO_PG, AGE_PG, CTA_PG, NRO_CHQ, VL_PG, DT_IMPRESSAO,
EPRAIMPRIMIR, STATUS, VALOR_ABATIMENTO, VALOR_DESCONTO, VALOR_JUROS_MORA, VALOR_MULTA,
CODIGO_BARRAS, BANCO_DESTINO, AGENCIA_DESTINO, CONTA_DESTINO, TIPO_SERVICO,
FORMA_LANCAMENTO, CAMARA_CENTRALIZADORA, DATA_AGENDADA, VALOR_ORIGINAL, TIPO_MOVIMENTO,
VALOR_DESPESAS, NOSSONUMERO, INSTRUMOV, DATA_LIM_DESCONTO, NUMLAN, APROVADO, DATRAN, USUARIO
FROM
MVTPCP
WHERE
EMPRESA = :PEMPRESA
AND FILIAL = :PFILIAL
AND PCP = :PPCP
AND PARCELA = 1
INTO
:vEMPRESA, :vFILIAL, :vPCP, :vPARCELA, :vPARCELAS, :vDT_EMIS, :vVLR_PCP, :vVCT_PCP, :vCOD_FORN, :vFOR_A,
:vDEPARTAMENTO, :vNDEPARTAMENTO, :vSETOR, :vNSETOR, :vAPLICACAO, :vNAPLICACAO, :vOBSERVACAO,
:vNUMERO_DOCUMENTO, :vTIPO_DOCUMENTO, :vMOEDA, :vQTD_MOEDA, :vDATA_EMIDOC, :vAUTENTICACAO,
:vIMPRIMIU, :vDT_PGTO, :vBCO_PG, :vAGE_PG, :vCTA_PG, :vNRO_CHQ, :vVL_PG, :vDT_IMPRESSAO,
:vEPRAIMPRIMIR, :vSTATUS, :vVALOR_ABATIMENTO, :vVALOR_DESCONTO, :vVALOR_JUROS_MORA, :vVALOR_MULTA,
:vCODIGO_BARRAS, :vBANCO_DESTINO, :vAGENCIA_DESTINO, :vCONTA_DESTINO, :vTIPO_SERVICO,
:vFORMA_LANCAMENTO, :vCAMARA_CENTRALIZADORA, :vDATA_AGENDADA, :vVALOR_ORIGINAL, :vTIPO_MOVIMENTO,
:vVALOR_DESPESAS, :vNOSSONUMERO, :vINSTRUMOV, :vDATA_LIM_DESCONTO, :vNUMLAN, :vAPROVADO, :vDATRAN, :vUSUARIO;
vCONT = 2;
IF (EXISTS(SELECT PARCELAS, INTERVALO
FROM FORMAS_DE_PAGAMENTO
WHERE CODIGO_FORMA = :PCODIGO_FORMA)) THEN
BEGIN
SELECT PARCELAS, CAST(INTERVALO AS INTEGER)
FROM FORMAS_DE_PAGAMENTO
WHERE CODIGO_FORMA = :PCODIGO_FORMA
INTO :vPARCELAS, :vINTERVALO;
END
WHILE (vCONT <= vPARCELAS) DO
BEGIN
vVCT_PCP = vVCT_PCP + vINTERVALO;
INSERT INTO MVTPCP(
EMPRESA, FILIAL, PCP, PARCELA, PARCELAS, DT_EMIS, VLR_PCP, VCT_PCP, COD_FORN, FOR_A,
DEPARTAMENTO, NDEPARTAMENTO, SETOR, NSETOR, APLICACAO, NAPLICACAO, OBSERVACAO,
NUMERO_DOCUMENTO, TIPO_DOCUMENTO, MOEDA, QTD_MOEDA, DATA_EMIDOC, AUTENTICACAO,
IMPRIMIU, DT_PGTO, BCO_PG, AGE_PG, CTA_PG, NRO_CHQ, VL_PG, DT_IMPRESSAO,
EPRAIMPRIMIR, STATUS, VALOR_ABATIMENTO, VALOR_DESCONTO, VALOR_JUROS_MORA, VALOR_MULTA,
CODIGO_BARRAS, BANCO_DESTINO, AGENCIA_DESTINO, CONTA_DESTINO, TIPO_SERVICO,
FORMA_LANCAMENTO, CAMARA_CENTRALIZADORA, DATA_AGENDADA, VALOR_ORIGINAL, TIPO_MOVIMENTO,
VALOR_DESPESAS, NOSSONUMERO, INSTRUMOV, DATA_LIM_DESCONTO, NUMLAN, APROVADO, DATRAN, USUARIO
)
VALUES (
:vEMPRESA, :vFILIAL, :vPCP, :vCONT, :vPARCELAS, :vDT_EMIS, :vVLR_PCP, :vVCT_PCP, :vCOD_FORN, :vFOR_A,
'', '', '', '', '', '', :vOBSERVACAO,
:vNUMERO_DOCUMENTO, :vTIPO_DOCUMENTO, :vMOEDA, :vQTD_MOEDA, :vDATA_EMIDOC, :vAUTENTICACAO,
:vIMPRIMIU, :vDT_PGTO, :vBCO_PG, :vAGE_PG, :vCTA_PG, :vNRO_CHQ, :vVL_PG, :vDT_IMPRESSAO,
:vEPRAIMPRIMIR, :vSTATUS, :vVALOR_ABATIMENTO, :vVALOR_DESCONTO, :vVALOR_JUROS_MORA, :vVALOR_MULTA,
:vCODIGO_BARRAS, :vBANCO_DESTINO, :vAGENCIA_DESTINO, :vCONTA_DESTINO, :vTIPO_SERVICO,
:vFORMA_LANCAMENTO, :vCAMARA_CENTRALIZADORA, :vDATA_AGENDADA, :vVALOR_ORIGINAL, :vTIPO_MOVIMENTO,
:vVALOR_DESPESAS, :vNOSSONUMERO, :vINSTRUMOV, :vDATA_LIM_DESCONTO, :vNUMLAN, :vAPROVADO, :vDATRAN, :vUSUARIO
);
SELECT EMPRESA, FILIAL, PCP, PARCELA, DEPARTAMENTO, SETOR, APLICACAO, PERCENTUAL, VALOR,
NDEPARTAMENTO, NSETOR, NAPLICACAO, TIPO_RATEIO, FORMA_RATEIO
FROM CCUSTOPCP
WHERE EMPRESA = :PEMPRESA
AND FILIAL = :PFILIAL
AND PCP = :PPCP
AND PARCELA = 1
INTO :vEMPRESA, :vFILIAL, :vPCP, :vPARCELA, :vDEPARTAMENTO, :vSETOR, :vAPLICACAO,
:vPERCENTUAL, :vVALOR_RATEIO, :vNDEPARTAMENTO, :vNSETOR, :vNAPLICACAO,
:vTIPO_RATEIO, :vFORMA_RATEIO;
INSERT INTO CCUSTOPCP(EMPRESA, FILIAL, PCP, PARCELA, DEPARTAMENTO, SETOR, APLICACAO,
PERCENTUAL, VALOR, NDEPARTAMENTO, NSETOR, NAPLICACAO,
TIPO_RATEIO, FORMA_RATEIO)
VALUES(:PEMPRESA, :PFILIAL, :vPCP, :vCONT, :vDEPARTAMENTO, :vSETOR, :vAPLICACAO,
:vPERCENTUAL, :vVALOR_RATEIO, :vNDEPARTAMENTO, :vNSETOR, :vNAPLICACAO, :vTIPO_RATEIO, :vFORMA_RATEIO);
vCONT = vCONT + 1;
END
END
^
SET TERM ; ^
COMMIT WORK;
SET AUTODDL ON;
O caso é o seguinte, tenho uma procedure para gerar parcelamento de títulos em um contas a pagar e está acontecendo de dar a seguinte mensagem de erro: Violation of PRIMARY or UNIQUE KEY constraint "INTEG_1107" on table "MVTPCP".
Ótimo até ai sem problemas.
Porem fui debugar a mesma e constatei que ele está me dando esta mensagem em um registro inexistente exemplo: A primary key é composta pelos seguintes campos.
EMPRESA, FILIAL, PCP, PARCELA.
A procedure recebe como parâmetro EMPRESA, FILIAL, PCP e o códiogo da forma de pagamento.
Ex: PEMPRESA = '99.999.999/9999-99'
PFILIAL = '99.999.999/9999-99'
PPCP = 4401
PCODIGO_FORMA = 79
ENTÃO A PROCEDURE LÊ O TÍTULO NA TABELA BUSCANDO SOMENTE A PARCELA = 1 E COM ESSES DADOS CARREGADOS EM VARIAVEIS GERA-SE AS DEMAIS PARCELAS.
ELE FAZ A PRIMEIRA LEITURA GERA A PARCELA 2 E QUANDO VAI GERAR A 3 ELE ACUSA O ERRO MENCIONADO ACIMA.
Já varri a tabela filha em busca de registros orfãos e não encontrei, por esse motivo peço ajuda dos companheiros, para faciliar anexo o código fonte.
Atenciosamente,
Tadeu
COMMIT WORK;
SET AUTODDL OFF;
SET TERM ^ ;
/* Stored procedures */
CREATE PROCEDURE CRIA_PARC_PCP
(
PEMPRESA VARCHAR(18),
PFILIAL VARCHAR(18),
PPCP INTEGER,
PCODIGO_FORMA INTEGER
)
AS
BEGIN EXIT; END ^
ALTER PROCEDURE CRIA_PARC_PCP
(
PEMPRESA VARCHAR(18),
PFILIAL VARCHAR(18),
PPCP INTEGER,
PCODIGO_FORMA INTEGER
)
AS
DECLARE VARIABLE vEMPRESA VARCHAR(18);
DECLARE VARIABLE vFILIAL VARCHAR(18);
DECLARE VARIABLE vPCP INTEGER;
DECLARE VARIABLE vPARCELA INTEGER;
DECLARE VARIABLE vPARCELAS INTEGER;
DECLARE VARIABLE vDT_EMIS DATE;
DECLARE VARIABLE vVLR_PCP DOUBLE PRECISION;
DECLARE VARIABLE vVCT_PCP DATE;
DECLARE VARIABLE vCOD_FORN VARCHAR(18);
DECLARE VARIABLE vFOR_A VARCHAR(100);
DECLARE VARIABLE vDEPARTAMENTO VARCHAR(2);
DECLARE VARIABLE vNDEPARTAMENTO VARCHAR(40);
DECLARE VARIABLE vSETOR VARCHAR(2);
DECLARE VARIABLE vNSETOR VARCHAR(40);
DECLARE VARIABLE vAPLICACAO VARCHAR(10);
DECLARE VARIABLE vNAPLICACAO VARCHAR(50);
DECLARE VARIABLE vOBSERVACAO VARCHAR(255);
DECLARE VARIABLE vNUMERO_DOCUMENTO VARCHAR(20);
DECLARE VARIABLE vTIPO_DOCUMENTO VARCHAR(20);
DECLARE VARIABLE vMOEDA VARCHAR(5);
DECLARE VARIABLE vQTD_MOEDA DOUBLE PRECISION;
DECLARE VARIABLE vDATA_EMIDOC DATE;
DECLARE VARIABLE vAUTENTICACAO VARCHAR(255);
DECLARE VARIABLE vIMPRIMIU VARCHAR(1);
DECLARE VARIABLE vDT_PGTO DATE;
DECLARE VARIABLE vBCO_PG VARCHAR(3);
DECLARE VARIABLE vAGE_PG VARCHAR(6);
DECLARE VARIABLE vCTA_PG VARCHAR(12);
DECLARE VARIABLE vNRO_CHQ VARCHAR(20);
DECLARE VARIABLE vVL_PG DOUBLE PRECISION;
DECLARE VARIABLE vDT_IMPRESSAO DATE;
DECLARE VARIABLE vEPRAIMPRIMIR VARCHAR(1);
DECLARE VARIABLE vSTATUS SMALLINT;
DECLARE VARIABLE vVALOR_ABATIMENTO DOUBLE PRECISION;
DECLARE VARIABLE vVALOR_DESCONTO DOUBLE PRECISION;
DECLARE VARIABLE vVALOR_JUROS_MORA DOUBLE PRECISION;
DECLARE VARIABLE vVALOR_MULTA DOUBLE PRECISION;
DECLARE VARIABLE vCODIGO_BARRAS VARCHAR(255);
DECLARE VARIABLE vBANCO_DESTINO VARCHAR(3);
DECLARE VARIABLE vAGENCIA_DESTINO VARCHAR(6);
DECLARE VARIABLE vCONTA_DESTINO VARCHAR(12);
DECLARE VARIABLE vTIPO_SERVICO VARCHAR(2);
DECLARE VARIABLE vFORMA_LANCAMENTO VARCHAR(2);
DECLARE VARIABLE vCAMARA_CENTRALIZADORA VARCHAR(3);
DECLARE VARIABLE vDATA_AGENDADA DATE;
DECLARE VARIABLE vVALOR_ORIGINAL DOUBLE PRECISION;
DECLARE VARIABLE vTIPO_MOVIMENTO VARCHAR(3);
DECLARE VARIABLE vVALOR_DESPESAS DOUBLE PRECISION;
DECLARE VARIABLE vNOSSONUMERO VARCHAR(100);
DECLARE VARIABLE vINSTRUMOV VARCHAR(2);
DECLARE VARIABLE vDATA_LIM_DESCONTO DATE;
DECLARE VARIABLE vNUMLAN INTEGER;
DECLARE VARIABLE vAPROVADO VARCHAR(5);
DECLARE VARIABLE vDATRAN DATE;
DECLARE VARIABLE vUSUARIO VARCHAR(20);
DECLARE VARIABLE vCONT INTEGER;
DECLARE VARIABLE vINTERVALO INTEGER;
DECLARE VARIABLE vPERCENTUAL NUMERIC(6, 2);
DECLARE VARIABLE vVALOR_RATEIO NUMERIC(12, 2);
DECLARE VARIABLE vTIPO_RATEIO VARCHAR(1);
DECLARE VARIABLE vFORMA_RATEIO VARCHAR(1);
BEGIN
SELECT
EMPRESA, FILIAL, PCP, PARCELA, PARCELAS, DT_EMIS, VLR_PCP, VCT_PCP, COD_FORN, FOR_A,
DEPARTAMENTO, NDEPARTAMENTO, SETOR, NSETOR, APLICACAO, NAPLICACAO, OBSERVACAO,
NUMERO_DOCUMENTO, TIPO_DOCUMENTO, MOEDA, QTD_MOEDA, DATA_EMIDOC, AUTENTICACAO,
IMPRIMIU, DT_PGTO, BCO_PG, AGE_PG, CTA_PG, NRO_CHQ, VL_PG, DT_IMPRESSAO,
EPRAIMPRIMIR, STATUS, VALOR_ABATIMENTO, VALOR_DESCONTO, VALOR_JUROS_MORA, VALOR_MULTA,
CODIGO_BARRAS, BANCO_DESTINO, AGENCIA_DESTINO, CONTA_DESTINO, TIPO_SERVICO,
FORMA_LANCAMENTO, CAMARA_CENTRALIZADORA, DATA_AGENDADA, VALOR_ORIGINAL, TIPO_MOVIMENTO,
VALOR_DESPESAS, NOSSONUMERO, INSTRUMOV, DATA_LIM_DESCONTO, NUMLAN, APROVADO, DATRAN, USUARIO
FROM
MVTPCP
WHERE
EMPRESA = :PEMPRESA
AND FILIAL = :PFILIAL
AND PCP = :PPCP
AND PARCELA = 1
INTO
:vEMPRESA, :vFILIAL, :vPCP, :vPARCELA, :vPARCELAS, :vDT_EMIS, :vVLR_PCP, :vVCT_PCP, :vCOD_FORN, :vFOR_A,
:vDEPARTAMENTO, :vNDEPARTAMENTO, :vSETOR, :vNSETOR, :vAPLICACAO, :vNAPLICACAO, :vOBSERVACAO,
:vNUMERO_DOCUMENTO, :vTIPO_DOCUMENTO, :vMOEDA, :vQTD_MOEDA, :vDATA_EMIDOC, :vAUTENTICACAO,
:vIMPRIMIU, :vDT_PGTO, :vBCO_PG, :vAGE_PG, :vCTA_PG, :vNRO_CHQ, :vVL_PG, :vDT_IMPRESSAO,
:vEPRAIMPRIMIR, :vSTATUS, :vVALOR_ABATIMENTO, :vVALOR_DESCONTO, :vVALOR_JUROS_MORA, :vVALOR_MULTA,
:vCODIGO_BARRAS, :vBANCO_DESTINO, :vAGENCIA_DESTINO, :vCONTA_DESTINO, :vTIPO_SERVICO,
:vFORMA_LANCAMENTO, :vCAMARA_CENTRALIZADORA, :vDATA_AGENDADA, :vVALOR_ORIGINAL, :vTIPO_MOVIMENTO,
:vVALOR_DESPESAS, :vNOSSONUMERO, :vINSTRUMOV, :vDATA_LIM_DESCONTO, :vNUMLAN, :vAPROVADO, :vDATRAN, :vUSUARIO;
vCONT = 2;
IF (EXISTS(SELECT PARCELAS, INTERVALO
FROM FORMAS_DE_PAGAMENTO
WHERE CODIGO_FORMA = :PCODIGO_FORMA)) THEN
BEGIN
SELECT PARCELAS, CAST(INTERVALO AS INTEGER)
FROM FORMAS_DE_PAGAMENTO
WHERE CODIGO_FORMA = :PCODIGO_FORMA
INTO :vPARCELAS, :vINTERVALO;
END
WHILE (vCONT <= vPARCELAS) DO
BEGIN
vVCT_PCP = vVCT_PCP + vINTERVALO;
INSERT INTO MVTPCP(
EMPRESA, FILIAL, PCP, PARCELA, PARCELAS, DT_EMIS, VLR_PCP, VCT_PCP, COD_FORN, FOR_A,
DEPARTAMENTO, NDEPARTAMENTO, SETOR, NSETOR, APLICACAO, NAPLICACAO, OBSERVACAO,
NUMERO_DOCUMENTO, TIPO_DOCUMENTO, MOEDA, QTD_MOEDA, DATA_EMIDOC, AUTENTICACAO,
IMPRIMIU, DT_PGTO, BCO_PG, AGE_PG, CTA_PG, NRO_CHQ, VL_PG, DT_IMPRESSAO,
EPRAIMPRIMIR, STATUS, VALOR_ABATIMENTO, VALOR_DESCONTO, VALOR_JUROS_MORA, VALOR_MULTA,
CODIGO_BARRAS, BANCO_DESTINO, AGENCIA_DESTINO, CONTA_DESTINO, TIPO_SERVICO,
FORMA_LANCAMENTO, CAMARA_CENTRALIZADORA, DATA_AGENDADA, VALOR_ORIGINAL, TIPO_MOVIMENTO,
VALOR_DESPESAS, NOSSONUMERO, INSTRUMOV, DATA_LIM_DESCONTO, NUMLAN, APROVADO, DATRAN, USUARIO
)
VALUES (
:vEMPRESA, :vFILIAL, :vPCP, :vCONT, :vPARCELAS, :vDT_EMIS, :vVLR_PCP, :vVCT_PCP, :vCOD_FORN, :vFOR_A,
'', '', '', '', '', '', :vOBSERVACAO,
:vNUMERO_DOCUMENTO, :vTIPO_DOCUMENTO, :vMOEDA, :vQTD_MOEDA, :vDATA_EMIDOC, :vAUTENTICACAO,
:vIMPRIMIU, :vDT_PGTO, :vBCO_PG, :vAGE_PG, :vCTA_PG, :vNRO_CHQ, :vVL_PG, :vDT_IMPRESSAO,
:vEPRAIMPRIMIR, :vSTATUS, :vVALOR_ABATIMENTO, :vVALOR_DESCONTO, :vVALOR_JUROS_MORA, :vVALOR_MULTA,
:vCODIGO_BARRAS, :vBANCO_DESTINO, :vAGENCIA_DESTINO, :vCONTA_DESTINO, :vTIPO_SERVICO,
:vFORMA_LANCAMENTO, :vCAMARA_CENTRALIZADORA, :vDATA_AGENDADA, :vVALOR_ORIGINAL, :vTIPO_MOVIMENTO,
:vVALOR_DESPESAS, :vNOSSONUMERO, :vINSTRUMOV, :vDATA_LIM_DESCONTO, :vNUMLAN, :vAPROVADO, :vDATRAN, :vUSUARIO
);
SELECT EMPRESA, FILIAL, PCP, PARCELA, DEPARTAMENTO, SETOR, APLICACAO, PERCENTUAL, VALOR,
NDEPARTAMENTO, NSETOR, NAPLICACAO, TIPO_RATEIO, FORMA_RATEIO
FROM CCUSTOPCP
WHERE EMPRESA = :PEMPRESA
AND FILIAL = :PFILIAL
AND PCP = :PPCP
AND PARCELA = 1
INTO :vEMPRESA, :vFILIAL, :vPCP, :vPARCELA, :vDEPARTAMENTO, :vSETOR, :vAPLICACAO,
:vPERCENTUAL, :vVALOR_RATEIO, :vNDEPARTAMENTO, :vNSETOR, :vNAPLICACAO,
:vTIPO_RATEIO, :vFORMA_RATEIO;
INSERT INTO CCUSTOPCP(EMPRESA, FILIAL, PCP, PARCELA, DEPARTAMENTO, SETOR, APLICACAO,
PERCENTUAL, VALOR, NDEPARTAMENTO, NSETOR, NAPLICACAO,
TIPO_RATEIO, FORMA_RATEIO)
VALUES(:PEMPRESA, :PFILIAL, :vPCP, :vCONT, :vDEPARTAMENTO, :vSETOR, :vAPLICACAO,
:vPERCENTUAL, :vVALOR_RATEIO, :vNDEPARTAMENTO, :vNSETOR, :vNAPLICACAO, :vTIPO_RATEIO, :vFORMA_RATEIO);
vCONT = vCONT + 1;
END
END
^
SET TERM ; ^
COMMIT WORK;
SET AUTODDL ON;
Tadeu Oliveira
Curtidas 0