Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Fatura Despesas
Data/Hora da Publicação: 19/10/2007 00:00:00
Data/Hora Última Alteração: 22/02/2011 15:49:37
Descrição da Nota: AJUSTADO RATEIO DO VALOR NA FATURA E A ATUALIZAÇÃO DO CUSTO EFETIVO
Sintoma
Ao alterar a fatura já contabilizada a fatura estorna o documento contabil e realiza novamente a
contabilização porem não atualiza o custo.
Solução
Ajuste na fatura para fechar o campo de moeda quando esta já está contabilizada.
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 05027 Data: 19/10/2007 Hora: 07:54:51
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 05027
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 7.0
Pacote : 00003
Agrupamento : 00017
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
01228 - 00001 - 6.0 - 00023 - DUMP NO EMBARQUE QUANDO TEMOS MAIS DE 100 ITENS PARA RATEIO
04989 - 00002 - 7.0 - 00003 - AJUSTADO RATEIO DO PESO LIQUIDO PELO VALOR REALIZADO
----------------------------------------------------------------------------------------------------
AJUSTADO RATEIO DO VALOR NA FATURA E A ATUALIZAÇÃO DO CUSTO EFETIVO
----------------------------------------------------------------------------------------------------
Palavras Chave:
RATEIO - VALOR - FATURA - ATUALIZAÇÃO - CUSTO
/PWS/SAPMZYCI003
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI003F02
REPS /PWS/MZYCI003O01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003F02
...
FORM dele_custo USING pcodigo ptype.
DATA: lt LIKE /pws/zycit036-vlreal,
lvlr LIKE /pws/zycit036-vlreal,
ld LIKE /pws/zycit036-vlreal,
ln LIKE /pws/zycie003-ntgew.
* >> Início da inclusão: FORM DELE_CUSTO
CHECK /pws/zycie006-tpfatura EQ '01'.
* << Fim da inclusão
...
...
FORM gravar_custos_funcao.
LOOP AT itab_zycit036.
UPDATE /pws/zycit036 SET codigo = itab_zycit036-codigo
netpr = itab_zycit036-netpr
waers = itab_zycit036-waers
vlreal = itab_zycit036-vlreal
waers_real = itab_zycit036-waers_real
* >> Início da exclusão: FORM GRAVAR_CUSTOS_FUNCAO
vlmov = itab_zycit036-vlmov
waers_mov = itab_zycit036-waers_mov
vldif = itab_zycit036-vldif
waers_dif = itab_zycit036-waers_dif
* << Fim da exclusão
vlreal_emb = itab_zycit036-vlreal_emb
waers_emb = itab_zycit036-waers_emb
usernamec = sy-uname
dtuserc = sy-datum
hruserc = sy-uzeit
WHERE nrseq EQ itab_zycit036-nrseq
AND ebeln EQ itab_zycit036-ebeln
AND ebelp EQ itab_zycit036-ebelp
AND codigo EQ itab_zycit036-codigo
AND origem EQ 'FAT'
...
...
FORM calcula_peso.
* >> Início da inclusão: FORM CALCULA_PESO
data v_tot_real LIKE /pws/zycit003-netpr.
* << Fim da inclusão
...
...
IF NOT itab_zycit003[] IS INITIAL AND
( /pws/zycie006-tpfatura = '01' OR /pws/zycie006-tpfatura = '11' ) AND
NOT /pws/zycie006-vlmerc IS INITIAL AND v_fob_fl IS INITIAL.
v_vlreal = /pws/zycie006-vlmerc.
PERFORM retorna_decimais USING /pws/zycie006-waers
CHANGING v_vlreal.
IF /pws/zycie006-rateio = 'S' AND NOT /pws/zycie006-ntgew IS
INITIAL.
PERFORM verifica_total_itens.
DESCRIBE TABLE itab_zycit003 LINES v_line.
* >> Início da inclusão: FORM CALCULA_PESO
CLEAR: v_tot_real.
LOOP AT itab_zycit003.
v_tot_real = v_tot_real +
( itab_zycit003-vlreal * itab_zycit003-toinv ).
ENDLOOP.
* << Fim da inclusão
LOOP AT itab_zycit003.
IF sy-tabix = v_line.
itab_zycit003-ntgew = /pws/zycie006-ntgew - v_tot_ntgew.
IF itab_zycit003-ntgew < 0.
MESSAGE e015 WITH text-165 text-166.
ENDIF.
ELSE.
* >> Início da exclusão: FORM CALCULA_PESO
IF NOT /pws/zycie006-vlmerc IS INITIAL.
* << Fim da exclusão
* >> Início da inclusão: FORM CALCULA_PESO
IF NOT v_tot_real IS INITIAL.
* << Fim da inclusão
itab_zycit003-ntgew = /pws/zycie006-ntgew * (
( itab_zycit003-vlreal * itab_zycit003-toinv ) /
* >> Início da exclusão: FORM CALCULA_PESO
/pws/zycie006-vlmerc ).
* << Fim da exclusão
* >> Início da inclusão: FORM CALCULA_PESO
v_tot_real ).
* << Fim da inclusão
ENDIF.
v_tot_ntgew = v_tot_ntgew + itab_zycit003-ntgew.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003O01
...
IF screen-name = '/PWS/ZYCIE006-BANCO' AND
/pws/zycit001-meioemba EQ 'PS'.
screen-input = 0.
ENDIF.
IF /pws/zycie006-tpfatura = '04' AND
NOT /pws/zycie006-belnr_p IS INITIAL AND
( screen-name = '/PWS/ZYCIE006-WAERS' OR
screen-name = '/PWS/ZYCIE006-VLMERC' ).
screen-input = 0.
ENDIF.
* >> Início da inclusão: MODULE SET_SCREEN
IF NOT /pws/zycie006-belnr_p IS INITIAL AND
screen-name = '/PWS/ZYCIE006-WAERS'.
screen-input = 0.
ENDIF.
* << Fim da inclusão
IF v_prof = 'X' AND
screen-name = '/PWS/ZYCIE006-DTINCL'.
screen-input = 0.
ENDIF.
IF screen-name = '/PWS/ZYCIE006-DTBASE' AND
itab_zycit132[] IS INITIAL.
screen-invisible = '0'.
screen-input = '0'.
ENDIF.
IF screen-name EQ '/PWS/ZYCIE006-FRPAGTO'.
...