Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Recebimento
Data/Hora da Publicação: 14/03/2008 00:00:00
Data/Hora Última Alteração: 23/02/2011 09:55:45
Descrição da Nota: AJUSTE PARA VERIFICAR ESTORNO DOS DOCUMENTOS DE RECEBIMENTO FORA DO CE
Sintoma
Ajuste para verificar estorno dos documentos realizados fora do programa de recebimento
Solução
Ajuste para verificar estorno dos documentos realizados fora do programa de recebimento
7.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 06175 Data: 14/03/2008 Hora: 16:31:48
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 06175
Categoria : Melhoria
Prioridade : Média
Versão PW.CE : 7.0
Pacote : 00004
Agrupamento : 00038
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
00101 - 00001 - 6.0 - 00021 - ABERTO PONTOS DE EXIT NO ESTORNO DO RECEBIMENTO.
----------------------------------------------------------------------------------------------------
AJUSTE PARA VERIFICAR ESTORNO DOS DOCUMENTOS DE RECEBIMENTO FORA DO CE
----------------------------------------------------------------------------------------------------
Palavras Chave:
ESTORNO - DOCUMENTO - FORA - RECEBIMENTO - CE
/PWS/SAPMZYCI017
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI017F02
REPS /PWS/MZYCI017F03
REPS /PWS/MZYCI017X01
REPT /PWS/SAPMZYCI017
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI017F02
...
IF NOT wa_nf-belnrf02fre IS INITIAL.
PERFORM verifica_conta.
IF v_bloq NE 'N'.
PERFORM reverse_documento_provfre_fb08.
ENDIF.
ENDIF.
* >> Início da inclusão: FORM ESTORNA_IMPOSTO
IF NOT wa_nf-belnrf02fre IS INITIAL.
EXIT.
ENDIF.
* << Fim da inclusão
IF NOT wa_nf-belnrf02seg IS INITIAL.
PERFORM verifica_conta.
IF v_bloq NE 'N'.
PERFORM reverse_documento_provseg_fb08.
* >> Início da inclusão: FORM ESTORNA_IMPOSTO
ENDIF.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: FORM ESTORNA_IMPOSTO
IF NOT wa_nf-belnrf02seg IS INITIAL.
EXIT.
* << Fim da inclusão
ENDIF.
IF NOT wa_nf-belnr_f_02 IS INITIAL.
PERFORM verifica_conta.
IF v_bloq NE 'N'.
PERFORM reverse_documento_impos_fb08.
ENDIF.
ENDIF.
...
...
PERFORM trata_retorno_fbra_contab.
ELSE.
LOOP AT itab_zycbt034.
MESSAGE i016 WITH itab_zycbt034-descricao.
ENDLOOP.
* >> Início da exclusão: FORM REVERSE_DOCUMENTO_CONTAB_FBRA
PERFORM popup_message USING text-041 text-025.
IF v_answer = 'J'.
CLEAR: wa_nf-statusp_f_51,
wa_nf-belnr_f_51 ,
wa_nf-dt_f_51 .
IF v_existe_nfr NE 'S'.
MOVE-CORRESPONDING wa_nf TO /pws/zycie041.
MODIFY /pws/zycit041 FROM /pws/zycie041.
ELSE.
MOVE-CORRESPONDING wa_nf TO /pws/zycie043.
MODIFY /pws/zycit043 FROM /pws/zycie043.
ENDIF.
COMMIT WORK.
v_fbra_ok = 'S'.
ENDIF.
* << Fim da exclusão
ENDIF.
ELSE.
IF itab_zycbt034[] IS INITIAL.
PERFORM trata_retorno_fbra_contab.
ELSE.
LOOP AT itab_zycbt034.
MESSAGE i016 WITH itab_zycbt034-descricao.
ENDLOOP.
* >> Início da exclusão: FORM REVERSE_DOCUMENTO_CONTAB_FBRA
PERFORM popup_message USING text-041 text-025.
IF v_answer = 'J'.
CLEAR: wa_nf-statusp_f_51,
wa_nf-belnr_f_51 ,
wa_nf-dt_f_51 .
IF v_existe_nfr NE 'S'.
MOVE-CORRESPONDING wa_nf TO /pws/zycie041.
MODIFY /pws/zycit041 FROM /pws/zycie041.
ELSE.
MOVE-CORRESPONDING wa_nf TO /pws/zycie043.
MODIFY /pws/zycit043 FROM /pws/zycie043.
ENDIF.
COMMIT WORK.
v_fbra_ok = 'S'.
ENDIF.
* << Fim da exclusão
ENDIF.
ENDIF.
ENDIF.
ENDFORM.
...
...
LOOP AT itab_zycit032.
MESSAGE i015 WITH itab_zycit032-msg+0(50)
itab_zycit032-msg+50(50).
* >> Início da inclusão: FORM REVERSE_DOCUMENTO_FATURA_MR8M
ENDLOOP.
PERFORM verifica_estorno_r3 USING 'RBKP'
wa_nf-belnr_f_02
wa_nf-dt_f_02
CHANGING v_answer.
IF v_answer = 'J'.
v_belnr_ant = wa_nf-belnr_mr1m.
CLEAR: wa_nf-statusp_mr1m, wa_nf-belnr_mr1m, wa_nf-dt_mr1m.
itab_zycit050-estorno = 'X'.
IF v_existe_nfr NE 'S'.
MOVE-CORRESPONDING wa_nf TO /pws/zycie041.
MODIFY /pws/zycit041 FROM /pws/zycie041.
LOOP AT itab_itens_nf.
CLEAR: v_nrseqdid.
SELECT SINGLE nrseqdi INTO v_nrseqdid FROM /pws/zycit100
WHERE nrseq = itab_itens_nf-nrseq. "#EC CI_NOFIRST
SELECT SINGLE * FROM /pws/zycit085
INTO wa_zycit085
WHERE nrseqdi = v_nrseqdid.
MOVE: itab_itens_nf-mandt TO itab_itens_002-mandt,
wa_nf-bukrs TO itab_itens_002-bukrs,
itab_itens_nf-matnr TO itab_itens_002-matnr,
v_belnr_ant TO itab_itens_002-belnr,
t001-land1 TO itab_itens_002-land1,
itab_itens_nf-qtd_item TO itab_itens_002-qtdini,
itab_itens_nf-qtd_item TO itab_itens_002-qtddisp,
itab_itens_nf-nrseq TO itab_itens_002-feidi,
sy-datlo TO itab_itens_002-erdat.
APPEND itab_itens_002.
CLEAR itab_itens_002.
ENDLOOP.
ELSE.
MOVE-CORRESPONDING wa_nf TO /pws/zycie043.
MODIFY /pws/zycit043 FROM /pws/zycie043.
LOOP AT itab_itens_nf.
CLEAR: v_nrseqdid.
SELECT SINGLE nrseqdi INTO v_nrseqdid FROM /pws/zycit100
WHERE nrseq = itab_itens_nf-nrseq. "#EC CI_NOFIRST
SELECT SINGLE * FROM /pws/zycit085
INTO wa_zycit085
WHERE nrseqdi = v_nrseqdid.
MOVE: itab_itens_nf-mandt TO itab_itens_002-mandt,
wa_nf-bukrs TO itab_itens_002-bukrs,
itab_itens_nf-matnr TO itab_itens_002-matnr,
v_belnr_ant TO itab_itens_002-belnr,
t001-land1 TO itab_itens_002-land1,
itab_itens_nf-qtd_item TO itab_itens_002-qtdini,
itab_itens_nf-qtd_item TO itab_itens_002-qtddisp,
itab_itens_nf-nrseq TO itab_itens_002-feidi,
sy-datlo TO itab_itens_002-erdat.
APPEND itab_itens_002.
CLEAR itab_itens_002.
* << Fim da inclusão
ENDLOOP.
* >> Início da inclusão: FORM REVERSE_DOCUMENTO_FATURA_MR8M
UPDATE /pws/zycit041 SET statusp_j1b2 = ' '
WHERE nrseq = /pws/zycie043-nrseq
AND nfglobal = /pws/zycie043-nfglobal
AND docnum = /pws/zycie043-docnumnfg.
ENDIF.
COMMIT WORK.
v_mr8m_ok = 'S'.
CLEAR v_mr1m_ok.
ENDIF.
* << Fim da inclusão
ENDIF.
ENDIF.
ELSE.
...
...
AND nfglobal = /pws/zycie043-nfglobal
AND docnum = /pws/zycie043-docnumnfg.
ENDIF.
COMMIT WORK.
v_mr8m_ok = 'S'.
CLEAR v_mr1m_ok.
ELSE.
LOOP AT itab_zycit032.
MESSAGE i015 WITH itab_zycit032-msg+0(50)
itab_zycit032-msg+50(50).
* >> Início da inclusão: FORM REVERSE_DOCUMENTO_FATURA_MR8M
ENDLOOP.
PERFORM verifica_estorno_r3 USING 'RBKP'
wa_nf-belnr_f_02
wa_nf-dt_f_02
CHANGING v_answer.
IF v_answer = 'J'.
v_belnr_ant = wa_nf-belnr_mr1m.
CLEAR: wa_nf-statusp_mr1m, wa_nf-belnr_mr1m, wa_nf-dt_mr1m.
itab_zycit050-estorno = 'X'.
IF v_existe_nfr NE 'S'.
MOVE-CORRESPONDING wa_nf TO /pws/zycie041.
MODIFY /pws/zycit041 FROM /pws/zycie041.
LOOP AT itab_itens_nf.
CLEAR: v_nrseqdid.
SELECT SINGLE nrseqdi INTO v_nrseqdid FROM /pws/zycit100
WHERE nrseq = itab_itens_nf-nrseq. "#EC CI_NOFIRST
SELECT SINGLE * FROM /pws/zycit085
INTO wa_zycit085
WHERE nrseqdi = v_nrseqdid.
MOVE: itab_itens_nf-mandt TO itab_itens_002-mandt,
wa_nf-bukrs TO itab_itens_002-bukrs,
itab_itens_nf-matnr TO itab_itens_002-matnr,
v_belnr_ant TO itab_itens_002-belnr,
t001-land1 TO itab_itens_002-land1,
itab_itens_nf-qtd_item TO itab_itens_002-qtdini,
itab_itens_nf-qtd_item TO itab_itens_002-qtddisp,
itab_itens_nf-nrseq TO itab_itens_002-feidi,
sy-datlo TO itab_itens_002-erdat.
APPEND itab_itens_002.
CLEAR itab_itens_002.
ENDLOOP.
ELSE.
MOVE-CORRESPONDING wa_nf TO /pws/zycie043.
MODIFY /pws/zycit043 FROM /pws/zycie043.
LOOP AT itab_itens_nf.
CLEAR: v_nrseqdid.
SELECT SINGLE nrseqdi INTO v_nrseqdid FROM /pws/zycit100
WHERE nrseq = itab_itens_nf-nrseq. "#EC CI_NOFIRST
SELECT SINGLE * FROM /pws/zycit085
INTO wa_zycit085
WHERE nrseqdi = v_nrseqdid.
MOVE: itab_itens_nf-mandt TO itab_itens_002-mandt,
wa_nf-bukrs TO itab_itens_002-bukrs,
itab_itens_nf-matnr TO itab_itens_002-matnr,
v_belnr_ant TO itab_itens_002-belnr,
t001-land1 TO itab_itens_002-land1,
itab_itens_nf-qtd_item TO itab_itens_002-qtdini,
itab_itens_nf-qtd_item TO itab_itens_002-qtddisp,
itab_itens_nf-nrseq TO itab_itens_002-feidi,
sy-datlo TO itab_itens_002-erdat.
APPEND itab_itens_002.
CLEAR itab_itens_002.
* << Fim da inclusão
ENDLOOP.
* >> Início da inclusão: FORM REVERSE_DOCUMENTO_FATURA_MR8M
UPDATE /pws/zycit041 SET statusp_j1b2 = ' '
WHERE nrseq = /pws/zycie043-nrseq
AND nfglobal = /pws/zycie043-nfglobal
AND docnum = /pws/zycie043-docnumnfg.
ENDIF.
COMMIT WORK.
v_mr8m_ok = 'S'.
CLEAR v_mr1m_ok.
ENDIF.
* << Fim da inclusão
ENDIF.
ENDIF.
ENDIF.
...
...
PERFORM trata_retorno_fbra_fisico.
ELSE.
LOOP AT itab_zycbt034.
MESSAGE i016 WITH itab_zycbt034-descricao.
ENDLOOP.
* >> Início da exclusão: FORM REVERSE_DOCUMENTO_FISICO_FBRA
PERFORM popup_message USING text-026 text-025.
* << Fim da exclusão
* >> Início da inclusão: FORM REVERSE_DOCUMENTO_FISICO_FBRA
PERFORM verifica_estorno_r3 USING 'MSEG'
wa_nf-mblnr_mb01
wa_nf-dt_mb01
CHANGING v_answer.
* << Fim da inclusão
IF v_answer = 'J'.
CLEAR: wa_nf-statusp_mb01, wa_nf-mblnr_mb01, wa_nf-dt_mb01.
IF v_existe_nfr NE 'S'.
MOVE-CORRESPONDING wa_nf TO /pws/zycie041.
MODIFY /pws/zycit041 FROM /pws/zycie041.
ELSE.
MOVE-CORRESPONDING wa_nf TO /pws/zycie043.
MODIFY /pws/zycit043 FROM /pws/zycie043.
ENDIF.
COMMIT WORK.
v_mbst_ok = 'S'.
ENDIF.
ENDIF.
ELSE.
IF itab_zycbt034[] IS INITIAL.
PERFORM trata_retorno_fbra_fisico.
ELSE.
LOOP AT itab_zycbt034.
MESSAGE i016 WITH itab_zycbt034-descricao.
ENDLOOP.
* >> Início da exclusão: FORM REVERSE_DOCUMENTO_FISICO_FBRA
PERFORM popup_message USING text-026 text-025.
* << Fim da exclusão
* >> Início da inclusão: FORM REVERSE_DOCUMENTO_FISICO_FBRA
PERFORM verifica_estorno_r3 USING 'MSEG'
wa_nf-mblnr_mb01
wa_nf-dt_mb01
CHANGING v_answer.
* << Fim da inclusão
IF v_answer = 'J'.
CLEAR: wa_nf-statusp_mb01, wa_nf-mblnr_mb01, wa_nf-dt_mb01.
IF v_existe_nfr NE 'S'.
MOVE-CORRESPONDING wa_nf TO /pws/zycie041.
MODIFY /pws/zycit041 FROM /pws/zycie041.
ELSE.
MOVE-CORRESPONDING wa_nf TO /pws/zycie043.
MODIFY /pws/zycit043 FROM /pws/zycie043.
ENDIF.
COMMIT WORK.
...
...
t_zycbt032 = itab_zycbt032
EXCEPTIONS
campo_em_branco = 1
OTHERS = 2.
IF sy-subrc = 0.
PERFORM trata_retorno_fb08_imposto.
ELSE.
LOOP AT itab_zycbt034.
MESSAGE i016 WITH itab_zycbt034-descricao.
ENDLOOP.
* >> Início da exclusão: FORM REVERSE_DOCUMENTO_IMPOS_FB08
PERFORM popup_message USING text-041 text-025.
* << Fim da exclusão
* >> Início da inclusão: FORM REVERSE_DOCUMENTO_IMPOS_FB08
PERFORM verifica_estorno_r3 USING 'F-02'
wa_nf-belnr_f_02
wa_nf-dt_f_02
CHANGING v_answer.
* << Fim da inclusão
IF v_answer = 'J'.
CLEAR: wa_nf-statusp_f_02 , wa_nf-belnr_f_02, wa_nf-dt_f_02.
IF v_existe_nfr NE 'S'.
MOVE-CORRESPONDING wa_nf TO /pws/zycie041.
MODIFY /pws/zycit041 FROM /pws/zycie041.
ELSE.
MOVE-CORRESPONDING wa_nf TO /pws/zycie043.
MODIFY /pws/zycit043 FROM /pws/zycie043.
ENDIF.
COMMIT WORK.
ENDIF.
ENDIF.
ELSE.
IF itab_zycbt034[] IS INITIAL.
ELSE.
LOOP AT itab_zycbt034.
MESSAGE i016 WITH itab_zycbt034-descricao.
ENDLOOP.
* >> Início da exclusão: FORM REVERSE_DOCUMENTO_IMPOS_FB08
PERFORM popup_message USING text-041 text-025.
* << Fim da exclusão
* >> Início da inclusão: FORM REVERSE_DOCUMENTO_IMPOS_FB08
PERFORM verifica_estorno_r3 USING 'F-02'
wa_nf-belnr_f_02
wa_nf-dt_f_02
CHANGING v_answer.
* << Fim da inclusão
IF v_answer = 'J'.
CLEAR: wa_nf-statusp_f_02 , wa_nf-belnr_f_02, wa_nf-dt_f_02.
IF v_existe_nfr NE 'S'.
MOVE-CORRESPONDING wa_nf TO /pws/zycie041.
MODIFY /pws/zycit041 FROM /pws/zycie041.
ELSE.
MOVE-CORRESPONDING wa_nf TO /pws/zycie043.
MODIFY /pws/zycit043 FROM /pws/zycie043.
ENDIF.
COMMIT WORK.
...
...
ELSE.
LOOP AT itab_zycbt034.
MESSAGE i016 WITH itab_zycbt034-descricao.
ENDLOOP.
* >> Início da exclusão: FORM REVERSE_DOCUMENTO_PROVSEG_FB08
PERFORM popup_message USING text-041 text-025.
* << Fim da exclusão
* >> Início da inclusão: FORM REVERSE_DOCUMENTO_PROVSEG_FB08
PERFORM verifica_estorno_r3 USING 'F-02'
wa_nf-belnrf02seg
wa_nf-dt_f02seg
CHANGING v_answer.
* << Fim da inclusão
IF v_answer = 'J'.
CLEAR: wa_nf-belnrf02seg, wa_nf-dt_f02seg.
IF v_existe_nfr NE 'S'.
MOVE-CORRESPONDING wa_nf TO /pws/zycie041.
MODIFY /pws/zycit041 FROM /pws/zycie041.
ELSE.
...
...
IF itab_zycbt034[] IS INITIAL.
PERFORM trata_retorno_fb08_seguro.
ELSE.
LOOP AT itab_zycbt034.
MESSAGE i016 WITH itab_zycbt034-descricao.
ENDLOOP.
* >> Início da exclusão: FORM REVERSE_DOCUMENTO_PROVSEG_FB08
PERFORM popup_message USING text-041 text-025.
* << Fim da exclusão
* >> Início da inclusão: FORM REVERSE_DOCUMENTO_PROVSEG_FB08
PERFORM verifica_estorno_r3 USING 'F-02'
wa_nf-belnrf02seg
wa_nf-dt_f02seg
CHANGING v_answer.
* << Fim da inclusão
IF v_answer = 'J'.
CLEAR: wa_nf-belnrf02seg, wa_nf-dt_f02seg.
IF v_existe_nfr NE 'S'.
MOVE-CORRESPONDING wa_nf TO /pws/zycie041.
MODIFY /pws/zycit041 FROM /pws/zycie041.
ELSE.
MOVE-CORRESPONDING wa_nf TO /pws/zycie043.
MODIFY /pws/zycit043 FROM /pws/zycie043.
MOVE-CORRESPONDING wa_nf TO /pws/zycie041.
UPDATE /pws/zycit041 SET belnrf02seg = wa_nf-belnrf02seg
...
...
t_zycbt032 = itab_zycbt032
EXCEPTIONS
campo_em_branco = 1
OTHERS = 2.
IF sy-subrc = 0.
PERFORM trata_retorno_fb08_contab.
ELSE.
LOOP AT itab_zycbt034.
MESSAGE i016 WITH itab_zycbt034-descricao.
ENDLOOP.
* >> Início da inclusão: FORM REVERSE_COCUMENTO_CONTAB_FB08
PERFORM verifica_estorno_r3 USING 'F-02'
wa_nf-belnr_f_51
wa_nf-dt_f_51
CHANGING v_answer.
IF v_answer = 'J'.
CLEAR: wa_nf-statusp_f_51,
wa_nf-belnr_f_51 ,
wa_nf-dt_f_51 .
IF v_existe_nfr NE 'S'.
MOVE-CORRESPONDING wa_nf TO /pws/zycie041.
MODIFY /pws/zycit041 FROM /pws/zycie041.
ELSE.
MOVE-CORRESPONDING wa_nf TO /pws/zycie043.
MODIFY /pws/zycit043 FROM /pws/zycie043.
ENDIF.
COMMIT WORK.
v_fbra_ok = 'S'.
ENDIF.
* << Fim da inclusão
ENDIF.
ELSE.
IF itab_zycbt034[] IS INITIAL.
PERFORM trata_retorno_fb08_contab.
ELSE.
LOOP AT itab_zycbt034.
MESSAGE i016 WITH itab_zycbt034-descricao.
ENDLOOP.
* >> Início da inclusão: FORM REVERSE_COCUMENTO_CONTAB_FB08
PERFORM verifica_estorno_r3 USING 'F-02'
wa_nf-belnr_f_51
wa_nf-dt_f_51
CHANGING v_answer.
IF v_answer = 'J'.
CLEAR: wa_nf-statusp_f_51,
wa_nf-belnr_f_51 ,
wa_nf-dt_f_51 .
IF v_existe_nfr NE 'S'.
MOVE-CORRESPONDING wa_nf TO /pws/zycie041.
MODIFY /pws/zycit041 FROM /pws/zycie041.
ELSE.
MOVE-CORRESPONDING wa_nf TO /pws/zycie043.
MODIFY /pws/zycit043 FROM /pws/zycie043.
ENDIF.
COMMIT WORK.
v_fbra_ok = 'S'.
ENDIF.
* << Fim da inclusão
ENDIF.
ENDIF.
ENDIF.
...
...
PERFORM trata_retorno_fb08_frete.
ELSE.
LOOP AT itab_zycbt034.
MESSAGE i016 WITH itab_zycbt034-descricao.
ENDLOOP.
* >> Início da exclusão: FORM REVERSE_DOCUMENTO_PROVFRE_FB08
PERFORM popup_message USING text-041 text-025.
* << Fim da exclusão
* >> Início da inclusão: FORM REVERSE_DOCUMENTO_PROVFRE_FB08
PERFORM verifica_estorno_r3 USING 'F-02'
wa_nf-belnrf02fre
wa_nf-dt_f02fre
CHANGING v_answer.
* << Fim da inclusão
IF v_answer = 'J'.
CLEAR: wa_nf-belnrf02fre, wa_nf-dt_f02fre.
IF v_existe_nfr NE 'S'.
MOVE-CORRESPONDING wa_nf TO /pws/zycie041.
MODIFY /pws/zycit041 FROM /pws/zycie041.
...
...
ELSE.
LOOP AT itab_zycbt034.
MESSAGE i016 WITH itab_zycbt034-descricao.
ENDLOOP.
* >> Início da exclusão: FORM REVERSE_DOCUMENTO_PROVFRE_FB08
PERFORM popup_message USING text-041 text-025.
* << Fim da exclusão
* >> Início da inclusão: FORM REVERSE_DOCUMENTO_PROVFRE_FB08
PERFORM verifica_estorno_r3 USING 'F-02'
wa_nf-belnrf02fre
wa_nf-dt_f02fre
CHANGING v_answer.
* << Fim da inclusão
IF v_answer = 'J'.
CLEAR: wa_nf-belnrf02fre, wa_nf-dt_f02fre.
IF v_existe_nfr NE 'S'.
MOVE-CORRESPONDING wa_nf TO /pws/zycie041.
MODIFY /pws/zycit041 FROM /pws/zycie041.
ELSE.
MOVE-CORRESPONDING wa_nf TO /pws/zycie043.
MODIFY /pws/zycit043 FROM /pws/zycie043.
MOVE-CORRESPONDING wa_nf TO /pws/zycie041.
UPDATE /pws/zycit041 SET belnrf02fre = wa_nf-belnrf02fre
...
...
READ TABLE itab_zycbt032 WITH KEY tcode = 'FBRA'
tabela = 'WA_NF'
cpochv = wa_nf-nrseq
tpmsg = 'S'.
IF sy-subrc EQ 0.
MESSAGE i030 WITH v_belnr_ant.
* >> Início da exclusão: FORM TRATA_RETORNO_FBRA_CONTAB
CLEAR: wa_nf-statusp_f_51 , wa_nf-belnr_f_51, wa_nf-dt_f_51.
itab_zycit050-estorno = 'X'.
IF v_existe_nfr NE 'S'.
MOVE-CORRESPONDING wa_nf TO /pws/zycie041.
MODIFY /pws/zycit041 FROM /pws/zycie041.
ELSE.
MOVE-CORRESPONDING wa_nf TO /pws/zycie043.
MODIFY /pws/zycit043 FROM /pws/zycie043.
ENDIF.
COMMIT WORK.
* << Fim da exclusão
v_fbra_ok = 'S'.
ELSE.
LOOP AT itab_zycbt032.
MESSAGE i015 WITH itab_zycbt032-msg+0(50)
itab_zycbt032-msg+50(50).
ENDLOOP.
* >> Início da exclusão: FORM TRATA_RETORNO_FBRA_CONTAB
PERFORM popup_message USING text-041 text-025.
IF v_answer = 'J'.
CLEAR: wa_nf-statusp_f_51,
wa_nf-belnr_f_51 ,
wa_nf-dt_f_51
.
IF v_existe_nfr NE 'S'.
MOVE-CORRESPONDING wa_nf TO /pws/zycie041.
MODIFY /pws/zycit041 FROM /pws/zycie041.
ELSE.
MOVE-CORRESPONDING wa_nf TO /pws/zycie043.
MODIFY /pws/zycit043 FROM /pws/zycie043.
ENDIF.
COMMIT WORK.
v_fbra_ok = 'S'.
* << Fim da exclusão
ENDIF.
* >> Início da exclusão: FORM TRATA_RETORNO_FBRA_CONTAB
ENDIF.
* << Fim da exclusão
ENDFORM.
...
...
MODIFY /pws/zycit043 FROM /pws/zycie043.
ENDIF.
COMMIT WORK.
v_mbst_ok = 'S'.
ELSE.
LOOP AT itab_zycit032.
MESSAGE i015 WITH itab_zycit032-msg+0(50)
itab_zycit032-msg+50(50).
ENDLOOP.
PERFORM clear_date_batch.
* >> Início da exclusão: FORM TRATA_RETORNO_FBRA_FISICO
PERFORM popup_message USING text-041 text-025.
* << Fim da exclusão
* >> Início da inclusão: FORM TRATA_RETORNO_FBRA_FISICO
PERFORM verifica_estorno_r3 USING 'MSEG'
wa_nf-mblnr_mb01
wa_nf-dt_mb01
CHANGING v_answer.
* << Fim da inclusão
IF v_answer = 'J'.
CLEAR: wa_nf-statusp_mb01, wa_nf-mblnr_mb01, wa_nf-dt_mb01.
IF v_existe_nfr NE 'S'.
MOVE-CORRESPONDING wa_nf TO /pws/zycie041.
MODIFY /pws/zycit041 FROM /pws/zycie041.
ELSE.
MOVE-CORRESPONDING wa_nf TO /pws/zycie043.
MODIFY /pws/zycit043 FROM /pws/zycie043.
ENDIF.
COMMIT WORK.
...
...
WHERE nrseq = /pws/zycie041-nrseq
AND nfglobal = /pws/zycie041-nfglobal
AND docnum = /pws/zycie043-docnumnfg.
ENDIF.
COMMIT WORK.
ELSE.
LOOP AT itab_zycbt032.
MESSAGE i015 WITH itab_zycbt032-msg+0(50)
itab_zycbt032-msg+50(50).
ENDLOOP.
* >> Início da exclusão: FORM TRATA_RETORNO_FB08_IMPOSTO
PERFORM popup_message USING text-041 text-025.
* << Fim da exclusão
* >> Início da inclusão: FORM TRATA_RETORNO_FB08_IMPOSTO
PERFORM verifica_estorno_r3 USING 'F-02'
wa_nf-belnr_f_02
wa_nf-dt_f_02
CHANGING v_answer.
* << Fim da inclusão
IF v_answer = 'J'.
CLEAR: wa_nf-statusp_f_02, wa_nf-belnr_f_02, wa_nf-dt_f_02.
IF v_existe_nfr NE 'S'.
MOVE-CORRESPONDING wa_nf TO /pws/zycie041.
MODIFY /pws/zycit041 FROM /pws/zycie041.
ELSE.
MOVE-CORRESPONDING wa_nf TO /pws/zycie043.
MODIFY /pws/zycit043 FROM /pws/zycie043.
ENDIF.
COMMIT WORK.
...
...
dt_f02seg = wa_nf-dt_f02seg
WHERE nrseq = wa_nf-nrseq
AND nfglobal = wa_nf-nfglobal.
ENDIF.
COMMIT WORK.
ELSE.
LOOP AT itab_zycbt032.
MESSAGE i015 WITH itab_zycbt032-msg+0(50)
itab_zycbt032-msg+50(50).
ENDLOOP.
* >> Início da exclusão: FORM TRATA_RETORNO_FB08_SEGURO
PERFORM popup_message USING text-041 text-025.
* << Fim da exclusão
* >> Início da inclusão: FORM TRATA_RETORNO_FB08_SEGURO
PERFORM verifica_estorno_r3 USING 'F-02'
wa_nf-belnrf02seg
wa_nf-dt_f02seg
CHANGING v_answer.
* << Fim da inclusão
IF v_answer = 'J'.
CLEAR: wa_nf-belnrf02seg, wa_nf-dt_f02seg.
IF v_existe_nfr NE 'S'.
MOVE-CORRESPONDING wa_nf TO /pws/zycie041.
MODIFY /pws/zycit041 FROM /pws/zycie041.
ELSE.
MOVE-CORRESPONDING wa_nf TO /pws/zycie043.
MODIFY /pws/zycit043 FROM /pws/zycie043.
MOVE-CORRESPONDING wa_nf TO /pws/zycie041.
UPDATE /pws/zycit041 SET belnrf02seg = wa_nf-belnrf02seg
...
...
MOVE-CORRESPONDING wa_nf TO /pws/zycie043.
MODIFY /pws/zycit043 FROM /pws/zycie043.
ENDIF.
COMMIT WORK.
v_fb08_ok = 'S'.
ELSE.
LOOP AT itab_zycbt032.
MESSAGE i015 WITH itab_zycbt032-msg+0(50)
itab_zycbt032-msg+50(50).
ENDLOOP.
* >> Início da inclusão: FORM TRATA_RETORNO_FB08_CONTAB
PERFORM verifica_estorno_r3 USING 'F-02'
wa_nf-belnr_f_51
wa_nf-dt_f_51
CHANGING v_answer.
IF v_answer = 'J'.
CLEAR: wa_nf-statusp_f_51,
wa_nf-belnr_f_51 ,
wa_nf-dt_f_51 .
IF v_existe_nfr NE 'S'.
MOVE-CORRESPONDING wa_nf TO /pws/zycie041.
MODIFY /pws/zycit041 FROM /pws/zycie041.
ELSE.
MOVE-CORRESPONDING wa_nf TO /pws/zycie043.
MODIFY /pws/zycit043 FROM /pws/zycie043.
ENDIF.
COMMIT WORK.
v_fbra_ok = 'S'.
ENDIF.
* << Fim da inclusão
ENDIF.
ENDFORM.
...
...
ELSE.
LOOP AT itab_zycbt032.
MESSAGE i015 WITH itab_zycbt032-msg+0(50)
itab_zycbt032-msg+50(50).
ENDLOOP.
* >> Início da exclusão: FORM TRATA_RETORNO_FB08_FRETE
PERFORM popup_message USING text-041 text-025.
* << Fim da exclusão
* >> Início da inclusão: FORM TRATA_RETORNO_FB08_FRETE
PERFORM verifica_estorno_r3 USING 'F-02'
wa_nf-belnrf02fre
wa_nf-dt_f02fre
CHANGING v_answer.
* << Fim da inclusão
IF v_answer = 'J'.
CLEAR: wa_nf-belnrf02fre, wa_nf-dt_f02fre.
IF v_existe_nfr NE 'S'.
MOVE-CORRESPONDING wa_nf TO /pws/zycie041.
MODIFY /pws/zycit041 FROM /pws/zycie041.
ELSE.
MOVE-CORRESPONDING wa_nf TO /pws/zycie043.
MODIFY /pws/zycit043 FROM /pws/zycie043.
MOVE-CORRESPONDING wa_nf TO /pws/zycie041.
UPDATE /pws/zycit041 SET belnrf02fre = wa_nf-belnrf02fre
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI017F03
...
* >> Início da inclusão:
FORM verifica_estorno_r3 USING p_ver
p_belnr
p_data
CHANGING v_answer.
CLEAR: v_answer.
IF p_ver = 'RBKP'.
SELECT SINGLE * FROM rbkp
WHERE belnr EQ p_belnr
AND gjahr EQ p_data(4).
IF sy-subrc EQ 0 AND NOT rbkp-stblg IS INITIAL.
PERFORM popup_message USING text-026 text-025.
IF v_answer = 'J'.
ELSE.
ENDIF.
ELSE.
MESSAGE i015 WITH text-111.
ENDIF.
ELSEIF p_ver = 'MSEG'.
SELECT SINGLE * FROM mseg
WHERE smbln EQ p_belnr
AND sjahr EQ p_data(4). "#EC CI_NOFIRST
IF sy-subrc EQ 0.
PERFORM popup_message USING text-026 text-025.
IF v_answer = 'J'.
ELSE.
ENDIF.
ELSE.
MESSAGE i015 WITH text-111.
ENDIF.
ELSE.
IF /pws/zycie001-bukrs IS INITIAL.
/pws/zycie001-bukrs = /pws/zycit001-bukrs.
ENDIF.
SELECT SINGLE * FROM bkpf
WHERE bukrs EQ /pws/zycie001-bukrs
AND belnr EQ p_belnr
AND gjahr EQ p_data(4).
IF sy-subrc EQ 0 AND NOT bkpf-stblg IS INITIAL.
PERFORM popup_message USING text-026 text-025.
IF v_answer = 'J'.
ELSE.
ENDIF.
ELSE.
MESSAGE i015 WITH text-111.
ENDIF.
ENDIF.
ENDFORM.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI017X01
...
* >> Início da inclusão:
tables mseg.
* << Fim da inclusão
DATA: BEGIN OF COMMON PART a.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPT /PWS/SAPMZYCI017
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 111
Texto: (33 caracteres)
"Documento não pode ser estornado."
Comprimento máximo: 40
------------------------------------------------------------------------
Tradução
Idioma: EN
Símbolo: 111
Texto: (29 caracteres)
"Document can not be reversed."
Comprimento máximo: 40