Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Custo Efetivo
Data/Hora da Publicação: 16/06/2006 00:00:00
Data/Hora Última Alteração: 20/06/2011 12:42:11
Descrição da Nota: AO ENTRAR NO CUSTO E CONVERTER PARA MOEDA INTERNA SÓ MUDA A MOEDA
Sintoma
Ao entrar no custo efetivo e clicar para converter para moeda interna só muda a moeda e fica o mesmo
valor (valor em usd).
Solução
Ajuste na conversão da moeda com a OB08 e a taxa da ZYCIT174
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 01601 Data: 16/06/2006 Hora: 16:46:57
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 01601
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 6.0
Pacote : 00023
Agrupamento : 00117
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
01175 - 00001 - 6.0 - 00023 - PROBLEMA NO CUSTO EFETIVO DA JABIL POIS O VALOR DO SEGURO ESTA ER
01422 - 00002 - 6.0 - 00023 - VALOR QUE FOI LEVADO PARA O ENCER. DE CUSTOS ESTA MAIOR DO QUE DE
----------------------------------------------------------------------------------------------------
AO ENTRAR NO CUSTO E CONVERTER PARA MOEDA INTERNA SÓ MUDA A MOEDA
----------------------------------------------------------------------------------------------------
Palavras Chave:
CUSTO EFETIVO, MUDANÇA DE MOEDA
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI010F01
REPS /PWS/MZYCI010F03
REPS /PWS/MZYCI010O02
REPS /PWS/MZYCI010TOP
REPS /PWS/MZYCI010X01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI010F01
...
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.
* >> Início da exclusão: FORM CHANGE_WAERS
SELECT SINGLE nrseq FROM /pws/zycit003 INTO v_nrseq
* << Fim da exclusão
* >> Início da inclusão: FORM CHANGE_WAERS
SELECT SINGLE nrseqda FROM /pws/zycit003 INTO v_nrseqda
* << Fim da inclusão
WHERE nrseq = itab_zycit036-nrseq.
IF sy-subrc EQ 0.
SELECT SINGLE * FROM /pws/zycit442
* >> Início da exclusão: FORM CHANGE_WAERS
WHERE nrseqda EQ /pws/zycit003-nrseqda.
* << Fim da exclusão
* >> Início da inclusão: FORM CHANGE_WAERS
WHERE nrseqda EQ v_nrseqda.
* << Fim da inclusão
IF sy-subrc EQ 0.
MOVE /pws/zycit442 TO /pws/zycit085.
ENDIF.
ENDIF.
ENDIF.
* >> Início da inclusão: FORM CHANGE_WAERS
Select * from /pws/zycit006
into table itab_zycit006
for all entries in itab_zycit036
where nrseq eq itab_zycit036-nrseqori.
IF NOT itab_zycit006[] IS INITIAL.
SELECT * FROM bkpf
INTO TABLE it_bkpf_aux
FOR ALL ENTRIES IN itab_zycit006
WHERE bukrs EQ itab_zycit006-bukrs
AND belnr EQ itab_zycit006-belnr_p
AND gjahr EQ itab_zycit006-dt_belnrp(04).
ENDIF.
* << Fim da inclusão
PERFORM altera_moeda.
ENDFORM.
FORM carrega_itab_waers.
CLEAR itab_waers_aux. FREE itab_waers_aux.
itab_waers_aux-opcao = '1' .
...
...
CHANGING v_vlreal.
ELSEIF itab_zycit036_aux2-origem EQ 'PC'.
READ TABLE it_pc WITH KEY
nrseq = itab_zycit036_aux2-nrseq
nrpres = itab_zycit036_aux2-nrseqori.
* >> Início da inclusão: FORM CUSTEAR_ITENS
PERFORM trata_decimais USING /pws/zycie001-waers
CHANGING itab_zycit036_aux2-vlreal.
* << Fim da inclusão
IF it_pc-dtaprov LT /pws/zycit085-dtuserc.
PERFORM converter_moeda
USING itab_zycit036_aux2-vlreal
itab_zycit036_aux2-waers_real
/pws/zycbt007-waersb
...
...
ELSEIF itab_zycit036_aux2-origem EQ 'DC'.
READ TABLE it_dc WITH KEY
nrseq = itab_zycit036_aux2-nrseq
nradto = itab_zycit036_aux2-nrseqori.
IF it_pc-dtaprov LT /pws/zycit085-dtuserc.
* >> Início da inclusão: FORM CUSTEAR_ITENS
PERFORM trata_decimais USING /pws/zycie001-waers
CHANGING itab_zycit036_aux2-vlreal.
* << Fim da inclusão
PERFORM converter_moeda
USING itab_zycit036_aux2-vlreal
itab_zycit036_aux2-waers_real
/pws/zycbt007-waersb
CHANGING v_vlreal.
...
...
CHANGING v_taxa.
ENDIF.
itab_zycit036_aux2-vlreal =
itab_zycit036_aux2-vlreal * v_taxa.
ENDIF.
* >> Início da inclusão: FORM CUSTEAR_ITENS
PERFORM trata_decimais USING /pws/zycie001-waers
CHANGING itab_zycit036_aux2-vlreal.
* << Fim da inclusão
IF NOT /pws/zycit085-dttax IS INITIAL.
PERFORM taxa_converte USING /pws/zycie001-waers
/pws/zycit085-dttax
CHANGING v_taxa.
ELSEIF /pws/zycit085-dttax IS INITIAL.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI010F03
...
NOT itab_zycit036_conve-waers_real IS INITIAL.
READ TABLE itab_zycit036 WITH KEY
nrseq = itab_zycit036_conve-nrseq
codigo = itab_zycit036_conve-codigo.
* >> Início da exclusão: FORM ALTERA_MOEDA
IF itab_zycit036_aux2-origem NE 'NF' OR
* << Fim da exclusão
* >> Início da inclusão: FORM ALTERA_MOEDA
IF itab_zycit036_aux2-origem NE 'NF' and
* << Fim da inclusão
itab_zycit036_aux2-origem NE 'NFC'.
PERFORM read_docts USING itab_zycit036-origem
itab_zycit036-nrseqori
CHANGING v_dtreal.
IF v_dtreal LT /pws/zycit085-dtuserc.
v_vlreal_aux = itab_zycit036_conve-vlreal.
* >> Início da exclusão: FORM ALTERA_MOEDA
PERFORM conversao_vlreal
USING
v_vlreal_aux
* << Fim da exclusão
* >> Início da inclusão: FORM ALTERA_MOEDA
PERFORM conv_vlreal USING v_vlreal_aux
* << Fim da inclusão
itab_zycit036_conve-waers_real
* >> Início da inclusão: FORM ALTERA_MOEDA
v_medestino_a
* << Fim da inclusão
CHANGING itab_zycit036_conve-vlreal.
...
...
CLEAR: v_vlbrl_a, s_msg1, v_vlbrl.
IF itab_zycit036_conve-waers_mov NE v_medestino_a
AND v_erro_conv NE 'S'
AND itab_zycit036_conve-vlmov GT 0 AND
NOT itab_zycit036_conve-waers_mov IS INITIAL.
* >> Início da inclusão: FORM ALTERA_MOEDA
CLEAR itab_zycit036.
READ TABLE itab_zycit036 WITH KEY
nrseq = itab_zycit036_conve-nrseq
codigo = itab_zycit036_conve-codigo.
IF itab_zycit036-origem eq 'FAT'.
READ TABLE itab_zycit006 WITH KEY
nrseq = itab_zycit036-nrseqori.
READ TABLE it_bkpf_aux WITH KEY
bukrs = itab_zycit006-bukrs
belnr = itab_zycit006-belnr_p
gjahr = itab_zycit006-dt_belnrp(04).
itab_zycit036a-vlmov =
itab_zycit036a-vlmov / it_bkpf_aux-kursf.
ELSE.
* << Fim da inclusão
SELECT SINGLE * FROM tcurx INTO wa_tcurx WHERE
currkey = itab_zycit036_conve-waers_mov.
IF sy-subrc EQ 0.
PERFORM retorna_decimais USING itab_zycit036_conve-waers_mov
CHANGING itab_zycit036_conve-vlmov
...
...
ELSE.
PERFORM trata_decimais USING itab_zycit036_conve-waers_mov
CHANGING itab_zycit036_conve-vlmov.
ENDIF.
IF NOT /pws/zycit085-dttax IS INITIAL.
* >> Início da exclusão: FORM ALTERA_MOEDA
IF /pws/zycit000-flag_desp IS INITIAL.
PERFORM converter_moeda USING
itab_zycit036_conve-vlmov
itab_zycit036_conve-waers_mov
/pws/zycbt007-waersb
CHANGING v_vlbrl_a.
PERFORM converter_moeda USING v_vlbrl_a
/pws/zycbt007-waersb
v_medestino_a
CHANGING itab_zycit036a-vlmov.
ELSE.
* << Fim da exclusão
IF itab_zycit036_conve-waers_mov NE /pws/zycbt007-waersb.
PERFORM taxa_converte USING itab_zycit036_conve-waers_mov
/pws/zycit085-dttax
CHANGING v_taxa
.
...
...
v_taxa = 1.
ENDIF.
IF NOT v_taxa IS INITIAL.
itab_zycit036a-vlmov = v_vlbrl_a / v_taxa.
ENDIF.
* >> Início da exclusão: FORM ALTERA_MOEDA
ENDIF.
ELSEIF NOT /pws/zycit085-dttax IS INITIAL AND
* << Fim da exclusão
* >> Início da inclusão: FORM ALTERA_MOEDA
ELSEIF /pws/zycit085-dttax IS INITIAL AND
* << Fim da inclusão
s_msg1 = 'X'.
PERFORM converter_moeda USING
itab_zycit036_conve-vlmov
itab_zycit036_conve-waers_mov
/pws/zycbt007-waersb
...
...
PERFORM converter_moeda USING v_vlbrl_a
/pws/zycbt007-waersb
v_medestino_a
CHANGING itab_zycit036a-vlmov.
ENDIF.
* >> Início da inclusão: FORM ALTERA_MOEDA
ENDIF.
* << Fim da inclusão
SELECT SINGLE * FROM tcurx INTO wa_tcurx WHERE
currkey = v_medestino_a.
itab_zycit036a-waers_mov = v_medestino_a.
ELSE.
MOVE: itab_zycit036_conve-vlmov TO itab_zycit036a-vlmov,
...
...
ENDIF.
SELECT SINGLE * FROM tcurx INTO wa_tcurx WHERE
currkey = v_medestino_a.
itab_zycit036a-waers_real = v_medestino_a.
ENDFORM.
* >> Início da inclusão:
form conv_vlreal USING v_real
v_waers
v_waers_aux
CHANGING v_vlreal.
PERFORM converter_moeda
USING v_real
v_waers
/pws/zycbt007-waersb
CHANGING v_real.
PERFORM converter_moeda
USING v_real
/pws/zycbt007-waersb
v_waers_aux
CHANGING v_vlreal.
endform.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI010O02
...
IF v_resp EQ '1'.
/pws/zycie001-waers_mov = /pws/zycbt007-waersb.
ENDIF.
IF itab_zycit036a-waers_mov NE /pws/zycie001-waers_mov
AND NOT itab_zycit036a-vlmov IS INITIAL.
* >> Início da inclusão: MODULE CARREGA_TOTAIS
IF itab_zycit036a-codigo = 'FOB' OR itab_zycit036a-codigo =
'SEGURO' OR itab_zycit036a-codigo = 'FRETEI'.
CLEAR itab_zycit140.
READ TABLE itab_zycit140 WITH KEY codigo = itab_zycit036a-codigo
custo = 'X'.
IF sy-subrc = 0.
IF itab_zycit140-origem = 'NF'.
READ TABLE itab_zycit085 INDEX 1.
PERFORM taxa_converte USING itab_zycit036a-waers_mov
itab_zycit085-dttax
CHANGING v_taxa.
IF NOT v_taxa IS INITIAL.
v_treal_aux = itab_zycit036a-vlreal * v_taxa.
IF itab_zycit085-ukursfob > 0.
v_tmov_aux = v_tmov_aux / itab_zycit085-ukursfob.
v_tmov_conv = v_tmov_aux.
ENDIF.
ENDIF.
PERFORM trata_decimais USING itab_zycit036a-waers_real
CHANGING v_treal_conv.
ELSE.
* << Fim da inclusão
PERFORM converter_moeda USING
* >> Início da exclusão: MODULE CARREGA_TOTAIS
itab_zycit036a-vlreal
* << Fim da exclusão
* >> Início da inclusão: MODULE CARREGA_TOTAIS
itab_zycit036a-vlmov
* << Fim da inclusão
itab_zycit036a-waers_mov
/pws/zycie001-waers_mov
CHANGING v_tmov_aux.
* >> Início da exclusão: MODULE CARREGA_TOTAIS
v_tmov_conv = v_tmov_aux.
* << Fim da exclusão
* >> Início da inclusão: MODULE CARREGA_TOTAIS
v_tmov_conv = v_tmov_aux.
ENDIF.
ENDIF.
ELSE.
IF itab_zycit036a-codigo = 'C&F'.
READ TABLE itab_zycit140 WITH KEY codigo = itab_zycit036a-codigo
custo = 'X'.
IF itab_zycit140-origem EQ 'FAT'.
READ TABLE itab_zycit036 WITH KEY
nrseq = itab_zycit036_conve-nrseq
codigo = itab_zycit036_conve-codigo.
READ TABLE itab_zycit006 WITH KEY
nrseq = itab_zycit036-nrseqori.
READ TABLE it_bkpf_aux WITH KEY
bukrs = itab_zycit006-bukrs
belnr = itab_zycit006-belnr_p
gjahr = itab_zycit006-dt_belnrp(04).
v_tmov_aux = itab_zycit036a-vlmov * it_bkpf_aux-kursf.
v_tmov_conv = v_tmov_aux.
PERFORM trata_decimais USING itab_zycit036a-waers_real
CHANGING v_treal_conv.
ELSE.
READ TABLE itab_zycit085 INDEX 1.
IF itab_zycit036a-waers_mov NE itab_zycit085-waersseg.
IF itab_zycit085-ukursseg > 0.
v_tmov_aux = itab_zycit036a-vlmov / itab_zycit085-ukursseg.
ENDIF.
v_tmov_conv = v_tmov_aux.
PERFORM trata_decimais USING itab_zycit036a-waers_real
CHANGING v_treal_conv.
ENDIF.
ENDIF.
ELSE.
READ TABLE itab_zycit085 INDEX 1.
IF itab_zycit036a-waers_mov NE itab_zycit085-waersseg.
IF itab_zycit085-ukursseg > 0.
v_tmov_aux = itab_zycit036a-vlmov / itab_zycit085-ukursseg.
ENDIF.
v_tmov_conv = v_tmov_aux.
PERFORM trata_decimais USING itab_zycit036a-waers_real
CHANGING v_treal_conv.
ENDIF.
ENDIF.
ENDIF.
* << Fim da inclusão
PERFORM trata_decimais USING /pws/zycie001-waers_mov
CHANGING v_tmov_conv.
v_tmov = v_tmov + v_tmov_conv.
ELSE.
v_tmov = v_tmov + itab_zycit036a-vlmov.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI010TOP
...
data: end of itab_zyglt100.
data: begin of itab_cta occurs 0.
include structure /pws/zygle316.
data: end of itab_cta.
data: it_bkpf like bkpf occurs 0 with header line,
* >> Início da exclusão:
it_zycit006_aux2 like /pws/zycit006 occurs 0 with header line.
* << Fim da exclusão
* >> Início da inclusão:
it_zycit006_aux2 like /pws/zycit006 occurs 0 with header line,
it_bkpf_aux like bkpf occurs 0 with header line.
* << Fim da inclusão
data: it_fat like /pws/zycit006 occurs 0 with header line,
it_dc like /pws/zycit008 occurs 0 with header line,
it_pc like /pws/zycit026 occurs 0 with header line,
it_nf like /pws/zycit042 occurs 0 with header line.
data:
...
...
v_belnr like /pws/zycie001-belnr_f51_mt0 ,
v_ano_bsis like bkpf-gjahr ,
v_ano_bsis1 like bkpf-gjahr ,
v_ano_bsis2 like bkpf-gjahr ,
v_flag,
v_index3 like sy-tabix,
v_ebelp like /pws/zycit036-ebelp,
v_nrseq like /pws/zycit001-nrseq,
v_index3 like sy-tabix,
v_ebelp like /pws/zycit036-ebelp,
v_nrseq like /pws/zycit001-nrseq,
* >> Início da inclusão:
v_nrseqda like /pws/zycit003-nrseqda,
* << Fim da inclusão
v_itemcongela,
v_real_brl like /pws/zycit036-vlreal,
v_taxa like /pws/zycie085-ukursfob,
s_msg1,
v_vlbrl like /pws/zycit036-vlreal,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI010X01
...
include structure /pws/zycit003.
data: netprt type /pws/zycil816 .
data: mark.
data: end of itab_zycit003.
data: itab_zycit263 like /pws/zycit263 occurs 0 with header line,
* >> Início da inclusão:
itab_zycit006 like /pws/zycit006 occurs 0 with header line,
* << Fim da inclusão
itab_zycit008 like /pws/zycit008 occurs 0 with header line,
itab_zycit027 like /pws/zycit027 occurs 0 with header line,
itab_zycit264 like /pws/zycit264 occurs 0 with header line,
itab_zycit265 like /pws/zycit265 occurs 0 with header line.
data: begin of itab_anlz occurs 0 .
...