FORM create_word .
DATA space_char TYPE string VALUE 'space '.
* CONCATENATE space space INTO text SEPARATED BY space.
* data
CREATE OBJECT gs_word 'WORD.APPLICATION' .
IF sy-subrc NE 0.
MESSAGE s000(su) WITH 'Error while creating OLE object!'.
LEAVE PROGRAM .
ENDIF .
*--Setting object's visibility property
SET PROPERTY OF gs_word 'Visible' = '1' .
*--Opening a new document
GET PROPERTY OF gs_word 'Documents' = gs_documents .
CALL METHOD OF gs_documents 'Add' .
*--Getting active document handle
GET PROPERTY OF gs_word 'ActiveDocument' = gs_actdoc .
*--Getting applications handle
GET PROPERTY OF gs_actdoc 'Application' = gs_application .
*--Setting the measurement unit
GET PROPERTY OF gs_application 'Options' = gs_options .
SET PROPERTY OF gs_options 'MeasurementUnit' = '1' . "CM
*--Getting handle for the selection which is here the character at the
*--cursor position
GET PROPERTY OF gs_application 'Selection' = gs_selection .
GET PROPERTY OF gs_selection 'Font' = gs_font .
GET PROPERTY OF gs_selection 'ParagraphFormat' = gs_parformat .
*--Setting font attributes
SET PROPERTY OF gs_font 'Name' = 'Times New Roman' .
SET PROPERTY OF gs_font 'Size' = '12' .
SET PROPERTY OF gs_font 'Bold' = '1' . "Not bold
SET PROPERTY OF gs_font 'Italic' = '0' . "Italic
SET PROPERTY OF gs_font 'Underline' = '0' . "Not underlined
*--Setting paragraph format attributes
SET PROPERTY OF gs_parformat 'Alignment' = '1' . "Right-justified
CALL METHOD OF gs_selection 'TypeText'
EXPORTING
#1 = 'Dumy data'.
*--change of line
CALL METHOD OF gs_selection 'TypeParagraph' .
SET PROPERTY OF gs_font 'Name' = 'Times New Roman' .
SET PROPERTY OF gs_font 'Size' = '10' .
SET PROPERTY OF gs_font 'Bold' = '0' . "Not bold
SET PROPERTY OF gs_parformat 'Alignment' = '0' . "Right-justified
CALL METHOD OF gs_selection 'TypeText'
EXPORTING
#1 = 'Dumy data :'.
SET PROPERTY OF gs_font 'Name' = 'Times New Roman' .
SET PROPERTY OF gs_font 'Size' = '01' .
SET PROPERTY OF gs_font 'Bold' = '0' . "Not bold
SET PROPERTY OF gs_font 'ColorIndex' = 8. " 1- black 8-white
SET PROPERTY OF gs_parformat 'Alignment' = '0' . "Right-justified
CALL METHOD OF gs_selection 'TypeText'
EXPORTING
#1 = space_char.
SET PROPERTY OF gs_font 'Name' = 'Times New Roman' .
SET PROPERTY OF gs_font 'Size' = '10' .
SET PROPERTY OF gs_font 'Bold' = '1' . "Not bold
SET PROPERTY OF gs_font 'ColorIndex' = 1. " 1- black 2-white
SET PROPERTY OF gs_parformat 'Alignment' = '0' . "Right-justified
CALL METHOD OF gs_selection 'TypeText'
EXPORTING
#1 = gs_header-name_approver.
CALL METHOD OF gs_selection 'TypeParagraph' .
SET PROPERTY OF gs_font 'Name' = 'Times New Roman' .
SET PROPERTY OF gs_font 'Size' = '10' .
SET PROPERTY OF gs_font 'Bold' = '0' . "Not bold
SET PROPERTY OF gs_parformat 'Alignment' = '0' . "Right-justified
CALL METHOD OF gs_selection 'TypeText'
EXPORTING
#1 = 'Dumy data :'.
SET PROPERTY OF gs_font 'Name' = 'Times New Roman' .
SET PROPERTY OF gs_font 'Size' = '01' .
SET PROPERTY OF gs_font 'Bold' = '0' . "Not bold
SET PROPERTY OF gs_font 'ColorIndex' = 8. " 1- black 8-white
SET PROPERTY OF gs_parformat 'Alignment' = '0' . "Right-justified
CALL METHOD OF gs_selection 'TypeText'
EXPORTING
#1 = space_char.
SET PROPERTY OF gs_font 'Name' = 'Times New Roman' .
SET PROPERTY OF gs_font 'Size' = '10' .
SET PROPERTY OF gs_font 'Bold' = '1' . "Not bold
SET PROPERTY OF gs_font 'ColorIndex' = 1. " 1- black 8-white
SET PROPERTY OF gs_parformat 'Alignment' = '0' . "Right-justified
CALL METHOD OF gs_selection 'TypeText'
EXPORTING
#1 = sy-datum.
CALL METHOD OF gs_selection 'TypeParagraph' .
SET PROPERTY OF gs_font 'Name' = 'Times New Roman' .
SET PROPERTY OF gs_font 'Size' = '10' .
SET PROPERTY OF gs_font 'BOLD' = '0'.
SET PROPERTY OF gs_parformat 'Alignment' = '0' . "Right-justified
CALL METHOD OF gs_selection 'TypeText'
EXPORTING
#1 = 'Dumy data : '.
SET PROPERTY OF gs_font 'Name' = 'Times New Roman' .
SET PROPERTY OF gs_font 'Size' = '10' .
SET PROPERTY OF gs_font 'Bold' = '1' . "Not bold
SET PROPERTY OF gs_parformat 'Alignment' = '0' . "Right-justified
CALL METHOD OF gs_selection 'TypeText'
EXPORTING
#1 = ' '.
CALL METHOD OF gs_selection 'TypeParagraph' .
SET PROPERTY OF gs_font 'Name' = 'Times New Roman' .
SET PROPERTY OF gs_font 'Size' = '10' .
SET PROPERTY OF gs_font 'Bold' = '0' . "Not bold
SET PROPERTY OF gs_font 'ColorIndex' = 1. " 1- black 8-white
SET PROPERTY OF gs_parformat 'Alignment' = '0' . "Right-justified
CALL METHOD OF gs_selection 'TypeText'
EXPORTING
#1 = 'Dumy data : '.
SET PROPERTY OF gs_font 'Name' = 'Times New Roman' .
SET PROPERTY OF gs_font 'Size' = 1 .
SET PROPERTY OF gs_font 'Bold' = '0' . "Not bold
SET PROPERTY OF gs_font 'ColorIndex' = 8. " 1- black 8-white
SET PROPERTY OF gs_parformat 'Alignment' = '0' . "Right-justified
CALL METHOD OF gs_selection 'TypeText'
EXPORTING
#1 = space_char.
SET PROPERTY OF gs_font 'Name' = 'Times New Roman' .
SET PROPERTY OF gs_font 'Size' = '10' .
SET PROPERTY OF gs_font 'Bold' = '1' . "Not bold
SET PROPERTY OF gs_font 'ColorIndex' = 1. " 1- black 2-white
SET PROPERTY OF gs_parformat 'Alignment' = '0' . "Right-justified
CALL METHOD OF gs_selection 'TypeText'
EXPORTING
#1 = 'Dumy data'.
CALL METHOD OF gs_selection 'TypeParagraph' .
SET PROPERTY OF gs_font 'Name' = 'Times New Roman' .
SET PROPERTY OF gs_font 'Size' = '10' .
SET PROPERTY OF gs_font 'Bold' = '0' . "Not bold
SET PROPERTY OF gs_parformat 'Alignment' = '0' . "Right-justified
CALL METHOD OF gs_selection 'TypeText'
EXPORTING
#1 = 'Dumy data : '.
SET PROPERTY OF gs_font 'Name' = 'Times New Roman' .
SET PROPERTY OF gs_font 'Size' = '10' .
SET PROPERTY OF gs_font 'Bold' = '1' . "Not bold
SET PROPERTY OF gs_parformat 'Alignment' = '0' . "Right-justified
CALL METHOD OF gs_selection 'TypeText'
EXPORTING
#1 = ' '.
CALL METHOD OF gs_selection 'TypeParagraph' .
SET PROPERTY OF gs_font 'Name' = 'Times New Roman' .
SET PROPERTY OF gs_font 'Size' = '10' .
SET PROPERTY OF gs_font 'Bold' = '0' . "Not bold
SET PROPERTY OF gs_parformat 'Alignment' = '1' . "Right-justified
CALL METHOD OF gs_selection 'TypeText'
EXPORTING
#1 = 'Dumy data : '.
*--Advancing cursor to the new line
CALL METHOD OF gs_selection 'TypeParagraph' .
DESCRIBE TABLE gt_item LINES DATA(lv_item_count).
DATA(lv_row) = lv_item_count + 1.
*--Getting entity handles for the entities on the way
GET PROPERTY OF gs_actdoc 'Tables' = gs_tables .
GET PROPERTY OF gs_selection 'Range' = gs_range .
*--Adding a table with 3 rows and 2 columns
CALL METHOD OF gs_tables 'Add' = gs_table
EXPORTING
#1 = gs_range " Handle for range entity
#2 = lv_row "Number of rows
#3 = '5'. "Number of columns
*--Setting border attribute for the table
GET PROPERTY OF gs_table 'Borders' = gs_table_border .
SET PROPERTY OF gs_table_border 'Enable' = '1' . "With border
*--Filling the table with dummy data
*--Reseting font attributes for table content
SET PROPERTY OF gs_font 'Name' = 'Garamond' .
SET PROPERTY OF gs_font 'Size' = '11' .
SET PROPERTY OF gs_font 'Bold' = '1' . "Not bold
SET PROPERTY OF gs_font 'Italic' = '0' . "Not Italic
SET PROPERTY OF gs_font 'Underline' = '0' . "Not underlined
SET PROPERTY OF gs_parformat 'Alignment' = '1' . "Right-justified
*--Getting cell coordinates
CALL METHOD OF gs_table 'Cell' = gs_cell
EXPORTING
#1 = '1' "first row
#2 = '1'. "first column
*--Getting the range handle to write the text
GET PROPERTY OF gs_cell 'Range' = gs_range .
*--Filling the cell
SET PROPERTY OF gs_range 'Text' = 'Dumy data' .
*--Getting cell coordinates
CALL METHOD OF gs_table 'Cell' = gs_cell
EXPORTING
#1 = '1'
#2 = '2'.
*--Getting the range handle to write the text
GET PROPERTY OF gs_cell 'Range' = gs_range .
*--Filling the cell
SET PROPERTY OF gs_range 'Text' = 'Dumy data' .
*--Getting cell coordinates
CALL METHOD OF gs_table 'Cell' = gs_cell
EXPORTING
#1 = '1' "first row
#2 = '3'. "first column
*--Getting the range handle to write the text
GET PROPERTY OF gs_cell 'Range' = gs_range .
*--Filling the cell
SET PROPERTY OF gs_range 'Text' = 'Dumy data' .
*--Getting cell coordinates
CALL METHOD OF gs_table 'Cell' = gs_cell
EXPORTING
#1 = '1' "first row
#2 = '4'. "first column
*--Getting the range handle to write the text
GET PROPERTY OF gs_cell 'Range' = gs_range .
*--Filling the cell
SET PROPERTY OF gs_range 'Text' = 'Dumy data' .
*--Getting cell coordinates
CALL METHOD OF gs_table 'Cell' = gs_cell
EXPORTING
#1 = '1' "first row
#2 = '5'. "first column
*--Getting the range handle to write the text
GET PROPERTY OF gs_cell 'Range' = gs_range .
*--Filling the cell
SET PROPERTY OF gs_range 'Text' = 'Dumy data' .
LOOP AT gt_item INTO DATA(ls_item).
DATA(lv_dta_row) = sy-tabix + 1.
SET PROPERTY OF gs_font 'Bold' = '0' . "Not bold
SET PROPERTY OF gs_parformat 'Alignment' = '1' . "Right-justified
*--Getting cell coordinates
CALL METHOD OF gs_table 'Cell' = gs_cell
EXPORTING
#1 = lv_dta_row "first row
#2 = '1'. "first column
*--Getting the range handle to write the text
GET PROPERTY OF gs_cell 'Range' = gs_range .
*--Filling the cell
SET PROPERTY OF gs_range 'Text' = ls_item-Dumy data .
*--Getting cell coordinates
CALL METHOD OF gs_table 'Cell' = gs_cell
EXPORTING
#1 = lv_dta_row
#2 = '2'.
*--Getting the range handle to write the text
GET PROPERTY OF gs_cell 'Range' = gs_range .
*--Filling the cell
SET PROPERTY OF gs_range 'Text' = ls_item-Dumy data .
*--Getting cell coordinates
CALL METHOD OF gs_table 'Cell' = gs_cell
EXPORTING
#1 = lv_dta_row "first row
#2 = '3'. "first column
*--Getting the range handle to write the text
GET PROPERTY OF gs_cell 'Range' = gs_range .
*--Filling the cell
SET PROPERTY OF gs_range 'Text' = ls_item-Dumy data .
*--Getting cell coordinates
CALL METHOD OF gs_table 'Cell' = gs_cell
EXPORTING
#1 = lv_dta_row "first row
#2 = '4'. "first column
*--Getting the range handle to write the text
GET PROPERTY OF gs_cell 'Range' = gs_range .
*--Filling the cell
SET PROPERTY OF gs_range 'Text' = ls_item-Dumy data .
*--Getting cell coordinates
CALL METHOD OF gs_table 'Cell' = gs_cell
EXPORTING
#1 = lv_dta_row "first row
#2 = '5'. "first column
*--Getting the range handle to write the text
GET PROPERTY OF gs_cell 'Range' = gs_range .
*--Filling the cell
SET PROPERTY OF gs_range 'Text' = ls_item-chenh_lech_ksg .
ENDLOOP.
GET PROPERTY OF gs_table 'Range' = gs_range .
GET PROPERTY OF gs_range 'End' = gv_pos .
SET PROPERTY OF gs_range 'Start' = gv_pos .
CALL METHOD OF gs_range 'Select' .
SET PROPERTY OF gs_font 'Name' = 'Times New Roman' .
SET PROPERTY OF gs_font 'Size' = '10' .
SET PROPERTY OF gs_font 'Bold' = '0' .
SET PROPERTY OF gs_parformat 'Alignment' = '0' .
CALL METHOD OF gs_selection 'TypeText'
EXPORTING
#1 = 'Dumy data'.
CALL METHOD OF gs_selection 'TypeParagraph' .
SET PROPERTY OF gs_font 'Name' = 'Times New Roman' .
SET PROPERTY OF gs_font 'Size' = '11' .
SET PROPERTY OF gs_font 'Bold' = '1' .
SET PROPERTY OF gs_parformat 'Alignment' = '0' .
CALL METHOD OF gs_selection 'TypeText'
EXPORTING
#1 = 'Dumy data'.
CALL METHOD OF gs_selection 'TypeParagraph' .
SET PROPERTY OF gs_font 'Name' = 'Times New Roman' .
SET PROPERTY OF gs_font 'Size' = '10' .
SET PROPERTY OF gs_font 'Bold' = '1' .
SET PROPERTY OF gs_parformat 'Alignment' = '0' .
CALL METHOD OF gs_selection 'TypeText'
EXPORTING
#1 =
'..................................................................................
...................................................................................
...........'.
CALL METHOD OF gs_selection 'TypeParagraph' .
SET PROPERTY OF gs_font 'Name' = 'Times New Roman' .
SET PROPERTY OF gs_font 'Size' = '10' .
SET PROPERTY OF gs_font 'Bold' = '1' .
SET PROPERTY OF gs_parformat 'Alignment' = '0' .
CALL METHOD OF gs_selection 'TypeText'
EXPORTING
#1 =
'..................................................................................
...................................................................................
...........'.
CALL METHOD OF gs_selection 'TypeParagraph' .
SET PROPERTY OF gs_font 'Name' = 'Times New Roman' .
SET PROPERTY OF gs_font 'Size' = '10' .
SET PROPERTY OF gs_font 'Bold' = '1' .
SET PROPERTY OF gs_parformat 'Alignment' = '0' .
CALL METHOD OF gs_selection 'TypeText'
EXPORTING
#1 =
'..................................................................................
...................................................................................
...........'.
DO 2 TIMES.
CALL METHOD OF gs_selection 'TypeParagraph' .
ENDDO.
SET PROPERTY OF gs_font 'Name' = 'Times New Roman' .
SET PROPERTY OF gs_font 'Size' = '10' .
SET PROPERTY OF gs_font 'Bold' = '1' .
SET PROPERTY OF gs_parformat 'Alignment' = '0' .
CALL METHOD OF gs_selection 'TypeText'
EXPORTING
#1 = ' Dumy data '.
CALL METHOD OF gs_actdoc 'SaveAs2'
EXPORTING
#1 = gd_fullpath.
FREE OBJECT gs_word.
ENDFORM.