Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- *&---------------------------------------------------------------------*
- *& Report ZTS_HG_SANDBOX
- *&
- *&---------------------------------------------------------------------*
- *&
- *&
- *&---------------------------------------------------------------------*
- REPORT zts_hg_sandbox.
- INCLUDE ole2incl.
- TABLES sscrfields.
- SELECTION-SCREEN:
- BEGIN OF SCREEN 1,
- PUSHBUTTON 2(10) but1 USER-COMMAND cli1 VISIBLE LENGTH 10.
- SELECTION-SCREEN: END OF SCREEN 1.
- DATA: count TYPE i,
- application TYPE ole2_object,
- workbook TYPE ole2_object,
- excel TYPE ole2_object,
- sheet TYPE ole2_object,
- cells TYPE ole2_object.
- CONSTANTS: row_max TYPE i VALUE 256.
- DATA index TYPE i.
- FIELD-SYMBOLS: <itab1> TYPE ANY TABLE.
- *DATA: BEGIN OF itab1 OCCURS 0, first_name(10), END OF itab1.
- DATA: BEGIN OF itab2 OCCURS 0, last_name(10), END OF itab2.
- DATA: BEGIN OF itab3 OCCURS 0, place(50), END OF itab3.
- ************************************************************************
- *START-OF-SELECTION
- START-OF-SELECTION.
- but1 = 'Exportação'.
- CALL SCREEN 1.
- AT SELECTION-SCREEN.
- CASE sscrfields.
- WHEN 'CLI1'.
- PERFORM zf_excel_export.
- WHEN 'CLI2'.
- ENDCASE.
- *&---------------------------------------------------------------------*
- *& Form zf_excel_export
- *&---------------------------------------------------------------------*
- * text
- *----------------------------------------------------------------------*
- FORM zf_excel_export.
- * APPEND: 'roshani' TO itab1, 'jain' TO itab2, 'worli' TO itab3,
- * 'nehal' TO itab1, 'shah' TO itab2, 'chowpatty' TO itab3,
- * 'saad' TO itab1, 'sheikh' TO itab2, 'versova' TO itab3,
- * 'sushilnath' TO itab1, 'shukla' TO itab2, 'grant road' TO itab3,
- * 'ajju' TO itab1, 'ratna' TO itab2, 'gaon' TO itab3,
- * 'sanant' TO itab1, 'R.' TO itab2, 'mahim' TO itab3.
- DATA: v_hr_inicio TYPE sy-uzeit,
- v_hr_fim TYPE sy-uzeit.
- v_hr_inicio = sy-uzeit.
- DATA lt_sflight TYPE SORTED TABLE OF sflight WITH UNIQUE KEY mandt carrid connid fldate.
- ASSIGN lt_sflight TO <itab1>.
- SELECT *
- FROM sflight
- INTO TABLE <itab1>.
- CREATE OBJECT excel 'EXCEL.APPLICATION'.
- IF sy-subrc NE 0.
- WRITE: / 'No EXCEL creation possible'.
- STOP.
- ENDIF.
- SET PROPERTY OF excel 'DisplayAlerts' = 0.
- CALL METHOD OF excel 'WORKBOOKS' = workbook .
- SET PROPERTY OF excel 'VISIBLE' = 1.
- * Create worksheet
- SET PROPERTY OF excel 'SheetsInNewWorkbook' = 1.
- CALL METHOD OF workbook 'ADD'.
- DO 30 TIMES.
- IF sy-index GT 1.
- CALL METHOD OF excel 'WORKSHEETS' = sheet.
- CALL METHOD OF sheet 'ADD'.
- FREE OBJECT sheet.
- ENDIF.
- ENDDO.
- count = 1.
- DO 3 TIMES.
- CALL METHOD OF excel 'WORKSHEETS' = sheet
- EXPORTING
- #1 = count.
- FIELD-SYMBOLS <fs_line> TYPE sflight.
- * perform get_sheet_name using scnt sname.
- CASE count.
- WHEN '1'.
- SET PROPERTY OF sheet 'NAME' = 'firstName'.
- CALL METHOD OF sheet 'ACTIVATE'.
- * <itab1>-carrid = 'FIRST NAME'.
- FIELD-SYMBOLS: <fs_value> TYPE ANY.
- DATA l_index LIKE sy-index.
- LOOP AT <itab1> ASSIGNING <fs_line>.
- index = sy-tabix + 1. " 1 - column name
- * index = row_max * ( sy-tabix - 1 ) + 1. " 1 - column name
- DO.
- ASSIGN COMPONENT sy-index OF STRUCTURE <fs_line> TO <fs_value>.
- l_index = sy-index.
- IF sy-subrc IS NOT INITIAL.
- EXIT.
- ENDIF.
- CALL METHOD OF sheet 'Cells' = cells
- EXPORTING #1 = index
- #2 = l_index.
- SET PROPERTY OF cells 'Formula' = <fs_value>.
- SET PROPERTY OF cells 'Value' = <fs_value>.
- ENDDO.
- ENDLOOP.
- WHEN '2'.
- SET PROPERTY OF sheet 'NAME' = 'LastName'.
- CALL METHOD OF sheet 'ACTIVATE'.
- LOOP AT itab2.
- index = row_max * ( sy-tabix - 1 ) + 1. " 1 - column name
- CALL METHOD OF sheet 'Cells' = cells EXPORTING #1 = index.
- SET PROPERTY OF cells 'Formula' = itab2-last_name.
- SET PROPERTY OF cells 'Value' = itab2-last_name.
- ENDLOOP.
- WHEN '3'.
- SET PROPERTY OF sheet 'NAME' = 'place'.
- CALL METHOD OF sheet 'ACTIVATE'.
- LOOP AT itab3.
- index = row_max * ( sy-tabix - 1 ) + 1. " 1 - column name
- CALL METHOD OF sheet 'Cells' = cells EXPORTING #1 = index.
- SET PROPERTY OF cells 'Formula' = itab3-place.
- SET PROPERTY OF cells 'Value' = itab3-place.
- ENDLOOP.
- ENDCASE.
- count = count + 1.
- **
- ENDDO.
- break 3j_abap.
- v_hr_fim = sy-uzeit.
- WRITE: 'Hora Início' , v_hr_inicio.
- WRITE: 'Hora fim' , v_hr_fim.
- * Save excel speadsheet to particular filename
- GET PROPERTY OF excel 'ActiveSheet' = sheet.
- CALL METHOD OF sheet 'SaveAs'
- EXPORTING #1 = 'C:\TEMP\tempexceldoc1.xls' "filename
- #2 = 1. "fileFormat
- ENDFORM. "zf_excel_export
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement