Módulo: CÂMBIO EXPORTAÇÃO
Funcionalidade: Rotina Mensal
Data/Hora da Publicação: 30/11/2006 00:00:00
Data/Hora Última Alteração: 18/02/2011 17:23:04
Descrição da Nota: ROTINA MENSAL EXPORTAÇÃO-VALOR PROVISÃO EM DOBRO NA F-02
Sintoma
Ao efetuar a contabilização da diferença a provisionar, quando é clearing no pagamento, o valor esta
aparecendo corretamente no relatório, mas na F-02 esta indo em dobro, para qualquer tipo de
contrato. Ao rodar a Rotina Mensal num range de 3 ou mais contratos, a quebra não esta sendo
efetuada para todos, onde em alguns efetua um só lançamento e com valor incorreto.
Solução
Ao verificar se é um novo sequencial de contrato, não comparar se a variável v_nrseq estiver vazia
e, no final do loop, carregar esta mesma variável com o sequencial atual.
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 02556 Data: 30/11/2006 Hora: 10:20:59
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 02556
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 6.0
Pacote : 00025
Agrupamento : 00142
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
00444 - 00001 - 6.0 - 00021 - VALORES DE MOEDAS SEM CASAS DECIMAIS INCORRETOS PARA TRANSFERÊNCI
01309 - 00002 - 6.0 - 00023 - ROTINA MENSAL EXPORTAÇÃO CONTABILIZAÇÃO SEPARADA DE ACC E ACE = S
----------------------------------------------------------------------------------------------------
ROTINA MENSAL EXPORTAÇÃO-VALOR PROVISÃO EM DOBRO NA F-02
----------------------------------------------------------------------------------------------------
Palavras Chave:
ROTINA MENSAL EXPORTAÇÃO VALOR EM DOBRO CONTABILIZAÇÃO F-02
CLEARING PAGAMENTO DIFERENÇA A PROVISIONAR
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/ZYCBR003
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCBR003
...
IF NOT wa_zycbt007-fprovisao IS INITIAL.
IF v_tabix NE 1.
IF ( v_bukrs NE itab_relat-bukrs ) OR
( v_waers NE itab_relat-waers ) OR
( v_gsber NE itab_relat-gsber ) OR
( v_tpcontr NE itab_relat-tpcontr ) OR
( v_d_newko NE itab_relat-d_newko ) OR
( v_c_newko NE itab_relat-c_newko ) OR
( v_bco NE itab_relat-bco ) OR
( itab_relat-tpcontab EQ 'C' AND
* >> Início da exclusão: FORM PROCESSA_ABERTO
v_nrparcj NE itab_relat-nrparcj ).
* << Fim da exclusão
* >> Início da inclusão: FORM PROCESSA_ABERTO
v_nrparcj NE itab_relat-nrparcj )
OR v_nrseq NE itab_relat-nrseqc.
* << Fim da inclusão
IF ( /pws/zyglt009-calc_rot_sep EQ 'S' OR
/pws/zyglt009-cont_rot_sep EQ 'S' ) AND
( itab_relat-tpcontr = 'A' OR
itab_relat-tpcontr = 'E' ).
PERFORM processa_subtotal_waers USING
v_vlprov v_vlprovir 'X'.
ELSE.
PERFORM processa_subtotal_waers USING
v_vlprov v_vlprovir ' '.
ENDIF.
...
...
itab_contabil-nrparcp = wa_itab_relat-nrparcj.
itab_contabil-dtcont = s_dtentr.
itab_contabil-kursf = wa_itab_relat-txc.
itab_contabil-vlme = wa_itab_relat-vlrprov.
itab_contabil-vlmeir = wa_itab_relat-vlirprov.
itab_contabil-nrcorresp = wa_itab_relat-nrseqc.
APPEND itab_contabil.
CLEAR itab_contabil.
ENDIF.
ELSE.
* >> Início da exclusão: FORM PROCESSA_ABERTO
IF itab_relat-nrseqc <> v_nrseq
* << Fim da exclusão
* >> Início da inclusão: FORM PROCESSA_ABERTO
IF ( itab_relat-nrseqc NE v_nrseq AND NOT
v_nrseq IS INITIAL )
* << Fim da inclusão
OR ( itab_relat-nrseqc EQ v_nrseq AND
( /pws/zyglt009-calc_rot_sep EQ 'S' OR
/pws/zyglt009-cont_rot_sep EQ 'S' ) AND
itab_relat-ftpj EQ v_ftpj ).
ADD itab_relat-vlmej TO v_vlmej_w.
ADD itab_relat-vlmeir TO v_vlmeir_w.
PERFORM verifica_provisao_liquidacao CHANGING v_separa.
IF ( /pws/zyglt009-calc_rot_sep EQ 'S' OR
/pws/zyglt009-cont_rot_sep EQ 'S' ) AND
( itab_contabil-vlrprov IS INITIAL OR
...
...
ENDIF.
ENDIF.
v_bukrs = itab_relat-bukrs.
v_waers = itab_relat-waers.
v_gsber = itab_relat-gsber.
v_tpcontr = itab_relat-tpcontr.
v_d_newko = itab_relat-d_newko.
v_c_newko = itab_relat-c_newko.
v_bco = itab_relat-bco.
v_ftpj = itab_relat-ftpj.
* >> Início da inclusão: FORM PROCESSA_ABERTO
v_nrseq = itab_relat-nrseqc.
* << Fim da inclusão
ENDLOOP.
IF wa_zycbt007-fprovisao EQ 'C'.
PERFORM processa_subtotal_waers USING v_vlprov v_vlprovir 'X'.
IF /pws/zyglt009-calc_rot_sep NE 'S' AND
/pws/zyglt009-cont_rot_sep NE 'S' AND
wa_zycbt007-fprovisao NE 'C'.
DELETE ADJACENT DUPLICATES FROM itab_contabil COMPARING ALL FIELDS.
ENDIF.
ELSE.
PERFORM processa_subtotal_waers USING v_vlmej_w v_vlmeir_w 'X'.
...