Itab formation for download to Excel

Hi Friends,
I need to create an excel file from an internal table (say itab) which contains header and lower portion data of excel.
I need to create excel like this:
<b>Vendor : itab-lifnr</b> -spaces- <b>Plant : itab-werks</b>
<b>User Name : itab-usr01</b> - spaces - <b>Date : itab-date</b>
Under above, the column headers for the line items
<b>Vendor</b> -space-  <b>Name</b> -space- <b>Material</b> -space- <b>Mail ID</b> -space- <b>Delivery Status</b>
And here the line items (can be more than one)
<b>itab-lifnr</b> -space- <b>itab-name1</b> -space- <b>itab-matnr</b> -space- <b>itab-email</b> -space- <b>itab-stewn</b>
How to go about it:
- is using con_cret and con_tab the only option ? if so, how should the internal table to be sent to gui_download be declared ?
Advance Thanks
Aadarsh

data: imakt type table of makt.
start-of-selection.
select * into corresponding fields of table imakt
             from makt up to 100 rows
                     where spras = sy-langu.
  call method cl_gui_frontend_services=>gui_download
    exporting
*    BIN_FILESIZE            =
      filename                = 'C:text.txt'
<b>     FILETYPE                = 'DAT'</b>
*    APPEND                  = SPACE
<b>     WRITE_FIELD_SEPARATOR   = SPACE</b>
*    HEADER                  = '00'
*    TRUNC_TRAILING_BLANKS   = SPACE
*    WRITE_LF                = 'X'
*    COL_SELECT              = SPACE
*    COL_SELECT_MASK         = SPACE
*  IMPORTING
*    FILELENGTH              =
    changing
      data_tab                = imakt
*  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
  if sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  endif.
Try this out.

Similar Messages

  • I need format for data in excel file load into info cube to planning area.

    Hi gurus,
    I need format for data in excel file load into info cube to planning area.
    can you send me what should i maintain header
    i have knowledge on like
    plant,location,customer,product,history qty,calander
    100,delhi,suresh,nokia,250,2011211
    if it is  right or wrong can u explain  and send me about excel file format.
    babu

    Hi Babu,
    The file format should be same as you want to upload. The sequence of File format should be same communication structure.
    Like,
    Initial columns with Characteristics (ex: plant,location,customer,product)
    date column (check for data format) (ex: calander)
    Last columsn with Key figures (history qty)
    Hope this helps.
    Regards,
    Nawanit

  • Excel version for download to Excel

    Hi All,
    Does anybody know how the Excel version for the download is deternined? I have Excel 2007 installed on my laptop, but the download happens in Excel 97-2003.
    Thanks,
    Nathalie

    Hi Nathalie,
    Please check the question discussed in the forum:
    Bw export to excel option downloads the report as .XLS
    -Vikram

  • File format for download

    Hi,
       I have to download the file in the .csv format. What is the function module for it.
    Regards

    see this sample code
    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
    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.
    ENDLOOP.
    APPEND I_OUT.
    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.csv'
    FILETYPE = 'DAT'
    WRITE_FIELD_SEPARATOR = 'X'
    TABLES
    DATA_TAB = I_HEADING
    EXCEPTIONS
    FILE_WRITE_ERROR = 1.
    CALL FUNCTION 'GUI_DOWNLOAD'
    EXPORTING
    FILENAME = 'C:\MATSTK.csv'
    FILETYPE = 'DAT'
    APPEND = 'X'
    WRITE_FIELD_SEPARATOR = 'X'
    TABLES
    DATA_TAB = I_OUT.
    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 AVAILABLE 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.
    IF I_VBAP[] IS INITIAL.
    WRITE:/ 'NO MATCHING DATA AVAILABLE FROM TABLE VBAP'.
    EXIT.
    ENDIF.
    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
    https://forums.sdn.sap.com/click.jspa?searchID=4274284&messageID=1658915
    Re: How to download a report into CSV file format?.
    *reward for useful answers*

  • Event Handler for Download to Excel Button

    Hi Experts,
    I have been trying to debug and find some clue about the Export to Spreadsheet Button present normally in a table view. My requirement is to modify the records before they are downloaded to an excel sheet.
    Any quick clues will be highly appreciated.
    Thanks
    Vishal

    Hi, Vishal.
    One more input regarding your question (may be it will be usefull) is that the service UIF_EXPORT_TAB (in tx. SICF) is responsible for this button. Its handler class CL_CHTMLB_CONFIG_TAB_EXCEL_EXP handles requests from this button. And also it works with template (method gDo) and actual data (method gDa) from the table. It calls mentioned GET_TABLE_COMPONENTS, GET_TEMPLATE_XML, GET_DATA_XML, GET_CSB methods from your table context node class.

  • Wht are the function modules for download upload excel files in bdc.

    hi all,
    this question seems to be silly but i had open office excel files i am getting problems to upload or down loading.  can you tell which function modules can upload or down load open office excel files.
    another dought this is not need full but i need to get some of graphics which are in se78  .
    how can we dowload them from sap.
    thanq,
    rajesh.k

    Hi,
      use  :   CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
       REPORT  YKC_XL_UPLOAD.
    TYPE-POOLS TRUXS.
    TABLES : ZMARA.
    * Selection screen
    PARAMETER P_FILE TYPE RLGRAP-FILENAME DEFAULT
    'C:\Kris\TEST_UPLOAD.xls'.
    TYPES:  BEGIN OF T_TAB,
            MATNR   LIKE ZMARA-MATNR,
            ERSDA  LIKE ZMARA-ERSDA,
            ERNAM  LIKE ZMARA-ERNAM,
            END OF T_TAB.
    DATA :  T_UPLOAD  TYPE STANDARD TABLE OF T_TAB WITH HEADER LINE ,
            WA_UPLOAD TYPE T_TAB,
            IT_RAW TYPE TRUXS_T_TEXT_DATA.  "work table internal table
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.
      CALL FUNCTION 'F4_FILENAME'
        EXPORTING
          PROGRAM_NAME  = SYST-CPROG
          DYNPRO_NUMBER = SYST-DYNNR
          FIELD_NAME    = 'P_FILE '
        IMPORTING
          FILE_NAME     = P_FILE.
    START-OF-SELECTION.
    * Uploading the data in the file into internal table
      CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
      EXPORTING
    *   I_FIELD_SEPERATOR =
    *   I_LINE_HEADER  = 'X'
        I_TAB_RAW_DATA = IT_RAW
        I_FILENAME     = P_FILE
      TABLES
        I_TAB_CONVERTED_DATA = T_UPLOAD[]
      EXCEPTIONS
        CONVERSION_FAILED = 1
        OTHERS            = 2.
      IF SY-SUBRC NE  0.
        MESSAGE ID SY-MSGID
                TYPE SY-MSGTY
                NUMBER SY-MSGNO
                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    END-OF-SELECTION.
    * Uploading the data into the database table
      LOOP AT T_UPLOAD INTO T_UPLOAD.
        ZMARA-MATNR = T_UPLOAD-MATNR.
        ZMARA-ERSDA = T_UPLOAD-ERSDA.
        ZMARA-ERNAM = T_UPLOAD-ERNAM.
        INSERT  ZMARA.
    Endloop.
    Tks,
    Krishna

  • Customizing Excel File format for "Export to Excel" command

    HI All,
    we are developing a classic planning application using Hyperion 11.1.2.2
    There is a option in Hyperion web through which user can Export data to Excel from Data from; via following procedure:
    Open Data Form which you want to Export
    Once data form go to Tool -> Export to Excel; this will open up an excel with with that dataform loaded in it.
    I am wondering is there any way to customize that excel file ; like changing font color, font size etc in excel file

    Hi,
    The one which you are going to get from the export would be a static file and you cant get POV as a drop down even to select , for color you can validations which will give you color based on some condition etc.
    Thanks
    Amith

  • Page Formatting for downloaded pdf version

    the document is not formatting the pages correctly - any suggestions how to control the page formatting?

    Its been almost 3 years, has there been any update on this issue? We are experiencing the same issue. Our numerous customers are thinking about just using a different pdf reader that supports this standard. All workarounds we have encountered are hacks around the URL and are unacceptable for our customers.
    Please respond, we would hate for Adobe to lose all of the users that our customers have.

  • For Download to excel...

    In my jsp i have set the response.setContentType... and when I launch that jsp page.. it doesn't ask me whether you want to Open or Save,,, what should i do for it..
    Thanks
    Ramesh

    I assume your doing something like:
    response.setHeader("Content-Disposition","attachment;filename=Test.xls");
    Right?
    What browser are you using? I've only gotten this to work in IE, not Netscape.

  • Help for download

    Hi all,
    i am facing one problem in downloading...
    in my report output the
    netwr is showing output like: 123,345 i have used Currency while display i report...
    but when i am passing the same internal table for download in excel it downloads like 12334.5.
    plz suggest what should i do for this...
    its urgent for me...
    regards
    parul

    Hi,
    I think you are facing problem for curriencies like JPY, KOR...
    For JPY and KOR there will be no decimals.they should be display with out decimals.
    If it is your currency......
    In the output you are getting values without decimals is it ok for you or......
    In the same way you want to download the same thing in Excel without decimals.
    Here is the example code.... follow this you will get.
    Use this while moving your values into Excel ITAB.
    Instead of move use write ....in the loop.
        write: sum_it-cwrbtr to excel_sum_it-cwrbtr currency
               bkpf_it-waers.
        write: sum_it-dwrbtr to excel_sum_it-dwrbtr currency
             bkpf_it-waers.
        append excel_sum_it.
    Here sum_it is my internal table which i am moving the values into Excel_sum_it is my Excel download internal table.
    while downloading refer the currency field to it.
    Thanks.
    If this solve your problem award points and close the thread.
    Message was edited by: Deepak333 k

  • Download to Excel not working in Transaction iview in Quality

    Dear All,
    I have a transaction iview in EP Quality Server which is transported from the development Server.This iview represents a transaction which displays some data (report output) and has an button for download to excel. The problem is that the ALV download functionality is working fine in the EP development Server's iview but I am not able to download from EP Quality though the output of the report is coming fine.
    Awaiting for the reply.
    Regards,
    Samir

    Hi,
    Try it once in laptop instead of desktop.
    May be the screen resolution or some thing is causing this,because I have encountered the issue previously.
    Create new iview in quality and try.Do you activate the transaction in SICF if it is custom one.
    Thanks and Regards,
    gopal.sattiraju

  • ALV Report Error while downloading to Excel

    Hi All,
    when i downloading to Excel from a alv grid following message has been displayed.
    Template not found in BDS  - Layout: Template-
    Guid:
    please give me any solution to download the report to excel
    Thanks & Regards
    Ramu G

    Hi,
    Standard Function code for Download to Excel Icon used  '&VEXCEL'(Microsoft Excel) instead of '&XXL'(Spreadsheet...) it solved my problem.
    Thanks & Regards
    Ramu Ganji

  • Download to Excel.

    Hi,
    I have to download data into excel .
    Now this data is not predefined .. as in its picked up from custom table . If no of records selected from custom table is 6 then 6 columns in final_itab. If 10 records selcted then 10 columns .
    Now I have managed to create two internal tables
    1. itab1
    this contains header texts
    row  column   text
    1     1       Name
    1     2       Quantity
    1     3       Price
    2, itab2   contains - values
    row column   value
    1    1       'ABC'
    1    2       '33'
    1    3       '34.56'
    2    1       'CDF'
    2    2       '66'
    2    3       '234'
    How do I make it into one internal table for download to excel.
    If I think of the option of printing it as a report so that the user will save file as spread sheet .. this is also not possible as the text size for each is 70 and it will exceed the maximum permissible which is 1023.
    Culd Anyoen suggest something in this regard please .

    Hi neelim,
    first declare your internal table that will contains the headre of the colomn
    DATA: BEGIN OF gt_header OCCURS 1,
           ZONE(60) TYPE C,
          END OF gt_header.
    then the table that will contains the values.
    DATA: BEGIN OF gt_val OCCURS 0,                  
            matnr(18),
            werks(4),
          end of gt_val.
    after updating your table with value and header text
    call function:
    CALL FUNCTION 'GUI_DOWNLOAD'
             EXPORTING
                  FILENAME            = P_file
                  FILETYPE            = 'DAT'
             TABLES
                  DATA_TAB            = gt_val
                  FIELDNAMES          = gt_header
             EXCEPTIONS
                  FILE_OPEN_ERROR     = 1
                  FILE_WRITE_ERROR    = 2
                  INVALID_FILESIZE    = 3
                  INVALID_TABLE_WIDTH = 4
                  INVALID_TYPE        = 5
                  NO_BATCH            = 6
                  UNKNOWN_ERROR       = 7
                  OTHERS              = 8.
    it should works.
    joseph

  • Download To Excel in PL/SQL

    Hi,
    Through my PL/SQL code for Download To Excel functionality, If fetch record count is more than 2k then sometime I get below mentioned error:
    ORA-22288: file or LOB operation FILEOPEN failed
    No such file or directory ORA-06512: at "SYS.DBMS_LOB", line 805
    ORA-06512: at "NCPCORE.NCP_BRANCH_CAMPUS_REC_PKG", line 1799
    What could be the reason for the same?

    82MT wrote:
    Hi,
    Through my PL/SQL code for Download To Excel functionality, If fetch record count is more than 2k then sometime I get below mentioned error:
    ORA-22288: file or LOB operation FILEOPEN failed
    No such file or directory ORA-06512: at "SYS.DBMS_LOB", line 805
    ORA-06512: at "NCPCORE.NCP_BRANCH_CAMPUS_REC_PKG", line 1799
    What could be the reason for the same?
    bug in the code
    How do I ask a question on the forums?
    https://forums.oracle.com/message/9362002#9362002

  • Best Way to Capture Streaming mp3 for Download and Burn?

    Anyone have any suggestions on capturing streaming audio in mp3 format for download and burning to a CD-R disc for private listening away from the computer (Intel Duo2Core)?
    What I want to capture is definately legal download but it only seems to want to download into Quicktime, and I can't figure how to get that into a format so I can import to iTunes and burn to a CD so I can listen in my car when I drive.

    If you save the quicktime audio as a self cotained .mov format, it can be imported into itunes. It can then be converted to an mp3 by using the "covert selection to mp3" under the advanced menu if needed.
    Hope this helps
    iMac G5   Mac OS X (10.4.8)   1 Gb RAM
    iMac G5   Mac OS X (10.4.1)  
    iMac G5   Mac OS X (10.4.8)  

Maybe you are looking for

  • Home Sharing Browsing Speed?

    I regularly use Home Sharing on many of my Apple devices (Apple TVs, iPhones, iPads, etc.) to browse content stored on my iMac. The iTunes collection on my iMac is very large (terrabytes of movies and TV shows). Whenever I browse to it, via the Video

  • I have wral-tv weather app downloaded from apple app store for iphone, but how do i get the app on my iphone

    i want to get the wral-tv weather app on my iphone. i downloaded it from apple app store onto my laptop, but how do i get it on my phone. i don't have an app on my phone for downloading apps from my iphone, or i don't see it.

  • Show or hide ALV buttons

    Hi, I have created an ALV with abap objects, and I am interested in sow or hide his buttons depending of other funcionality. Is this possible? How can i do it? Thanx!

  • Ending session when user closes window w/o logging out

    Hi, I tried looking everywhere for a solution to this problem and was unable to do so. I'm running tomcat 4.0.5 on win2k and am trying to prevent multiple user logging capability, but the listeners that I implemented for the session can only detect t

  • HP Photosmart scanning on Mac 10.7.4 - Crashes Preview app

    I have been using the scanner function on the Photosmart with my Mac for 2-3 years and suddenly I cannot scan more than one page. Preview crashes each time I try to scan multiple pages and sends off an error report. Why has this suddenly started happ