Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Nota Fiscal Remessa
Data/Hora da Publicação: 12/09/2007 00:00:00
Data/Hora Última Alteração: 09/03/2010 10:28:27
Descrição da Nota: NOTA FISCAL DE REMESSA COM FRETE EM MOEDA COM 5 CASAS DECIMAIS
Sintoma
Quando temos uma nota fiscal de remessa, em que o frete na DI está em uma moeda com cinco casas
decimais como por exemplo a DKK, o sistema está cálculando o frete errado na Remessa. Quando o frete
em JPY, também está errado na remessa, está multiplicando por mil.
Solução
Foi ajustado o tratamento desse cenário
7.0
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 04681 Data: 12/09/2007 Hora: 08:57:39
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 04681
Categoria : Erro de Programa
Prioridade : Baixa
Versão PW.CE : 7.0
Pacote : 00003
Agrupamento : 00013
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Descrição Breve
----------------------------------------------------------------------------------------------------
NOTA FISCAL DE REMESSA COM FRETE EM MOEDA COM 5 CASAS DECIMAIS
----------------------------------------------------------------------------------------------------
Palavras Chave:
NOTA FISCAL DE REMESSA COM FRETE EM MOEDA COM 5 CASAS DECIMAIS
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI016F01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI016F01
...
ENDFORM.
FORM convert_cfop.
CALL FUNCTION 'CONVERSION_EXIT_CFOBR_OUTPUT'
EXPORTING
input = itab_zycit033-cfop
IMPORTING
output = v_cfop.
ENDFORM.
FORM trata_decimais USING p_itab_zycit036_waers_real
CHANGING p_itab_zycit036_vlreal.
* >> Início da inclusão: FORM TRATA_DECIMAIS
clear tcurx.
* << Fim da inclusão
SELECT SINGLE * FROM tcurx WHERE currkey = p_itab_zycit036_waers_real
.
* >> Início da exclusão: FORM TRATA_DECIMAIS
IF sy-subrc <> 0.
* << Fim da exclusão
* >> Início da inclusão: FORM TRATA_DECIMAIS
IF sy-subrc <> 0 or not tcurx-currdec is initial.
* << Fim da inclusão
tcurx-currdec = 2.
ENDIF.
...
...
WHERE bukrs EQ /pws/zycie041-bukrs.
ENDIF.
LOOP AT itab_zycit036
WHERE ebeln = itab_zycit044-ebeln
AND ebelp = itab_zycit044-ebelp.
READ TABLE itab_zycit036_di
WITH KEY ebeln = itab_zycit036-ebeln
ebelp = itab_zycit036-ebelp
codigo = itab_zycit036-codigo.
IF itab_zycit036-codigo = 'FRETEI'.
* >> Início da exclusão: FORM VALORES_R
PERFORM trata_decimais USING itab_zycit036_di-waers_real
CHANGING itab_zycit036_di-vlreal.
* << Fim da exclusão
IF itab_zycit036_di-waers_real = /pws/zycbt007-waersb.
it_zycee007-netfre =
( ( itab_zycit036_di-vlreal ) /
itab_zycit044-menge * itab_zycit044-qtd_item ).
ELSE.
it_zycee007-netfre =
( ( itab_zycit036_di-vlreal * wa_zycit085-ukursfre ) /
itab_zycit044-menge * itab_zycit044-qtd_item ).
ENDIF.
ELSEIF itab_zycit036-codigo = 'SEGURO'.
* >> Início da exclusão: FORM VALORES_R
PERFORM trata_decimais USING itab_zycit036_di-waers_real
CHANGING itab_zycit036_di-vlreal.
* << Fim da exclusão
IF itab_zycit036_di-waers_real = /pws/zycbt007-waersb.
it_zycee007-netins =
( ( itab_zycit036_di-vlreal ) /
itab_zycit044-menge * itab_zycit044-qtd_item ).
ELSE.
it_zycee007-netins =
( ( itab_zycit036_di-vlreal * wa_zycit085-ukursseg ) /
itab_zycit044-menge * itab_zycit044-qtd_item ).
ENDIF.
ELSEIF itab_zycit036-codigo = 'II'.
...