Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Custo Efetivo
Data/Hora da Publicação: 08/12/2006 00:00:00
Data/Hora Última Alteração: 22/02/2011 14:22:24
Descrição da Nota: ERRO AO ALTERARMOEDA DE EXIBIÇÃO NO CUSTO EFETIVO.
Sintoma
Atualizado valores do custo efetivo e valores ao clicar o ícone moeda de exibição e modificar a
moeda.
Solução
- atualizado o programa para arredondar a despesa AFRMM
- atualizado o programa para limpar o campo Moeda para valores em branco
- atualizado o programa para converter valores corretamente
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 02654 Data: 08/12/2006 Hora: 14:05:59
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 02654
Categoria : Erro de Programa
Prioridade : Alta
Versão PW.CE : 6.0
Pacote : 00025
Agrupamento : 00142
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
01422 - 00001 - 6.0 - 00023 - VALOR QUE FOI LEVADO PARA O ENCER. DE CUSTOS ESTA MAIOR DO QUE DE
02113 - 00002 - 6.0 - 00024 - CUSTO EFETIVO COM VALOR ERRADO E DIFERENÇA NO FRETE NACIONAL
02173 - 00003 - 6.0 - 00025 - VALOR DO SEGURO INCORRETO DEPOIS DO RECEBIMENTO
----------------------------------------------------------------------------------------------------
ERRO AO ALTERARMOEDA DE EXIBIÇÃO NO CUSTO EFETIVO.
----------------------------------------------------------------------------------------------------
Palavras Chave:
VALORES; MOEDA; COLUNA DIFERENÇA; COLUNA MOVIMENTADO
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI010F01
REPS /PWS/MZYCI010F03
REPS /PWS/MZYCI010I01
REPS /PWS/ZYCIR006
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI010F01
...
EXCEPTIONS
not_enough_answers = 1
too_much_answers = 2
too_much_marks = 3
OTHERS = 4.
IF v_resposta NE 'A'.
v_resp = v_resposta.
READ TABLE itab_waers_aux INDEX v_resposta.
v_medestino = itab_waers_aux-moeda.
v_medestino_a = itab_waers_aux-moeda.
* >> Início da inclusão: FORM CHANGE_WAERS
ELSE.
EXIT.
* << Fim da inclusão
ENDIF.
READ TABLE itab_zycit036 INDEX 1.
v_nrseq = itab_zycit036-nrseq.
SELECT SINGLE nrseqdi FROM /pws/zycit100 INTO v_nrseq
WHERE nrseq = itab_zycit036-nrseq.
SELECT * FROM /pws/zycit100 INTO TABLE itab_zycit100
WHERE nrseqdi = v_nrseq.
SELECT SINGLE * FROM /pws/zycit085
WHERE nrseqdi = v_nrseq.
IF /pws/zycit085 IS INITIAL.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI010F03
...
v_vlreal_aux LIKE itab_zycit036_conve-vlreal.
SELECT SINGLE * FROM t001 WHERE bukrs = /pws/zycit085-bukrs.
SELECT SINGLE * FROM /pws/zycit000 WHERE land1 EQ t001-land1.
SELECT SINGLE * FROM /pws/zycbt007
WHERE bukrs EQ /pws/zycit085-bukrs.
IF sy-subrc NE 0.
MESSAGE e120.
ENDIF.
IF v_resp = '1'.
MOVE itab_zycit036_conve[] TO itab_zycit036a[].
* >> Início da inclusão: FORM ALTERA_MOEDA
EXIT.
* << Fim da inclusão
ELSE.
CHECK v_erro_conv NE 'S'.
LOOP AT itab_zycit036a.
READ TABLE itab_zycit036_conve WITH KEY
codigo = itab_zycit036a-codigo.
IF NOT v_medestino_a IS INITIAL AND v_resp NE '1'.
CLEAR: v_vlbrl_a, s_msg1, v_vlbrl.
IF itab_zycit036_conve-waers NE v_medestino_a
AND v_erro_conv NE 'S'
AND itab_zycit036_conve-netpr GT 0 AND
...
...
ENDIF.
IF NOT v_taxa IS INITIAL.
itab_zycit036a-vlreal = v_vlbrl_a / v_taxa.
ENDIF.
v_trea = v_trea + itab_zycit036a-vlreal.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
* >> Início da inclusão: FORM ALTERA_MOEDA
IF NOT itab_zycit036a-vlreal IS INITIAL.
* << Fim da inclusão
itab_zycit036a-waers_real = v_medestino_a.
* >> Início da inclusão: FORM ALTERA_MOEDA
ENDIF.
* << Fim da inclusão
IF itab_zycit036a-vlmov IS INITIAL.
CLEAR itab_zycit036a-waers_mov.
ELSE.
v_tmov = v_tmov + itab_zycit036a-vlmov.
ENDIF.
IF itab_zycit036a-vldif IS INITIAL.
...
...
tpgto = 'D'.
MOVE itab_zycit008-dtaprov TO p_data.
WHEN 'PC'.
READ TABLE itab_zycit026 WITH KEY
nrseq = itab_zycit036-nrseq
nrpres = itab_zycit036-nrseqori.
MOVE itab_zycit026-dtaprov TO p_data.
ENDCASE.
ENDFORM.
FORM altera_moeda_aux.
* >> Início da exclusão: FORM ALTERA_MOEDA_AUX
SELECT SINGLE * FROM tcurx INTO wa_tcurx WHERE
currkey = itab_zycit036_conve-waers_real.
IF sy-subrc EQ 0.
PERFORM retorna_decimais USING itab_zycit036_conve-waers_real
CHANGING itab_zycit036_conve-vlreal.
ELSE.
PERFORM trata_decimais USING itab_zycit036_conve-waers_real
CHANGING itab_zycit036a-vlreal.
ENDIF.
* << Fim da exclusão
IF NOT /pws/zycit085-dttax IS INITIAL.
IF /pws/zycit000-flag_desp IS INITIAL.
PERFORM converter_moeda USING
itab_zycit036_conve-vlreal
itab_zycit036_conve-waers_real
/pws/zycbt007-waersb
CHANGING v_vlbrl_a.
PERFORM converter_moeda USING v_vlbrl_a
/pws/zycbt007-waersb
v_medestino_a
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI010I01
...
ENDIF.
ENDIF.
ENDMODULE.
MODULE verifica_total INPUT.
CLEAR v_vlreal_emb.
LOOP AT itab_zycit036.
v_vlreal_emb = itab_zycit036-vlreal + v_vlreal_emb.
ENDLOOP.
IF /pws/zycie036a-vlreal_emb NE v_vlreal_emb.
IF v_status_s EQ 1.
* >> Início da exclusão: MODULE VERIFICA_TOTAL
MESSAGE w015 WITH text-017 text-018.
* << Fim da exclusão
ENDIF.
ENDIF.
ENDMODULE.
MODULE user_command_0005 INPUT.
CASE okcode.
WHEN 'ENTE'.
SELECT SINGLE * FROM /pws/zycit001
INTO /pws/zycie001
WHERE nrseq = /pws/zycie001-nrseq.
SELECT SINGLE * FROM /pws/zycbt007
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCIR006
...
IF sy-subrc = 0.
SELECT SINGLE kursf FROM bkpf INTO v_kursf
WHERE bukrs = /pws/zycit001-bukrs
AND belnr = v_belnr_p
AND gjahr = v_dtincl+0(4).
ENDIF.
ENDIF.
IF itab_zycit036-vlreal GT 0 AND
NOT itab_zycit036-waers_real IS INITIAL.
v_valor = itab_zycit036-vlreal.
* >> Início da exclusão: FORM CALCULAR_OUTROS_CUSTOS
IF t001-land1 EQ 'CL'.
PERFORM trata_decimais USING itab_zycit036-waers_real
* << Fim da exclusão
* >> Início da inclusão: FORM CALCULAR_OUTROS_CUSTOS
SELECT SINGLE * FROM tcurx WHERE
currkey = itab_zycit036-waers_real.
IF sy-subrc EQ 0.
PERFORM retorna_decimais USING itab_zycit036-waers_real
* << Fim da inclusão
CHANGING v_valor.
* >> Início da exclusão: FORM CALCULAR_OUTROS_CUSTOS
ENDIF.
* << Fim da exclusão
* >> Início da inclusão: FORM CALCULAR_OUTROS_CUSTOS
ELSE.
PERFORM trata_decimais USING itab_zycit036-waers_real
* << Fim da inclusão
* >> Início da exclusão: FORM CALCULAR_OUTROS_CUSTOS
IF t001-land1 EQ 'BR'.
PERFORM retorna_decimais USING itab_zycit036-waers_real
* << Fim da exclusão
CHANGING v_valor.
ENDIF.
IF v_itemcongela NE 'X'.
itab_zycit036-waers_mov = /pws/zycbt007-waersb.
IF NOT /pws/zycit085-ukursfob IS INITIAL.
IF itab_zycit036-origem NE 'FAT'.
itab_zycit036-vlmov = v_valor *
/pws/zycit085-ukursfob.
ELSE.
itab_zycit036-vlmov = v_valor * v_kursf.
...
...
READ TABLE itab_zycit006 WITH KEY
nrseq = itab_zycit036-nrseqori.
IF sy-subrc EQ 0.
READ TABLE itab_bkpf WITH KEY
belnr = itab_zycit006-belnr_p.
IF sy-subrc EQ 0.
v_valor = v_valor * itab_bkpf-kursf.
ENDIF.
ENDIF.
ELSEIF itab_zycit036-origem EQ 'NF'.
* >> Início da exclusão: FORM CALCULAR_OUTROS_CUSTOS
v_valor = v_valor * /pws/zycit085-ukursseg.
* << Fim da exclusão
ENDIF.
PERFORM trata_decimais USING itab_zycit036-waers_mov
CHANGING v_valor.
ENDIF.
IF NOT /pws/zycit085-ukursseg IS INITIAL AND
( itab_zycit036-origem EQ 'NF'
OR itab_zycit036-origem EQ 'FAT' ).
itab_zycit036-vldif = v_valor
- itab_zycit036-vlmov.
itab_zycit036-waers_dif = /pws/zycbt007-waersb.
...