REPORT ZDDTEST006.
TYPE-POOLS OLE2.
DATA: V_EXCEL TYPE OLE2_OBJECT,
V_SHEET TYPE OLE2_OBJECT,
V_SHEET2 TYPE OLE2_OBJECT,
V_NEW_SHEET TYPE OLE2_OBJECT,
V_ACTIVESHEET TYPE OLE2_OBJECT,
V_BOOK TYPE OLE2_OBJECT,
V_APPLICATION TYPE OLE2_OBJECT,
V_CELL TYPE OLE2_OBJECT,
V_RANGE TYPE OLE2_OBJECT,
V_FONT TYPE OLE2_OBJECT,
V_COLOR TYPE OLE2_OBJECT,
V_COLUMN TYPE OLE2_OBJECT.
DATA: BEGIN OF GW_STOCK,
WERKS LIKE MARD-WERKS,
MATNR LIKE MARD-MATNR,
LGORT LIKE MARD-LGORT,
LABST LIKE MARD-LABST,
END OF GW_STOCK.
DATA: GT_STOCK LIKE TABLE OF GW_STOCK.
DATA: G_TABIX LIKE SY-TABIX,
G_CELL TYPE I.
FIELD-SYMBOLS: <FIELD> TYPE ANY.
DEFINE FILL_CELL.
CALL METHOD OF V_EXCEL 'CELLS' = V_CELL
EXPORTING
#1 = &1
#2 = &2.
SET PROPERTY OF V_CELL 'VALUE' = &3.
CALL METHOD OF V_CELL 'FONT' = V_FONT.
SET PROPERTY OF V_FONT 'Bold' = &4.
SET PROPERTY OF V_FONT 'size' = &5.
END-OF-DEFINITION.
PARAMETERS: P_PATH LIKE RLGRAP-FILENAME.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_PATH.
CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
EXPORTING
MASK = ''
STATIC = 'X'
CHANGING
FILE_NAME = P_PATH.
START-OF-SELECTION.
SELECT WERKS MATNR LGORT LABST
UP TO 1000 ROWS
INTO CORRESPONDING FIELDS OF TABLE GT_STOCK
FROM MARD
WHERE WERKS = 'CN06'.
CREATE OBJECT V_EXCEL 'EXCEL.APPLICATION'.
CALL METHOD OF V_EXCEL 'WORKBOOKS' = V_BOOK.
CALL METHOD OF V_BOOK 'ADD'.
CALL METHOD OF V_EXCEL 'SHEETS' = V_SHEET.
CALL METHOD OF V_SHEET 'Add'.
CALL METHOD OF V_SHEET 'Add'.
CALL METHOD OF V_EXCEL 'WORKSHEETS' = V_SHEET
EXPORTING
#1 = 'SHEET2'.
CALL METHOD OF V_SHEET 'ACTIVATE'.
FILL_CELL 1 1 'Storage Location Data for Material' 1 14.
SET PROPERTY OF V_CELL 'HORIZONTALALIGNMENT' = -4108.
SET PROPERTY OF V_FONT 'UNDERLINE' = 2.
FILL_CELL 2 1 'Plant' 1 10.
FILL_CELL 2 2 'Material' 1 10.
FILL_CELL 2 3 'Storage Location' 1 10.
FILL_CELL 2 4 'Valuated Stock' 1 10.
CALL METHOD OF V_EXCEL 'RANGE' = V_RANGE
EXPORTING
#1 = 'A1'
#2 = 'E1'.
CALL METHOD OF V_RANGE 'SELECT'.
SET PROPERTY OF V_RANGE 'MERGECELLS' = 1.
LOOP AT GT_STOCK INTO GW_STOCK.
G_TABIX = SY-TABIX + 2.
DO 4 TIMES.
G_CELL = SY-INDEX.
ASSIGN COMPONENT G_CELL OF STRUCTURE GW_STOCK TO <FIELD>.
FILL_CELL G_TABIX G_CELL <FIELD> 1 10.
ENDDO.
IF G_CELL = 4 AND <FIELD> <= 0.
CALL METHOD OF V_CELL 'INTERIOR' = V_COLOR.
SET PROPERTY OF V_COLOR 'COLORINDEX' = 3.
ENDIF.
ENDLOOP.
CALL METHOD OF V_EXCEL 'COLUMNS' = V_COLUMN.
CALL METHOD OF V_COLUMN 'Autofit'.
SET PROPERTY OF V_EXCEL 'VISIBLE' = 1.
CALL METHOD OF V_SHEET 'SAVEAS'
EXPORTING
#1 = P_PATH
#2 = 1.
|