Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Fatura Mercadoria
Data/Hora da Publicação: 11/01/2007 00:00:00
Data/Hora Última Alteração: 22/02/2011 16:05:25
Descrição da Nota: ESTORNO FATURA ELIMINADA POR FORA
Sintoma
A fatura foi eliminada por fora do CE e ao entrar no Ce não consegu eliminar.
Solução
atualizado o programa para ler a tabela bkpf e ver se o documento já foi estornado
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 02864 Data: 11/01/2007 Hora: 16:30:09
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 02864
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 6.0
Pacote : 00026
Agrupamento : 00148
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
02294 - 00001 - 6.0 - 00025 - ESTORNAR A FATURA E DAR ERRO ESTÁ APARECENDO A MENSAGEM DESEJA ES
02349 - 00002 - 6.0 - 00025 - ESTORNOS DA FATURA ATRAVÉS DE EXIT, PARA ATENDER ESPECÍFICO DO CL
----------------------------------------------------------------------------------------------------
ESTORNO FATURA ELIMINADA POR FORA
----------------------------------------------------------------------------------------------------
Palavras Chave:
FATURA - ESTORNO - ELIMINADA
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI003F01
REPS /PWS/MZYCI003F02
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003F01
...
AND ( /pws/zycie006-tpfatura = '01' OR
/pws/zycie006-tpfatura = '11' )
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'.
LOOP AT itab_zycit132 WHERE belnr_p NE space.
* >> Início da inclusão: FORM ELIMINAR_FATURA
SELECT SINGLE *
FROM bkpf
WHERE belnr EQ /pws/zycie006-belnr_p
AND gjahr EQ /pws/zycie006-dtincl+0(4)
AND bukrs EQ /pws/zycie006-bukrs.
* << Fim da inclusão
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).
* >> Início da exclusão: FORM ELIMINAR_FATURA
IF sy-subrc = 0 AND itab_zycit132-status NE 'X'.
* << Fim da exclusão
* >> Início da inclusão: FORM ELIMINAR_FATURA
IF ( sy-subrc = 0 AND itab_zycit132-status NE 'X' ) or
not bkpf-STBLG is initial.
* << Fim da inclusão
itab_zycit132-compensado = 'X'.
MODIFY itab_zycit132.
ELSE.
CLEAR itab_zycit132-compensado.
MODIFY itab_zycit132.
ENDIF.
ENDLOOP.
LOOP AT itab_zycit132 WHERE compensado EQ 'X'.
ENDLOOP.
IF sy-subrc NE 0.
...
...
AND codmod = 'D'
AND origem = 'FAT'
AND nrseqori = /pws/zycie006-nrseq.
ENDLOOP.
ENDIF.
ENDIF.
ENDIF.
ELSE.
IF NOT /pws/zycie006-statusp IS INITIAL
AND /pws/zycie006-frpagto NE 'A'.
* >> Início da inclusão: FORM ELIMINAR_FATURA
SELECT SINGLE *
FROM bkpf
WHERE belnr EQ /pws/zycie006-belnr_p
AND gjahr EQ /pws/zycie006-dtincl+0(4)
AND bukrs EQ /pws/zycie006-bukrs.
* << Fim da inclusão
SELECT SINGLE * FROM bsak
WHERE bukrs EQ /pws/zycie006-bukrs
AND lifnr EQ /pws/zycie006-lifnr
AND belnr EQ /pws/zycie006-belnr_p
AND gjahr EQ /pws/zycie006-dtincl+0(4).
* >> Início da exclusão: FORM ELIMINAR_FATURA
IF sy-subrc NE 0.
* << Fim da exclusão
* >> Início da inclusão: FORM ELIMINAR_FATURA
IF sy-subrc NE 0 or not bkpf-STBLG is initial.
* << Fim da inclusão
REFRESH it_zycit270.
PERFORM hist_contabil.
PERFORM reverse_document_fb08.
ELSE.
MESSAGE s015 WITH text-043.
EXIT.
ENDIF.
ENDIF.
IF v_erro = 'X'.
EXIT.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003F02
...
FORM atualiza_fb08_fat.
IF v_parcela = 'X'.
* >> Início da inclusão: FORM ATUALIZA_FB08_FAT
SELECT SINGLE *
FROM bkpf
WHERE belnr EQ /pws/zycie006-belnr_p
AND gjahr EQ /pws/zycie006-dtincl+0(4)
AND bukrs EQ /pws/zycie006-bukrs.
* << Fim da inclusão
READ TABLE itab_zycbt032 WITH KEY tcode = 'FB08'
tabela = '/PWS/ZYCIT132'
cpochv = /pws/zycie006-nrseq
tpmsg = 'S'.
* >> Início da exclusão: FORM ATUALIZA_FB08_FAT
IF sy-subrc EQ 0.
* << Fim da exclusão
* >> Início da inclusão: FORM ATUALIZA_FB08_FAT
IF sy-subrc EQ 0 or not bkpf-STBLG is initial.
* << Fim da inclusão
MESSAGE i030 WITH v_belnr_ant.
IF okcode NE 'DELE'.
CLEAR: /pws/zycie006-statusp , /pws/zycie006-belnr_p.
MODIFY /pws/zycit006 FROM /pws/zycie006.
v_rev = 'X'.
PERFORM clear_date_batch.
IF v_estorno IS INITIAL.
IF itab_zycit132-mark NE 'X' AND itab_zycit132-status NE 'X'.
PERFORM dele_custo USING /pws/zycit031-inco1_ci space.
PERFORM fill_date_f-43_f-02.
...
...
ENDIF.
ELSE.
LOOP AT itab_zycbt032.
MESSAGE i015 WITH itab_zycbt032-msg+0(50)
itab_zycbt032-msg+50(50).
ENDLOOP.
PERFORM clear_date_batch.
v_erro = 'X'.
ENDIF.
ELSE.
* >> Início da inclusão: FORM ATUALIZA_FB08_FAT
SELECT SINGLE *
FROM bkpf
WHERE belnr EQ /pws/zycie006-belnr_p
AND gjahr EQ /pws/zycie006-dtincl+0(4)
AND bukrs EQ /pws/zycie006-bukrs.
* << Fim da inclusão
READ TABLE itab_zycbt032 WITH KEY tcode = 'FB08'
tabela = '/PWS/ZYCIT006'
cpochv = /pws/zycie006-nrseq
tpmsg = 'S'.
* >> Início da inclusão: FORM ATUALIZA_FB08_FAT
IF sy-subrc EQ 0 or not bkpf-STBLG is initial.
* << Fim da inclusão
* >> Início da exclusão: FORM ATUALIZA_FB08_FAT
IF sy-subrc EQ 0.
* << Fim da exclusão
MESSAGE i030 WITH v_belnr_ant.
IF okcode NE 'DELE'.
CLEAR: /pws/zycie006-statusp , /pws/zycie006-belnr_p.
MODIFY /pws/zycit006 FROM /pws/zycie006.
PERFORM clear_date_batch.
IF v_estorno IS INITIAL.
PERFORM dele_custo USING /pws/zycit031-inco1_ci space.
PERFORM fill_date_f-43_f-02.
ENDIF.
ENDIF.
...