Fbra - Em Massa

4
7/21/2019 Fbra - Em Massa http://slidepdf.com/reader/full/fbra-em-massa 1/4  ABAP / FI - FBRA em Massa Acredito que muita gente quando estar realizando testes do processo de pagamento  de FI, tem a necessidade de realizar o estorno em massa dos documentos contábeis gerados, esse é um programa bem simples porém muito útil. *&---------------------------------------------------------------------* *& Report ZFIR_AUT_FBRA *& *&---------------------------------------------------------------------* *& PROGRAMA REALIZA FBRA EM MASSA! *& CRIADO POR : Pedro Henrique O. Freitas *& Blog: http://pedroabap.blogspot.com.br/ *&---------------------------------------------------------------------* REPORT zfir_aut_fbra. TABLES: bkpf. * Tipos TYPES: BEGIN OF ty_bkpf,  bukrs TYPE bkpf-bukrs,  belnr TYPE bkpf-belnr,  gjahr TYPE bkpf-gjahr,  END OF ty_bkpf. * Tabelas Internas DATA gt_saida TYPE TABLE OF zsaut_fbra. DATA gt_bkpf TYPE TABLE OF ty_bkpf. DATA gt_ficc TYPE TABLE OF ztficc_serv. * Range DATA r_msgid TYPE RANGE OF bdcmsgcoll-msgid. DATA r_msgnr TYPE RANGE OF bdcmsgcoll-msgnr. * Work-Area DATA wa_bkpf TYPE ty_bkpf. DATA wa_saida TYPE zsaut_fbra. DATA wa_msgid LIKE LINE OF r_msgid. DATA wa_msgnr LIKE LINE OF r_msgnr. DATA opt TYPE ctu_params. * Variáveis Globais DATA vg_suces TYPE c. * Batch-Input DATA: bdcdata_wa TYPE bdcdata,  bdcdata_tab TYPE TABLE OF bdcdata,  tb_msg TYPE TABLE OF bdcmsgcoll,  wa_msg TYPE bdcmsgcoll. DEFINE monta_range.  &2-sign = 'I'.  &2-option = 'EQ'.  &2-low = &3.  append &2 to &1. END-OF-DEFINITION. * Tela de Seleção

description

Fbra - Em Massa

Transcript of Fbra - Em Massa

Page 1: Fbra - Em Massa

7/21/2019 Fbra - Em Massa

http://slidepdf.com/reader/full/fbra-em-massa 1/4

 ABAP / FI - FBRA em MassaAcredito que muita gente quando estar realizando testes do processo de pagamento de FI, tem a necessidade de realizar o estorno em massa dos documentos contábeisgerados, esse é um programa bem simples porém muito útil.

*&---------------------------------------------------------------------**& Report ZFIR_AUT_FBRA

*&*&---------------------------------------------------------------------**& PROGRAMA REALIZA FBRA EM MASSA!*& CRIADO POR : Pedro Henrique O. Freitas*& Blog: http://pedroabap.blogspot.com.br/*&---------------------------------------------------------------------*

REPORT zfir_aut_fbra.

TABLES: bkpf.

* Tipos

TYPES:BEGIN OF ty_bkpf,  bukrs TYPE bkpf-bukrs,  belnr TYPE bkpf-belnr,  gjahr TYPE bkpf-gjahr,  END OF ty_bkpf.

* Tabelas InternasDATA gt_saida TYPE TABLE OF zsaut_fbra.DATA gt_bkpf TYPE TABLE OF ty_bkpf.DATA gt_ficc TYPE TABLE OF ztficc_serv.

* Range

DATA r_msgid TYPE RANGE OF bdcmsgcoll-msgid.DATA r_msgnr TYPE RANGE OF bdcmsgcoll-msgnr.

* Work-AreaDATA wa_bkpf TYPE ty_bkpf.DATA wa_saida TYPE zsaut_fbra.DATA wa_msgid LIKE LINE OF r_msgid.DATA wa_msgnr LIKE LINE OF r_msgnr.DATA opt TYPE ctu_params.

* Variáveis GlobaisDATA vg_suces TYPE c.

* Batch-InputDATA: bdcdata_wa TYPE bdcdata,  bdcdata_tab TYPE TABLE OF bdcdata,  tb_msg TYPE TABLE OF bdcmsgcoll,  wa_msg TYPE bdcmsgcoll.

DEFINE monta_range.  &2-sign = 'I'.  &2-option = 'EQ'.  &2-low = &3.  append &2 to &1.

END-OF-DEFINITION.

* Tela de Seleção

Page 2: Fbra - Em Massa

7/21/2019 Fbra - Em Massa

http://slidepdf.com/reader/full/fbra-em-massa 2/4

SELECT-OPTIONS:  s_belnr FOR bkpf-belnr OBLIGATORY NO INTERVALS,  s_gjahr FOR bkpf-gjahr DEFAULT sy-datum(4) OBLIGATORY NO INTERVALS,  s_blart FOR bkpf-blart DEFAULT 'ZZ' OBLIGATORY NO INTERVALS,  s_usnam FOR bkpf-usnam DEFAULT sy-uname NO INTERVALS.

SELECTION-SCREEN SKIP.

PARAMETERS:  p_bukrs TYPE bkpf-bukrs DEFAULT '1000' OBLIGATORY.

SELECTION-SCREEN SKIP.

START-OF-SELECTION.  PERFORM:  read_data.

END-OF-SELECTION.*&---------------------------------------------------------------------**& Form READ_DATA

*&---------------------------------------------------------------------** text*----------------------------------------------------------------------** --> p1 text* <-- p2 text*----------------------------------------------------------------------*FORM read_data .

  opt-dismode = 'N'.  opt-nobinpt = 'X'.

  REFRESH: gt_bkpf, gt_saida.

  PERFORM monta_ranges.

  SELECT bukrs belnr gjahr  FROM bkpf CLIENT SPECIFIED  INTO TABLE gt_bkpf  WHERE  bukrs EQ p_bukrs AND  belnr IN s_belnr AND  gjahr IN s_gjahr AND  blart IN s_blart AND  usnam IN s_usnam.

  LOOP AT gt_bkpf INTO wa_bkpf.

  MOVE-CORRESPONDING wa_bkpf TO wa_saida.

  CLEAR: bdcdata_tab[], tb_msg[].

  CLEAR bdcdata_wa.  bdcdata_wa-program = 'SAPMF05R'.  bdcdata_wa-dynpro = '0100'.  bdcdata_wa-dynbegin = 'X'.  APPEND bdcdata_wa TO bdcdata_tab.

  CLEAR bdcdata_wa.  bdcdata_wa-fnam = 'RF05R-AUGBL'.  bdcdata_wa-fval = wa_bkpf-belnr.

Page 3: Fbra - Em Massa

7/21/2019 Fbra - Em Massa

http://slidepdf.com/reader/full/fbra-em-massa 3/4

  APPEND bdcdata_wa TO bdcdata_tab.

  CLEAR bdcdata_wa.  bdcdata_wa-fnam = 'RF05R-BUKRS'.  bdcdata_wa-fval = wa_bkpf-bukrs.  APPEND bdcdata_wa TO bdcdata_tab.

  CLEAR bdcdata_wa.  bdcdata_wa-fnam = 'RF05R-GJAHR'.  bdcdata_wa-fval = wa_bkpf-gjahr.  APPEND bdcdata_wa TO bdcdata_tab.

  CLEAR bdcdata_wa.  bdcdata_wa-fnam = 'BDC_OKCODE'.  bdcdata_wa-fval = 'RAGL'.  APPEND bdcdata_wa TO bdcdata_tab.

  CLEAR bdcdata_wa.  bdcdata_wa-program = 'SAPLSPO1'.

  bdcdata_wa-dynpro = '0300'.  bdcdata_wa-dynbegin = 'X'.  APPEND bdcdata_wa TO bdcdata_tab.

  CLEAR bdcdata_wa.  bdcdata_wa-fnam = 'BDC_OKCODE'.  bdcdata_wa-fval = '=YES'.  APPEND bdcdata_wa TO bdcdata_tab.

  CLEAR bdcdata_wa.  bdcdata_wa-program = 'SAPMF05R'.  bdcdata_wa-dynpro = '0300'.  bdcdata_wa-dynbegin = 'X'.

  APPEND bdcdata_wa TO bdcdata_tab.

  CLEAR bdcdata_wa.  bdcdata_wa-fnam = 'RF05R-STGRD'.  bdcdata_wa-fval = '01'.  APPEND bdcdata_wa TO bdcdata_tab.

  CLEAR bdcdata_wa.  bdcdata_wa-fnam = 'BDC_OKCODE'.  bdcdata_wa-fval = '=ENTR'.  APPEND bdcdata_wa TO bdcdata_tab.

  CLEAR bdcdata_wa.  bdcdata_wa-program = 'SAPMF05R'.  bdcdata_wa-dynpro = '0100'.  bdcdata_wa-dynbegin = 'X'.  APPEND bdcdata_wa TO bdcdata_tab.

  CLEAR bdcdata_wa.  bdcdata_wa-fnam = 'BDC_OKCODE'.  bdcdata_wa-fval = '=EZUR'.  APPEND bdcdata_wa TO bdcdata_tab.

  CALL TRANSACTION 'FBRA' USING bdcdata_tab OPTIONS FROM opt MESSAGES INTO tb_ msg.

  CLEAR vg_suces.  LOOP AT tb_msg INTO wa_msg WHERE msgid IN r_msgid AND msgnr IN r_msgnr.

Page 4: Fbra - Em Massa

7/21/2019 Fbra - Em Massa

http://slidepdf.com/reader/full/fbra-em-massa 4/4

  vg_suces = 'X'.  EXIT.  ENDLOOP.

  CASE vg_suces.  WHEN 'X'.  wa_saida-status = 'S'.

  wa_saida-message = 'Compensação anulada com sucesso'.  WHEN ''.  wa_saida-status = 'E'.  wa_saida-message = 'Erro'.  ENDCASE.

  APPEND wa_saida TO gt_saida.

  ENDLOOP.

  CHECK gt_saida[] IS NOT INITIAL.

  CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'  EXPORTING  i_structure_name = 'ZSAUT_FBRA'  TABLES  t_outtab = gt_saida[]  EXCEPTIONS  program_error = 1  OTHERS = 2.  IF sy-subrc <> 0.  MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno  WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.  ENDIF.

ENDFORM. " READ_DATA*&---------------------------------------------------------------------**& Form MONTA_RANGES*&---------------------------------------------------------------------** Monta Range da Mensagens de Sucesso*----------------------------------------------------------------------** --> p1 text* <-- p2 text*----------------------------------------------------------------------*FORM monta_ranges .

  monta_range r_msgid wa_msgid 'F5'.  monta_range r_msgid wa_msgid 'FS'.  monta_range r_msgid wa_msgid '00'.

  monta_range r_msgnr wa_msgnr '539'.  monta_range r_msgnr wa_msgnr '601'.  monta_range r_msgnr wa_msgnr '312'.  monta_range r_msgnr wa_msgnr '344'.

ENDFORM. " MONTA_RANGES