Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

export to excel

Former Member
0 Likes
507

Hi expert,

I have one code to transfer table content into excel but it only for specific table that i given in program. but my need is to get dynamically table content that i given in parameter of selection screen.

here is my code :-

REPORT  ZMS_EXCEL.

TABLES: USR03,DD02L.

DATA: ZX030L LIKE X030L.

DATA BEGIN OF ZDFIES OCCURS 0.

     INCLUDE STRUCTURE DFIES.

DATA END OF ZDFIES.

DATA: BEGIN OF FLDITAB OCCURS 0,

      FLDNAME(11) TYPE C,

      END OF FLDITAB.

DATA ITABUSR03 LIKE USR03 OCCURS 0 WITH HEADER LINE.

DATA TNAME LIKE DD02L-TABNAME.

SELECT * FROM USR03 INTO TABLE ITABUSR03.

TNAME = 'USR03'.

PERFORM GETFIELEDS.

PERFORM SHOW123.

********************************************

FORM GETFIELEDS.

     CALL FUNCTION 'GET_FIELDTAB'

      EXPORTING

          LANGU              = SY-LANGU

          ONLY               = SPACE

          TABNAME            = TNAME

          WITHTEXT           = 'X'

      IMPORTING

          HEADER             = ZX030L

      TABLES

          FIELDTAB           = ZDFIES

      EXCEPTIONS

          INTERNAL_ERROR      = 01

          NO_TEXTS_FOUND      = 02

          TABLE_HAS_NO_FIELDS = 03

          TABLE_NOT_ACTIV     = 04.

     CASE SY-SUBRC.

        WHEN 0.

          LOOP AT ZDFIES.

               FLDITAB-FLDNAME = ZDFIES-FIELDNAME.

               APPEND FLDITAB.

          ENDLOOP.

        WHEN OTHERS.

             MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

              with  SY-SUBRC.

      ENDCASE.

ENDFORM.

***********************************

FORM SHOW123.

CALL FUNCTION 'EXCEL_OLE_STANDARD_DAT'

     EXPORTING

          FILE_NAME                 = 'C:\USR03.XLS'

          DATA_SHEET_NAME           = 'USER LIST'

    TABLES

         DATA_TAB                  =  ITABUSR03

         FIELDNAMES                =  FLDITAB

    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.

ENDFORM.

Hi expert,

I have one code to transfer table content into excel but it only for specific table that i given in program. but my need is to get dynamically table content that i given in parameter of selection screen.

here is my code :-

REPORT  ZMS_EXCEL.

TABLES: USR03,DD02L.

DATA: ZX030L LIKE X030L.

DATA BEGIN OF ZDFIES OCCURS 0.

     INCLUDE STRUCTURE DFIES.

DATA END OF ZDFIES.

DATA: BEGIN OF FLDITAB OCCURS 0,

      FLDNAME(11) TYPE C,

      END OF FLDITAB.

DATA ITABUSR03 LIKE USR03 OCCURS 0 WITH HEADER LINE.

DATA TNAME LIKE DD02L-TABNAME.

SELECT * FROM USR03 INTO TABLE ITABUSR03.

TNAME = 'USR03'.

PERFORM GETFIELEDS.

PERFORM SHOW123.

********************************************

FORM GETFIELEDS.

     CALL FUNCTION 'GET_FIELDTAB'

      EXPORTING

          LANGU              = SY-LANGU

          ONLY               = SPACE

          TABNAME            = TNAME

          WITHTEXT           = 'X'

      IMPORTING

          HEADER             = ZX030L

      TABLES

          FIELDTAB           = ZDFIES

      EXCEPTIONS

          INTERNAL_ERROR      = 01

          NO_TEXTS_FOUND      = 02

          TABLE_HAS_NO_FIELDS = 03

          TABLE_NOT_ACTIV     = 04.

     CASE SY-SUBRC.

        WHEN 0.

          LOOP AT ZDFIES.

               FLDITAB-FLDNAME = ZDFIES-FIELDNAME.

               APPEND FLDITAB.

          ENDLOOP.

        WHEN OTHERS.

             MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

              with  SY-SUBRC.

      ENDCASE.

ENDFORM.

***********************************

FORM SHOW123.

CALL FUNCTION 'EXCEL_OLE_STANDARD_DAT'

     EXPORTING

          FILE_NAME                 = 'C:\USR03.XLS'

          DATA_SHEET_NAME           = 'USER LIST'

    TABLES

         DATA_TAB                  =  ITABUSR03

         FIELDNAMES                =  FLDITAB

    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.

ENDFORM.

2 REPLIES 2
Read only

Mohamed_Mukhtar
Active Contributor
0 Likes
461

Hello Atul,

Please check the below program

REPORT  ZTEST_SCN no standard page heading.

parameters : p_tname type TABNAME.

data it_dyntab type ref to data.
field-symbols <fs_any> type any table.

start-of-selection.

   create data it_dyntab type standard table of (p_tname).
   assign it_dyntab->* to <fs_any>.
   select * from (p_tname) into table <fs_any> up to 100 rows.
   break-point.
   IF SY-SUBRC = 0.
     CALL METHOD CL_GUI_FRONTEND_SERVICES=>GUI_DOWNLOAD
       EXPORTING
         FILENAME = 'C:\test_scn.xls'
       CHANGING
         DATA_TAB = <fs_any>.
   ENDIF.
Read only

GirieshM
Active Contributor
0 Likes
461