Fbra - Em Massa
description
Transcript of 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
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.
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.
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