Академический Документы
Профессиональный Документы
Культура Документы
-*
*& Report Y01_EXCEL_OLE04
*&
*&--------------------------------------------------------------------
-*
*&
*&
*&--------------------------------------------------------------------
-*
REPORT Y01_EXCEL_OLE04.
TYPE-POOLS: ole2incl.
*&--------------------------------------------------------------------
-*
* CONSTANTES
*&--------------------------------------------------------------------
-*
CONSTANTS: row_max TYPE i VALUE 256.
*&--------------------------------------------------------------------
-*
* ESTRUCTURAS
*&--------------------------------------------------------------------
-*
TYPES: BEGIN OF TY_DATA,
matnr like mara-matnr,
ersda like mara-ersda,
mtart like mara-mtart,
meins like mara-meins,
laeda like mara-laeda,
END OF TY_DATA.
TYPES: ty_sflight TYPE SFLIGHT,
ty_mara TYPE MARA,
ty_t134 TYPE t134.
*&--------------------------------------------------------------------
-*
* DATA
*&--------------------------------------------------------------------
-*
*&--------------------------------------------------------------------
-*
* FIELD SYMBOLS
*&--------------------------------------------------------------------
-*
START-OF-SELECTION.
IF LV_LINES <> 0.
*CREA LA PRIMERA HOJA
CALL METHOD OF lo_application 'WORKSHEETS' = lo_worksheet
EXPORTING #1 = 1.
lv_contador = SY-TABIX + 1.
* FORMATO DE CELDA
CALL METHOD OF lo_cell 'FONT' = lo_font.
SET PROPERTY OF lo_font 'BOLD' = 2.
SET PROPERTY OF lo_font 'SIZE' = '12'.
FREE OBJECT lo_font.
* BORDES
* BORDE IZQUIERDO
CALL METHOD OF lo_cell 'BORDERS' = lo_borders
EXPORTING #1 = '1'.
SET PROPERTY OF lo_borders 'LINESTYLE' = 1.
SET PROPERTY OF lo_borders 'WEIGHT' = lo_we.
FREE OBJECT lo_borders.
* BORDE DERECHO
CALL METHOD OF lo_cell 'BORDERS' = lo_borders
EXPORTING #1 = '2'.
SET PROPERTY OF lo_borders 'LINESTYLE' = 2.
SET PROPERTY OF lo_borders 'WEIGHT' = lo_we.
FREE OBJECT lo_borders.
* BORDE ARRIBA
CALL METHOD OF lo_cell 'BORDERS' = lo_borders
EXPORTING #1 = '3'.
SET PROPERTY OF lo_borders 'LINESTYLE' = 3.
SET PROPERTY OF lo_borders 'WEIGHT' = lo_we.
FREE OBJECT lo_borders.
* BORDE ABAJO
CALL METHOD OF lo_cell 'BORDERS' = lo_borders
EXPORTING #1 = '4'.
SET PROPERTY OF lo_borders 'LINESTYLE' = 4.
SET PROPERTY OF lo_borders 'WEIGHT' = lo_we.
FREE OBJECT lo_borders.
**********************************************************************
**********
ADD 1 TO lv_index.
* FORMATO DE CELDA
CALL METHOD OF lo_cell 'FONT' = lo_font.
SET PROPERTY OF lo_font 'BOLD' = 1.
SET PROPERTY OF lo_font 'SIZE' = '10'.
FREE OBJECT lo_font.
* COLOR DE FONDO
CALL METHOD OF lo_cell 'INTERIOR' = lo_background.
SET PROPERTY OF lo_background 'COLORINDEX' = '35'.
SET PROPERTY OF lo_background 'PATTERN' = 1.
FREE OBJECT lo_background.
ADD 1 TO lv_index.
ADD 1 TO lv_index.
* FORMATO DE CELDA
CALL METHOD OF lo_cell 'FONT' = lo_font.
SET PROPERTY OF lo_font 'BOLD' = 1.
SET PROPERTY OF lo_font 'SIZE' = '8'.
FREE OBJECT lo_font.
* COLOR DE FONDO
CALL METHOD OF lo_cell 'INTERIOR' = lo_background.
SET PROPERTY OF lo_background 'COLORINDEX' = '36'.
SET PROPERTY OF lo_background 'PATTERN' = 1.
FREE OBJECT lo_background.
ENDLOOP.
ENDIF.
CLEAR lv_lines.
CLEAR lv_contador.
*CLEAR SY-TABIX.
ADD 1 TO LV_INDEX.
ADD 1 TO LV_INDEX.
CALL METHOD OF lo_worksheet 'CELLS' = lo_cell
EXPORTING #1 = LV_CONTADOR
#2 = 3.
SET PROPERTY OF lo_cell 'VALUE' = <fs_spflight>-FLDATE.
ADD 1 TO LV_INDEX.
CALL METHOD OF lo_worksheet 'CELLS' = lo_cell
EXPORTING #1 = LV_CONTADOR
#2 = 4.
SET PROPERTY OF lo_cell 'VALUE' = <fs_spflight>-PAYMENTSUM.
ENDIF.
LV_CONTADOR = SY-TABIX + 1.
ADD 1 TO LV_INDEX.
ADD 1 TO LV_INDEX.
ENDIF.
*GUARDAR EXCEL
CALL METHOD OF lo_worksheet 'SAVEAS'
EXPORTING
#1 = lv_complete_path
#2 = 1.
*CIERRA LA VENTANA.
SET PROPERTY OF lo_application 'VISIBLE' = 0.
*LIBERA EL OBJETO
CALL METHOD OF lo_application 'QUIT'.
FREE OBJECT lo_application.
*
*GET PROPERTY OF lo_application 'ACTIVESHEET' = lo_worksheet.
*
*CONCATENATE lv_selected_folder 'TEST' INTO lv_complete_path.
*
*CALL METHOD OF lo_workbook 'SAVEAS'
*EXPORTING
*#1 = lv_complete_path.
*IF sy-subrc EQ 0.
*MESSAGE 'File downloaded successfully' TYPE 'S'.
*ELSE.
*MESSAGE 'Error downloading the file' TYPE 'E'.
*ENDIF.
*
*CALL METHOD OF lo_application 'QUIT'.
*FREE OBJECT lo_worksheet.
*FREE OBJECT lo_workbook.
*FREE OBJECT lo_application.