Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Custo Efetivo
Data/Hora da Publicação: 29/12/2009 00:00:00
Data/Hora Última Alteração: 20/06/2011 12:01:28
Descrição da Nota: VALOR PLANEJADO PARA MOEDAS COM MAIS DE 2 CASAS DECIMAIS ERRADO NO CUSTO
Sintoma
O valor planejado da mercadoria está dividido por 10 para moeda com 3 casas decimais.
Solução
Corrigido tratamento de moeda na montagem dos valores planejados.
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 09644 Data: 29/12/2009 Hora: 15:04:55
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 09644
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 8.0
Pacote : 00002
Agrupamento : 00002
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
02771 - 00001 - 6.0 - 00026 - CUSTO EFETIVO COM VALOR ERRADO QUANDO VINHA DA FATURA
06867 - 00002 - 7.0 - 00006 - AO CRIAR FATURA COM PEDIDOS DE MOEDAS DIFERENTES FICA ERRADO.
07296 - 00003 - 7.0 - 00006 - CUSTO EFETIVO O VALOR PLANEJADO ESTA INCORRETO COM A MOEDA JPY
----------------------------------------------------------------------------------------------------
VALOR PLANEJADO PARA MOEDAS COM MAIS DE 2 CASAS DECIMAIS ERRADO NO CUSTO
----------------------------------------------------------------------------------------------------
Palavras Chave:
MOEDA - CASAS - DECIMAIS - VALOR - PLANEJADO - CUSTO - EFETIVO
/PWS/SAPMZYCI040 - /PWS/ZYCIR035
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI003F01
REPS /PWS/ZYCIR035
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003F01
...
IF sy-subrc NE 0.
CLEAR itab_zycit036.
ENDIF.
PERFORM retorna_decimais USING itab_zycit036-waers
CHANGING itab_zycit036-vlreal.
IF okcode NE 'DELE'.
IF /pws/zycie006-ratval EQ '3'.
PERFORM trata_decimais USING /pws/zycie006-waers
CHANGING itab_zycit003-total.
ENDIF.
* >> Início da exclusão: FORM CUSTEANDO_DESPESA_INCO
SELECT SINGLE * FROM tcurx WHERE currkey = /pws/zycie006-waers.
IF sy-subrc = 0 AND tcurx-currdec > 2.
/pws/zycie036-vlreal = itab_zycit003-total
/ ( 10 ** ( tcurx-currdec - 2 ) ).
ELSE.
* << Fim da exclusão
/pws/zycie036-vlreal = itab_zycit003-total.
* >> Início da exclusão: FORM CUSTEANDO_DESPESA_INCO
ENDIF.
* << Fim da exclusão
ELSE.
READ TABLE itab_zycit003_ini WITH KEY
ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp.
IF sy-subrc EQ 0.
SELECT SINGLE * FROM tcurx WHERE currkey = /pws/zycie006-waers.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCIR035
...
CONCATENATE '0' it_desp-ebelp INTO v_ebelp.
LOOP AT itab_custo_condition
WHERE kposn EQ v_ebelp
AND kschl EQ itab_zycit030-kschl.
READ TABLE itab_ekpo WITH KEY ebeln = it_desp-ebeln
ebelp = it_desp-ebelp.
IF sy-subrc EQ 0.
itab_zycit030_aux-porcent = itab_custo_condition-kbetr .
IF NOT itab_ekpo-menge IS INITIAL AND
NOT it_desp-qtd_iten IS INITIAL.
* >> Início da exclusão: FORM CUSTEANDO_PLANEJADO
PERFORM retorna_decimais USING it_desp-waers
CHANGING itab_custo_condition-kwert.
* << Fim da exclusão
itab_zycit030_aux-valor = itab_custo_condition-kwert /
itab_ekpo-menge * it_desp-qtd_iten.
ENDIF.
APPEND itab_zycit030_aux.
ENDIF.
ENDLOOP.
ENDIF.
IF sy-subrc NE 0.
IF itab_zycit030-codigo EQ 'II' OR
itab_zycit030-codigo EQ 'IPI' OR
...
...
ENDLOOP.
ELSE.
CLEAR v_ebelp.
CONCATENATE '0' it_desp-ebelp INTO v_ebelp.
LOOP AT itab_custo_condition
WHERE kposn EQ v_ebelp
AND kschl EQ itab_zycit030-kschl.
itab_zycit030_aux-porcent = itab_custo_condition-kbetr .
IF NOT it_desp-menge IS INITIAL AND
NOT it_desp-qtd_iten IS INITIAL.
* >> Início da exclusão: FORM CUSTEANDO_PLANEJADO
IF NOT it_desp-waers EQ 'JPY'.
PERFORM retorna_decimais USING it_desp-waers
CHANGING itab_custo_condition-kwert.
ENDIF.
* << Fim da exclusão
itab_zycit030_aux-valor = itab_custo_condition-kwert /
it_desp-menge * it_desp-qtd_iten.
ENDIF.
APPEND itab_zycit030_aux.
ENDLOOP.
ENDIF.
IF sy-subrc NE 0.
IF itab_zycit030-codigo EQ 'II' OR
itab_zycit030-codigo EQ 'IPI' OR
itab_zycit030-codigo EQ 'ICMS' OR
...