Módulo: CÂMBIO FINANCEIRO
Funcionalidade: Remessa
Data/Hora da Publicação: 17/11/2005 00:00:00
Data/Hora Última Alteração: 18/02/2011 11:35:43
Descrição da Nota: CÁLCULO DO RATEIO DOS IMPOSTOS CONFORME CENTROS DE CUSTOS
Sintoma
O programa faz o rateio dos impostos conforme os valores e centros de custos registrados pelo
usuário na tela de principal (pasta contabilização), mas está ocorrendo uma falha no arredondamento.
Solução
Foi ajustado para calcular e atribuir para a última partida o valor rateado dos juros.
6.0
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 00304 Data: 17/11/2005 Hora: 16:23:30
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 00304
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 6.0
Pacote : 00021
Agrupamento : 00088
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Descrição Breve
----------------------------------------------------------------------------------------------------
CÁLCULO DO RATEIO DOS IMPOSTOS CONFORME CENTROS DE CUSTOS
----------------------------------------------------------------------------------------------------
Palavras Chave:
RATEIO IMPOSTOS REMESSA CENTRO CUSTO
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCA109F01
REPS /PWS/MZYCA109I01
REPS /PWS/MZYCA109TOP
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCA109F01
FORM calcula_vlmi.
IF v_compra = 'X'.
/pws/zycbe124-ftaxa = 'G'.
ELSEIF v_venda = 'X'.
/pws/zycbe124-ftaxa = 'B'.
ELSEIF v_media = 'X'.
/pws/zycbe124-ftaxa = 'M'.
ENDIF.
* < Inclusão - Início >
* Chamado 269883 - Renato - 16.11.2005 - Inicio
* Se taxa não é vazia, preenche campo ftaxa para ñ dar diferença ao sair
IF NOT /pws/zycbe124-kursf IS INITIAL.
wa_zycbt124-ftaxa = /pws/zycbe124-ftaxa.
ENDIF.
* Chamado 269883 - Renato - 16.11.2005 - Fim
* < Inclusão - Fim >
CHECK v_status_s = '1'.
* CHAMADO 221566 - 24/03/2005 - INICIO
* IF NOT /pws/zycbe124-kursf IS INITIAL.
*
* /pws/zycbe124-vlmi = /pws/zycbe124-vlme * /pws/zycbe124-kursf.
*
* ELSE.
* CHAMADO 221566 - 24/03/2005 - FIM
IF itab_zycbt009[] IS INITIAL.
SELECT * FROM /pws/zycbt009 INTO TABLE itab_zycbt009.
ENDIF.
...
ENDFORM. "calcula_vlmi
FORM propor_rateio_imposto.
...
* < Inclusão - Início >
* Chamado 269883 - Renato - 16.11.2005 - Inicio
CLEAR: v_indice.
* Chamado 269883 - Renato - 16.11.2005 - Fim
* < Inclusão - Fim >
LOOP AT itab_zycat025.
* < Inclusão - Início >
* Chamado 269883 - Renato - 16.11.2005 - Inicio
CLEAR: v_vlme.
* Chamado 269883 - Renato - 16.11.2005 - Fim
* < Inclusão - Fim >
LOOP AT itab_zycbt141_p.
* < Inclusão - Início >
* Chamado 269883 - Renato - 16.11.2005 - Inicio
v_indice = v_indice + 1.
* Chamado 269883 - Renato - 16.11.2005 - Fim
* < Inclusão - Fim >
...
* < Inclusão - Início >
* Chamado 269883 - Renato - 16.11.2005 - Inicio
v_vlme = v_vlme + itab_zycbt141_i-vlremessa.
* Chamado 269883 - Renato - 16.11.2005 - Fim
* < Inclusão - Fim >
ENDLOOP.
* < Inclusão - Início >
* Chamado 269883 - Renato - 16.11.2005 - Inicio
* Se houver difer. no tot do imposto com o total rateado, ajusta valor
IF v_vlme > itab_zycat025-vlimpme.
v_dif = v_vlme - itab_zycat025-vlimpme.
itab_zycbt141_i-vlremessa = itab_zycbt141_i-vlremessa - v_dif.
MODIFY itab_zycbt141_i INDEX v_indice.
ELSEIF v_vlme < itab_zycat025-vlimpme.
v_dif = itab_zycat025-vlimpme - v_vlme.
itab_zycbt141_i-vlremessa = itab_zycbt141_i-vlremessa + v_dif.
MODIFY itab_zycbt141_i INDEX v_indice.
ENDIF.
* Chamado 269883 - Renato - 16.11.2005 - Fim
* < Inclusão - Fim >
ENDLOOP.
...
ENDFORM. " propor_rateio_imposto
FORM verifica_parcelas_principal.
...
IF v_total NE /pws/zycbe124-vlme.
v_dif = v_total - /pws/zycbe124-vlme.
* Chamado 269883 - Renato - 16.11.2005 - Inicio
* Não insere tipo de imposto na mensagem por se tratar do Principal
* < Excluído - Início >
* CONCATENATE text-087 itab_zycat025-tpimp /pws/zycbe124-waers
* < Excluído - Fim >
* < Inclusão - Início >
CONCATENATE text-087 /pws/zycbe124-waers
* Chamado 269883 - Renato - 16.11.2005 - Fim
INTO v_msg SEPARATED BY space.
* < Inclusão - Fim >
MESSAGE w061 WITH text-086 v_msg v_dif.
erro_bi = 'X'.
ENDIF.
ENDFORM. " verifica_parcelas_principal
FORM verifica_parcelas_imposto.
DATA: v_total LIKE /pws/zycbe141-vlremessa.
* < Excluído - Início >
* Chamado 269883 - Renato - 16.11.2005 - Inicio
* v_indice TYPE i.
* < Excluído - Fim >
* < Alterado - Início >
CLEAR: v_total, itab_zycbt141, v_indice.
* Chamado 269883 - Renato - 16.11.2005 - Fim
* < Alterado - Fim >
...
ENDFORM. " verifica_parcelas_imposto
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCA109I01
MODULE ver_campos INPUT.
IF sy-tcode <> '/PWS/ZYCB109_E'.
PERFORM ver_campos.
ENDIF.
* Chamado 269883 - Renato - 16.11.2005 - Inicio
* Carrega campo taxa para não dar diferença entre valores de itab¿s
* < Excluído - Início >
* IF v_kursf IS INITIAL AND /pws/zycbe124-kursf IS INITIAL.
* < Excluído - Fim >
* < Alterado - Início >
IF v_kursf IS INITIAL.
* < Alterado - Fim >
* Chamado 269883 - Renato - 16.11.2005 - Fim
...
* < Inclusão - Início >
* Chamado 269883 - Renato - 16.11.2005 - Inicio
IF NOT /pws/zycbe124-kursf IS INITIAL.
v_kursf = /pws/zycbe124-kursf.
ENDIF.
* Chamado 269883 - Renato - 16.11.2005 - Fim
* < Inclusão - Fim >
ENDIF.
...
ENDMODULE. " VER_CAMPOS INPUT
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCA109TOP
* < Inclusão - Início >
* Chamado 269883 - Renato - 16.11.2005 - Inicio
v_indice TYPE i.
* Chamado 269883 - Renato - 16.11.2005 - Fim
* < Inclusão - Fim >
DATA: v_nome_campo(35) TYPE c,
v_comp(35) TYPE c,
v_cod_grupo LIKE /pws/zyglt320-cod_grupo,
cont TYPE i VALUE 0,
v_tela LIKE sy-ucomm,
wa_zycbe141_aux LIKE /pws/zycbe141,
v_dtlanc(10) TYPE c.