* Tables
TABLES: sscrfields.
* Initialization
INITIALIZATION.
perform f_cria_botao.
TABLES: sscrfields.
* Initialization
INITIALIZATION.
perform f_cria_botao.
* Manipualação do Botão
*----------------------
AT SELECTION-SCREEN.
IF sy-ucomm = 'FC01'.
perform f_gera_planilha.
ENDIF.
*----------------------
AT SELECTION-SCREEN.
IF sy-ucomm = 'FC01'.
perform f_gera_planilha.
ENDIF.
*&---------------------------------------------------------------------*
*& Form F_GERA_PLANILHA
*----------------------------------------------------------------------*
FORM F_GERA_PLANILHA .
FIELD-SYMBOLS: <fs_tab> type ANY TABLE,
<wa_tab> type any.
data: lv_file type string.
data: lo_obj TYPE REF TO zcl_util.
CREATE OBJECT lo_obj.
* XXXXXX --> Nome da estrutura com os campos (coluna)
DATA: w_dref TYPE REF TO data.
CREATE DATA w_dref TYPE TABLE OF ('XXXXXX').
ASSIGN w_dref->* TO <fs_tab>.
CALL METHOD LO_OBJ->MATCHCODE_FOLDER_LOCAL
RECEIVING
R_FOLDER = lv_file .
* YYYYYY --> Nome do arquivo da planilha
if lv_file is not initial.
concatenate lv_file '\' 'YYYYYY.xlsx' into lv_file.
endif.
CALL METHOD LO_OBJ->SAVE_FILE_EXCEL
EXPORTING
I_PATH = lv_file
I_LOCAL = 'X'
I_STRUC = 'XXXXXX'
DATA_TAB = <fs_tab> .
MESSAGE s398(00) with 'Planilha gerada com sucesso'.
ENDFORM.
*& Form F_GERA_PLANILHA
*----------------------------------------------------------------------*
FORM F_GERA_PLANILHA .
FIELD-SYMBOLS: <fs_tab> type ANY TABLE,
<wa_tab> type any.
data: lv_file type string.
data: lo_obj TYPE REF TO zcl_util.
CREATE OBJECT lo_obj.
* XXXXXX --> Nome da estrutura com os campos (coluna)
DATA: w_dref TYPE REF TO data.
CREATE DATA w_dref TYPE TABLE OF ('XXXXXX').
ASSIGN w_dref->* TO <fs_tab>.
CALL METHOD LO_OBJ->MATCHCODE_FOLDER_LOCAL
RECEIVING
R_FOLDER = lv_file .
* YYYYYY --> Nome do arquivo da planilha
if lv_file is not initial.
concatenate lv_file '\' 'YYYYYY.xlsx' into lv_file.
endif.
CALL METHOD LO_OBJ->SAVE_FILE_EXCEL
EXPORTING
I_PATH = lv_file
I_LOCAL = 'X'
I_STRUC = 'XXXXXX'
DATA_TAB = <fs_tab> .
MESSAGE s398(00) with 'Planilha gerada com sucesso'.
ENDFORM.