Function Module to download output in .xls format

Hi gurus,
   Please tell me the name of the function module which automatically download my output into excel file when i press execute.
Regards
Deepak
<b>Reward Point is Must</b>

see the below code where i used the FM gui_download to get the data into .xls file
<b>the first gui_download is for the headings and the second one in bold letters is for the data.</b>
REPORT  YSG_MATSTK_REPT    LINE-SIZE 220
                           LINE-COUNT 50(5).
*&                       DATA DECLARATION                              *
TABLES: MARA,                      "GENERAL MASTER DATA
        MARC,                      "PLANT DATA FOR MATERIAL
        MARD,                      "STORAGE LOCATION DATA FOR MATERIAL
        MBEW,                      "MATERIAL VALUATION
        MVKE,                      "SALES DATA FOR MATERIAL
        MAKT,                      "MATERIAL DESCRIPTION
        EKKO,                      "PURCHASING DOCUMENT HEADER
        EKPO,                      "PURCHASING DOCUMENT ITEM
        VBAK,                      "SALES DOCUMENT HEADER DATA
        VBAP.                      "SALES DOCUMENT ITEM DATA
TYPE-POOLS : SLIS.
DATA: VT_FIELDCAT1 TYPE SLIS_T_FIELDCAT_ALV,
      V_FIELDCAT TYPE SLIS_FIELDCAT_ALV,
      V_LAYOUT TYPE SLIS_LAYOUT_ALV,
      BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE,
      BEGIN OF I_MARA OCCURS 0,
         MATNR LIKE MARA-MATNR,  "MATERIAL NUMBER
         MBRSH LIKE MARA-MBRSH,  "INDUSTRY SECTOR
         MEINS LIKE MARA-MEINS,  "BASE UNIT OF MEASURE
         MATKL LIKE MARA-MATKL,  "MATERIAL GROUP
      END OF I_MARA,
      BEGIN OF I_MARC OCCURS 0,
         MATNR LIKE MARC-MATNR,  "MATERIAL NUMBER
         WERKS LIKE MARC-WERKS,  "PLANT
         LVORM LIKE MARC-LVORM,  "FLAG MATERIAL FOR DELETION AT PLANT
                                  "LEVEL
         DISPO LIKE MARC-DISPO,  "MRP CONTROLLER
      END OF I_MARC,
      BEGIN OF I_MAKT OCCURS 0,
         MATNR LIKE MAKT-MATNR,  "MATERIAL NUMBER
         MAKTX LIKE MAKT-MAKTX,  "MATERIAL DESCRIPTION
         SPRAS LIKE MAKT-SPRAS,  "LANGUAGE KEY
      END OF I_MAKT,
      BEGIN OF I_MVKE OCCURS 0,
         MATNR LIKE MVKE-MATNR,  "MATERIAL NUMBER
         VKORG LIKE MVKE-VKORG,  "SALES ORGANIZATION
         VTWEG LIKE MVKE-VTWEG,  "DISTRIBUTION CHANNEL
      END OF I_MVKE,
      BEGIN OF I_MARD OCCURS 0,
        MATNR LIKE MARD-MATNR,  "MATERIAL NUMBER
        LGORT LIKE MARD-LGORT,  "STORAGE LOCATION
        LABST LIKE MARD-LABST,  "VALUATED STOCK WITH UNRESTRICTED USE
      END OF I_MARD,
      BEGIN OF I_EKPO OCCURS 0,
        EBELN LIKE EKPO-EBELN,  "PURCHASING DOCUMENT NUMBER
        EBELP LIKE EKPO-EBELP,  "ITEM NUMBER OF PURCHASING DOCUMENT
        MATNR LIKE EKPO-MATNR,  "MATERIAL NUMBER
      END OF I_EKPO,
      BEGIN OF I_VBAP OCCURS 0,
        VBELN LIKE VBAP-VBELN,  "SALES DOCUMENT
        POSNR LIKE VBAP-POSNR,  "SALES DOCUMENT ITEM
        MATNR LIKE VBAP-MATNR,  "MATERIAL NUMBER
      END OF I_VBAP,
      BEGIN OF I_OUT OCCURS 0,
        MATNR LIKE MARC-MATNR,
        WERKS LIKE MARC-WERKS,
        LVORM LIKE MARC-LVORM,
        DISPO LIKE MARC-DISPO,
        MBRSH LIKE MARA-MBRSH,
        MEINS LIKE MARA-MEINS,
        MATKL LIKE MARA-MATKL,
        VKORG LIKE MVKE-VKORG,
        VTWEG LIKE MVKE-VTWEG,
        SPRAS LIKE MAKT-SPRAS,
        MAKTX LIKE MAKT-MAKTX,
        LGORT LIKE MARD-LGORT,
        LABST LIKE MARD-LABST,
        EBELN LIKE EKPO-EBELN,
        EBELP LIKE EKPO-EBELP,
        VBELN LIKE VBAP-VBELN,
        POSNR LIKE VBAP-POSNR,
      END OF I_OUT,
      BEGIN OF I_HEADING OCCURS 0,
        TEXT1(20),
        TEXT2(20),
        TEXT3(20),
        TEXT4(20),
        TEXT5(20),
        TEXT6(20),
        TEXT7(20),
        TEXT8(20),
        TEXT9(20),
        TEXT10(20),
        TEXT11(40),
        TEXT12(20),
        TEXT13(20),
        TEXT14(20),
        TEXT15(20),
        TEXT16(20),
        TEXT17(20),
      END OF I_HEADING.
*&                   S E L E C T I O N - S C R E E N                   *
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-100.
SELECT-OPTIONS: S_MATNR FOR MARA-MATNR. "OBLIGATORY.
PARAMETERS: P_WERKS LIKE MARC-WERKS. "OBLIGATORY.
SELECT-OPTIONS: S_LGORT FOR MARD-LGORT,
                S_DISPO FOR MARC-DISPO,
                S_EBELN FOR EKPO-EBELN .
SELECTION-SCREEN END OF BLOCK B1.
SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-101.
PARAMETERS : RB1 RADIOBUTTON GROUP G1,
             RB2 RADIOBUTTON GROUP G1,
             RB3 RADIOBUTTON GROUP G1.
SELECTION-SCREEN END OF BLOCK B2.
*&                  I N I T I A L I Z A T I O N                      *
*INITIALIZATION.
*&             S T A R T - O F - S E L E C T I O N                     *
START-OF-SELECTION.
  SELECT MATNR WERKS LVORM DISPO FROM MARC
  INTO CORRESPONDING FIELDS OF TABLE I_MARC
                      WHERE MATNR IN S_MATNR
                      AND DISPO IN S_DISPO
                      AND WERKS = P_WERKS.
  IF I_MARC[] IS INITIAL.
    WRITE:/ 'NO MATCHING DATA AVAILABLE FROM MARC'.
    EXIT.
  ENDIF.
  PERFORM PURCHASEDATA_VALIDATION.
  PERFORM SALESDATA_VALIDATION.
  SELECT MATNR LGORT LABST FROM MARD INTO TABLE  I_MARD
                      FOR ALL ENTRIES IN I_MARC
                      WHERE MATNR = I_MARC-MATNR
                      AND WERKS EQ P_WERKS
                      AND LGORT IN S_LGORT.
  IF I_MARD[] IS INITIAL.
    WRITE:/ 'NO MATCHING DATA AVAILABLE FROM MARD'.
    EXIT.
  ENDIF.
  SELECT MATNR VKORG VTWEG FROM MVKE INTO TABLE I_MVKE
                      FOR ALL ENTRIES IN I_MARC
                      WHERE MATNR = I_MARC-MATNR.
  IF I_MVKE[] IS INITIAL.
    WRITE:/ 'NO MATCHING DATA AVAILABLE FROM MVKE'.
    EXIT.
  ENDIF.
  LOOP AT I_MARC.
    MOVE-CORRESPONDING I_MARC TO I_OUT.
    CLEAR MARC.
    SELECT SINGLE MATNR MBRSH MEINS MATKL FROM MARA
                      INTO CORRESPONDING FIELDS OF MARA
                      WHERE MATNR = I_OUT-MATNR.
    IF SY-SUBRC = 0.
      MOVE: MARA-MBRSH TO I_OUT-MBRSH,
            MARA-MEINS TO I_OUT-MEINS,
            MARA-MATKL TO I_OUT-MATKL.
    ELSE.
      CONTINUE.
    ENDIF.
    SELECT SINGLE MATNR MAKTX SPRAS FROM MAKT
                    INTO  CORRESPONDING FIELDS OF MAKT
                    WHERE  MATNR = I_OUT-MATNR.
    IF SY-SUBRC = 0.
      MOVE: MAKT-MAKTX TO I_OUT-MAKTX,
            MAKT-SPRAS TO I_OUT-SPRAS.
    ELSE.
      CONTINUE.
    ENDIF.
    LOOP AT I_EKPO WHERE MATNR =  I_MARC-MATNR.
      MOVE: I_EKPO-EBELN TO I_OUT-EBELN,
            I_EKPO-EBELP TO I_OUT-EBELP.
    ENDLOOP.
    LOOP AT I_VBAP WHERE MATNR =  I_MARC-MATNR.
      MOVE: I_VBAP-VBELN TO I_OUT-VBELN,
            I_VBAP-POSNR TO I_OUT-POSNR.
    ENDLOOP.
    LOOP AT I_MARD WHERE MATNR = I_MARC-MATNR.
      MOVE: I_MARD-LABST TO I_OUT-LABST,
            I_MARD-LGORT TO I_OUT-LGORT.
    ENDLOOP.
    LOOP AT I_MVKE WHERE MATNR = I_MARC-MATNR.
      MOVE: I_MVKE-VKORG TO I_OUT-VKORG,
            I_MVKE-VTWEG TO I_OUT-VTWEG.
      APPEND I_OUT.
    ENDLOOP.
    CLEAR I_OUT.
  ENDLOOP.
  PERFORM OPTIONS.
                     FORM  OPTIONS                                *
FORM OPTIONS.
  IF RB2 = 'X'.
    PERFORM FIELDCAT.
    PERFORM OUTPUT.
  ELSE.
    IF RB1 = 'X'.
      PERFORM HEADINGS.
      PERFORM DLOAD.
    ELSE.
      IF RB3 = 'X'.
        PERFORM HEADINGS.
        PERFORM DLOAD.
        PERFORM FIELDCAT.
        PERFORM OUTPUT.
      ENDIF.
    ENDIF.
  ENDIF.
ENDFORM.                    "OPTIONS
                     FORM  HEADINGS                               *
FORM HEADINGS.
  I_HEADING-TEXT1 = 'MATNR'.
  I_HEADING-TEXT2 = 'WERKS'.
  I_HEADING-TEXT3 = 'LVORM'.
  I_HEADING-TEXT4 = 'DISPO'.
  I_HEADING-TEXT5 = 'MBRSH'.
  I_HEADING-TEXT6 = 'MEINS'.
  I_HEADING-TEXT7 = 'MATKL'.
  I_HEADING-TEXT8 = 'VKORG'.
  I_HEADING-TEXT9 = 'VTWEG'.
  I_HEADING-TEXT10 = 'SPRAS'.
  I_HEADING-TEXT11 = 'MAKTX'.
  I_HEADING-TEXT12 = 'LGORT'.
  I_HEADING-TEXT13 = 'LABST'.
  I_HEADING-TEXT14 = 'EBELN'.
  I_HEADING-TEXT15 = 'EBELP'.
  I_HEADING-TEXT16 = 'VBELN'.
  I_HEADING-TEXT17 = 'POSNR'.
  APPEND I_HEADING.
ENDFORM.                    "HEADINGS
                     FORM  DLOAD                                  *
FORM DLOAD.
  CALL FUNCTION 'GUI_DOWNLOAD'
    EXPORTING
      FILENAME              = 'C:\MATSTK.XLS'
      FILETYPE              = 'DAT'
      WRITE_FIELD_SEPARATOR = 'X'
    TABLES
      DATA_TAB              = I_HEADING
    EXCEPTIONS
      FILE_WRITE_ERROR      = 1.
<b>  CALL FUNCTION 'GUI_DOWNLOAD'
    EXPORTING
      FILENAME              = 'C:\MATSTK.XLS'
      FILETYPE              = 'DAT'
      APPEND                = 'X'
      WRITE_FIELD_SEPARATOR = 'X'
    TABLES
      DATA_TAB              = I_OUT.</b>
ENDFORM.                    "DLOAD
                          FORM  FIELDCAT                          *
FORM FIELDCAT.
  V_FIELDCAT-COL_POS = '1'.
  V_FIELDCAT-FIELDNAME     = 'MATNR'.
  V_FIELDCAT-TABNAME = 'I_OUT'.
  V_FIELDCAT-HOTSPOT = 'X'.
  V_FIELDCAT-REF_FIELDNAME = 'MATNR'.
  V_FIELDCAT-REF_TABNAME   = 'MARC'.
  APPEND V_FIELDCAT TO VT_FIELDCAT1.
  CLEAR  V_FIELDCAT.
  V_FIELDCAT-COL_POS = '2'.
  V_FIELDCAT-FIELDNAME     = 'WERKS'.
  V_FIELDCAT-TABNAME = 'I_OUT'.
  V_FIELDCAT-REF_FIELDNAME = 'WERKS'.
  V_FIELDCAT-REF_TABNAME   = 'MARC'.
  APPEND V_FIELDCAT TO VT_FIELDCAT1.
  CLEAR  V_FIELDCAT.
  V_FIELDCAT-COL_POS = '3'.
  V_FIELDCAT-FIELDNAME     = 'LVORM'.
  V_FIELDCAT-TABNAME = 'I_OUT'.
  V_FIELDCAT-REF_FIELDNAME = 'LVORM'.
  V_FIELDCAT-REF_TABNAME   = 'MARC'.
  APPEND V_FIELDCAT TO VT_FIELDCAT1.
  CLEAR  V_FIELDCAT.
  V_FIELDCAT-COL_POS = '4'.
  V_FIELDCAT-FIELDNAME     = 'DISPO'.
  V_FIELDCAT-TABNAME = 'I_OUT'.
  V_FIELDCAT-REF_FIELDNAME = 'DISPO'.
  V_FIELDCAT-REF_TABNAME   = 'MARC'.
  APPEND V_FIELDCAT TO VT_FIELDCAT1.
  CLEAR  V_FIELDCAT.
  V_FIELDCAT-COL_POS = '5'.
  V_FIELDCAT-FIELDNAME     = 'MBRSH'.
  V_FIELDCAT-TABNAME = 'I_OUT'.
  V_FIELDCAT-REF_FIELDNAME = 'MBRSH'.
  V_FIELDCAT-REF_TABNAME   = 'MARA'.
  APPEND V_FIELDCAT TO VT_FIELDCAT1.
  CLEAR  V_FIELDCAT.
  V_FIELDCAT-COL_POS = '6'.
  V_FIELDCAT-FIELDNAME     = 'MEINS'.
  V_FIELDCAT-TABNAME = 'I_OUT'.
  V_FIELDCAT-REF_FIELDNAME = 'MEINS'.
  V_FIELDCAT-REF_TABNAME   = 'MARA'.
  APPEND V_FIELDCAT TO VT_FIELDCAT1.
  CLEAR  V_FIELDCAT.
  V_FIELDCAT-COL_POS = '7'.
  V_FIELDCAT-FIELDNAME     = 'MATKL'.
  V_FIELDCAT-TABNAME = 'I_OUT'.
  V_FIELDCAT-REF_FIELDNAME = 'MATKL'.
  V_FIELDCAT-REF_TABNAME   = 'MARA'.
  APPEND V_FIELDCAT TO VT_FIELDCAT1.
  CLEAR  V_FIELDCAT.
  V_FIELDCAT-COL_POS = '8'.
  V_FIELDCAT-FIELDNAME     = 'VKORG'.
  V_FIELDCAT-TABNAME = 'I_OUT'.
  V_FIELDCAT-REF_FIELDNAME = 'VKORG'.
  V_FIELDCAT-REF_TABNAME   = 'MVKE'.
  APPEND V_FIELDCAT TO VT_FIELDCAT1.
  CLEAR  V_FIELDCAT.
  V_FIELDCAT-COL_POS = '9'.
  V_FIELDCAT-FIELDNAME     = 'VTWEG'.
  V_FIELDCAT-TABNAME = 'I_OUT'.
  V_FIELDCAT-REF_FIELDNAME = 'VTWEG'.
  V_FIELDCAT-REF_TABNAME   = 'MVKE'.
  APPEND V_FIELDCAT TO VT_FIELDCAT1.
  CLEAR  V_FIELDCAT.
  V_FIELDCAT-COL_POS = '10'.
  V_FIELDCAT-FIELDNAME     = 'SPRAS'.
  V_FIELDCAT-TABNAME = 'I_OUT'.
  V_FIELDCAT-REF_FIELDNAME = 'SPRAS'.
  V_FIELDCAT-REF_TABNAME   = 'MAKT'.
  APPEND V_FIELDCAT TO VT_FIELDCAT1.
  CLEAR  V_FIELDCAT.
  V_FIELDCAT-COL_POS = '11'.
  V_FIELDCAT-FIELDNAME     = 'MAKTX'.
  V_FIELDCAT-TABNAME = 'I_OUT'.
  V_FIELDCAT-REF_FIELDNAME = 'MAKTX'.
  V_FIELDCAT-REF_TABNAME   = 'MAKT'.
  APPEND V_FIELDCAT TO VT_FIELDCAT1.
  CLEAR  V_FIELDCAT.
  V_FIELDCAT-COL_POS = '12'.
  V_FIELDCAT-FIELDNAME     = 'LGORT'.
  V_FIELDCAT-TABNAME = 'I_OUT'.
V_FIELDCAT-REF_FIELDNAME = 'LGORT'.
V_FIELDCAT-REF_TABNAME   = 'MARD'.
  V_FIELDCAT-SELTEXT_L = 'STRG LOCT'.
  V_FIELDCAT-OUTPUTLEN = 10.
  APPEND V_FIELDCAT TO VT_FIELDCAT1.
  CLEAR  V_FIELDCAT.
  V_FIELDCAT-COL_POS = '13'.
  V_FIELDCAT-FIELDNAME     = 'LABST'.
  V_FIELDCAT-TABNAME = 'I_OUT'.
  V_FIELDCAT-SELTEXT_M = 'STOCK'.
  V_FIELDCAT-OUTPUTLEN = 15.
V_FIELDCAT-REF_FIELDNAME = 'LABST'.
V_FIELDCAT-REF_TABNAME   = 'MARD'.
  V_FIELDCAT-DO_SUM = 'X'.
  V_LAYOUT-TOTALS_TEXT = 'TOTAL STOCK:'.
  V_FIELDCAT-HOTSPOT = 'X'.
  APPEND V_FIELDCAT TO VT_FIELDCAT1.
  CLEAR  V_FIELDCAT.
  V_FIELDCAT-COL_POS = '14'.
  V_FIELDCAT-FIELDNAME     = 'EBELN'.
  V_FIELDCAT-TABNAME = 'I_OUT'.
  V_FIELDCAT-HOTSPOT = 'X'.
  V_FIELDCAT-REF_FIELDNAME = 'EBELN'.
  V_FIELDCAT-REF_TABNAME   = 'EKPO'.
  APPEND V_FIELDCAT TO VT_FIELDCAT1.
  CLEAR  V_FIELDCAT.
  V_FIELDCAT-COL_POS = '15'.
  V_FIELDCAT-FIELDNAME     = 'EBELP'.
  V_FIELDCAT-TABNAME = 'I_OUT'.
  V_FIELDCAT-REF_FIELDNAME = 'EBELP'.
  V_FIELDCAT-REF_TABNAME   = 'EKPO'.
  APPEND V_FIELDCAT TO VT_FIELDCAT1.
  CLEAR  V_FIELDCAT.
  V_FIELDCAT-COL_POS = '16'.
  V_FIELDCAT-FIELDNAME     = 'VBELN'.
  V_FIELDCAT-TABNAME = 'I_OUT'.
  V_FIELDCAT-HOTSPOT = 'X'.
  V_FIELDCAT-REF_FIELDNAME = 'VBELN'.
  V_FIELDCAT-REF_TABNAME   = 'VBAP'.
  APPEND V_FIELDCAT TO VT_FIELDCAT1.
  CLEAR  V_FIELDCAT.
  V_FIELDCAT-COL_POS = '17'.
  V_FIELDCAT-FIELDNAME     = 'POSNR'.
  V_FIELDCAT-TABNAME = 'I_OUT'.
  V_FIELDCAT-REF_FIELDNAME = 'POSNR'.
  V_FIELDCAT-REF_TABNAME   = 'VBAP'.
  APPEND V_FIELDCAT TO VT_FIELDCAT1.
  CLEAR  V_FIELDCAT.
ENDFORM.                      "FIELDCAT
                          FORM  OUTPUT                            *
FORM OUTPUT.
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      I_CALLBACK_PROGRAM      = SY-REPID
      I_CALLBACK_TOP_OF_PAGE  = 'TOP-OF-PAGE'
      I_GRID_TITLE = 'CLICK ON MATERIAL/PURDOC/SALESDOC FOR DETAILS'
      I_CALLBACK_USER_COMMAND = 'DISPLAYDETAILS'
      IS_LAYOUT               = V_LAYOUT
      IT_FIELDCAT             = VT_FIELDCAT1
    TABLES
      T_OUTTAB                = I_OUT.
  IF SY-SUBRC <> 0.
  ENDIF.
ENDFORM.                    "OUTPUT
                        FORM  TOP-OF-PAGE                         *
FORM TOP-OF-PAGE.
  DATA: T_HEADER TYPE SLIS_T_LISTHEADER,
        WA_HEADER TYPE SLIS_LISTHEADER.
  WA_HEADER-TYP = 'H'.
  WA_HEADER-INFO = 'REPORT FOR : '.
  APPEND WA_HEADER TO T_HEADER.
  CLEAR WA_HEADER.
  WA_HEADER-TYP = 'S'.
  WA_HEADER-INFO = 'MATERIAL DETAILS'.
  APPEND WA_HEADER TO T_HEADER.
  CLEAR WA_HEADER.
  WA_HEADER-TYP = 'S'.
  WA_HEADER-INFO = 'PURCHASE ORDER DETAILS'.
  APPEND WA_HEADER TO T_HEADER.
  CLEAR WA_HEADER.
  WA_HEADER-TYP = 'S'.
  WA_HEADER-INFO = 'SALES ORDER DETAILS'.
  APPEND WA_HEADER TO T_HEADER.
  CLEAR WA_HEADER.
  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
    EXPORTING
      I_LOGO             = 'GEAR'
      IT_LIST_COMMENTARY = T_HEADER.
ENDFORM.                    "TOP-OF-PAGE
*&                       FORM  DISPLAYDETAILS                          *
FORM DISPLAYDETAILS USING UCOMM LIKE SY-UCOMM
      SELFIELD TYPE SLIS_SELFIELD.
  IF SELFIELD-FIELDNAME = 'EBELN'.
    IF UCOMM = '&IC1'.
      READ TABLE I_OUT INDEX SELFIELD-TABINDEX.
      PERFORM PORECDNG.
      CLEAR BDCDATA[].
    ENDIF.
  ELSE.
    IF SELFIELD-FIELDNAME = 'MATNR'.
      IF UCOMM = '&IC1'.
        READ TABLE I_OUT INDEX SELFIELD-TABINDEX.
        PERFORM MMRECDNG.
        CLEAR BDCDATA[].
      ENDIF.
    ELSE.
      IF SELFIELD-FIELDNAME = 'VBELN'.
        IF UCOMM = '&IC1'.
          READ TABLE I_OUT INDEX SELFIELD-TABINDEX.
          PERFORM SALESRECDNG.
          CLEAR BDCDATA[].
        ENDIF.
      ENDIF.
    ENDIF.
  ENDIF.
ENDFORM.                    "DISPLAYDETAILS
                    FORM PORECDNG                                   *
FORM PORECDNG.
perform bdc_dynpro      using 'SAPMM06E' '0105'.
perform bdc_field       using 'BDC_CURSOR'
                              'RM06E-BSTNR'.
perform bdc_field       using 'BDC_OKCODE'
                              '/00'.
perform bdc_field       using 'RM06E-BSTNR'
                              I_OUT-EBELN.
perform bdc_dynpro      using 'SAPMM06E' '0120'.
perform bdc_field       using 'BDC_CURSOR'
                              'RM06E-BSTPO(01)'.
perform bdc_field       using 'BDC_OKCODE'
                              '=AH'.
perform bdc_field       using 'RM06E-EBELP'
                              I_OUT-EBELP.
perform bdc_field       using 'RM06E-TCSELFLAG(01)'
                              'X'.
perform bdc_transaction using 'ME23'.
ENDFORM.                    "PORECDNG
                    FORM MMRECDNG                                   *
FORM MMRECDNG.
  PERFORM BDC_DYNPRO      USING 'SAPLMGMM' '0060'.
  PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                'RMMG1-MATNR'.
  PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                '/00'.
  PERFORM BDC_FIELD       USING 'RMMG1-MATNR'
                                I_OUT-MATNR.
  PERFORM BDC_DYNPRO      USING 'SAPLMGMM' '0070'.
  PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                'MSICHTAUSW-DYTXT(01)'.
  PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                '=ENTR'.
  PERFORM BDC_FIELD       USING 'MSICHTAUSW-KZSEL(01)'
                                'X'.
  PERFORM BDC_TRANSACTION USING 'MM03'.
ENDFORM.                    "MMRECDNG
                    FORM SALESRECDNG                                *
FORM SALESRECDNG.
  PERFORM BDC_DYNPRO      USING 'SAPMV45A' '0102'.
  PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                'VBAK-VBELN'.
  PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                '/00'.
  PERFORM BDC_FIELD       USING 'VBAK-VBELN'
                                I_OUT-VBELN.
  PERFORM BDC_TRANSACTION USING 'VA03'.
ENDFORM.                    "SALESRECDNG
                 FORM BDC_TRANSACTION                               *
FORM BDC_TRANSACTION USING TCODE.
  CALL TRANSACTION TCODE USING BDCDATA MODE 'E'.
ENDFORM.                    "BDC_TRANSACTION
                       FORM BDC_DYNPRO                              *
FORM BDC_DYNPRO USING PROGRAM DYNPRO.
  CLEAR BDCDATA.
  BDCDATA-PROGRAM = PROGRAM.
  BDCDATA-DYNPRO = DYNPRO.
  BDCDATA-DYNBEGIN = 'X'.
  APPEND BDCDATA.
ENDFORM.                    "BDC_DYNPRO
                       INSERT FIELD                                  *
FORM BDC_FIELD USING FNAM FVAL.
  CLEAR BDCDATA.
  BDCDATA-FNAM = FNAM.
  BDCDATA-FVAL = FVAL.
  APPEND BDCDATA.
ENDFORM.                    "BDC_FIELD
*&                  FORM  PURCHASEDATA_VALIDATION                      *
FORM PURCHASEDATA_VALIDATION.
  SELECT EBELN EBELP MATNR
             FROM EKPO
             INTO TABLE I_EKPO
             FOR ALL ENTRIES IN I_MARC
             WHERE MATNR = I_MARC-MATNR
             AND EBELN IN S_EBELN
             AND WERKS EQ P_WERKS.
  IF I_EKPO[] IS INITIAL.
    WRITE:/ 'NO MATCHING DATA IS SELECTED FROM TABLE EKPO'.
    EXIT.
  ENDIF.
  DATA: T_EKPO LIKE I_EKPO OCCURS 0 WITH HEADER LINE.
  T_EKPO[] = I_EKPO[].
  REFRESH I_EKPO.
  FREE I_EKPO.
  LOOP AT T_EKPO.
    SELECT SINGLE EBELN FROM EKKO INTO EKPO-EBELN
    WHERE EBELN = T_EKPO-EBELN.
    IF SY-SUBRC = 0.
      MOVE-CORRESPONDING T_EKPO TO I_EKPO.
      APPEND I_EKPO.
      CLEAR I_EKPO.
    ELSE.
      CONTINUE.
    ENDIF.
  ENDLOOP.
  SORT I_EKPO.
ENDFORM.                    "PURCHASEDATA_VALIDATION
*&                  FORM  SALESDATA_VALIDATION                         *
FORM SALESDATA_VALIDATION.
  SELECT VBELN POSNR MATNR
          FROM VBAP
          INTO CORRESPONDING FIELDS OF TABLE
          I_VBAP FOR ALL ENTRIES IN I_MARC
          WHERE MATNR = I_MARC-MATNR.
  DATA: T_VBAP LIKE I_VBAP OCCURS 0 WITH HEADER LINE.
  T_VBAP[] = I_VBAP[].
  REFRESH I_VBAP.
  FREE I_VBAP.
  LOOP AT T_VBAP.
    SELECT SINGLE VBELN FROM VBAK INTO VBAK-VBELN
    WHERE VBELN = T_VBAP-VBELN.
    IF SY-SUBRC = 0.
      MOVE-CORRESPONDING T_VBAP TO I_VBAP.
      APPEND I_VBAP.
      CLEAR I_VBAP.
    ELSE.
      CONTINUE.
    ENDIF.
  ENDLOOP.
  SORT I_VBAP.
ENDFORM.                    "SALESDATA_VALIDATION
regards,
srinivas
<b>*reward for useful answers*</b>

Similar Messages

  • Lists of Standard Function Modules to Download data into Excellsheet format

    Dear Guru,
    i want to know what are the Lists of Standard Function Modules to Upload data in to Excellsheet format other than WS_DOWNLOAD or GUI_DOWNLOAD.
    Thanks & regards
    SAifur Rahaman

    Hi,
    Check this out,
    Download & upload of an excel file

  • SMARTFORMS output in XLS format

    Hi,
    We are in ECC 5.0, and have a client requirement to show the smartforms output in XLS format.
    Could you please advice or suggest various options to do this?
    Appreciate the response,.
    thanks much in advance,
    Anil
    Edited by: Rob Burbank on Sep 10, 2009 5:05 PM

    Hey Anil
    Your requirement is not specific ,weder you want the output saved in XLS format in the smartform....or u want to download the data in XLS format?
    1. Function Module 'SAP_CONVERT_TO_XLS_FORMAT'  :    from internal table to Excel file .
    2. FM ''SO_DOCUMENT_REPOSITORY_MANAGER'           :      To attach this file as an attachment in a mail     in this pass the file and other details of sender and receiver.
    Regards
    Swapnil
    Edited by: swapnil kamble on Sep 11, 2009 2:12 PM

  • Function module to download to Excel worksheet.

    Hi All,
            Need a function module to download internal table data to exact worksheet number in the excel sheet, that too it sholud be appended from some row number.
    The regular function modules are helping just to create an excel sheet and fill data, But not to append to exact work sheet, like work sheet no.5 or 6 of excel on presentation.
    Thanks in Advance,
    Regards,
    Yogesh

    Download a report to excel with format (border, color cell, etc) 
    Try this program...it may help you to change the font ..etc.
    Code:
    REPORT ZSIRI NO STANDARD PAGE HEADING.
    this report demonstrates how to send some ABAP data to an
    EXCEL sheet using OLE automation.
    INCLUDE OLE2INCL.
    handles for OLE objects
    DATA: H_EXCEL TYPE OLE2_OBJECT,        " Excel object
          H_MAPL TYPE OLE2_OBJECT,         " list of workbooks
          H_MAP TYPE OLE2_OBJECT,          " workbook
          H_ZL TYPE OLE2_OBJECT,           " cell
          H_F TYPE OLE2_OBJECT.            " font
    TABLES: SPFLI.
    DATA  H TYPE I.
    table of flights
    DATA: IT_SPFLI LIKE SPFLI OCCURS 10 WITH 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  EXPORTING #1 = 2.
      PERFORM ERR_HDL.
    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.                    " ERR_HDL
    Please note that this example maybe slow at filling the excel table
    (perhaps four fields per second on a 900 MHz machine - almost 30 seconds
    for a short example).
    To get the data on properties and methods - there is a bit of smoke and mirrors
    going on here; they are EXCEL properties and methods, not sap ones - so you need
    to look at excel help to determine how a particular function is structured. then
    build the block in sap, as shown in the example.
    If you only want to transfer the data to Excel like when you transfer the data from
    ALV to Excel simply use the Function Modules:
    XXL_SIMPLE_API
    If you want more modifications when you transfer it to Excel use:
    XXL_FULL_API

  • Is there any  function module to download pdf file

    is there any  function module to download pdf file
    WITH OUT GUI_DOWNLOAD FUNCTION MODULE.
    THANKS IN ADVANCED.

    Dear Laxman,
    Tryout the following Function Modules:
    (1)  CONVERT_ABAPSPOOLJOB_2_PDF --> convert abap spool output to PDF
    (2)  CONVERT_OTF --> Convert SAP documents (SAPScript) to other types.
    Example:
    CALL FUNCTION "CONVERT_OTF"
           EXPORTING    FORMAT                = "PDF"
           IMPORTING    BIN_FILESIZE          = FILE_LEN
           TABLES       OTF                   = OTFDATA
                        LINES                 = PDFDATA
           EXCEPTIONS   ERR_MAX_LINEWIDTH     = 1                  
                        ERR_FORMAT            = 2
                        ERR_CONV_NOT_POSSIBLE = 3
                        OTHERS                = 4.
    Regards,
    Abir
    Don't forget to award Points *

  • Function module to download to excel sheet

    what is the function module to download the report into excel  sheet??..
    Thanks
    Sri

    hi,
    use the alv list or alv grid  for the report output  then that functionality will be provided by default....
    In general Gui_download is used and the final internal table which is used for displaying the output of the report is passed to the FM.
    Regards,
    Rohan.

  • Which are function modules used to convert into XML format in SAP 4.6c Ver

    which are function modules used to convert into XML format in SAP 4.6c Ver

    Hi,
    check this program , I think this will help you
    TYPE-POOLS: ixml.
    TYPES: BEGIN OF xml_line,
    data(256) TYPE x,
    END OF xml_line.
    data : itab like catsdb occurs 100 with header line.
    data : file_location type STRING.
    data : file_name like sy-datum.
    data : file_create type STRING.
    file_name = sy-datum .
    file_location = 'C:\xml\'.
    concatenate file_location file_name into file_create.
    concatenate file_create '.XML' into file_create.
    DATA: l_xml_table TYPE TABLE OF xml_line,
    l_xml_size TYPE i,
    l_rc TYPE i.
    select * from catsdb into table itab.
    append itab .
    CALL FUNCTION 'SAP_CONVERT_TO_XML_FORMAT'
    EXPORTING
    I_FIELD_SEPERATOR =
    I_LINE_HEADER =
    I_FILENAME =
    I_APPL_KEEP = ' '
    I_XML_DOC_NAME =
    IMPORTING
    PE_BIN_FILESIZE = l_xml_size
    TABLES
    i_tab_sap_data = itab
    CHANGING
    I_TAB_CONVERTED_DATA = l_xml_table
    EXCEPTIONS
    CONVERSION_FAILED = 1
    OTHERS = 24
    IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    CALL METHOD cl_gui_frontend_services=>gui_download
    EXPORTING
    bin_filesize = l_xml_size
    filename = file_create
    filetype = 'BIN'
    CHANGING
    data_tab = l_xml_table
    EXCEPTIONS
    OTHERS = 24.
    IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.
    write : 'INTERNAL TABLE DATA IS SUCCESSFULLY DOWNLOADED TO LOCATION', file_create .
    Thanks.

  • Function Module to send output list to mail.

    Hi,
    Could anyone let me know the function module to send output list to mail.
    Regards,
    Ramesh

    Hi,
    Please try with following sample code
    Sending mail with attachment
    This program will allowed you to send email with attachment.
    First, specify the attachment file from your local hardisk and execute.
    Next, specify the sender email address and click the send button.
    report YUP_MAIL.
    data method1 like sy-ucomm.
    data g_user like soudnamei1.
    data g_user_data like soudatai1.
    data g_owner like soud-usrnam.
    data g_receipients like soos1 occurs 0 with header line.
    data g_document like sood4 .
    data g_header like sood2.
    data g_folmam like sofm2.
    data g_objcnt like soli occurs 0 with header line.
    data g_objhead like soli occurs 0 with header line.
    data g_objpara  like selc occurs 0 with header line.
    data g_objparb  like soop1 occurs 0 with header line.
    data g_attachments like sood5 occurs 0 with header line.
    data g_references like soxrl occurs 0 with header line.
    data g_authority like sofa-usracc.
    data g_ref_document like sood4.
    data g_new_parent like soodk.
    data: begin of g_files occurs 10 ,
      text(4096) type c,
       end of g_files.
    data : fold_number(12) type c,
           fold_yr(2) type c,
           fold_type(3) type c.
    parameters ws_file(4096) type c default 'c:\debugger.txt'.
    Can me any file fromyour pc ....either xls or word or ppt etc ...
    g_user-sapname = sy-uname.
    call function 'SO_USER_READ_API1'
    exporting
       user                            = g_user
       PREPARE_FOR_FOLDER_ACCESS       = ' '
    importing
       user_data                       = g_user_data
    EXCEPTIONS
       USER_NOT_EXIST                  = 1
       PARAMETER_ERROR                 = 2
       X_ERROR                         = 3
       OTHERS                          = 4
    if sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    endif.
    fold_type = g_user_data-outboxfol+0(3).
    fold_yr = g_user_data-outboxfol+3(2).
    fold_number =  g_user_data-outboxfol+5(12).
    clear g_files.
    refresh : g_objcnt,
      g_objhead,
      g_objpara,
      g_objparb,
      g_receipients,
      g_attachments,
      g_references,
      g_files.
    method1 = 'SAVE'.
    g_document-foltp  = fold_type.
    g_document-folyr   = fold_yr.
    g_document-folno   = fold_number.
    g_document-objtp   = g_user_data-object_typ.
    *g_document-OBJYR   = '27'.
    *g_document-OBJNO   = '000000002365'.
    *g_document-OBJNAM = 'MESSAGE'.
    g_document-objdes   = 'sap-img.com testing by program'.
    g_document-folrg   = 'O'.
    *g_document-okcode   = 'CHNG'.
    g_document-objlen = '0'.
    g_document-file_ext = 'TXT'.
    g_header-objdes =  'sap-img.com testing by program'.
    g_header-file_ext = 'TXT'.
    call function 'SO_DOCUMENT_REPOSITORY_MANAGER'
      exporting
        method             = method1
       office_user        = sy-uname
       ref_document       = g_ref_document
       new_parent         =  g_new_parent
    importing
       authority          =  g_authority
    tables
       objcont            = g_objcnt
       objhead            = g_objhead
       objpara            = g_objpara
       objparb            = g_objparb
       recipients         = g_receipients
       attachments        = g_attachments
       references         = g_references
       files              = g_files
      changing
        document           = g_document
       header_data        = g_header
      FOLMEM_DATA        =
      RECEIVE_DATA       =
    File from the pc to send...
    method1 = 'ATTCREATEFROMPC'.
    g_files-text = ws_file.
    append g_files.
    call function 'SO_DOCUMENT_REPOSITORY_MANAGER'
      exporting
        method             = method1
       office_user        = g_owner
       ref_document       = g_ref_document
       new_parent         =  g_new_parent
    importing
       authority          =  g_authority
    tables
       objcont            = g_objcnt
       objhead            = g_objhead
       objpara            = g_objpara
       objparb            = g_objparb
       recipients         = g_receipients
       attachments        = g_attachments
       references         = g_references
       files              = g_files
      changing
        document           = g_document
       header_data        = g_header
    method1 = 'SEND'.
    g_receipients-recnam = 'MK085'.
    g_receipients-recesc = 'B'.
    g_receipients-sndex = 'X'.
    append  g_receipients.
    call function 'SO_DOCUMENT_REPOSITORY_MANAGER'
      exporting
        method             = method1
       office_user        = g_owner
       ref_document       = g_ref_document
       new_parent         =  g_new_parent
    importing
       authority          =  g_authority
    tables
       objcont            = g_objcnt
       objhead            = g_objhead
       objpara            = g_objpara
       objparb            = g_objparb
       recipients         = g_receipients
       attachments        = g_attachments
       references         = g_references
       files              = g_files
      changing
        document           = g_document
       header_data        = g_header.
    *-- End of Program
    Thanks,
    -Pramod

  • Function module to download into excel sheet in crm

    Hi,
            Needed the Function module to download the data from internal table into the excel sheet in the CRM
    <b></b>

    use
    FM :- GUI_DOWNLOAD
    Example Code.
    lv_file_name = 'c:abcd.xls'
    *----Load Detail Report Data to Excel File
        CALL FUNCTION 'GUI_DOWNLOAD'
          EXPORTING
            filename                = lv_file_name
            filetype                = 'DAT'
            write_field_separator   = 'X'
            codepage                = '4103'
          TABLES
            data_tab                = lt_det_report
          EXCEPTIONS
            file_write_error        = 1
            no_batch                = 2
            gui_refuse_filetransfer = 3
            invalid_type            = 4
            no_authority            = 5
            unknown_error           = 6
            header_not_allowed      = 7
            separator_not_allowed   = 8
            filesize_not_allowed    = 9
            header_too_long         = 10
            dp_error_create         = 11
            dp_error_send           = 12
            dp_error_write          = 13
            unknown_dp_error        = 14
            access_denied           = 15
            dp_out_of_memory        = 16
            disk_full               = 17
            dp_timeout              = 18
            file_not_found          = 19
            dataprovider_exception  = 20
            control_flush_error     = 21
            OTHERS                  = 22.
      ENDIF.
      IF sy-subrc <> 0.
    *   202 : Error Occurred while writing data to the file.
        MESSAGE e202(zusm_gen) .
        EXIT.
      ELSE.
        WRITE :/ text-042 , lv_file_name.
      ENDIF.
    :- lt_det_report---> is table for storing data .
                         it can be any type
    <b>Please Reward Points & Mark Helpful Answers</b>
    To mark Helpful Answers ;click radio Button next to the post.
    RadioButtons
    <b>o</b> Helpful Answer
    <b>o</b> Very helpful Answer
    <b>o</b> Problem Solved.
    Click any of the above button next to the post; as per the anwers
    <b>To close the thread; Click Probelm solved Radio Button next to the post , which u feel is best possible answers</b>

  • Error in XXL_FULL_API function module for download report to excel

    Hi all,
    I am using XXL_FULL_API function module for download report to excel, In this FM we have to fill a table called sema        = t_gxxlt_s. in this table we have a fields called
    i_sema-col_no  = 19.
      i_sema-col_src = 19.
      i_sema-col_typ = 'STR'.
      i_sema-col_ops = 'DFT'
    here in 'col_typ' if we put STR in excel it will come as a text but i wnat the time field what i have to pass ?
    and for filed 'col_ops' also ??
    Thaks,
    Sridhar

    Hi sridhar joshi,
    Please check this program
    REPORT Excel.
    TABLES:
      sflight.
    * header data................................
    DATA :
      header1 LIKE gxxlt_p-text VALUE 'Suresh',
      header2 LIKE gxxlt_p-text VALUE 'Excel sheet'.
    * Internal table for holding the SFLIGHT data
    DATA BEGIN OF t_sflight OCCURS 0.
            INCLUDE STRUCTURE sflight.
    DATA END   OF t_sflight.
    * Internal table for holding the horizontal key.
    DATA BEGIN OF  t_hkey OCCURS 0.
            INCLUDE STRUCTURE gxxlt_h.
    DATA END   OF t_hkey .
    * Internal table for holding the vertical key.
    DATA BEGIN OF t_vkey OCCURS 0.
            INCLUDE STRUCTURE gxxlt_v.
    DATA END   OF t_vkey .
    * Internal table for holding the online text....
    DATA BEGIN OF t_online OCCURS 0.
            INCLUDE STRUCTURE gxxlt_o.
    DATA END   OF t_online.
    * Internal table to hold print text.............
    DATA BEGIN OF t_print OCCURS 0.
            INCLUDE STRUCTURE gxxlt_p.
    DATA END   OF t_print.
    * Internal table to hold SEMA data..............
    DATA BEGIN OF t_sema OCCURS 0.
            INCLUDE STRUCTURE gxxlt_s.
    DATA END   OF t_sema.
    * Retreiving data from sflight.
    SELECT * FROM sflight
             INTO TABLE t_sflight.
    * Text which will be displayed online is declared here....
    t_online-line_no    = '1'.
    t_online-info_name  = 'Created by'.
    t_online-info_value = 'KODANDARAMI REDDY'.
    APPEND t_online.
    * Text which will be printed out..........................
    t_print-hf     = 'H'.
    t_print-lcr    = 'L'.
    t_print-line_no = '1'.
    t_print-text   = 'This is the header'.
    APPEND t_print.
    t_print-hf     = 'F'.
    t_print-lcr    = 'C'.
    t_print-line_no = '1'.
    t_print-text   = 'This is the footer'.
    APPEND t_print.
    * Defining the vertical key columns.......
    t_vkey-col_no   = '1'.
    t_vkey-col_name = 'MANDT'.
    APPEND t_vkey.
    t_vkey-col_no   = '2'.
    t_vkey-col_name = 'CARRID'.
    APPEND t_vkey.
    t_vkey-col_no   = '3'.
    t_vkey-col_name = 'CONNID'.
    APPEND t_vkey.
    t_vkey-col_no   = '4'.
    t_vkey-col_name = 'FLDATE'.
    APPEND t_vkey.
    * Header text for the data columns................
    t_hkey-row_no = '1'.
    t_hkey-col_no = 1.
    t_hkey-col_name = 'PRICE'.
    APPEND t_hkey.
    t_hkey-col_no = 2.
    t_hkey-col_name = 'CURRENCY'.
    APPEND t_hkey.
    t_hkey-col_no = 3.
    t_hkey-col_name = 'PLANETYPE'.
    APPEND t_hkey.
    t_hkey-col_no = 4.
    t_hkey-col_name = 'SEATSMAX'.
    APPEND t_hkey.
    t_hkey-col_no = 5.
    t_hkey-col_name = 'SEATSOCC'.
    APPEND t_hkey.
    t_hkey-col_no = 6.
    t_hkey-col_name = 'PAYMENTSUM'.
    APPEND t_hkey.
    * populating the SEMA data..........................
    t_sema-col_no  = 1.
    t_sema-col_typ = 'STR'.
    t_sema-col_ops = 'DFT'.
    APPEND t_sema.
    t_sema-col_no = 2.
    APPEND t_sema.
    t_sema-col_no = 3.
    APPEND t_sema.
    t_sema-col_no = 4.
    APPEND t_sema.
    t_sema-col_no = 5.
    APPEND t_sema.
    t_sema-col_no = 6.
    APPEND t_sema.
    t_sema-col_no = 7.
    APPEND t_sema.
    t_sema-col_no = 8.
    APPEND t_sema.
    t_sema-col_no = 9.
    APPEND t_sema.
    t_sema-col_no = 10.
    t_sema-col_typ = 'NUM'.
    t_sema-col_ops = 'ADD'.
    APPEND t_sema.
    CALL FUNCTION 'XXL_FULL_API'
      EXPORTING
    *   DATA_ENDING_AT          = 54
    *   DATA_STARTING_AT        = 5
       filename                = 'TESTFILE'
       header_1                = header1
       header_2                = header2
       no_dialog               = 'X'
       no_start                = ' '
        n_att_cols              = 6
        n_hrz_keys              = 1
        n_vrt_keys              = 4
       sema_type               = 'X'
    *   SO_TITLE                = ' '
      TABLES
        data                    = t_sflight
        hkey                    = t_hkey
        online_text             = t_online
        print_text              = t_print
        sema                    = t_sema
        vkey                    = t_vkey
    EXCEPTIONS
       cancelled_by_user       = 1
       data_too_big            = 2
       dim_mismatch_data       = 3
       dim_mismatch_sema       = 4
       dim_mismatch_vkey       = 5
       error_in_hkey           = 6
       error_in_sema           = 7
       file_open_error         = 8
       file_write_error        = 9
       inv_data_range          = 10
       inv_winsys              = 11
       inv_xxl                 = 12
       OTHERS                  = 13
    IF sy-subrc <> 0.
      MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
              WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.
    please refer this link
    http://www.thespot4sap.com/Articles/Download_to_excel.asp
    Best regards,
    raam

  • Function Module to Download Internal table in EXCEL

    Hi All,
    I need a Function Module to download the Internal table to Excel File.
    I Have used SAP_CONVERT_TO_XLS_FORMAT,
    but this function modules are using GUI_Download indirectly.
    I dont want to use GUI_DOWNLOAD as i am going to call this Function Module in Portal.
    So pls anybody has this type of function module.
    Thanks & Regards,
    Dhruv Shah

    Hello Dhruv.
    In Agreement with Deniz.
    It is required to Export the query as an excel file.
    [SAP HELP Library - Standard Reference - Exporting as a CSV File / MS Excel 2000 File|http://help.sap.com/saphelp_nw04/helpdata/en/d2/11a28fc26d4042a6d230a9783152f2/content.htm]
    [SDN - Reference - Error in "Export to Microsoft Excel" from Portal|Error in "Export to Microsoft Excel" from Portal;
    Hope this works out well.
    Good Luck & Regards.
    Harsh Dave

  • Function module to download pictures

    Is there any function module to download picture in local system. I want something like gui_download but which should download pictures.

    hi..
    this link might help u.
    Download logo from R/3
    Re: Download
    regards,
    padma

  • Function module to download using file browser

    FUNCTION MODULE TO download the data to a file by choosing the path using file browser.

    In your selection screen use this below logic. Then on the screen a pop up file browser wud appear where you can select the path to download the file.
    PS: If this solves your problem please reward points and mark this question answered.
    Regards.
    SELECT-OPTIONS AND PARAMETERS                                        *
    Local File path
    SELECTION-SCREEN BEGIN OF BLOCK file_info  WITH FRAME TITLE text-001.
    PARAMETER : p_file TYPE ibipparms-path .
    SELECTION-SCREEN END OF BLOCK file_info.
    AT SELECTION-SCREEN EVENTS    - validate user input                  *
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
    *Pop up screen to select the local file from PC
      CALL FUNCTION 'F4_FILENAME'
        IMPORTING
          file_name = p_file.

  • Function Module to download Raw data as a PDF file

    Hi,
    Is there any function module which will allow to convert raw data to pdf and download in the local system.
    The requirement is to download a payslip as a pdf format.
    Function Module 'CONVERT_PAYSLIP_TO_PDF' converts the data into a raw format. The output of this FM is of type XSTRING.
    Can this be downloaded as a pdf.

    Hi
    Please below coding
    REPORT  ZSAP_PDF_VIEWER.
    DATA: LT_PDF TYPE TABLE OF TLINE,
          LS_PDF LIKE LINE OF LT_PDF,
          LV_URL TYPE CHAR255,
          PDF_FSIZE TYPE  I,
          LV_CONTENT  TYPE XSTRING,
          LT_DATA TYPE STANDARD TABLE OF X255.
    DATA : L_JOB_OUTPUT_INFO TYPE SSFCRESCL.
    DATA : LS_CONTROL_PARAM  TYPE SSFCTRLOP.
    DATA : G_HTML_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
           G_HTML_CONTROL   TYPE REF TO CL_GUI_HTML_VIEWER.
    DATA: LO_DIALOG_CONTAINER TYPE REF TO CL_GUI_DIALOGBOX_CONTAINER.
    DATA: LO_DOCKING_CONTAINER TYPE REF TO CL_GUI_DOCKING_CONTAINER.
    DATA : P_VBELN TYPE  VBELN_VL.
    FIELD-SYMBOLS <FS_X> TYPE X.
    INITIALIZATION.
    LS_CONTROL_PARAM-GETOTF = 'X'.
    LS_CONTROL_PARAM-NO_DIALOG = 'X'.
    START-OF-SELECTION.
      CALL FUNCTION '/1BCDWB/SF00000034'
    EXPORTING
       ARCHIVE_INDEX              =
      ARCHIVE_INDEX_TAB          =
      ARCHIVE_PARAMETERS         =
         CONTROL_PARAMETERS         = LS_CONTROL_PARAM
         P_VBELN                    = P_VBELN
      MAIL_APPL_OBJ              =
      MAIL_RECIPIENT             =
      MAIL_SENDER                =
      OUTPUT_OPTIONS             =
      USER_SETTINGS              = 'X'
    IMPORTING
         DOCUMENT_OUTPUT_INFO  = L_DOCUMENT_OUTPUT_INFO
           JOB_OUTPUT_INFO       = L_JOB_OUTPUT_INFO
         JOB_OUTPUT_OPTIONS    = L_JOB_ OUTPUT_OPTIONS
    EXCEPTIONS
        FORMATTING_ERROR           = 1
        INTERNAL_ERROR             = 2
        SEND_ERROR                 = 3
        USER_CANCELED              = 4
        OTHERS                     = 5
      IF SY-SUBRC  <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      CALL FUNCTION 'CONVERT_OTF'
        EXPORTING
          FORMAT                = 'PDF'
        IMPORTING
          BIN_FILESIZE          = PDF_FSIZE
        TABLES
          OTF                   = L_JOB_OUTPUT_INFO-OTFDATA
          LINES                 = LT_PDF
        EXCEPTIONS
          ERR_MAX_LINEWIDTH     = 1
          ERR_FORMAT            = 2
          ERR_CONV_NOT_POSSIBLE = 3
          OTHERS                = 4.
    convert pdf to xstring string
      LOOP AT LT_PDF INTO LS_PDF.
        ASSIGN LS_PDF TO <FS_X> CASTING.
        CONCATENATE LV_CONTENT <FS_X> INTO LV_CONTENT IN BYTE MODE.
      ENDLOOP.
       CALL SCREEN 100.
    MODULE STATUS_0100 OUTPUT.
      SET PF-STATUS '100'.
    **CREATE OBJECT LO_DOCKING_CONTAINER
    EXPORTING
       REPID     = SY-REPID
       DYNNR     = '100'"SY-DYNNR
       SIDE      = LO_DOCKING_CONTAINER->DOCK_AT_LEFT
       EXTENSION = 1200.
    CREATE OBJECT g_html_container
       EXPORTING
         container_name = 'HTML'.
    *CREATE OBJECT G_HTML_CONTROL
    EXPORTING
       PARENT = LO_DOCKING_CONTAINER.
      CREATE OBJECT G_HTML_CONTAINER
          EXPORTING
            CONTAINER_NAME = 'HTML'.
        CREATE OBJECT G_HTML_CONTROL
          EXPORTING
            PARENT = G_HTML_CONTAINER.
    Convert xstring to binary table to pass to the LOAD_DATA method
      CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
        EXPORTING
          BUFFER     = LV_CONTENT
        TABLES
          BINARY_TAB = LT_DATA.
    *application/
    Load the HTML
      CALL METHOD G_HTML_CONTROL->LOAD_DATA(
         EXPORTING
           TYPE         =  'application'
           SUBTYPE      =   'pdf' "
         IMPORTING
           ASSIGNED_URL         = LV_URL
         CHANGING
           DATA_TABLE           = LT_DATA
         EXCEPTIONS
           DP_INVALID_PARAMETER = 1
           DP_ERROR_GENERAL     = 2
           CNTL_ERROR           = 3
           OTHERS               = 4 ).
    CALL METHOD G_HTML_CONTROL->show_url
         EXPORTING  url        = lv_url
                   in_place    = 'X'
         EXCEPTIONS cntl_error = 1.
    ENDMODULE.                 " STATUS_0100  OUTPUT
    MODULE user_command_0100 INPUT.
      DATA ok_code LIKE sy-ucomm.
      MOVE sy-ucomm TO ok_code.
      CASE ok_code.
        WHEN 'BACK' OR 'EXIT'.
         CALL METHOD LO_DOCKING_CONTAINER->free.
          CALL METHOD g_html_control->free.
          LEAVE TO SCREEN 0.
        WHEN OTHERS.
      ENDCASE.
    ENDMODULE.                 " USE

  • Error while downloading output in excel format using FM Gui_download

    Hello All,
    <removed by moderator>
    While downloading the necessary output of a Ztransaction in excel format the excel file only shows one 1 record whereas in the output there were 88 records.
    When I am downloading it in other formats like Rich text etc. the data is getting downloaded correctly as per the output.
    Now this problem is occuring in Production & Quality whereas in Development the excel file is downloading data correctly.
    I have compared the code in the different clients as well as debugged it but the code is the same in each case.
    There is no data corruption in the final internal table as well.
    So what else can be done?....
    The data needs to be downloaded as it is in the output in the excel format.
    Kindly give me some suggestion and help me out in this regard.
    Edited by: Thomas Zloch on Nov 1, 2011 10:04 AM

    Hi,
    Did you the use the GUO_download using the following values:
    CALL FUNCTION 'GUI_DOWNLOAD'
      EXPORTING
        filename         = fullpath
        filetype         = 'ASC'
        codepage         = space
        write_bom        = 'X'
      TABLES

Maybe you are looking for