Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 4

INCLUDE OLE2INCL.

* handles for OLE objects DATA: H_EXCEL TYPE OLE2_OBJECT, " H_MAPL TYPE OLE2_OBJECT, " H_MAP TYPE OLE2_OBJECT, " H_ZL TYPE OLE2_OBJECT, " H_F TYPE OLE2_OBJECT. " TABLES: SPFLI. DATA H TYPE I. * table of flights DATA: IT_SPFLI LIKE SPFLI OCCURS 10 WITH

Excel object list of workbooks workbook cell font

HEADER LINE.

*&---------------------------------------------------------------------* *& Event START-OF-SELECTION *&---------------------------------------------------------------------* START-OF-SELECTION. * read flights SELECT * FROM SPFLI INTO TABLE IT_SPFLI UP TO 10 ROWS. * display header ULINE (61). WRITE: / SY-VLINE NO-GAP, (3) 'Flg'(001) COLOR COL_HEADING NO-GAP, SY-VLINE NO-GAP, (4) 'Nr'(002) COLOR COL_HEADING NO-GAP, SY-VLINE NO-GAP, (20) 'Von'(003) COLOR COL_HEADING NO-GAP, SY-VLINE NO-GAP, (20) 'Nach'(004) COLOR COL_HEADING NO-GAP, SY-VLINE NO-GAP, (8) 'Zeit'(005) COLOR COL_HEADING NO-GAP, SY-VLINE NO-GAP. ULINE /(61). * display flights LOOP AT IT_SPFLI. WRITE: / SY-VLINE NO-GAP, IT_SPFLI-CARRID COLOR COL_KEY NO-GAP, SY-VLINE NO-GAP, IT_SPFLI-CONNID COLOR COL_NORMAL NO-GAP, SY-VLINE NO-GAP, IT_SPFLI-CITYFROM COLOR COL_NORMAL NO-GAP, SY-VLINE NO-GAP, IT_SPFLI-CITYTO COLOR COL_NORMAL NO-GAP, SY-VLINE NO-GAP, IT_SPFLI-DEPTIME COLOR COL_NORMAL NO-GAP, SY-VLINE NO-GAP. ENDLOOP. ULINE /(61). * tell user what is going on CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR' EXPORTING * PERCENTAGE = 0 TEXT = TEXT-007 EXCEPTIONS OTHERS = 1. * start Excel CREATE OBJECT H_EXCEL 'EXCEL.APPLICATION'. * PERFORM ERR_HDL.

* .

SET PROPERTY OF H_EXCEL 'Visible' = 1. CALL METHOD OF H_EXCEL 'FILESAVEAS' EXPORTING #1 = 'c:\kis_excel.xls'

* PERFORM ERR_HDL. * tell user what is going on CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR' EXPORTING * PERCENTAGE = 0 TEXT = TEXT-008 EXCEPTIONS OTHERS = 1. * get list of workbooks, initially empty CALL METHOD OF H_EXCEL 'Workbooks' = H_MAPL. PERFORM ERR_HDL. * add a new workbook CALL METHOD OF H_MAPL 'Add' = H_MAP. PERFORM ERR_HDL. * tell user what is going on CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR' EXPORTING * PERCENTAGE = 0 TEXT = TEXT-009 EXCEPTIONS OTHERS = 1. * output column headings to active Excel sheet PERFORM FILL_CELL USING 1 1 1 'Flug'(001). PERFORM FILL_CELL USING 1 2 0 'Nr'(002). PERFORM FILL_CELL USING 1 3 1 'Von'(003). PERFORM FILL_CELL USING 1 4 1 'Nach'(004). PERFORM FILL_CELL USING 1 5 1 'Zeit'(005). LOOP AT IT_SPFLI. * copy flights to active EXCEL sheet H = SY-TABIX + 1. PERFORM FILL_CELL USING H 1 0 IT_SPFLI-CARRID. PERFORM FILL_CELL USING H 2 0 IT_SPFLI-CONNID. PERFORM FILL_CELL USING H 3 0 IT_SPFLI-CITYFROM. PERFORM FILL_CELL USING H 4 0 IT_SPFLI-CITYTO. PERFORM FILL_CELL USING H 5 0 IT_SPFLI-DEPTIME. ENDLOOP. * changes by Kishore - start * CALL METHOD OF H_EXCEL 'Workbooks' = H_MAPL. CALL METHOD OF H_EXCEL 'Worksheets' = H_MAPL." EXPORTING #1 = 2. PERFORM ERR_HDL. * add a new workbook CALL METHOD OF H_MAPL 'Add' = H_MAP PERFORM ERR_HDL.

EXPORTING #1 = 2.

* tell user what is going on SET PROPERTY OF H_MAP 'NAME' = 'COPY'. CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR' EXPORTING * PERCENTAGE = 0 TEXT = TEXT-009 EXCEPTIONS OTHERS = 1. * output column headings to active Excel sheet PERFORM FILL_CELL USING 1 1 1 'Flug'(001). PERFORM FILL_CELL USING 1 2 0 'Nr'(002). PERFORM FILL_CELL USING 1 3 1 'Von'(003). PERFORM FILL_CELL USING 1 4 1 'Nach'(004). PERFORM FILL_CELL USING 1 5 1 'Zeit'(005). LOOP AT IT_SPFLI. * copy flights to active EXCEL sheet H = SY-TABIX + 1. PERFORM FILL_CELL USING H 1 0 IT_SPFLI-CARRID. PERFORM FILL_CELL USING H 2 0 IT_SPFLI-CONNID. PERFORM FILL_CELL USING H 3 0 IT_SPFLI-CITYFROM. PERFORM FILL_CELL USING H 4 0 IT_SPFLI-CITYTO. PERFORM FILL_CELL USING H 5 0 IT_SPFLI-DEPTIME. ENDLOOP. * changes by Kishore - end * disconnect from Excel * CALL METHOD OF H_EXCEL 'FILESAVEAS' EXPORTING

#1 = 'C:\SKV.XLS'.

FREE OBJECT H_EXCEL. PERFORM ERR_HDL. *---------------------------------------------------------------------* * FORM FILL_CELL * *---------------------------------------------------------------------* * sets cell at coordinates i,j to value val boldtype bold * *---------------------------------------------------------------------* FORM FILL_CELL USING I J BOLD VAL. CALL METHOD OF H_EXCEL 'Cells' = H_ZL EXPORTING #1 = I #2 = J. PERFORM ERR_HDL. SET PROPERTY OF H_ZL 'Value' = VAL . PERFORM ERR_HDL. GET PROPERTY OF H_ZL 'Font' = H_F. PERFORM ERR_HDL. SET PROPERTY OF H_F 'Bold' = BOLD . PERFORM ERR_HDL. ENDFORM. *&---------------------------------------------------------------------* *& Form ERR_HDL *&---------------------------------------------------------------------* * outputs OLE error if any * *----------------------------------------------------------------------* * --> p1 text

* <-- p2 text *----------------------------------------------------------------------* FORM ERR_HDL. IF SY-SUBRC <> 0. WRITE: / 'Fehler bei OLE-Automation:'(010), SY-SUBRC. STOP. ENDIF. ENDFORM.

You might also like