Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Custo Efetivo
Data/Hora da Publicação: 15/09/2006 00:00:00
Data/Hora Última Alteração: 20/06/2011 13:35:10
Descrição da Nota: CUSTO EFETIVO COM VALOR ERRADO E DIFERENÇA NO FRETE NACIONAL
Sintoma
O Custo efetivo está dando um valor errado antes do recebimento, e o frete nacional está
dando uma diferença que não deve ocorrer.
Solução
Selecionar taxa da DI para converter valores .
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 02113 Data: 15/09/2006 Hora: 07:57:49
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 02113
Categoria : Erro de Programa
Prioridade : Alta
Versão PW.CE : 6.0
Pacote : 00024
Agrupamento : 00129
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
01052 - 00001 - 6.0 - 00022 - REGULARIZAÇÃO DAS DESPESAS.
01422 - 00002 - 6.0 - 00023 - VALOR QUE FOI LEVADO PARA O ENCER. DE CUSTOS ESTA MAIOR DO QUE DE
01438 - 00003 - 6.0 - 00023 - ERRO NA EXIBIÇÃO DO ENCERRAMENTO DE PROCESSO SEM EURO
----------------------------------------------------------------------------------------------------
CUSTO EFETIVO COM VALOR ERRADO E DIFERENÇA NO FRETE NACIONAL
----------------------------------------------------------------------------------------------------
Palavras Chave:
CUSTO EFETIVO - VALOR ERRADO - FRETE NACIONAL - DIFERENÇA
ANTES DO RECEBIMENTO
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI010F01
REPS /PWS/MZYCI010F03
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI010F03
...
ELSE.
IF itab_zycit036_aux2-origem NE 'EST'.
CLEAR: v_vlreal.
v_vlreal = itab_zycit036_aux2-vlreal.
IF itab_zycit036_aux2-origem NE 'FAT'.
* >> Início da inclusão: FORM MOVE_PLAN_MOV_AUX
PERFORM retorna_decimais USING itab_zycit036_aux2-waers_real
* << Fim da inclusão
* >> Início da exclusão: FORM MOVE_PLAN_MOV_AUX
PERFORM retorna_decimais USING itab_zycit036_aux2-waers
* << Fim da exclusão
CHANGING v_vlreal.
v_valor = v_vlreal.
* >> Início da inclusão: FORM MOVE_PLAN_MOV_AUX
if itab_zycit036_aux2-codigo eq 'FRETEI'.
v_vlreal = v_vlreal * /pws/zycit085-ukursfre.
elseif itab_zycit036_aux2-codigo eq 'SEGURO'.
v_vlreal = v_vlreal * /pws/zycit085-ukursseg.
else.
* << Fim da inclusão
PERFORM converter_moeda USING
v_vlreal
* >> Início da exclusão: FORM MOVE_PLAN_MOV_AUX
itab_zycit036_aux2-waers
* << Fim da exclusão
* >> Início da inclusão: FORM MOVE_PLAN_MOV_AUX
itab_zycit036_aux2-waers_real
* << Fim da inclusão
wa_zycbt007-waersb
CHANGING v_vlreal.
* >> Início da inclusão: FORM MOVE_PLAN_MOV_AUX
endif.
* << Fim da inclusão
ELSE.
READ TABLE it_zycit006_aux2 WITH KEY
nrseq = itab_zycit036_aux2-nrseqori.
IF sy-subrc EQ 0 AND it_zycit006_aux2-frpagto EQ 'P'.
v_vlreal = v_vlreal * /pws/zycit085-ukursfre .
...
...
ELSE.
IF itab_zycit036_aux2-origem NE 'EST'.
CLEAR: v_vlreal.
v_vlreal = itab_zycit036_aux2-vlreal.
IF itab_zycit036_aux2-origem NE 'FAT'.
* >> Início da inclusão: FORM MOVE_PLAN_MOV_AUX
PERFORM retorna_decimais USING itab_zycit036_aux2-waers_real
* << Fim da inclusão
* >> Início da exclusão: FORM MOVE_PLAN_MOV_AUX
PERFORM retorna_decimais USING itab_zycit036_aux2-waers
* << Fim da exclusão
CHANGING v_vlreal.
* >> Início da inclusão: FORM MOVE_PLAN_MOV_AUX
if itab_zycit036_aux2-codigo eq 'FRETEI'.
v_vlreal = v_vlreal * /pws/zycit085-ukursfre.
elseif itab_zycit036_aux2-codigo eq 'SEGURO'.
v_vlreal = v_vlreal * /pws/zycit085-ukursseg.
else.
* << Fim da inclusão
PERFORM converter_moeda USING
v_vlreal
* >> Início da exclusão: FORM MOVE_PLAN_MOV_AUX
itab_zycit036_aux2-waers
* << Fim da exclusão
* >> Início da inclusão: FORM MOVE_PLAN_MOV_AUX
itab_zycit036_aux2-waers_real
* << Fim da inclusão
wa_zycbt007-waersb
CHANGING v_vlreal.
* >> Início da inclusão: FORM MOVE_PLAN_MOV_AUX
endif.
* << Fim da inclusão
ELSE.
READ TABLE it_zycit006_aux2 WITH KEY
nrseq = itab_zycit036_aux2-nrseqori.
IF sy-subrc EQ 0 AND it_zycit006_aux2-frpagto EQ 'P'.
v_vlreal = v_vlreal * /pws/zycit085-ukursfre .
...
...
v_vlreal_aux .
IF itab_zycit036_conve-waers_real NE v_medestino_a
AND v_erro_conv NE 'S'
AND itab_zycit036_conve-vlreal GT 0 AND
NOT itab_zycit036_conve-waers_real IS INITIAL.
* >> Início da inclusão: FORM ALTERA_MOEDA
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_zycit036_conve-vlreal.
ENDIF.
* << Fim da inclusão
READ TABLE itab_zycit036 WITH KEY
nrseq = itab_zycit036_conve-nrseq
codigo = itab_zycit036_conve-codigo.
IF itab_zycit036_aux2-origem NE 'NF' AND
itab_zycit036_aux2-origem NE 'NFC'.
PERFORM read_docts USING itab_zycit036-origem
itab_zycit036-nrseqori
CHANGING v_dtreal.
* >> Início da exclusão: FORM ALTERA_MOEDA
IF v_dtreal LT /pws/zycit085-dtuserc.
* << Fim da exclusão
* >> Início da inclusão: FORM ALTERA_MOEDA
IF v_dtreal < /pws/zycit085-dtuserc.
* << Fim da inclusão
v_vlreal_aux = itab_zycit036_conve-vlreal.
* >> Início da exclusão: FORM ALTERA_MOEDA
PERFORM conv_vlreal USING v_vlreal_aux
itab_zycit036_conve-waers_real
v_medestino_a
CHANGING itab_zycit036_conve-vlreal.
* << Fim da exclusão
* >> Início da inclusão: FORM ALTERA_MOEDA
IF itab_zycit036_conve-waers_real NE
/pws/zycbt007-waersb.
PERFORM taxa_converte
USING itab_zycit036_conve-waers_real
/pws/zycit085-dttax
CHANGING v_taxa.
ELSE.
v_taxa = 1.
ENDIF.
v_vlreal_aux = itab_zycit036_conve-vlreal * v_taxa.
IF v_medestino_a NE /pws/zycbt007-waersb.
PERFORM taxa_converte USING v_medestino_a
/pws/zycit085-dttax
CHANGING v_taxa.
ELSE.
v_taxa = 1.
ENDIF.
IF NOT v_taxa IS INITIAL.
itab_zycit036_conve-vlreal = v_vlreal_aux / v_taxa.
ENDIF.
* << Fim da inclusão
MOVE: itab_zycit036_conve-vlreal TO itab_zycit036a-vlreal,
v_medestino_a TO itab_zycit036a-waers_real.
ELSE.
PERFORM altera_moeda_aux.
ENDIF.
...
...
itab_zycit036a-vlreal = v_vlbrl_a / v_taxa.
ENDIF.
v_trea = v_trea + itab_zycit036a-vlreal.
ELSE.
IF v_dtreal LT /pws/zycit085-dtuserc.
* >> Início da exclusão: FORM ALTERA_MOEDA
PERFORM conversao_vlreal
USING itab_zycit036a-vlreal
v_medestino_a
CHANGING itab_zycit036a-vlreal.
* << Fim da exclusão
* >> Início da inclusão: FORM ALTERA_MOEDA
IF itab_zycit036a-waers_real NE /pws/zycbt007-waersb.
* << Fim da inclusão
* >> Início da exclusão: FORM ALTERA_MOEDA
v_trea = v_trea + itab_zycit036a-vlreal.
* << Fim da exclusão
* >> Início da inclusão: FORM ALTERA_MOEDA
PERFORM taxa_converte USING itab_zycit036_conve-waers_real
/pws/zycit085-dttax
CHANGING v_taxa.
ELSE.
v_taxa = 1.
ENDIF.
v_vlbrl_a = itab_zycit036a-vlreal * v_taxa.
IF v_medestino_a NE /pws/zycbt007-waersb.
PERFORM taxa_converte USING v_medestino_a
/pws/zycit085-dttax
CHANGING v_taxa.
ELSE.
v_taxa = 1.
ENDIF.
IF NOT v_taxa IS INITIAL.
itab_zycit036a-vlreal = v_vlbrl_a / v_taxa.
ENDIF.
* << Fim da inclusão
v_trea = v_trea + itab_zycit036a-vlreal.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
...
...
ELSE.
IF itab_zycit036_aux2-origem NE 'EST'.
CLEAR: v_vlreal.
v_vlreal = itab_zycit036_aux2-vlreal.
IF itab_zycit036_aux2-origem NE 'FAT'.
* >> Início da inclusão: FORM MOVE_PLAN_MOV_AUX
PERFORM retorna_decimais USING itab_zycit036_aux2-waers_real
* << Fim da inclusão
* >> Início da exclusão: FORM MOVE_PLAN_MOV_AUX
PERFORM retorna_decimais USING itab_zycit036_aux2-waers
* << Fim da exclusão
CHANGING v_vlreal.
v_valor = v_vlreal.
* >> Início da inclusão: FORM MOVE_PLAN_MOV_AUX
if itab_zycit036_aux2-codigo eq 'FRETEI'.
v_vlreal = v_vlreal * /pws/zycit085-ukursfre.
elseif itab_zycit036_aux2-codigo eq 'SEGURO'.
v_vlreal = v_vlreal * /pws/zycit085-ukursseg.
else.
* << Fim da inclusão
PERFORM converter_moeda USING
v_vlreal
* >> Início da exclusão: FORM MOVE_PLAN_MOV_AUX
itab_zycit036_aux2-waers
* << Fim da exclusão
* >> Início da inclusão: FORM MOVE_PLAN_MOV_AUX
itab_zycit036_aux2-waers_real
* << Fim da inclusão
wa_zycbt007-waersb
CHANGING v_vlreal.
* >> Início da inclusão: FORM MOVE_PLAN_MOV_AUX
endif.
* << Fim da inclusão
ELSE.
READ TABLE it_zycit006_aux2 WITH KEY
nrseq = itab_zycit036_aux2-nrseqori.
IF sy-subrc EQ 0 AND it_zycit006_aux2-frpagto EQ 'P'.
v_vlreal = v_vlreal * /pws/zycit085-ukursfre .
...
...
ELSE.
IF itab_zycit036_aux2-origem NE 'EST'.
CLEAR: v_vlreal.
v_vlreal = itab_zycit036_aux2-vlreal.
IF itab_zycit036_aux2-origem NE 'FAT'.
* >> Início da inclusão: FORM MOVE_PLAN_MOV_AUX
PERFORM retorna_decimais USING itab_zycit036_aux2-waers_real
* << Fim da inclusão
* >> Início da exclusão: FORM MOVE_PLAN_MOV_AUX
PERFORM retorna_decimais USING itab_zycit036_aux2-waers
* << Fim da exclusão
CHANGING v_vlreal.
* >> Início da inclusão: FORM MOVE_PLAN_MOV_AUX
if itab_zycit036_aux2-codigo eq 'FRETEI'.
v_vlreal = v_vlreal * /pws/zycit085-ukursfre.
elseif itab_zycit036_aux2-codigo eq 'SEGURO'.
v_vlreal = v_vlreal * /pws/zycit085-ukursseg.
else.
* << Fim da inclusão
PERFORM converter_moeda USING
v_vlreal
* >> Início da exclusão: FORM MOVE_PLAN_MOV_AUX
itab_zycit036_aux2-waers
* << Fim da exclusão
* >> Início da inclusão: FORM MOVE_PLAN_MOV_AUX
itab_zycit036_aux2-waers_real
* << Fim da inclusão
wa_zycbt007-waersb
CHANGING v_vlreal.
* >> Início da inclusão: FORM MOVE_PLAN_MOV_AUX
endif.
* << Fim da inclusão
ELSE.
READ TABLE it_zycit006_aux2 WITH KEY
nrseq = itab_zycit036_aux2-nrseqori.
IF sy-subrc EQ 0 AND it_zycit006_aux2-frpagto EQ 'P'.
v_vlreal = v_vlreal * /pws/zycit085-ukursfre .
...
...
v_vlreal_aux .
IF itab_zycit036_conve-waers_real NE v_medestino_a
AND v_erro_conv NE 'S'
AND itab_zycit036_conve-vlreal GT 0 AND
NOT itab_zycit036_conve-waers_real IS INITIAL.
* >> Início da inclusão: FORM ALTERA_MOEDA
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_zycit036_conve-vlreal.
ENDIF.
* << Fim da inclusão
READ TABLE itab_zycit036 WITH KEY
nrseq = itab_zycit036_conve-nrseq
codigo = itab_zycit036_conve-codigo.
IF itab_zycit036_aux2-origem NE 'NF' AND
itab_zycit036_aux2-origem NE 'NFC'.
PERFORM read_docts USING itab_zycit036-origem
itab_zycit036-nrseqori
CHANGING v_dtreal.
* >> Início da exclusão: FORM ALTERA_MOEDA
IF v_dtreal LT /pws/zycit085-dtuserc.
* << Fim da exclusão
* >> Início da inclusão: FORM ALTERA_MOEDA
IF v_dtreal < /pws/zycit085-dtuserc.
* << Fim da inclusão
v_vlreal_aux = itab_zycit036_conve-vlreal.
* >> Início da exclusão: FORM ALTERA_MOEDA
PERFORM conv_vlreal USING v_vlreal_aux
itab_zycit036_conve-waers_real
v_medestino_a
CHANGING itab_zycit036_conve-vlreal.
* << Fim da exclusão
* >> Início da inclusão: FORM ALTERA_MOEDA
IF itab_zycit036_conve-waers_real NE
/pws/zycbt007-waersb.
PERFORM taxa_converte
USING itab_zycit036_conve-waers_real
/pws/zycit085-dttax
CHANGING v_taxa.
ELSE.
v_taxa = 1.
ENDIF.
v_vlreal_aux = itab_zycit036_conve-vlreal * v_taxa.
IF v_medestino_a NE /pws/zycbt007-waersb.
PERFORM taxa_converte USING v_medestino_a
/pws/zycit085-dttax
CHANGING v_taxa.
ELSE.
v_taxa = 1.
ENDIF.
IF NOT v_taxa IS INITIAL.
itab_zycit036_conve-vlreal = v_vlreal_aux / v_taxa.
ENDIF.
* << Fim da inclusão
MOVE: itab_zycit036_conve-vlreal TO itab_zycit036a-vlreal,
v_medestino_a TO itab_zycit036a-waers_real.
ELSE.
PERFORM altera_moeda_aux.
ENDIF.
...
...
itab_zycit036a-vlreal = v_vlbrl_a / v_taxa.
ENDIF.
v_trea = v_trea + itab_zycit036a-vlreal.
ELSE.
IF v_dtreal LT /pws/zycit085-dtuserc.
* >> Início da exclusão: FORM ALTERA_MOEDA
PERFORM conversao_vlreal
USING itab_zycit036a-vlreal
v_medestino_a
CHANGING itab_zycit036a-vlreal.
* << Fim da exclusão
* >> Início da inclusão: FORM ALTERA_MOEDA
IF itab_zycit036a-waers_real NE /pws/zycbt007-waersb.
* << Fim da inclusão
* >> Início da exclusão: FORM ALTERA_MOEDA
v_trea = v_trea + itab_zycit036a-vlreal.
* << Fim da exclusão
* >> Início da inclusão: FORM ALTERA_MOEDA
PERFORM taxa_converte USING itab_zycit036_conve-waers_real
/pws/zycit085-dttax
CHANGING v_taxa.
ELSE.
v_taxa = 1.
ENDIF.
v_vlbrl_a = itab_zycit036a-vlreal * v_taxa.
IF v_medestino_a NE /pws/zycbt007-waersb.
PERFORM taxa_converte USING v_medestino_a
/pws/zycit085-dttax
CHANGING v_taxa.
ELSE.
v_taxa = 1.
ENDIF.
IF NOT v_taxa IS INITIAL.
itab_zycit036a-vlreal = v_vlbrl_a / v_taxa.
ENDIF.
* << Fim da inclusão
v_trea = v_trea + itab_zycit036a-vlreal.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
...