Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Nota Fiscal
Data/Hora da Publicação: 21/01/2014 09:07:43
Data/Hora Última Alteração: 21/01/2014 09:14:18
Descrição da Nota: LINHA DO ICMS NÃO BATE COM O TOTAL DA NOTA FISCAL (ICMS COM REDUÇÃO)
Sintoma
A linha de ICMS não está batendo com o total da nota fiscal em processos com redução da base de
ICMS.
Solução
Atualizado programa para ajustar cálculo do montante excluido da base em casos de redução de ICMS
9.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 13584 Data: 16/01/2014 Hora: 14:55:19
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 13584
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 9.0
Pacote : 00007
Agrupamento : 00170
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
12853 - 00001 - 9.0 - 00004 - ERRO NO CÁLCULO DE ICMS REDUZIDO NA NF E DI
----------------------------------------------------------------------------------------------------
LINHA DO ICMS NÃO BATE COM O TOTAL DA NOTA FISCAL (ICMS COM REDUÇÃO)
----------------------------------------------------------------------------------------------------
Palavras Chave:
NOTA - FISCAL - REDUÇÃO - ICMS - LINHA - TOTAL - NOTA - FISCAL
/PWS/SAPMZYCI016
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI016F01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI016F01
...
FORM verifica_montante.
* >> Início da inclusão: FORM VERIFICA_MONTANTE
DATA v_bicms TYPE j_1bdytax-base.
* << Fim da inclusão
...
...
v_icms = v_icms + itab_zycit036-vlreal.
v_basred = itab_zycit003-basred.
ENDIF.
ENDLOOP.
IF itab_zycit100-icms_dif = 'X'.
itab_zycit003-basred = '100'.
v_basred = itab_zycit003-basred.
ENDIF.
CLEAR v_advicms.
IF NOT itab_zycit003-advalicms IS INITIAL.
* >> Início da exclusão: FORM VERIFICA_MONTANTE
IF NOT itab_zycit003-basred IS INITIAL OR
NOT itab_zycit003-basred EQ '100'.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_MONTANTE
IF NOT itab_zycit003-basred IS INITIAL AND
itab_zycit003-basred < 100.
* << Fim da inclusão
v_advicms = ( ( itab_zycit003-advalicms / 100 ) *
( itab_zycit003-basred / 100 ) ) .
IF /pws/zycit062-icms_base_red_ar = 'X'.
v_trunc = v_advicms.
v_advicms = v_trunc.
ENDIF.
* >> Início da inclusão: FORM VERIFICA_MONTANTE
IF NOT /pws/zycit062-flag_icms IS INITIAL.
v_base = itab_zycit100-baseicms.
v_advicms = 1 - v_advicms.
v_bicms = ( itab_zycit100-baseicms * v_advicms ) /
( itab_zycit003-basred / 100 ).
ADD it_zycee007-taxval TO v_bicms.
v_basred = ( v_base / v_bicms ) * 100.
ELSE.
v_basred = ( v_advicms * 10000 / itab_zycit003-advalicms ).
ENDIF.
* << Fim da inclusão
ELSE.
v_advicms = ( itab_zycit003-advalicms / 100 ).
* >> Início da inclusão: FORM VERIFICA_MONTANTE
v_basred = ( v_advicms * 10000 / itab_zycit003-advalicms ).
* << Fim da inclusão
ENDIF.
* >> Início da exclusão: FORM VERIFICA_MONTANTE
v_basred = ( v_advicms * 10000 / itab_zycit003-advalicms ).
* << Fim da exclusão
ELSE.
v_basred = itab_zycit003-basred.
ENDIF.
IF v_basred IS INITIAL.
v_basred = 100.
ENDIF.
...