Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Fatura Mercadoria
Data/Hora da Publicação: 04/11/2010 00:00:00
Data/Hora Última Alteração: 22/02/2011 16:22:48
Descrição da Nota: ELIMINA FATURA MESMO COM ERRO NA CONTABILIZAÇÃO
Sintoma
Ao tentar eliminar a fatura com pagamento antecipado ocorreu um erro no lançamento da F-43 e mesmo
sem efetuar a contabilização a fatura foi eliminada.
Solução
Adicionado tratamento para não eliminar a fatura caso ocorra erro na contabilização.
Ajustado programa para preencher o centro de lucro no lançamento da F-43 no estrono de fatura com
pagamento antecipado.
8.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 10709 Data: 04/11/2010 Hora: 10:41:26
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 10709
Categoria : Erro de Programa
Prioridade : Alta
Versão PW.CE : 8.0
Pacote : 00005
Agrupamento : 00046
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
04474 - 00001 - 7.0 - 00002 - NECESSÁRIO CRIAR CHAMADAS DE EXITS EM VÁRIOS PONTOS DA FATURA
06709 - 00002 - 7.0 - 00006 - PREENCHE DIVISÃO NO ESTORNO DA FATURA COM PAGAMENTO ANTECIPADO
07383 - 00003 - 7.0 - 00007 - AJUSTE PARA ESTORNO DE FATURA COM VINCULAÇÃO NO CAMBIO
09519 - 00004 - 8.0 - 00002 - NECESSÁRIO COMPARTILHAR DECLARAÇÃO DE TABELAS E VARIÁVEIS.
----------------------------------------------------------------------------------------------------
ELIMINA FATURA MESMO COM ERRO NA CONTABILIZAÇÃO
----------------------------------------------------------------------------------------------------
Palavras Chave:
ELIMINAR - FATURA - PAGAMENTO - ANTECIPADO - ERRO - CONTABILIZAÇÃO -
CENTRO - LUCRO - /PWS/SAPMZYCI003 - PRCTR
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI003F02
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003F02
...
FORM estorno_pag_antecipado.
DATA itab_bseg TYPE bseg OCCURS 0 WITH HEADER LINE.
* >> Início da inclusão: FORM ESTORNO_PAG_ANTECIPADO
CLEAR v_stop.
* << Fim da inclusão
CHECK NOT itab_zycit003[] IS INITIAL
AND v_existe_di NE 'S'.
SELECT * FROM /pws/zycbt117
INTO TABLE itab_zycbt117
FOR ALL ENTRIES IN itab_zycit003
WHERE ebeln = itab_zycit003-ebeln
AND status NE 'E'. "#EC CI_NOFIELD
IF sy-subrc EQ 0.
IF itab_zycit132[] IS INITIAL.
SELECT SINGLE *
...
...
FORM fill_date_f_51_pag_antecipado TABLES p_itab_bseg STRUCTURE bseg.
* >> Início da inclusão: FORM FILL_DATE_F_51_PAG_ANTECIPADO
IF v_stop = 'X'.
EXIT.
ENDIF.
* << Fim da inclusão
CLEAR v_conta.
READ TABLE p_itab_bseg INDEX 1.
SELECT SINGLE blart
FROM bkpf
INTO itab_zycbe033-blart
WHERE belnr EQ p_itab_bseg-belnr
AND gjahr EQ p_itab_bseg-gjahr
AND bukrs EQ p_itab_bseg-bukrs.
itab_zycbe033-waers = /pws/zycie006-waers.
itab_zycbe033-bukrs = /pws/zycie006-bukrs.
...
...
cpochv = /pws/zycie006-nrseq
tpmsg = 'S'.
IF sy-subrc EQ 0 AND NOT itab_zycbt032-belnr IS INITIAL.
MESSAGE i010 WITH itab_zycbt032-belnr.
PERFORM clear_date_batch.
ELSEIF sy-subrc NE 0.
LOOP AT itab_zycbt032.
MESSAGE i015 WITH itab_zycbt032-msg+0(50)
itab_zycbt032-msg+50(50).
ENDLOOP.
* >> Início da inclusão: FORM FILL_DATE_F_51_PAG_ANTECIPADO
v_stop = 'X'.
* << Fim da inclusão
itab_zycbe033-stgrd = /pws/zycbt007-percorr.
itab_zycbe033-cpochv = /pws/zycie006-nrseq.
itab_zycbe033-bukrs = /pws/zycie006-bukrs.
itab_zycbe033-tabela = '/PWS/ZYCIT006'.
itab_zycbe033-budat = sy-datum.
itab_zycbe033-belnr = v_belnr.
itab_zycbe033-tcode = 'FB08'.
itab_zycbe033-gjahs = sy-datum+0(4).
APPEND itab_zycbe033.
CALL FUNCTION '/PWS/ZYCI_TRANSACAO_FB08_A'
...
...
FORM fill_date_f-43_pag_antecipado TABLES p_itab_bseg STRUCTURE bseg.
LOOP AT p_itab_bseg.
MOVE-CORRESPONDING p_itab_bseg TO itab_contas.
* >> Início da inclusão: FORM FILL_DATE_F-43_PAG_ANTECIPADO
itab_contas-c_prctr = itab_contas-d_prctr = p_itab_bseg-prctr.
* << Fim da inclusão
itab_contas-c_gsber =
itab_contas-d_gsber = p_itab_bseg-gsber.
IF p_itab_bseg-koart EQ 'K'.
MOVE: '21' TO itab_contas-bschl,
p_itab_bseg-lifnr TO itab_contas-d_newko.
ELSE.
MOVE: '50' TO itab_contas-bschl,
p_itab_bseg-hkont TO itab_contas-d_newko.
ENDIF.
APPEND itab_contas.
...
...
tpmsg = 'S'.
IF sy-subrc EQ 0 AND NOT itab_zycbt032-belnr IS INITIAL.
MESSAGE i010 WITH itab_zycbt032-belnr.
v_belnr = itab_zycbt032-belnr.
PERFORM clear_date_batch.
ELSEIF sy-subrc NE 0.
LOOP AT itab_zycbt032.
MESSAGE i015 WITH itab_zycbt032-msg+0(50)
itab_zycbt032-msg+50(50).
ENDLOOP.
* >> Início da inclusão: FORM FILL_DATE_F-43_PAG_ANTECIPADO
v_stop = 'X'.
* << Fim da inclusão
PERFORM clear_date_batch.
EXIT.
ENDIF.
ELSEIF e_subrc EQ '8'.
EXIT.
ELSE.
LOOP AT itab_zycbt032.
MESSAGE i015 WITH itab_zycbt032-msg+0(50)
itab_zycbt032-msg+50(50).
ENDLOOP.
...