Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Custo Efetivo
Data/Hora da Publicação: 09/05/2007 00:00:00
Data/Hora Última Alteração: 28/11/2011 10:43:18
Descrição da Nota: RATEIO DO FRETE DA DI NO CUSTO EFETIVO E NA CRIAÇÃO DA NOTA FISCAL
Sintoma
Ao gerar a nota fiscal o frete está com diferença de 1 centavo.
Solução
Atualização do programa de custo efetivo para realizar o ajuste no valor do último item quando tiver
diferença de 1 centavo no valor total do frete internacional.
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 03638 Data: 09/05/2007 Hora: 10:07:54
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 03638
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 7.0
Pacote : 00001
Agrupamento : 00165
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
02700 - 00002 - 6.0 - 00025 - CUSTO EFETIVO FATURA P PARCELADA NÃO GRAVA NO CUSTO E FRETEI COLU
03252 - 00003 - 6.0 - 00026 - SE PARAMETRIZADO NA 140 P/CUSTO VIA FATURA, SEGURO FICA INCORRETO
02677 - 00001 - 6.0 - 00025 - AJUSTES NO CUSTO EFETIVO
----------------------------------------------------------------------------------------------------
RATEIO DO FRETE DA DI NO CUSTO EFETIVO E NA CRIAÇÃO DA NOTA FISCAL
----------------------------------------------------------------------------------------------------
Palavras Chave:
RATEIO - FRETE - INTERNACIONAL - CUSTO - EFETIVO - NOTA - FISCAL
/PWS/ZYCIR006 - DIFERENÇA - CENTAVOS
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/ZYCIR006
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCIR006
...
v_vlseg LIKE /pws/zycit085-vlseg,
v_ukursseg LIKE /pws/zycit085-ukursseg,
v_usd LIKE /pws/zycie085-ukursfob,
v_vl LIKE /pws/zycit036-netpr VALUE '0.01',
v_val_tot LIKE /pws/zycit036-vlreal ,
v_val_tot2 LIKE /pws/zycit036-vlreal ,
v_val_tots2 LIKE /pws/zycit036-vlreal ,
v_val_tots LIKE /pws/zycit036-vlreal ,
v_linf TYPE i,
v_lins TYPE i,
* >> Início da inclusão: FORM CALCULAR_OUTROS_CUSTOS
v_ebeln TYPE /pws/zycit003-ebeln,
v_ebelp TYPE /pws/zycit003-ebelp,
* << Fim da inclusão
v_tot_lins TYPE i,
v_tot_linf TYPE i,
v_valor_mi LIKE /pws/zycit036-vlreal,
v_val LIKE /pws/zycit100-vlseg ,
v_linha TYPE i.
IF itab_zycit036[] IS INITIAL .
v_importou = 'S'.
indx-aedat = sy-datum.
indx-usera = sy-uname.
IMPORT itab_zycit036_auxiliar[] FROM MEMORY ID 'I006A'.
...
...
ENDLOOP.
CLEAR: v_tot_linf, v_tot_lins, v_linf, v_lins.
SORT itab_zycit036 BY ebeln ebelp origem codigo.
LOOP AT itab_zycit036 WHERE codigo EQ 'FRETEI'
AND origem NE 'PED'.
READ TABLE itab_zycit140 WITH KEY codigo = itab_zycit036-codigo
origem = itab_zycit036-origem
custo = 'X'.
IF sy-subrc = 0.
v_tot_linf = v_tot_linf + 1.
* >> Início da inclusão: FORM CALCULAR_OUTROS_CUSTOS
IF itab_zycit036-origem = 'NF'.
v_ebeln = itab_zycit036-ebeln.
v_ebelp = itab_zycit036-ebelp.
ENDIF.
* << Fim da inclusão
ENDIF.
ENDLOOP.
LOOP AT itab_zycit036 WHERE codigo EQ 'SEGURO'
AND origem NE 'PED'.
v_tot_lins = v_tot_lins + 1.
ENDLOOP.
DATA : BEGIN OF itab_zycit006_fat OCCURS 0.
INCLUDE STRUCTURE /pws/zycit006.
DATA : END OF itab_zycit006_fat.
IF NOT itab_zycit263[] IS INITIAL.
...
...
v_valor = itab_zycit100-vlfre.
ELSE.
v_valor = itab_zycit036-vlreal.
ENDIF.
IF itab_zycit036-origem = 'NF'.
PERFORM retorna_decimais USING itab_zycit100-waersreal
CHANGING v_valor.
ELSE.
PERFORM retorna_decimais USING itab_zycit036-waers_real
CHANGING v_valor.
* >> Início da inclusão: FORM CALCULAR_OUTROS_CUSTOS
ENDIF.
IF itab_zycit036-origem = 'NF'
AND v_ebeln = itab_zycit036-ebeln
AND v_ebelp = itab_zycit036-ebelp.
IF itab_zycit036-origem = 'NF'.
v_val_tot2 = /pws/zycit085-vlfre * /pws/zycit085-ukursfre.
* << Fim da inclusão
ENDIF.
* >> Início da exclusão: FORM CALCULAR_OUTROS_CUSTOS
v_val_tot2 = v_val_tot2 + v_valor.
IF v_linf EQ v_tot_linf.
* << Fim da exclusão
v_valor = v_val_tot2 - v_val_tot.
IF itab_zycit036-origem = 'NF'.
PERFORM retorna_decimais USING itab_zycit100-waersreal
CHANGING v_valor.
ELSE.
PERFORM retorna_decimais USING itab_zycit036-waers_real
CHANGING v_valor.
ENDIF.
ENDIF.
* >> Início da inclusão: FORM CALCULAR_OUTROS_CUSTOS
IF itab_zycit036-origem = 'NF'.
* << Fim da inclusão
v_val_tot = v_val_tot + v_valor.
* >> Início da inclusão: FORM CALCULAR_OUTROS_CUSTOS
ENDIF.
* << Fim da inclusão
IF v_itemcongela NE 'X'.
IF NOT /pws/zycit085-ukursfre IS INITIAL.
IF itab_zycit036-origem = 'NF'.
itab_zycit036-vlmov = v_valor .
ELSE.
IF itab_zycit036-waers_real NE /pws/zycbt007-waersb.
...