Módulo: CÂMBIO FINANCEIRO
Funcionalidade: Rotina de Pagamento
Data/Hora da Publicação: 11/12/2006 00:00:00
Data/Hora Última Alteração: 18/02/2011 11:44:38
Descrição da Nota: COMPLEMENTO DO BOLETO DE REMESSA - TAXA AO RECONTABILIZAR IMPOSTOS
Sintoma
Quando o sistema está parametrizado para efetuar a recontabilização de impostos, ao fazer o
complemento do boleto de remessas financeiras, o programa está lançando os documentos contábeis de
impostos com a taxa da remessa financeira ao invés do complemento do boleto.
Solução
O programa passou a considerar a taxa do complemento do boleto ao gerar os documentos contábeis para
os impostos no complemento do boleto.
6.0
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 02659 Data: 11/12/2006 Hora: 08:02:37
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 02659
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 6.0
Pacote : 00026
Agrupamento : 00144
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Descrição Breve
----------------------------------------------------------------------------------------------------
COMPLEMENTO DO BOLETO DE REMESSA - TAXA AO RECONTABILIZAR IMPOSTOS
----------------------------------------------------------------------------------------------------
Palavras Chave:
REMESSA IMPOSTO COMPLEMENTO BOLETO TAXA RECONTABILIZAR
----------------------------------------------------------------------------------------------------
Objetos da nota:
DYNP /PWS/SAPMZYCB110 0100
REPS /PWS/MZYCA110F01
REPS /PWS/MZYGL110F01
REPS /PWS/MZYGL110TOP
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCB110 0100
...
ENDCHAIN.
LOOP AT itab_zycbt031_tc.
FIELD /pws/zycbe048-instituicao MODULE consiste_instituicao.
MODULE altera_dados.
ENDLOOP.
CALL SUBSCREEN ss_dados.
* >> Início da exclusão: Tela 100
* MODULE: calcula_vlmi, "Chamado 185704 - Daniela N. 06/09/04
* << Fim da exclusão
* >> Início da inclusão: Tela 100
MODULE:
* << Fim da inclusão
user_command_0200,
user_command_exit AT EXIT-COMMAND.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCA110F01
...
itab_zycbe033-contabreal = 'X'.
ENDIF.
itab_zycbe033-mandt = sy-mandt.
itab_zycbe033-tcode = v_trans.
itab_zycbe033-tabela = '/PWS/ZYCBT031'.
itab_zycbe033-cpochv = /pws/zycbe031-nrseq.
itab_zycbe033-bcorec = /pws/zycbe031-bco.
itab_zycbe033-budat = itab_dados_tc-dtlanc.
IF /pws/zycbe031-contabreal IS INITIAL OR
NOT p_recontabiliza IS INITIAL.
* >> Início da exclusão: FORM CONTABILIZA_DOCTO_CP
IF NOT p_recontabiliza IS INITIAL.
SELECT SINGLE kursf FROM bkpf INTO itab_zycbe033-kursf
WHERE bukrs = itab_zycbt124_aux-bukrs
AND belnr = itab_zycat025-belnr_pr
AND gjahr = itab_zycat025-dtlanc(4).
itab_zycbe033-wrbtr = itab_zycat025-vlimpme.
itab_zycbe033-dmbtr = itab_zycat025-vlimpmi.
ELSE.
* << Fim da exclusão
itab_zycbe033-kursf = itab_dados_tc-kursf.
itab_zycbe033-wrbtr = itab_dados_tc-vlme.
itab_zycbe033-dmbtr = itab_dados_tc-vlmi.
* >> Início da exclusão: FORM CONTABILIZA_DOCTO_CP
ENDIF.
* << Fim da exclusão
itab_zycbe033-waersb = wa_zycbt007-waersb.
ELSE.
itab_zycbe033-wrbtr = itab_dados_tc-vlme.
ENDIF.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYGL110F01
...
ELSE.
itab_zycbt031_tc-belnr_p = /pws/zycbe031-belnr_p.
itab_zycbt031_tc-belnr_pi = /pws/zycbe031-belnr_pi.
itab_zycbt031_tc-belnr_cide = /pws/zycbe031-belnr_cide.
ENDIF.
MODIFY itab_zycbt031_tc.
ENDLOOP.
ENDFORM.
FORM altera_dados.
DATA: v_currdec LIKE tcurx-currdec.
* >> Início da inclusão: FORM ALTERA_DADOS
if tc_cont-current_line = 1.
clear: v_vlmi_tot, v_vlmiir_tot.
endif.
* << Fim da inclusão
itab_zycbt031_tc-bukrs = /pws/zycbt031-bukrs.
itab_zycbt031_tc-gsber = /pws/zycbe119-gsber.
itab_zycbt031_tc-werks = /pws/zycbe119-werks.
itab_zycbt031_tc-j_1bbranch = /pws/zycbe119-j_1bbranch.
itab_zycbt031_tc-belnr_p = /pws/zycbt031-belnr_p.
itab_zycbt031_tc-belnr_pi = /pws/zycbt031-belnr_pi.
itab_zycbt031_tc-belnr_cide = /pws/zycbt031-belnr_cide.
itab_zycbt031_tc-belnr_c = /pws/zycbe134-belnr_c.
itab_zycbt031_tc-belnr_ci = /pws/zycbe134-belnr_ci.
itab_zycbt031_tc-v_belnr_cide = v_belnr_cide.
...
...
ENDIF.
v_vlmeaux = itab_zycbt031_tc-v_vlme / ( 10 ** ( v_currdec - 2 ) ).
IF ( NOT /pws/zycbe031-kursf IS INITIAL AND
/pws/zycbe064-vlmi IS INITIAL ) OR v_taxa_alter_p = 'X'.
itab_zycbt031_tc-v_vlmi = /pws/zycbe064-vlmi =
( ( /pws/zycbe031-kursf / v_dfact ) * v_pfact ) * v_vlmeaux.
IF wa_tcurx-currdec = 0.
itab_zycbt031_tc-v_vlmi = itab_zycbt031_tc-v_vlmi *
( 10 ** ( wa_tcurx-currdec - 2 ) ).
ENDIF.
* >> Início da inclusão: FORM ALTERA_DADOS
v_vlmi_tot = v_vlmi_tot + itab_zycbt031_tc-v_vlmi.
DESCRIBE TABLE itab_zycbt031_tc LINES v_linha.
IF v_linha = tc_cont-current_line.
IF v_vlmi_tot > /pws/zycbe031-vlmi.
v_dif = v_vlmi_tot - /pws/zycbe031-vlmi.
itab_zycbt031_tc-v_vlmi = itab_zycbt031_tc-v_vlmi - v_dif.
ELSEIF v_vlmi_tot < /pws/zycbe031-vlmi.
v_dif = /pws/zycbe031-vlmi - v_vlmi_tot.
itab_zycbt031_tc-v_vlmi = itab_zycbt031_tc-v_vlmi + v_dif.
ENDIF.
ENDIF.
* << Fim da inclusão
ELSE.
itab_zycbt031_tc-v_vlmi = /pws/zycbe064-vlmi.
ENDIF.
v_vlmeaux = itab_zycbt031_tc-v_vlir / ( 10 ** ( v_currdec - 2 ) ).
IF ( NOT /pws/zycbe031-taxair IS INITIAL AND
/pws/zycbe064-vlmiir IS INITIAL ) OR v_taxa_alter_i = 'X'.
itab_zycbt031_tc-v_vlmiir = /pws/zycbe064-vlmiir =
( ( /pws/zycbe031-taxair / v_dfact ) * v_pfact ) * v_vlmeaux.
IF wa_tcurx-currdec = 0.
itab_zycbt031_tc-v_vlmiir = itab_zycbt031_tc-v_vlmiir *
( 10 ** ( wa_tcurx-currdec - 2 ) ).
* >> Início da inclusão: FORM ALTERA_DADOS
ENDIF.
v_vlmiir_tot = v_vlmiir_tot + itab_zycbt031_tc-v_vlmiir.
DESCRIBE TABLE itab_zycbt031_tc LINES v_linha.
IF v_linha = tc_cont-current_line.
IF v_vlmiir_tot > /pws/zycbe031-vlmiir.
v_dif = v_vlmiir_tot - /pws/zycbe031-vlmiir.
itab_zycbt031_tc-v_vlmiir = itab_zycbt031_tc-v_vlmiir - v_dif.
ELSEIF v_vlmiir_tot < /pws/zycbe031-vlmiir.
v_dif = /pws/zycbe031-vlmiir - v_vlmiir_tot.
itab_zycbt031_tc-v_vlmiir = itab_zycbt031_tc-v_vlmiir + v_dif.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: FORM ALTERA_DADOS
ENDIF.
* << Fim da inclusão
ELSE.
itab_zycbt031_tc-v_vlmiir = /pws/zycbe064-vlmiir.
ENDIF.
v_vlmeaux = itab_zycbt031_tc-v_vlcide / ( 10 ** ( v_currdec - 2 ) ).
IF ( NOT /pws/zycbe031-taxacide IS INITIAL AND
/pws/zycbe064-vlmicide IS INITIAL ) OR v_taxa_alter_c = 'X'.
...
...
EXIT.
ENDIF.
CLEAR: itab_zycbt064, itab_zycbt064.
REFRESH: itab_zycbt064, itab_zycbt064.
SELECT * FROM /pws/zycbt064
INTO TABLE itab_zycbt064
WHERE nrboleto = /pws/zycbe031-nrseq.
itab_zycbt064[] = itab_zycbt064[].
PERFORM seleciona_dados_gerais.
PERFORM carrega_dados.
* >> Início da exclusão: FORM SEL_BOLETO
IF /pws/zycbe031-mdcorresp NE 'IU'.
CLEAR v_corrige.
IF tcurx-currdec = 0.
v_vlmeaux = /pws/zycbe031-vlme / ( 10 ** ( tcurx-currdec - 2 ) ).
v_corrige = v_vlmeaux * /pws/zycbe031-kursf.
ELSE.
v_corrige = /pws/zycbe031-vlme * /pws/zycbe031-kursf.
ENDIF.
v_corrige = v_corrige - /pws/zycbe031-vlmi.
/pws/zycbe031-vlmi = /pws/zycbe031-vlmi + v_corrige.
IF NOT itab_zycbt031_tc[] IS INITIAL.
DESCRIBE TABLE itab_zycbt031_tc LINES v_conta.
READ TABLE itab_zycbt031_tc INDEX v_conta.
itab_zycbt031_tc-v_vlmi = itab_zycbt031_tc-v_vlmi + v_corrige.
MODIFY itab_zycbt031_tc INDEX v_conta TRANSPORTING v_vlmi.
ENDIF.
ENDIF.
* << Fim da exclusão
IF /pws/zycbe031-mdcorresp EQ 'EL'.
SELECT SINGLE parvw FROM /pws/zycbt017
INTO v_parvw
WHERE nrinvoic EQ /pws/zycbe031-nrcorresp.
SELECT SINGLE * FROM /pws/zycbt007.
IF ( v_parvw EQ 'CG' OR
v_parvw EQ 'AD' OR
v_parvw EQ 'DA' ) AND
/pws/zycbt007-comis NE 'R'.
MOVE 'X' TO v_comis.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYGL110TOP
...
v_dtliquida LIKE /pws/zycbt048-dtliquida,
v_slpgfat LIKE /pws/zycbt119-slpgfat,
v_slfat LIKE /pws/zycbt108-slfat,
v_nrmsg TYPE i VALUE 0 ,
v_transacao LIKE /pws/zycbe033-tcode,
v_mode TYPE c ,
v_update TYPE c ,
v_msgno LIKE t100-msgnr,
v_nrseq1 LIKE /pws/zycie008-nrseq,
v_indice(02) TYPE n ,
* >> Início da exclusão:
v_indcampo(40) TYPE c .
* << Fim da exclusão
* >> Início da inclusão:
v_indcampo(40) TYPE c ,
v_vlmi_tot type /pws/zycbe031-vlmi,
v_vlmiir_tot type /pws/zycbe031-vlmiir.
* << Fim da inclusão
DATA: v_codparc(03) TYPE c.
DATA: v_dfact LIKE tcurr-ffact,
v_pfact LIKE tcurr-ffact,
v_ctmoeda LIKE tcurr-kurst.
DATA:
v_taxa_dia LIKE tcurr-ukurs,
v_nrparc LIKE /pws/zycbt113-nrparc,
v_waers LIKE /pws/zycbt112-waers,
v_tipo2(30) TYPE c,
v_modifica,
...