Fórum "FOR SELECT DO BEGIN ...END DENTRO DE UM WHILE PODE? #380958
08/07/2010
0
Bom dia meus caros.
Tenho uma procedure para gerar parcelamento de títulos no contas a pagar e utilizo while para gerar os titulos das parcelas utilizando como base o título da primeira parcela e este titulo possui um rateio de centro de custos ou seja ele tem ter no mínimo um centro de custos mas pode ter n centro de custos e em função disto utilizo um for select do dentro do while, o resultado é que ele não está gerando o centro de custo das parcelas.
Por isso a pergunta posso utilizar um for select do dentro de um while?
O For Select pode se perder ou algo parecido?
Se não for possivel isto vou ter que modificar a procedure qual a melhor maneira de se fazer isto?
Segue abaixo o metadata da procedure.
Obrigado a todos.
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,
"PPARCELA" INTEGER
)
AS
BEGIN EXIT; END ^
ALTER PROCEDURE "CRIA_PARC_PCP"
(
"PEMPRESA" VARCHAR(18),
"PFILIAL" VARCHAR(18),
"PPCP" INTEGER,
"PCODIGO_FORMA" INTEGER,
"PPARCELA" 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 TIMESTAMP;
DECLARE VARIABLE vVLR_PCP DOUBLE PRECISION;
DECLARE VARIABLE vVCT_PCP TIMESTAMP;
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 TIMESTAMP;
DECLARE VARIABLE vAUTENTICACAO VARCHAR(255);
DECLARE VARIABLE vIMPRIMIU VARCHAR(1);
DECLARE VARIABLE vDT_PGTO TIMESTAMP;
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 TIMESTAMP;
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 TIMESTAMP;
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 TIMESTAMP;
DECLARE VARIABLE vNUMLAN INTEGER;
DECLARE VARIABLE vAPROVADO VARCHAR(5);
DECLARE VARIABLE vDATRAN TIMESTAMP;
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 = :PPARCELA
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 = :PPARCELA + 1;
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
);
FOR 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 = :vCONT
INTO :vEMPRESA, :vFILIAL, :vPCP, :vPARCELA, :vDEPARTAMENTO, :vSETOR, :vAPLICACAO,
:vPERCENTUAL, :vVALOR_RATEIO, :vNDEPARTAMENTO, :vNSETOR, :vNAPLICACAO,
:vTIPO_RATEIO, :vFORMA_RATEIO
DO
BEGIN
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);
END
vCONT = vCONT + 1;
END
END
^
SET TERM ; ^
COMMIT WORK;
SET AUTODDL ON;
Tenho uma procedure para gerar parcelamento de títulos no contas a pagar e utilizo while para gerar os titulos das parcelas utilizando como base o título da primeira parcela e este titulo possui um rateio de centro de custos ou seja ele tem ter no mínimo um centro de custos mas pode ter n centro de custos e em função disto utilizo um for select do dentro do while, o resultado é que ele não está gerando o centro de custo das parcelas.
Por isso a pergunta posso utilizar um for select do dentro de um while?
O For Select pode se perder ou algo parecido?
Se não for possivel isto vou ter que modificar a procedure qual a melhor maneira de se fazer isto?
Segue abaixo o metadata da procedure.
Obrigado a todos.
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,
"PPARCELA" INTEGER
)
AS
BEGIN EXIT; END ^
ALTER PROCEDURE "CRIA_PARC_PCP"
(
"PEMPRESA" VARCHAR(18),
"PFILIAL" VARCHAR(18),
"PPCP" INTEGER,
"PCODIGO_FORMA" INTEGER,
"PPARCELA" 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 TIMESTAMP;
DECLARE VARIABLE vVLR_PCP DOUBLE PRECISION;
DECLARE VARIABLE vVCT_PCP TIMESTAMP;
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 TIMESTAMP;
DECLARE VARIABLE vAUTENTICACAO VARCHAR(255);
DECLARE VARIABLE vIMPRIMIU VARCHAR(1);
DECLARE VARIABLE vDT_PGTO TIMESTAMP;
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 TIMESTAMP;
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 TIMESTAMP;
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 TIMESTAMP;
DECLARE VARIABLE vNUMLAN INTEGER;
DECLARE VARIABLE vAPROVADO VARCHAR(5);
DECLARE VARIABLE vDATRAN TIMESTAMP;
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 = :PPARCELA
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 = :PPARCELA + 1;
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
);
FOR 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 = :vCONT
INTO :vEMPRESA, :vFILIAL, :vPCP, :vPARCELA, :vDEPARTAMENTO, :vSETOR, :vAPLICACAO,
:vPERCENTUAL, :vVALOR_RATEIO, :vNDEPARTAMENTO, :vNSETOR, :vNAPLICACAO,
:vTIPO_RATEIO, :vFORMA_RATEIO
DO
BEGIN
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);
END
vCONT = vCONT + 1;
END
END
^
SET TERM ; ^
COMMIT WORK;
SET AUTODDL ON;
Tadeu Oliveira
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)