Programa Excel
Programa Excel
Programa Excel
*-----------------------------------------------------------------------
* Empresa..: SEIDOR
* ID.......:
* Programa.: ZFIR0120
* Tipo.....: Report
* Módulo...: FI
* Transação: ZFI056
* Descrição:
* Autor....: Bruno Barbosa
* Data.....: 23/04/2021
* [HISTÓRICO]
* ======== ========== ========== =======================================
* Data Autor Request Descrição
* ======== ========== ========== =======================================
* 23/04/2021 Bruno Criação dos programas e demais objetos
* ======== ========== ========== =======================================
REPORT zfir0120.
*----------------------------------------------------------------------*
* Tipos *
*----------------------------------------------------------------------*
TYPES: BEGIN OF ty_arq_d,
cod_titulo TYPE ztbfi0001-nr_titulo,
nosso_numero TYPE ztbfi0001-nr_titulo,
belnr TYPE bkpf-belnr,
bukrs TYPE bkpf-bukrs,
gjahr TYPE bkpf-gjahr,
END OF ty_arq_d.
*----------------------------------------------------------------------*
* Tabelas Internas *
*----------------------------------------------------------------------*
DATA: t_aqr_dados TYPE STANDARD TABLE OF ty_arq_d,
t_waw TYPE truxs_t_text_data.
*----------------------------------------------------------------------*
* Variáveis Globais *
*----------------------------------------------------------------------*
DATA: vg_subrc TYPE sy-subrc,
vg_tabix TYPE sy-tabix.
*----------------------------------------------------------------------*
* Constantes
*----------------------------------------------------------------------*
CONSTANTS: c_e TYPE c VALUE 'E',
c_s TYPE c VALUE 'S'.
*----------------------------------------------------------------------*
* Parâmetros de Seleção *
*----------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE TEXT-004.
PARAMETERS: p_file TYPE string MODIF ID arq. "DEFAULT
SELECTION-SCREEN END OF BLOCK b2.
*==================*
START-OF-SELECTION.
*==================*
IF p_file IS INITIAL.
MESSAGE s004(zfi) DISPLAY LIKE 'E'.
EXIT.
ENDIF.
PERFORM zf_le_arquivo_excel.
PERFORM f_process_data.
*----------------------------------------------------------------------*
* FORMS *
*----------------------------------------------------------------------*
FORM f_f4_file_open USING p_extension TYPE string
p_filename TYPE string
CHANGING v_local TYPE string
v_subrc TYPE sy-subrc.
CLEAR: v_local,
v_subrc,
lv_rc,
ls_tab,
lt_tab[].
IF lv_rc EQ 1.
READ TABLE lt_tab INTO ls_tab INDEX 1.
IF sy-subrc EQ 0.
v_local = ls_tab-filename.
ENDIF.
ELSE.
v_subrc = 1.
ENDIF.
ENDFORM.
FORM zf_le_arquivo_excel.
lv_filename = p_file.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
IF t_aqr_dados[] IS INITIAL.
MESSAGE 'Erro ao ler arquivo de entrada!' TYPE c_s DISPLAY LIKE c_e.
STOP.
ELSE.
ENDIF .
IF t_aqr_dados[] IS INITIAL.
MESSAGE 'Erro ao ler arquivo de entrada!' TYPE c_s DISPLAY LIKE c_e.
STOP.
ENDIF.
ENDFORM.
FORM f_process_data.
CLEAR: lv_belnr.
FREE: t_bdc.
FREE: t_msg.
CLEAR ls_opcoes.
ls_opcoes-dismode = 'N'.
ls_opcoes-updmode = 'A'.
ls_opcoes-cattmode = ' '.
ls_opcoes-racommit = ' '.
ls_opcoes-nobinpt = 'X'.
ls_opcoes-nobiend = 'X'.
ENDLOOP.
ENDFORM.
IF dynbegin = 'X'.
MOVE: name TO t_bdc-program,
value TO t_bdc-dynpro,
'X' TO t_bdc-dynbegin.
ELSE.
MOVE: name TO t_bdc-fnam,
value TO t_bdc-fval.
ENDIF.
APPEND t_bdc.
CLEAR t_bdc.
17.279