05-17-2012 10:29 AM
Hi, all!
I have transaction IH08. And i call it with predefined bdcdata
CALL TRANSACTION 'IH08' USING BDCDATA_tab MODE 'E'
messages into ITAB .
As a result i have some table.
I can manually save this table in EXCEL with Shift+F4 and so on...
How to code this functionality in ABAP? How to save result of transaction in EXCEL file automatically?
I have read a lot of threads..
If i will have some internal table - i'll easy export this internal table to EXCEL file.
How to get internal table after CALL TRANSACTION 'IH08' ? Or how to run transaction and get result in internal table ?
05-17-2012 12:31 PM
HI
http://wiki.sdn.sap.com/wiki/display/ABAP/Exporting+data+to+Excel+-+XML+to+the+rescue
follow this link for save the data into excel.
Regards
Mahesh
05-17-2012 12:44 PM
Thanks for reply!
There in code we work with internal table.
Question is - where i can find or create or something else that internal table?
I call transaction and... What next?
I don't see any internal table..
Maybe i should define one and import to is from transaction or something like that?
05-17-2012 1:02 PM
05-17-2012 1:19 PM
05-17-2012 12:50 PM
REPORT .
*&----------------------------------------------------*
*& TYPES *
*&----------------------------------------------------*
TYPES: BEGIN OF ty_titles,
title(20) TYPE c,
field(20) TYPE c,
END OF ty_titles.
*&----------------------------------------------------*
*& INTERNAL TABLES *
*&----------------------------------------------------*
DATA: t_titles TYPE STANDARD TABLE OF ty_titles.
*&----------------------------------------------------*
*& FIELD-SYMBOLS *
*&----------------------------------------------------*
FIELD-SYMBOLS: <fs_titles> LIKE LINE OF t_titles,
<fs> TYPE ANY.
*&----------------------------------------------------*
*& SELECTION-SCREEN *
*&----------------------------------------------------*
PARAMETERS pa_class TYPE KLAH-class .
PARAMETERS pa_dateb(10) TYPE c.
PARAMETERS pa_datev(10) TYPE c .
PARAMETERS: p_file TYPE rlgrap-filename.
*&----------------------------------------------------*
*& VARIABLES *
*&----------------------------------------------------*
DATA: bdcdata_wa TYPE bdcdata,
bdcdata_tab TYPE TABLE OF bdcdata.
DATA: ITAB TYPE TABLE OF BDCMSGCOLL.
DATA: filename TYPE string,
path TYPE string,
fullpath TYPE string.
DATA: data_titles TYPE REF TO data.
data: lo_ALV type ref to cl_gui_alv_grid.
*&----------------------------------------------------*
*& AT SELECTION-SCREEN *
*&----------------------------------------------------*
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
CALL METHOD cl_gui_frontend_services=>file_save_dialog
EXPORTING
window_title = 'Select archive'
default_extension = 'xls'
file_filter = '*.xls'
CHANGING
filename = filename
path = path
fullpath = fullpath.
IF sy-subrc EQ 0.
p_file = fullpath.
ENDIF.
*&----------------------------------------------------*
*& Form get_titles *
*&----------------------------------------------------*
FORM get_titles.
CREATE DATA data_titles TYPE ty_titles.
ASSIGN data_titles->* TO <fs_titles>.
<fs_titles>-title = 'Техническое место'.
<fs_titles>-field = 'TPLNR'.
APPEND <fs_titles> TO t_titles.
<fs_titles>-title = 'Название технического места'.
<fs_titles>-field = 'PLTXT'.
APPEND <fs_titles> TO t_titles.
<fs_titles>-title = 'Вышестоящая EO'.
<fs_titles>-field = 'HEQUI'.
APPEND <fs_titles> TO t_titles.
<fs_titles>-title = 'Ед. оборудования'.
<fs_titles>-field = 'EO'.
APPEND <fs_titles> TO t_titles.
<fs_titles>-title = 'Вид объекта'.
<fs_titles>-field = 'EQART'.
APPEND <fs_titles> TO t_titles.
<fs_titles>-title = 'Название технического объекта'.
<fs_titles>-field = 'EQKTX'.
APPEND <fs_titles> TO t_titles.
<fs_titles>-title = 'Название типа'.
<fs_titles>-field = 'TYPENAME'.
APPEND <fs_titles> TO t_titles.
<fs_titles>-title = 'СерНомерИзгот'.
<fs_titles>-field = 'SNUMBER'.
APPEND <fs_titles> TO t_titles.
<fs_titles>-title = 'Изготовит. установки'.
<fs_titles>-field = 'HERST'.
APPEND <fs_titles> TO t_titles.
<fs_titles>-title = 'Год выпуска'.
<fs_titles>-field = 'DYEAR'.
APPEND <fs_titles> TO t_titles.
<fs_titles>-title = 'Действ. С.'.
<fs_titles>-field = 'DATEB'.
APPEND <fs_titles> TO t_titles.
<fs_titles>-title = 'Действ. по'.
<fs_titles>-field = 'DATEV'.
APPEND <fs_titles> TO t_titles.
ENDFORM. "get_titles
*&----------------------------------------------------*
*& START-OF-SELECTION *
*&----------------------------------------------------*
START-OF-SELECTION.
CLEAR bdcdata_wa.
bdcdata_wa-program = 'RIEQUI20'.
bdcdata_wa-dynpro = '1000'.
bdcdata_wa-dynbegin = 'X'.
APPEND bdcdata_wa TO bdcdata_tab.
CLEAR bdcdata_wa.
bdcdata_wa-fnam = 'DATUV'.
bdcdata_wa-fval = pa_datev.
APPEND bdcdata_wa TO bdcdata_tab.
CLEAR bdcdata_wa.
bdcdata_wa-fnam = 'DATUB'.
bdcdata_wa-fval = pa_dateb.
APPEND bdcdata_wa TO bdcdata_tab.
CLEAR bdcdata_wa.
bdcdata_wa-fnam = 'DY_KLART'.
bdcdata_wa-fval = '002'.
APPEND bdcdata_wa TO bdcdata_tab.
CLEAR bdcdata_wa.
bdcdata_wa-fnam = 'DY_CLASS'.
bdcdata_wa-fval = pa_class.
APPEND bdcdata_wa TO bdcdata_tab.
CLEAR bdcdata_wa.
bdcdata_wa-fnam = 'SWERK-LOW'.
bdcdata_wa-fval = '0010'.
APPEND bdcdata_wa TO bdcdata_tab.
CLEAR bdcdata_wa.
bdcdata_wa-fnam = 'VARIANT'.
bdcdata_wa-fval = '/MTBF'.
APPEND bdcdata_wa TO bdcdata_tab.
CLEAR bdcdata_wa.
bdcdata_wa-fnam = 'BDC_OKCODE'.
bdcdata_wa-fval = '=OKAY'.
APPEND bdcdata_wa TO bdcdata_tab.
CALL TRANSACTION 'IH08' USING BDCDATA_tab MODE 'E'
messages into ITAB .
PERFORM get_titles .
CALL FUNCTION 'MS_EXCEL_OLE_STANDARD_DAT'
EXPORTING
file_name = p_file " path offile where u need to download
* CREATE_PIVOT = 0
* DATA_SHEET_NAME = ' '
* PIVOT_SHEET_NAME = ' '
* PASSWORD = ' '
* PASSWORD_OPTION = 0
TABLES
* PIVOT_FIELD_TAB =
EXCEPTIONS
file_not_exist = 1
filename_expected = 2
communication_error = 3
ole_object_method_error = 4
ole_object_property_error = 5
invalid_filename = 6
invalid_pivot_fields = 7
download_problem = 8
OTHERS = 9
.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
05-17-2012 12:57 PM
05-17-2012 2:38 PM
Moderator message - basic question locked and points unassigned.
Rob