Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Nota Fiscal
Data/Hora da Publicação: 16/03/2010 00:00:00
Data/Hora Última Alteração: 09/09/2011 17:13:37
Descrição da Nota: VALOR DAS DESPESAS NA NOTA ESTA DIFERENTE DAS MENSAGENS E DI.
Sintoma
O valor da despesa na nota fiscal está diferente do informado na DI e o lançado nas mensagens da
nota fiscal.
Solução
Ajustada conversão do seguro no rateio das despesas.
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 09965 Data: 16/03/2010 Hora: 17:06:35
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 09965
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 8.0
Pacote : 00003
Agrupamento : 00012
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
08633 - 00001 - 7.0 - 00010 - NECESSÁRIO UMA EXIT DE TELA NO PROGRAMA DE NF
09821 - 00002 - 8.0 - 00002 - CORREÇÃO DE RATEIO DAS DESPESAS POR VALOR CIF
----------------------------------------------------------------------------------------------------
VALOR DAS DESPESAS NA NOTA ESTA DIFERENTE DAS MENSAGENS E DI.
----------------------------------------------------------------------------------------------------
Palavras Chave:
VALOR - DESPESAS - RATEIO - SEGURO - JPY - CASAS - DECIMAIS
/PWS/SAPMZYCI016
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI016F01
REPS /PWS/MZYCI016F02
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI016F01
...
FORM seleciona_despesas.
...
* >> Início da exclusão: FORM SELECIONA_DESPESAS
v_vlfre LIKE /pws/zycit085-vlfre,
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONA_DESPESAS
v_vlfre LIKE /pws/zycit100-vlfre,
* << Fim da inclusão
...
...
itab_zycit020-baseicms EQ 'X'.
READ TABLE itab_zycit100 WITH KEY
nrseq = itab_zycit042_d-nrseq
ebeln = itab_zycit042_d-ebeln
ebelp = itab_zycit042_d-ebelp.
IF sy-subrc EQ 0.
v_vlfre = /pws/zycit085-vlfre.
v_vlseg = /pws/zycit085-vlseg.
IF /pws/zycit085-waersfre
NE /pws/zycit085-waersfob .
* >> Início da inclusão: FORM SELECIONA_DESPESAS
PERFORM trata_decimais
USING /pws/zycit085-waersfre
CHANGING v_vlfre.
* << Fim da inclusão
PERFORM calc_conv_moeda USING /pws/zycit085-waersfre
/pws/zycit085-waersfob
CHANGING v_vlfre .
* >> Início da inclusão: FORM SELECIONA_DESPESAS
PERFORM retorna_decimais
USING /pws/zycit085-waersfob
CHANGING v_vlfre.
* << Fim da inclusão
ENDIF.
PERFORM taxa_converte USING /pws/zycit085-waersfob
/pws/zycit085-dttax
CHANGING v_taxa_desp.
IF NOT v_taxa_desp IS INITIAL.
itab_zycit100-vlfre = itab_zycit100-vlfre / v_taxa_desp.
itab_zycit100-vlseg = itab_zycit100-vlseg /
/pws/zycit085-ukursseg.
* >> Início da inclusão: FORM SELECIONA_DESPESAS
PERFORM retorna_decimais:
USING /pws/zycit085-waersseg
CHANGING itab_zycit100-vlseg,
USING /pws/zycit085-waersfob
CHANGING itab_zycit100-vlfre.
* << Fim da inclusão
ENDIF.
v_vldp = itab_zycit049_a-vlreal *
( ( itab_zycit100-vlfob +
itab_zycit100-vlfre + itab_zycit100-vlseg )
/ ( /pws/zycit085-vlfob + v_vlfre +
/pws/zycit085-vlseg ) ).
ENDIF.
ELSE.
v_vldp = itab_zycit049_a-vldp *
( itab_zycit003-vlreal *
...
...
itab_zycit020-baseicms EQ 'X'.
READ TABLE itab_zycit100 WITH KEY
nrseq = itab_zycit042-nrseq
ebeln = itab_zycit042-ebeln
ebelp = itab_zycit042-ebelp.
IF sy-subrc EQ 0.
v_vlfre = /pws/zycit085-vlfre.
v_vlseg = /pws/zycit085-vlseg.
IF /pws/zycit085-waersfre
NE /pws/zycit085-waersfob .
* >> Início da inclusão: FORM SELECIONA_DESPESAS
PERFORM trata_decimais
USING /pws/zycit085-waersfre
CHANGING v_vlfre.
* << Fim da inclusão
PERFORM calc_conv_moeda USING /pws/zycit085-waersfre
/pws/zycit085-waersfob
CHANGING v_vlfre .
* >> Início da inclusão: FORM SELECIONA_DESPESAS
PERFORM retorna_decimais
USING /pws/zycit085-waersfob
CHANGING v_vlfre.
* << Fim da inclusão
ENDIF.
PERFORM taxa_converte USING /pws/zycit085-waersfob
/pws/zycit085-dttax
CHANGING v_taxa_desp.
IF NOT v_taxa_desp IS INITIAL.
itab_zycit100-vlfre = itab_zycit100-vlfre / v_taxa_desp.
itab_zycit100-vlseg = itab_zycit100-vlseg /
/pws/zycit085-ukursseg.
* >> Início da inclusão: FORM SELECIONA_DESPESAS
PERFORM: retorna_decimais
USING /pws/zycit085-waersseg
CHANGING itab_zycit100-vlseg,
retorna_decimais
USING /pws/zycit085-waersfob
CHANGING itab_zycit100-vlfre.
* << Fim da inclusão
ENDIF.
v_vldp = itab_zycit049-vlreal *
( ( itab_zycit100-vlfob +
itab_zycit100-vlfre + itab_zycit100-vlseg )
/ ( /pws/zycit085-vlfob + v_vlfre +
/pws/zycit085-vlseg ) ).
ENDIF.
ELSE.
v_vldp = itab_zycit049-vldp *
( itab_zycit003-vlreal *
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI016F02
...
* >> Início da inclusão:
FORM retorna_decimais USING p_moeda
CHANGING p_valor.
SELECT SINGLE * FROM tcurx WHERE currkey = p_moeda.
IF sy-subrc <> 0.
tcurx-currdec = 2.
ENDIF.
p_valor = p_valor * ( 10 ** ( tcurx-currdec - 2 ) ).
ENDFORM.
* << Fim da inclusão