Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Custo Efetivo
Data/Hora da Publicação: 12/12/2006 00:00:00
Data/Hora Última Alteração: 22/02/2011 14:23:23
Descrição da Nota: AJUSTES NO CUSTO EFETIVO
Sintoma
Atualização de valores da coluna movimentado do seguro, para não gerar diferença.
E os valores que aparecem ao dar duplo clique nas despesas para ver o rateio no custo efetivo
estavam com casa decimal incorreta.
Solução
Corrigido as inconsistências
6.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 02677 Data: 12/12/2006 Hora: 15:49:02
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 02677
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 6.0
Pacote : 00025
Agrupamento : 00144
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
01137 - 00001 - 6.0 - 00023 - PERFORMANCE NA TRANSAÇÃO /PWS/ZYCIR006 (ATUALIZAÇÃO DO CUSTO EFET
01215 - 00002 - 6.0 - 00023 - SISTEMA ESTA SE PERDENDO NA COMPOSIÇÃO DO VALOR TOTAL DA PASTA IT
01547 - 00003 - 6.0 - 00023 - NF GLOBAL ESTA COM UMA DIFERENÇA DE 0,50 ENTRE A BASE DO ICMS E O
01580 - 00004 - 6.0 - 00023 - ERRO NO SEGURO DA NF EM JPY.
----------------------------------------------------------------------------------------------------
AJUSTES NO CUSTO EFETIVO
----------------------------------------------------------------------------------------------------
Palavras Chave:
MOVIMENTADO - DETALHE DESPESA - PLANEJADO - DIFERENÇA
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI010I01
REPS /PWS/MZYCI010O01
REPS /PWS/ZYCIR006
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI010I01
...
ENDSELECT.
CLEAR v_treal.
LOOP AT itab_zycit036.
v_treal = v_treal + itab_zycit036-vlreal.
ENDLOOP.
ENDIF.
IF sy-subrc EQ 0.
READ TABLE itab_zycit036 INDEX 1.
MOVE: itab_zycit036 TO /pws/zycie036a,
v_treal TO /pws/zycie036a-vlreal_emb.
* >> Início da inclusão: MODULE USER_COMMAND_0100
loop at itab_zycit036.
read table itab_zycit036_plan with key
nrseq = itab_zycit036-nrseq
ebeln = itab_zycit036-ebeln
ebelp = itab_zycit036-ebelp
codigo = itab_zycit036-codigo.
if sy-subrc = 0.
itab_zycit036-netpr = itab_zycit036_plan-netpr.
itab_zycit036-waers = itab_zycit036_plan-waers.
modify itab_zycit036.
endif.
endloop.
* << Fim da inclusão
IF /pws/zycie036a-status NE 'M'.
CLEAR /pws/zycit039.
SELECT SINGLE land1
FROM t001
INTO t001-land1
WHERE bukrs = /pws/zycie001-bukrs.
SELECT SINGLE * FROM /pws/zycit039
WHERE codigo = itab_zycit036-codigo
AND land1 EQ t001-land1.
/pws/zycie036a-condicao_emb = /pws/zycit039-codrateio.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCIR006
...
v_acum_fre LIKE /pws/zycit085-vlfre,
v_result LIKE /pws/zycit036-vldif,
v_resultf LIKE /pws/zycit036-vldif,
v_vlfre LIKE /pws/zycit085-vlfre,
v_ukursfre LIKE /pws/zycit085-ukursfre,
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 ,
* >> Início da inclusão: FORM CALCULAR_OUTROS_CUSTOS
v_val_tot2 LIKE /pws/zycit036-vlreal ,
v_val_tots2 LIKE /pws/zycit036-vlreal ,
* << Fim da inclusão
v_val_tots LIKE /pws/zycit036-vlreal ,
v_linf TYPE i,
v_lins TYPE i,
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'.
...
...
LOOP AT itab_zycit036 WHERE nrseqori <> '9999999999' AND
codigo = itab_zycit140-codigo.
ENDLOOP.
IF sy-subrc = 0.
DELETE itab_zycit036 WHERE codigo = itab_zycit140-codigo AND
nrseqori = '9999999999'.
ENDIF.
ENDLOOP.
CLEAR: v_tot_linf, v_tot_lins, v_linf, v_lins.
SORT itab_zycit036 BY ebeln ebelp origem codigo.
* >> Início da exclusão: FORM CALCULAR_OUTROS_CUSTOS
LOOP AT itab_zycit036 WHERE codigo EQ 'FRETEI'.
* << Fim da exclusão
* >> Início da inclusão: FORM CALCULAR_OUTROS_CUSTOS
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.
* << Fim da inclusão
v_tot_linf = v_tot_linf + 1.
* >> Início da inclusão: FORM CALCULAR_OUTROS_CUSTOS
endif.
* << Fim da inclusão
ENDLOOP.
* >> Início da exclusão: FORM CALCULAR_OUTROS_CUSTOS
LOOP AT itab_zycit036 WHERE codigo EQ 'SEGURO'.
* << Fim da exclusão
* >> Início da inclusão: FORM CALCULAR_OUTROS_CUSTOS
LOOP AT itab_zycit036 WHERE codigo EQ 'SEGURO'
and origem ne 'PED'.
read table itab_zycit140 with key codigo = itab_zycit036-codigo
origem = itab_zycit036-origem
custo = 'X'.
if sy-subrc = 0.
* << Fim da inclusão
v_tot_lins = v_tot_lins + 1.
* >> Início da inclusão: FORM CALCULAR_OUTROS_CUSTOS
endif.
* << Fim da inclusão
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.
SELECT * FROM /pws/zycit006 INTO TABLE itab_zycit006_fat
...
...
READ TABLE itab_zycit006_fat WITH KEY
nrseq_pgfat = itab_zycit263-nrseq_pgfat.
IF sy-subrc = 0.
CLEAR: itab_zycit036-vlmov, itab_zycit036-waers_mov,
itab_zycit036-vldif, itab_zycit036-waers_dif.
ENDIF.
ENDIF.
ENDIF.
MODIFY itab_zycit036 INDEX v_index.
WHEN 'FRETEI'.
* >> Início da inclusão: FORM CALCULAR_OUTROS_CUSTOS
if itab_zycit140-custo = 'X'.
* << Fim da inclusão
v_linf = v_linf + 1.
* >> Início da inclusão: FORM CALCULAR_OUTROS_CUSTOS
endif.
* << Fim da inclusão
CLEAR v_valor.
IF itab_zycit036-vlreal GT 0 AND
NOT itab_zycit036-waers_real IS INITIAL.
PERFORM busca_fatores CHANGING itab_zycit036-waers_real.
READ TABLE itab_zycit100 WITH KEY
nrseq = itab_zycit036-nrseq
...
...
itab_zycit036-origem NE 'NF'.
IF itab_zycit036-origem = 'NF'.
IF t001-land1 = 'BR'.
v_valor = itab_zycit100-vlfre.
ELSE.
v_valor = itab_zycit036-vlreal.
ENDIF.
v_valor = itab_zycit100-vlfre.
ELSE.
v_valor = itab_zycit036-vlreal.
* >> Início da inclusão: FORM CALCULAR_OUTROS_CUSTOS
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.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: FORM CALCULAR_OUTROS_CUSTOS
v_val_tot2 = v_val_tot2 + v_valor.
IF v_linf EQ v_tot_linf.
v_valor = v_val_tot2 - v_val_tot.
* << Fim da inclusão
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.
* >> Início da inclusão: FORM CALCULAR_OUTROS_CUSTOS
endif.
* << Fim da inclusão
v_val_tot = v_val_tot + v_valor.
ELSE.
v_valor = ( /pws/zycit085-vlfre * /pws/zycit085-ukursfre )
- v_val_tot .
ENDIF.
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-vlmov IS INITIAL.
CLEAR itab_zycit036-waers_mov.
ELSEIF itab_zycit036-vldif IS INITIAL.
CLEAR itab_zycit036-waers_dif.
ENDIF.
IF itab_zycit036-origem = 'NF'.
v_acum_fre = v_acum_fre + itab_zycit036-vlmov.
ENDIF.
MODIFY itab_zycit036 INDEX v_index.
WHEN 'SEGURO'.
* >> Início da inclusão: FORM CALCULAR_OUTROS_CUSTOS
if itab_zycit140-custo = 'X'.
* << Fim da inclusão
v_lins = v_lins + 1.
* >> Início da inclusão: FORM CALCULAR_OUTROS_CUSTOS
endif.
* << Fim da inclusão
IF
itab_zycit036-vlreal GT 0 AND
NOT itab_zycit036-waers_real IS INITIAL.
READ TABLE itab_zycit100 WITH KEY nrseq = itab_zycit036-nrseq
ebeln = itab_zycit036-ebeln
ebelp = itab_zycit036-ebelp.
...
...
/pws/zycit085-ukursseg ) .
ELSE.
v_val = ( /pws/zycit085-vlseg *
/pws/zycit085-ukursseg ) - v_valor .
ENDIF.
ELSE.
v_valor = itab_zycit036-vlreal.
v_val = itab_zycit036-vlreal.
ENDIF.
ENDIF.
* >> Início da inclusão: FORM CALCULAR_OUTROS_CUSTOS
ENDIF.
v_val_tots2 = v_val_tots2 + v_valor.
IF v_linf EQ v_tot_linf.
v_valor = v_val_tots2 - v_val_tots.
* << Fim da inclusão
ENDIF.
IF t001-land1 EQ 'BR'.
IF itab_zycit036-origem = 'NF'.
ELSE.
PERFORM retorna_decimais USING itab_zycit036-waers_real
CHANGING v_val.
MOVE v_val TO v_valor.
ENDIF.
ENDIF.
IF v_itemcongela NE 'X'.
...
...
ENDIF.
IF itab_zycit036-origem NE 'EST'.
IF v_itemcongela = 'X' AND
( itab_zycit036-origem EQ 'NF' OR
itab_zycit036-origem EQ 'FAT' ) AND
NOT /pws/zycit085-ukursseg IS INITIAL.
IF itab_zycit036-origem EQ 'FAT'.
v_valor = v_valor * /pws/zycit085-ukursseg.
ELSE.
IF t001-land1 = 'BR'.
* >> Início da exclusão: FORM CALCULAR_OUTROS_CUSTOS
v_valor = itab_zycit100-vlseg.
* << Fim da exclusão
ELSE.
v_valor = itab_zycit036-vlreal.
ENDIF.
ENDIF.
IF itab_zycit036-origem EQ 'FAT' AND
itab_zycit036-waers_real NE /pws/zycbt007-waersb.
READ TABLE itab_zycit006 WITH KEY
nrseq = itab_zycit036-nrseqori.
IF sy-subrc EQ 0.
READ TABLE itab_bkpf WITH KEY
...