Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Nota Fiscal
Data/Hora da Publicação: 06/12/2010 00:00:00
Data/Hora Última Alteração: 23/02/2011 09:14:35
Descrição da Nota: VALORES DE FUNDAP FICAM ERRADOS AO ALTERAR O TIPO DE NOTA FISCAL
Sintoma
Ao modificar o tipo de nota fiscal no processo de Fundap os valores da nota ficam incorretos.
Solução
Ajustado programa para recalcular os valores de Fundap ao modificar o tipo de nota fiscal.
8.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 10794 Data: 06/12/2010 Hora: 09:15:26
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 10794
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 8.0
Pacote : 00005
Agrupamento : 00050
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
01469 - 00001 - 6.0 - 00023 - QUANDO ESTAMOS CRIANDO A NOTA FISCAL GLOBAL, PARA MAIS DE 10.
----------------------------------------------------------------------------------------------------
VALORES DE FUNDAP FICAM ERRADOS AO ALTERAR O TIPO DE NOTA FISCAL
----------------------------------------------------------------------------------------------------
Palavras Chave:
ERRO - VALOR - FUNDAP - MODIFICAR - TIPO - NOTA - FISCAL
/PWS/SAPMZYCI016
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI016F02
REPS /PWS/MZYCI016I01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI016F02
...
* >> Início da inclusão:
FORM modifica_fundap.
LOOP AT itab_zycit480 WHERE ebeln = itab_zycit042-ebeln
AND ebelp = itab_zycit042-ebelp.
READ TABLE itab_zycit003 WITH KEY
nrseq = itab_zycit480-nrseq
ebeln = itab_zycit480-ebeln
ebelp = itab_zycit480-ebelp.
READ TABLE itab_zycit100 WITH KEY
nrseq = itab_zycit480-nrseq
ebeln = itab_zycit480-ebeln
ebelp = itab_zycit480-ebelp.
READ TABLE itab_t001w WITH KEY werks = itab_zycit042-werks.
IF sy-subrc EQ 0.
READ TABLE itab_zycit033 WITH KEY tpnf = /pws/zycie042-tpnf
regio = itab_t001w-regio.
IF itab_zycit033-tribipi EQ '3' .
itab_zycit480-vl_custo_merc = itab_zycit480-vl_nf_ent.
ELSE.
itab_zycit480-vl_custo_merc =
itab_zycit480-vl_nf_ent - itab_zycit100-vlipi.
ENDIF.
ENDIF.
itab_zycit480-vl_base_ipi =
( ( itab_zycit480-vl_custo_merc *
( itab_zycit480-vl_basred / 100 ) ) /
( 1 - ( itab_zycit480-vl_aliqicms / 100 ) ) ) +
itab_zycit480-vl_desp_acess.
itab_zycit480-vl_ipi = itab_zycit480-vl_base_ipi *
( itab_zycit003-advalipi / 100 ) .
itab_zycit480-vl_base_icms =
( ( ( itab_zycit480-vl_custo_merc *
itab_zycit480-vl_basred ) / 100 )
/ ( 1 - ( itab_zycit480-vl_aliqicms / 100 ) ) ) +
itab_zycit480-vl_desp_acess.
itab_zycit480-vl_icms = itab_zycit480-vl_base_icms *
( itab_zycit480-vl_aliqicms / 100 ) .
IF NOT itab_zycit003-qtd_iten IS INITIAL.
itab_zycit480-vl_unit =
( itab_zycit480-vl_base_icms - itab_zycit480-vl_desp_acess ) /
itab_zycit003-qtd_iten .
ENDIF.
itab_zycit480-vl_nf_transf =
( itab_zycit480-vl_base_ipi + itab_zycit480-vl_ipi ).
itab_zycit480-desconto = itab_zycit480-vl_custo_merc *
( /pws/zycit478-percent / 100 ).
MODIFY itab_zycit480.
ENDLOOP.
ENDFORM.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI016I01
MODULE altera_itab_zycit042 INPUT.
itab_zycit042-nfglobal = /pws/zycie041-nfglobal.
* >> Início da inclusão: MODULE ALTERA_ITAB_ZYCIT042
IF /pws/zycie001-modalidade EQ '05' AND
/pws/zycie001-tpdecl EQ 'DI' AND
itab_zycit042-tpnf NE /pws/zycie042-tpnf.
PERFORM modifica_fundap.
ENDIF.
* << Fim da inclusão
itab_zycit042-tpnf = /pws/zycie042-tpnf.
itab_zycit042-ebeln = /pws/zycie042-ebeln .
itab_zycit042-ebelp = /pws/zycie042-ebelp .
itab_zycit042-qtd_iten = /pws/zycie042-qtd_iten.
itab_zycit042-processado = ' '.
IF /pws/zycie041-nfexterna = space.
itab_zycit042-nfnum = space.
itab_zycit042-series = space.
itab_zycit042-subser = space.
ELSE.
...