Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Fatura Mercadoria
Data/Hora da Publicação: 03/08/2007 00:00:00
Data/Hora Última Alteração: 22/02/2011 16:09:36
Descrição da Nota: NÃO ATUALIZA AS TABELAS DO CÂMBIO AO ESTORNAR FATURAS PARCELADAS.
Sintoma
Ao criar a Fatura de Mercadoria, quando acontece de não gerar o doc. contábil do processo por algum
problema SAP ou de conta no CE, ao estornar a Fatura, o sequencial do câmbio fica gravado na tabela
de câmbio gerando a obrigação para o módulo de câmbio. Erro ocorria somente para fatura parcelada.
Solução
atualizar tabelas de câmbio ao estornar faturas parceladas
7.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 04338 Data: 03/08/2007 Hora: 09:20:34
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 04338
Categoria : Erro de Programa
Prioridade : Alta
Versão PW.CE : 7.0
Pacote : 00002
Agrupamento : 00006
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
02864 - 00001 - 6.0 - 00026 - ESTORNO FATURA ELIMINADA POR FORA
----------------------------------------------------------------------------------------------------
NÃO ATUALIZA AS TABELAS DO CÂMBIO AO ESTORNAR FATURAS PARCELADAS.
----------------------------------------------------------------------------------------------------
Palavras Chave:
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI003F01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003F01
...
ENDIF.
ELSE.
PERFORM fill_date_f-43_f-02.
ENDIF.
ENDLOOP.
ELSE.
PERFORM reverse_document_fb08.
ENDIF.
ENDIF.
CLEAR v_parcela.
* >> Início da exclusão: FORM CONTABILIZACAO_F-02_OU_F-43
IF NOT /pws/zycie006-belnr_p IS INITIAL OR
NOT itab_zycit132[] IS INITIAL.
* << Fim da exclusão
* >> Início da inclusão: FORM CONTABILIZACAO_F-02_OU_F-43
IF NOT /pws/zycie006-belnr_p IS INITIAL.
v_contabilizou = 'X'.
else.
loop at itab_zycit132 where belnr_p ne space.
* << Fim da inclusão
v_contabilizou = 'X'.
* >> Início da inclusão: FORM CONTABILIZACAO_F-02_OU_F-43
endloop.
* << Fim da inclusão
ENDIF.
ENDFORM.
...
...
AND /pws/zycie006-frpagto = 'N' )
OR ( NOT itab_zycit132[] IS INITIAL
AND /pws/zycie006-waers NE /pws/zycbt007-waersb
AND ( /pws/zycie006-tpfatura = '01'
OR /pws/zycie006-tpfatura = '11' )
AND /pws/zycie006-frpagto = 'P' ).
v_parcela = 'X'.
* >> Início da exclusão: FORM ELIMINAR_FATURA
LOOP AT itab_zycit132 WHERE belnr_p NE space.
SELECT SINGLE *
FROM bkpf
WHERE belnr EQ /pws/zycie006-belnr_p
* << Fim da exclusão
* >> Início da inclusão: FORM ELIMINAR_FATURA
LOOP AT itab_zycit132 WHERE belnr_p NE space.
SELECT SINGLE *
FROM bkpf
WHERE belnr EQ itab_zycit132-belnr_p
* << Fim da inclusão
AND gjahr EQ /pws/zycie006-dtincl+0(4)
AND bukrs EQ /pws/zycie006-bukrs.
SELECT SINGLE * FROM bsak
WHERE bukrs EQ /pws/zycie006-bukrs
AND lifnr EQ /pws/zycie006-lifnr
AND belnr EQ itab_zycit132-belnr_p
AND gjahr EQ /pws/zycie006-dtincl+0(4).
IF ( sy-subrc = 0 AND itab_zycit132-status NE 'X' ) OR
NOT bkpf-stblg IS INITIAL.
IF itab_zycit132-status NE '2'.
...
...
REFRESH it_zycit270.
LOOP AT itab_zycit132 WHERE status NE 'X' AND
NOT belnr_p IS initial.
PERFORM hist_contabil.
IF itab_zycit132-status NE '2'.
PERFORM reverse_document_fb08.
ELSE.
itab_zycit132-status = 'X'.
itab_zycit132-eliminado = 'X'.
ENDIF.
* >> Início da inclusão: FORM ELIMINAR_FATURA
IF v_erro = 'X'.
EXIT.
ENDIF.
MODIFY itab_zycit132.
ENDLOOP.
* << Fim da inclusão
IF v_erro = 'X'.
EXIT.
ENDIF.
* >> Início da inclusão: FORM ELIMINAR_FATURA
/pws/zycie006-eliminado = 'X'.
MODIFY /pws/zycit006 FROM /pws/zycie006.
LOOP AT itab_zycit132 .
* << Fim da inclusão
UPDATE /pws/zycbt108 SET status = 'E'
WHERE bukrs = /pws/zycie006-bukrs
AND belnr = /pws/zycie006-nrseq
AND gjahr = /pws/zycie006-dtincl+0(4)
AND belnr_co = itab_zycit132-belnr_p.
UPDATE /pws/zycbt119 SET status = 'E'
WHERE nrseq = itab_zycit132-nrseq_pgfat.
IF NOT /pws/zycie006-nrseqre IS INITIAL.
DELETE FROM /pws/zycbt124
WHERE nrseq = /pws/zycie006-nrseqre.
ENDIF.
* >> Início da exclusão: FORM ELIMINAR_FATURA
MODIFY itab_zycit132.
* << Fim da exclusão
ENDLOOP.
* >> Início da exclusão: FORM ELIMINAR_FATURA
IF v_erro = 'X'.
EXIT.
ENDIF.
/pws/zycie006-eliminado = 'X'.
MODIFY /pws/zycit006 FROM /pws/zycie006.
* << Fim da exclusão
CLEAR: v_dbanco, v_dforn, v_dmoeda, v_dmoeda_emb,
v_dtpfatura, v_dfrpagto, v_livre.
...