To download data into csv file format

Hi All
I have to download data into csv file format. I use the FM
GUI_DOWNLOAD and gave the filename text.csv. But data is stored in excel
file in place of csv file.
Can anyone tell me what should i do to load the data into csv file or any other function module should used?
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
regards,
srinivas
<b>*reward for useful answers*</b>

Similar Messages

  • Is there a way to download data into CSV format?

    Is there a way to download data into CSV format?
    I can't do this using delimiter as ',' because user wants the decimal format in the ','s only.
    Any suggestions?

    go through this link...
    Download CSV file in presentation server through FM GUI_DOWNLOAD
    Re: how to create a CSV file
    type-pools:TRUXS.
    data: begin of itab occurs 0,
          vbeln like vbap-vbeln,
          posnr like vbap-posnr,
          end of itab.
    data:  itab1 type TRUXS_T_TEXT_DATA.
      select vbeln
             posnr
             up to 10 rows
             from vbap
             into table itab.
    CALL FUNCTION 'SAP_CONVERT_TO_CSV_FORMAT'
    EXPORTING
       I_FIELD_SEPERATOR          = ','
      TABLES
        I_TAB_SAP_DATA             = itab
    CHANGING
       I_TAB_CONVERTED_DATA       =  itab1
    EXCEPTIONS
       CONVERSION_FAILED          = 1
       OTHERS                     = 2
    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 'GUI_DOWNLOAD'
        EXPORTING
          filename = 'C:TEMPtest.TXT'
        TABLES
          data_tab = itab1
        EXCEPTIONS
          OTHERS   = 1.

  • Problem in converting table data into CSV file

    Hi All,
    In my Process i need to convert my error table data into csv file,my data is converted as csv file by using OdisqlUnload function,but the column headers are not converted,i use another procedure for converting column headers but iam getting below error ...
    com.sunopsis.sql.SnpsMissingParametersException: Missing parameter string.find, string.find
    SQL: import string import java.sql as sql import java.lang as lang import re sourceConnection = odiRef.getJDBCConnection("SRC") output_write=open('C:/Oracle/Middleware/Oracle_ODI2/oracledi/pro/PRO.txt','r+') myStmt = sourceConnection.createStatement() my_query = "select * FROM E$_LOCAL_F0911Z1" my_query=my_query.upper() if string.find(my_query, '*') > 0: myRs = myStmt.executeQuery(my_query) md=myRs.getMetaData() collect=[] i=1 while (i <= md.getColumnCount()): collect.append(md.getColumnName(i)) i += 1 header=','.join(map(string.strip, collect)) elif string.find(my_query,'||') > 0: header = my_query[7:string.find(my_query, 'FROM')].replace("||','||",',') else: header = my_query[7:string.find(my_query, 'FROM')] print header old=output_write.read() output_write.seek(0) output_write.write (header+'\n'+old) sourceConnection.close() output_write.close()
    And i used below code for converting.......
    import string
    import java.sql as sql
    import java.lang as lang
    import re
    sourceConnection = odiRef.getJDBCConnection("SRC")
    output_write=open('C:/Oracle/Middleware/Oracle_ODI2/oracledi/pro/PRO.txt','r+')
    myStmt = sourceConnection.createStatement()
    my_query = "select FROM E$_COMPANY"*
    *my_query=my_query.upper()*
    *if string.find(my_query, '*') > 0:*
    *myRs = myStmt.executeQuery(my_query)*
    *md=myRs.getMetaData()*
    *collect=[]*
    *i=1*
    *while (i <= md.getColumnCount()):*
    *collect.append(md.getColumnName(i))*
    *i += 1*
    *header=','.join(map(string.strip, collect))*
    *elif string.find(my_query,'||') > 0:*
    *header = my_query[7:string.find(my_query, 'FROM')].replace("||','||",',')*
    *else:*
    *header = my_query[7:string.find(my_query, 'FROM')]*
    *print header*
    *old=output_write.read()*
    *output_write.seek(0)*
    *output_write.write (header+'\n'+old)*
    *sourceConnection.close()*
    *output_write.close()*
    Any one can you help regarding this
    Edited by: 30021986 on Oct 1, 2012 6:04 PM

    This may not be an option for you but in pinch you may want to consider outputing your data to an MS Spreadsheet, then saving it as a CSV. It's somewhat of a cumbersome process, but it will get you by for now.
    You will need to change your content type to application/vnd.ms-excel.
    <% response.setContentType("application/vnd.ms-excel"); %>

  • Export batch data into CSV file using SQL SP

    Hi,
    I have created WCF-Custom receive adapter to poll Sql SP (WITH xmlnamespaces(DEFAULT 'Namespace' and For XML PATH(''), Type) . Get the result properly in batch while polling and but getting error while converting into CSV by using map.
    Please can anyone give me some idea to export SQL data into CSV file using SP.

    How are you doing this.
    You would have got XML representation for the XML batch received from SQL
    You should have a flat-file schema representing the CSV file which you want to send.
    Map the received XML representation of data from SQL to flat-file schema
    have custom pipeline with flat-file assembler on the assembler stage of the send pipeline.
    In the send port use the map which convert received XML from SQL to flat file schema and use the above custom flat-file disassembler send port
    If this answers your question please mark it accordingly. If this post is helpful, please vote as helpful by clicking the upward arrow mark next to my reply.

  • Download data into .csv format ( ABAP webDynpro )

    Hi gurus ,
    I am new to WebDynpro .
    My requirement is that i need to download all my datas into csv format . But when i am using the function module
    GUI_DOWNLOAD , an error is coming " Couldnot ascertain code page "
    I have used the F.M  ' SAP_CONVERT_TO_CSV_FORMAT '
    call function 'SAP_CONVERT_TO_CSV_FORMAT'
    exporting
       i_field_seperator          = ';'
      I_LINE_HEADER              =
      I_FILENAME                 = ''
      I_APPL_KEEP                = ' '
      tables
        i_tab_sap_data             = it_fail
    changing
       i_tab_converted_data       = csv_converted_table
    exceptions
       conversion_failed          = 1
       others                     = 2
    when i am using GUI_DOWNLOAD i am getting the above error
    CALL FUNCTION 'GUI_DOWNLOAD'
      EXPORTING
    filename                        = 'C:\test.csv'
      tables
        data_tab                    = csv_converted_table.
      ENDIF.
    suggest me or provide some sample code to download the the csv_converted_table  that i got from the F.M
    'SAP_CONVERT_TO_CSV_FORMAT'  into .csv format to my local drive .
    Thanx Gurus .

    Heyy  Thanks for proving a new concept ..
    actually i was using the following code .
    DATA : lv_filename TYPE rlgrap-filename,
      lv_timestamp(55) TYPE c,
       lt_csv TYPE truxs_t_text_data,
      ls_csv TYPE LINE OF truxs_t_text_data,
      p_path TYPE string VALUE 'D:\Result'.
    Constants : lc_ex TYPE char4 VALUE '.csv'.
    CONCATENATE p_path lc_ex INTO lv_timestamp.
    lv_filename = lv_timestamp.
    CALL FUNCTION 'SAP_CONVERT_TO_TEX_FORMAT'
    EXPORTING
    i_field_seperator = ','
    i_filename = lv_filename
    TABLES
    i_tab_sap_data = it_fail       
    CHANGING
    i_tab_converted_data = lt_csv
    **-------Place the file in the required directory.
    OPEN DATASET lv_filename FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
    LOOP AT lt_csv INTO ls_csv.
    TRANSFER ls_csv TO lv_filename.
    ENDLOOP.
    But i m getting the following error  
    File "D:\Result.csv" is not open.
    Can u please tell me what needs to be done ...??
    Thanks

  • How to download  data into XLSX file in ABAP ECC 6.0 using FM: GUI_DOWNLOAD or any other FunctionModules

    Hi ABAP Exterts,
    Any one help on this , there is a requirement to download the data into XLSX file only.
    I am able to to download the data into XLS file using the FM: GUI_DOWNLOAD in SAP ECC 6.0and also opening the file . But when i download the data into XLSX file . I am able to download the data into GUI_DOWNLOAD. But while opening the file i am getting the below mentioned error.
    'Excel cannot open the file 'filename.xlsx' because the file format or file extension is not valid. Verify that the file has not been corrupted and that the file extension matches the format of the file'
    Ok buttom is coming not able to open the file.
    When i use the FM: SAP_CONVERT_TO_XLS_FORMAT to download the XLS it self it is going abap DUMP that file type error.
    Any one help  any Function Module or how to download data through abap programing into XLSX file.
    Thanks.
    Murali.
    Message was edited by: Matthew Billingham - adjusted wording...

    If you want to download your ALV to an .XLXS format file, with all the formatting intact, please try the following code. I have tried to create a custom Function module Z_EXCEL_DOWNLOAD_TEST wherein I pass all the callback variables, the final ALV internal table and all the ALV details like field catalog, sort, layout, event list and so on, along with the concatenated file path and file name in I_FILE. I have used a custom class ZCL_SALVEXPORT_XML which is a copy of the standard class CL_SALV_EXPORT_XML_DIALOG, with few modifications in Method: EXECUTE and Method: DOWNLOAD. The methods where I have modified the code are also shown at the end.
    ****************Global declarations***********************
    TYPE-POOLS: slis,
    kkblo.
    TYPES: t_fccls(1) TYPE c OCCURS 0.
    TYPES: BEGIN OF ty_nosum,
    fieldname     TYPE kkblo_fieldname,           "Field name
    tabname       TYPE kkblo_tabname,             "Table name
    fieldname_dep TYPE kkblo_fieldname,           "Field name
    tabname_dep   TYPE kkblo_tabname,             "Table name
    index         TYPE sy-index,                  "Index
    END OF ty_nosum.
    TYPES: t_nosum TYPE TABLE OF ty_nosum INITIAL SIZE 0 WITH NON-UNIQUE DEFAULT KEY.
    TYPES: BEGIN OF ty_dep_field,
    s_dep_fieldcat TYPE kkblo_fieldcat,            "Field cat
    t_ref_fieldcat TYPE kkblo_t_fieldcat,          "Field cat
    END OF ty_dep_field.
    TYPES: BEGIN OF ty_ref_field,
    s_ref_fieldcat TYPE kkblo_fieldcat,           "Field cat
    s_dep_fieldcat TYPE kkblo_fieldcat,           "Field cat
    END OF ty_ref_field.
    TYPES: t_dep_field TYPE ty_dep_field OCCURS 0.        "
    TYPES: t_ref_field TYPE ty_ref_field OCCURS 0.
    TYPES: BEGIN OF ty_memory,
    object(20)  TYPE c,                        "Object
    memcount(4) TYPE c,                        "count
    END OF ty_memory.
    *ALV Customer Wrapper
    TYPES: BEGIN OF ty_type_header_info,
    tabname   TYPE kkblo_tabname,            "Table name
    fieldname TYPE kkblo_fieldname,          "Field name
    sequence  TYPE i,                        "Sequence
    field     TYPE char80,                    "Field
    pagno     TYPE sypagno,                   "Page num
    linno     TYPE sy-linno,                  "Current Line in List
    colno     TYPE sy-colno,                  "Current List Column
    END   OF ty_type_header_info,
    t_type_header_info TYPE SORTED TABLE OF ty_type_header_info
    WITH UNIQUE KEY tabname fieldname.
    TYPES: BEGIN OF ty_type_row_info,
    tabname   TYPE kkblo_tabname,            "Table name
    tabindex  TYPE syindex,                  "Index
    field     TYPE char80,                   "Field name
    pagno     TYPE sypagno,                  "Page num
    linno     TYPE sy-linno,                 "Current Line in List
    colno     TYPE sy-colno,                 "Current List Column
    END   OF ty_type_row_info,
    t_type_row_info TYPE SORTED TABLE OF ty_type_row_info
    WITH UNIQUE KEY tabname tabindex.
    TYPES: BEGIN OF ty_type_sel_header,
    tabname   TYPE kkblo_tabname,           "table name
    fieldname TYPE kkblo_fieldname,         "field name
    END   OF ty_type_sel_header,
    t_type_sel_header TYPE SORTED TABLE OF ty_type_sel_header
    WITH UNIQUE KEY tabname fieldname.
    TYPES: BEGIN OF ty_type_sel_row,
    tabname   TYPE kkblo_tabname,
    tabindex  TYPE syindex,
    END   OF ty_type_sel_row,
    t_type_sel_row TYPE SORTED TABLE OF ty_type_sel_row
    WITH UNIQUE KEY tabname tabindex.
    TYPES: BEGIN OF ty_type_sel_cell,
    tabname   TYPE kkblo_tabname,
    tabindex  TYPE syindex,
    fieldname TYPE kkblo_fieldname,
    END   OF ty_type_sel_cell.
    TYPES: BEGIN OF ty_type_selections,
    t_row_info         TYPE t_type_row_info,
    t_header_info      TYPE t_type_header_info,
    t_selected_headers TYPE t_type_sel_header,
    t_selected_rows    TYPE t_type_sel_row,
    s_current_cell     TYPE ty_type_sel_cell,
    set_headers        TYPE sap_bool,
    set_rows           TYPE sap_bool,
    set_current_cell   TYPE sap_bool,
    END   OF ty_type_selections.
    TYPES: BEGIN OF ty_stack3,
    r_grid         TYPE REF TO cl_gui_alv_grid,        "Y6DK050176
    r_salv_adapter TYPE REF TO if_salv_adapter,
    s_selections   TYPE ty_type_selections,
    r_print_state  TYPE REF TO if_alv_print_parameter_proxy, "Y6DK075821
    suppress_empty_data TYPE abap_bool,
    END OF ty_stack3.
    TYPES: t_stack3 TYPE ty_stack3 OCCURS 0.
    TYPES: BEGIN OF ty_stack,
    i_callback_program       TYPE sy-repid,
    i_callback_user_command  TYPE kkblo_formname,
    i_callback_top_of_page   TYPE kkblo_formname,
    i_callback_top_of_list   TYPE kkblo_formname,
    i_callback_end_of_page   TYPE kkblo_formname,
    i_callback_end_of_list   TYPE kkblo_formname,
    i_callback_pf_status_set TYPE kkblo_formname,
    i_callback_fieldcat_save TYPE kkblo_formname,
    i_callback_layout_save   TYPE kkblo_formname,
    i_tabname                TYPE kkblo_tabname,
    i_tabname_slave          TYPE kkblo_tabname,
    is_keyinfo               TYPE kkblo_keyinfo,
    is_layout                TYPE kkblo_layout,
    it_fieldcat              TYPE kkblo_t_fieldcat,
    i_fctype(1)              TYPE c,
    it_excluding             TYPE kkblo_t_extab,
    it_special_groups        TYPE kkblo_t_sp_group,
    it_sort                  TYPE kkblo_t_sortinfo,
    it_except_qinfo          TYPE kkblo_t_qinfo,
    is_sel_hide              TYPE kkblo_sel_hide,
    t_columns                TYPE kkblo_t_columns,
    t_filter                 TYPE kkblo_t_filter,
    s_lprint                 TYPE kkblo_lprint,
    print_line_break         TYPE char1,
    t_isetab                 TYPE kkblo_seldis,
    t_fccls                  TYPE t_fccls,
    t_sfinfo                 TYPE kkblo_t_sfinfo,
    t_ref_field              TYPE t_ref_field,
    t_dep_field              TYPE t_dep_field,
    flg_default_status(1)    TYPE c,
    flg_selections           TYPE char1,
    flg_allow_no_selection   TYPE char1,
    flg_input                TYPE char1,
    flg_called               TYPE char1,
    flg_popup                TYPE char1,
    flg_endlist              TYPE char1,
    listtype                 TYPE char1,
    actcols                  TYPE i,
    is_list                  TYPE char1,
    END OF ty_stack.
    TYPES: t_stack TYPE ty_stack OCCURS 0.
    TYPES: BEGIN OF ty_stack2,
    button_col1(20)                TYPE c,
    button_col2(20)                TYPE c,
    button_col3(20)                TYPE c,
    button_col4(20)                TYPE c,
    button_col5(20)                TYPE c,
    s_header                       TYPE kkblo_header,
    t_sfinfo_slave                 TYPE kkblo_t_sfinfo,
    t_suminfo                      TYPE kkblo_t_sfinfo,
    t_sfsave                       TYPE kkblo_t_sfinfo,
    t_nosum                        TYPE t_nosum,
    window_title                   TYPE rsmpe-tittext,  " Item_selection
    flg_scroll_to_line(1)          TYPE c, " Item_selection
    flg_top_of_page(1)             TYPE c,
    flg_subtot(1)                  TYPE c,
    flg_output_in_progress(1)      TYPE c,
    flg_grouplevels(1)             TYPE c,
    flg_groupedit(1)               TYPE c,
    flg_calculate_totals(1)        TYPE c,
    sumlevel                       TYPE sy-tabix,
    memory_stack1                  TYPE ty_memory,
    memory_stack2                  TYPE ty_memory,
    memory_outtab                  TYPE ty_memory,
    t_colmark                      TYPE kkblo_t_colmark,
    t_rowmark                      TYPE kkblo_t_rowmark,
    it_event_exit                  TYPE kkblo_t_event_exit,
    t_groups                       TYPE kkblo_t_grouplevels,
    t_filter_groups                TYPE kkblo_t_grouplevels,
    s_subtot_options               TYPE kkblo_subtot_options,
    flg_append_mode(1)             TYPE c,
    is_reprep_id                   TYPE kkblo_reprep_id,
    i_callback_before_line_output  TYPE kkblo_formname,
    i_callback_after_line_output   TYPE kkblo_formname,
    i_callback_foreign_top_of_page TYPE kkblo_formname,
    i_callback_foreign_end_of_page TYPE kkblo_formname,
    i_callback_list_modify         TYPE kkblo_formname,
    i_callback_top_of_coverpage    TYPE kkblo_formname,
    i_callback_end_of_coverpage    TYPE kkblo_formname,
    i_callback_grouplevel_change   TYPE kkblo_formname,
    i_callback_item_data_expand    TYPE kkblo_formname,
    i_callback_header_transport    TYPE kkblo_formname,
    i_callback_reprep_sel_modify   TYPE kkblo_formname,
    i_callback_subtotal_text       TYPE kkblo_formname,
    END OF ty_stack2.
    TYPES: t_stack2 TYPE TABLE OF ty_stack2 INITIAL SIZE 0.
    ** *--- iTables
    DATA: it_stack  TYPE t_stack WITH HEADER LINE.
    DATA: it_stack2 TYPE t_stack2 WITH HEADER LINE.
    ***ALV Customer Wrapper
    DATA: it_stack3 TYPE t_stack3 WITH HEADER LINE.
    CONSTANTS: BEGIN OF c_con_listtype,
    simple(1)    TYPE c VALUE 'S',
    hier_sequ(1) TYPE c VALUE 'H',
    matrix(1)    TYPE c VALUE 'M',
    END OF c_con_listtype.
    DATA:   gv_callback_program1      TYPE sy-repid,
    gv_callback_user_command1 TYPE kkblo_formname,
    gv_callback_top_of_page1  TYPE kkblo_formname,
    gv_callback_top_of_list1  TYPE kkblo_formname,
    gv_callback_end_of_page1  TYPE kkblo_formname,
    gv_callback_end_of_list1   TYPE kkblo_formname,
    gv_callback_pf_status_set1  TYPE kkblo_formname,
    gv_callback_layout_save1    TYPE kkblo_formname,
    gv_callback_fieldcat_save1  TYPE kkblo_formname,
    gv_callback_grouplevel_change1  TYPE kkblo_formname,
    gv_callback_before_line_otput1  TYPE kkblo_formname,
    gv_callback_after_line_otput1  TYPE kkblo_formname,
    gv_callback_foreign_top_of_pg1  TYPE kkblo_formname,
    gv_callback_foreign_end_of_pg1  TYPE kkblo_formname,
    gv_callback_list_modify1          TYPE kkblo_formname,
    gv_callback_top_of_coverpge1     TYPE kkblo_formname,
    gv_callback_end_of_coverpge1     TYPE kkblo_formname,
    gv_callback_item_data_expand1     TYPE kkblo_formname,
    gv_callback_header_transport1     TYPE kkblo_formname,
    gv_callback_reprep_sel_modify1    TYPE kkblo_formname,
    gv_callback_subtotal_text1       TYPE kkblo_formname,
    gv_layout1   TYPE  kkblo_layout,
    gv_fieldcat1  TYPE  kkblo_t_fieldcat,
    gv_fctype1  TYPE c,
    gv_event_exit1  TYPE  kkblo_t_event_exit,
    gv_excluding1   TYPE  kkblo_t_extab,
    gv_special_groups1  TYPE  kkblo_t_sp_group,
    gv_sort1  TYPE  kkblo_t_sortinfo,
    gv_filter1  TYPE  kkblo_t_filter,
    gv_except_qinfo1  TYPE  slis_t_qinfo_alv,
    gv_sel_hide1  TYPE  slis_sel_hide_alv,
    gv_reprep_id1   TYPE  slis_reprep_id,
    gv_screen_start_column1  TYPE i,
    gv_salv_adapter1   TYPE REF TO if_salv_adapter,
    gv_suppress_empty_data1  TYPE  sap_bool.
    FUNCTION z_excel_download_test.
    *"*"Local Interface:
    *"  IMPORTING
    *"     REFERENCE(I_BYPASSING_BUFFER) TYPE  CHAR01 OPTIONAL
    *"     REFERENCE(I_BUFFER_ACTIVE) OPTIONAL
    *"     REFERENCE(I_CALLBACK_PROGRAM) TYPE  SY-REPID OPTIONAL
    *"     REFERENCE(I_CALLBACK_USER_COMMAND) OPTIONAL
    *"     REFERENCE(I_CALLBACK_TOP_OF_PAGE) OPTIONAL
    *"     REFERENCE(I_CALLBACK_TOP_OF_LIST) OPTIONAL
    *"     REFERENCE(I_CALLBACK_END_OF_PAGE) OPTIONAL
    *"     REFERENCE(I_CALLBACK_END_OF_LIST) OPTIONAL
    *"     REFERENCE(I_CALLBACK_PF_STATUS_SET) OPTIONAL
    *"     REFERENCE(I_CALLBACK_LAYOUT_SAVE) OPTIONAL
    *"     REFERENCE(I_CALLBACK_FIELDCAT_SAVE) OPTIONAL
    *"     REFERENCE(I_CALLBACK_GROUPLEVEL_CHANGE) OPTIONAL
    *"     REFERENCE(I_CALLBACK_BEFORE_LINE_OUTPUT) OPTIONAL
    *"     REFERENCE(I_CALLBACK_AFTER_LINE_OUTPUT) OPTIONAL
    *"     REFERENCE(I_CALLBACK_FOREIGN_TOP_OF_PAGE) OPTIONAL
    *"     REFERENCE(I_CALLBACK_FOREIGN_END_OF_PAGE) OPTIONAL
    *"     REFERENCE(I_CALLBACK_LIST_MODIFY) OPTIONAL
    *"     REFERENCE(I_CALLBACK_TOP_OF_COVERPAGE) OPTIONAL
    *"     REFERENCE(I_CALLBACK_ITEM_DATA_EXPAND) OPTIONAL
    *"     REFERENCE(I_CALLBACK_END_OF_COVERPAGE) OPTIONAL
    *"     REFERENCE(I_CALLBACK_HEADER_TRANSPORT) OPTIONAL
    *"     REFERENCE(I_CALLBACK_REPREP_SEL_MODIFY) OPTIONAL
    *"     REFERENCE(I_CALLBACK_SUBTOTAL_TEXT) OPTIONAL
    *"     REFERENCE(I_TABNAME) TYPE  SLIS_TABNAME OPTIONAL
    *"     REFERENCE(I_FCTYPE) DEFAULT 'R'
    *"     REFERENCE(IT_EXCEPT_QINFO) TYPE  SLIS_T_QINFO_ALV OPTIONAL
    *"     REFERENCE(IS_SEL_HIDE) TYPE  SLIS_SEL_HIDE_ALV OPTIONAL
    *"     REFERENCE(IS_REPREP_ID) TYPE  SLIS_REPREP_ID OPTIONAL
    *"     REFERENCE(I_SCREEN_START_COLUMN) DEFAULT 0
    *"     REFERENCE(I_OO_ALV) OPTIONAL
    *"     REFERENCE(IR_SALV_ADAPTER) TYPE REF TO  IF_SALV_ADAPTER OPTIONAL
    *"     REFERENCE(I_SUPPRESS_EMPTY_DATA) TYPE  SAP_BOOL DEFAULT
    *"       ABAP_FALSE
    *"     REFERENCE(I_FILE) TYPE  STRING OPTIONAL
    *"     REFERENCE(IT_FIELDCAT) TYPE  SLIS_T_FIELDCAT_ALV OPTIONAL
    *"     REFERENCE(IS_LAYOUT) TYPE  SLIS_LAYOUT_ALV OPTIONAL
    *"     REFERENCE(IT_SORT) TYPE  SLIS_T_SORTINFO_ALV OPTIONAL
    *"     REFERENCE(IT_FILTER) TYPE  SLIS_T_FILTER_ALV OPTIONAL
    *"     REFERENCE(IT_EXCLUDING) TYPE  SLIS_T_EXTAB OPTIONAL
    *"     REFERENCE(IT_SPECIAL_GROUPS) TYPE  SLIS_T_SP_GROUP_ALV OPTIONAL
    *"     REFERENCE(IS_KEYINFO) TYPE  SLIS_KEYINFO_ALV OPTIONAL
    *"     REFERENCE(IT_EVENT_EXIT) TYPE  SLIS_T_EVENT_EXIT OPTIONAL
    *"     REFERENCE(IS_LIST_SCROLL) TYPE  SLIS_LIST_SCROLL OPTIONAL
    *"     REFERENCE(IS_PRINT) TYPE  SLIS_PRINT_ALV OPTIONAL
    *"     REFERENCE(IS_LINEINFO) TYPE  SLIS_LINEINFO OPTIONAL
    *"     REFERENCE(I_REPID) TYPE  SYREPID OPTIONAL
    *"  TABLES
    *"      T_OUTTAB TYPE  STANDARD TABLE OPTIONAL
    *********** Local data declarations******************
    DATA: gv_list TYPE char1.
    DATA: gv_fcat_complete TYPE sap_bool.
    DATA: gv_buffer_active TYPE char01,
    wa_variant TYPE disvariant.
    DATA: gv_controller TYPE REF TO cl_salv_export_c8r.
    DATA: gv_xml           TYPE xstring.
    DATA: gv_s_xml_choice TYPE if_salv_bs_xml=>s_type_xml_choice.
    DATA: gv_t_xml_choice TYPE if_salv_bs_xml=>t_type_xml_choice.
    DATA: gv_param_lvc TYPE if_salv_export=>s_type_param_lvc.
    DATA: gv_data       TYPE REF TO data.
    DATA: gv_result_data TYPE REF TO cl_salv_ex_result_data_table.
    DATA: gv_flavour TYPE string.
    DATA: gv_version TYPE string.
    DATA:

  • CLR to get the SQL Server Data into .CSV File

    Hi,
    I transformed 10 columns 1000 rows from the source table to 1 column 1000 rows in the destination table by making the comma separated columns ( Just like ..
    Insert into DestinationTable
    SELECT col1+','+col2 ....
    FROM SourceTable
    Then I want to take this column into CSV file.
    I dont have the rights to command shell.
    I heard that we may use CLR procedure for this. Can someone throw light?

    using System;
    using System.IOM
    using System.Data;
    using System.Data.SqlClient;
    using System.Data.SqlTypes;
    using Microsoft.SqlServer.Server;
    public class ExportFileClass {
    [Microsoft.SqlServer.Server.SqlProcedure]
    public static void export_file()
    using (SqlConnection connection = new SqlConnection(
    "context connection=true"))
    connection.Open();
    // Operation to open file goes here.
    SqlCommand command = new SqlCommand("SELECT col FROM YourTable");
    // Consume result set and write rows.
    Build this from the command line:
    sn -k keypair.snk
    csc /target:library /keyfile:keypair.snk exportfile.cs
    Then run in SQL Server (assuming that the files are in C:\temp on the SQL
    Server machine:
    [sql]
    USE master
    go
    -- To be able to create an external-access assembly, we need to load
    -- the key, the assembly is signed with. The key needs a password, but we
    -- don't need to know the password.
    DECLARE @sql nvarchar(MAX),
            @password char(40)
    SELECT @password = convert(char(36), newid()) + 'Ab4?'
    SELECT @sql = 'CREATE ASYMMETRIC KEY slog_loopback FROM FILE = ' +
                  '''C:\temp\keypair.snk'' ' +
                  'ENCRYPTION BY PASSWORD = ''' + @password + ''''
    PRINT @sql
    EXEC(@sql)
    -- And then a login to carry the permission.
    CREATE LOGIN exportfile$asymkey FROM ASYMMETRIC KEY ExportFile
    GRANT EXTERNAL ACCESS ASSEMBLY TO exportfile$asymkey
    go
    -- Now we can go back to our regular database and create the assembly.
    USE youddatabase
    go
    CREATE ASSEMBLY ExportFile FROM 'C:\temp\exportfile.dll'
    WITH PERMISSION_SET = EXTERNAL_ACCESS
    go
    CREATE PROCEDURE ExportFile AS
    EXTERNAL NAME ExportFile.ExportFileClass.export_file
    [sql]
    It is likely that you will have to do ask your DBA to do things in the
    master database.
    Erland Sommarskog, SQL Server MVP, [email protected]

  • How to download a report into CSV file format?.

    Hello all,
    I have a requirement like this.
    I have one custom Report. I need to download this report output into CSV format. In the selection screen, i am giving the pathname where report output need to be saved. Please let me know how to do it..
    Thanks in advance....
    Regards
    Ravi

    TYPE-POOLS: truxs.
    TYPES:
      BEGIN OF ty_Line,
        vbeln LIKE vbap-vbeln,
        posnr LIKE vbap-posnr,
      END OF ty_Line.
      ty_Lines TYPE STANDARD TABLE of ty_Line WITH DEFAULT KEY.
    DATA: itab   TYPE ty_Lines.
    DATA: itab1  TYPE truxs_t_text_data.
    SELECT
      vbeln
      posnr
      UP TO 10 ROWS
      FROM vbap
      INTO TABLE itab.
    CALL FUNCTION 'SAP_CONVERT_TO_CSV_FORMAT'
      EXPORTING
        i_field_seperator    = ';'
      TABLES
        i_tab_sap_data       = itab
      CHANGING
        i_tab_converted_data = itab1
      EXCEPTIONS
        conversion_failed    = 1
        OTHERS               = 2.
    IF sy-subrc &lt;&gt; 0.
      MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
      WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.
    CALL FUNCTION 'GUI_DOWNLOAD'
      EXPORTING
        filename = 'C:\TEMP\test.txt'
      TABLES
        data_tab = itab1
      EXCEPTIONS
        OTHERS   = 1.
    I found this in the blogs ....reward if it helps

  • Is there FM to download data into csv format?

    Got to create customized rfc/bapi and to export data in csv format?
    Any idea?

    HI,
    check this program.
    <b>report ZTEST2.
    data:  file type string,
           path type string,
           file_path type string.
    data: itab type standard table of cskt.
    start-of-selection.
      SELECT * FROM cskt INTO TABLE itab.
      call method cl_gui_frontend_services=>file_save_dialog
          changing FILENAME = file
                   path     = path
                   fullpath = file_path.
      check not file_path is initial.
      call method cl_gui_frontend_services=>gui_download
        exporting    filename                = file_Path
                      WRITE_FIELD_SEPARATOR = 'X'
         changing    data_tab                = itab.</b>
    Regards,

  • Error while downloading data into excel file.

    Hi,
        I have a requirement to download data available in xstring to excel file.
    I have a RFC which has export parameter 'file_data' of type xstring. When i call RFC
    from web dynpro abap application it gives data out pout in xstring format.
    I am opening excel file using that xstring data as below
    cl_wd_runtime_services=>attach_file_to_response(
    i_filename = 'file.xls'
    i_content = ls_data_source-data_source   ***[xstring data from RFC]
    i_mime_type = 'x-excel/application'
    i_in_new_window = abap_true ).
    But excel file not coming in correct format. its  giving an error while download
    excel file
    Error is
          " the file you are trying to open , 'file[1].xls', is in a different format than
    specified by the file extension. Verify that the file is not corrupted and is from
    a trusted source before opening the file. Do you want to open the file now? "
    If i click on 'YES' button file opening but not in proper excel format. Data is coming
    in tab delimiter format in excel file.
    Please suggest any solution for this problem.
    Thanks,
    Venkat.

    Hi Thomas,
    Following is the logic implemented in RFC which is giving XSTRING as export parameter
    STEP1      create a dynamic internal table
               Create field catalog for the table   using LVC_FIELDCATALOG_MERGE
                   CALL METHOD cl_alv_table_create=>create_dynamic_table
                        EXPORTING
                           it_fieldcatalog = it_fieldcat
                         IMPORTING
                           ep_table        = dyn_table.
                  CREATE  EXCEL SHEET BY SENDING FIELD CATALOG AND DATA TAB
    STEP2 # Convert text table to xstring.
            CALL FUNCTION 'SCMS_TEXT_TO_XSTRING'
              IMPORTING
                buffer   = l_content
              TABLES
                text_tab = lt_data_tab
              EXCEPTIONS
                failed   = 1
                OTHERS   = 2.
    STEP3  *# Psss Data to Netweaver
              PERFORM pass_data_to_nw USING is_import
                                      CHANGING es_attachment_metadata.

  • Loading data into csv file based on the count of data in table in ODI

    Hi,
    I have a requirement like i have data in table and need to be loaded in csv file.
    If the count of the data in the table exceeds the csv data limit then i need to call the same procedure again to
    generate one more csv file and load the remaining data into it.my data in the table may vary all the time.
    I am new to this ODI.Can anyone tell any ways to do it in ODI or tell me any logic to do this?
    Thanks in advance..
    Edited by: 883410 on May 22, 2012 12:01 AM

    What limit on the csv file are you talking about. There isn't a limit (unless you are on Unix where the filesize is limit is 2GB). Are you talking about opening it in earlier versions of Excel where the display limit is 60,000 rows as this is irrelevant for your operation?

  • Problem in Download data into Excel File

    Hi Friends,
    I have one doubt on WDJ.
             I have got the data from the Back and display the data into Table UI Element. Depending upon po_status equals to OA Pending that time conf_Ship_date Column is Empty. That time we can Select All Checkbox Click on Download Button Excel file is not download. Why it not download? Conf_Ship_date Column is Empty. Conf_Ship_date Column is data available that time data download into Excel File.
    My Req: if Conf_Ship_date Column is empty that time click on Download that data will download in to Excel. In Excel Conf_Ship_date Column will display in NULL or 00.00.0000 Like this also.
    Code:ExcelEle.setConf_Shp_Date(StockEle.getConf_Shp_Date()); 
    This means I am getting date from PoDetails_OutTab(StockEle)this node and add this date to PoDetails_ExcelData(ExcelEle) this node.Finally the date will available in PoDetails_ExcelData this node. By Using this node I will download data.
    How to do this work?
    Regards
    Vijay

    Hi Arun,
    For Example in Table 4 rows and 14 columns data is available. Select all check boxes click on download button total 4 rows and 14 columns data is downloaded.
    Table 4 rows and 14 columns data is available. But in some cells data not available in that time I m getting null values from ECC System. That time I am not able to download.
    In Particularly this problem I am getting only date colums.
    So now I have develop this code
    public void onActiondownloadToExcel(com.sap.tc.webdynpro.progmodel.api.IWDCustomEvent wdEvent )
        //@@begin onActiondownloadToExcel(ServerEvent)
         IPrivatePO_Details_ResultView.IPoDetails_ExcelDataNode ExcelNode = wdContext.nodePoDetails_ExcelData();
         IPrivatePO_Details_ResultView.IPoDetails_ExcelDataElement ExcelEle; 
         IPrivatePO_Details_ResultView.IPoDetails_OutTabNode StockNode = wdContext.nodePoDetails_OutTab();
         IPrivatePO_Details_ResultView.IPoDetails_OutTabElement StockEle ;
         for(int i = 0 ;i<StockNode.size();i++)
         StockEle = StockNode.getPoDetails_OutTabElementAt(i);
         if(StockEle.getCheckBox()== true)
         ExcelEle = ExcelNode.createPoDetails_ExcelDataElement();// Create Element
         if(StockEle.getConf_Shp_Date()==null)
         java.sql.Date deliverydate1=new java.sql.Date(0,0,0);
         ExcelEle.setConf_Shp_Date(deliverydate1);
         else
         ExcelEle.setConf_Shp_Date(StockEle.getConf_Shp_Date()); 
    By using this code i have to download total Records but in this Conf_Shp_Date colums i am getting 31-12.1899 this output in Excel. But i need in Excel to print Null or 00.00.0000 like
         ExcelEle.setQuantity(StockEle.getQuantity());
         ExcelEle.setDeliv_Date(StockEle.getDeliv_Date());
         if(StockEle.getExpt_Shp_Date()==null)
         java.sql.Date deliverydate2=new java.sql.Date(0,0,0);
         ExcelEle.setExpt_Shp_Date(deliverydate2);
         else
         ExcelEle.setExpt_Shp_Date(StockEle.getExpt_Shp_Date());
         ExcelEle.setVendor_Material(StockEle.getVendor_Material());
         ExcelNode.addElement(ExcelEle);
         if(ExcelNode.size()>0)
         wdThis.wdGetCO_POPendingController().downloadData(wdContext.nodePoDetails_ExcelData());// This is for Downalod data Method
         wdThis.wdGetCO_POPendingController().DownLoadToExcel();// This is for Open Popup Window
         wdContext.nodePoDetails_ExcelData().invalidate();
         else
         wdComponentAPI.getMessageManager().reportException("Please select any one po item from the table",true);
        //@@end
    Regards
    Vijay
    Edited by: KalluriVijay on May 18, 2010 10:05 AM

  • Function module to download data into excel file

    Hi Friends,
    Please tell me the function module name which popsup a popup box to specify a filename and the location and when clicking on the OK button, the file should be downloaded to the specified location.
    I need it ASAP.
    Thanks,
    Jaffer Ali.S

    Hi Shamshudeen,
    You have to use two funtion modules to acheive this.
    1. To get the file path from user.
    2. To download the excel sheet in prescribed path.
    For 1 use following code
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_fpath .
        CALL FUNCTION 'F4_FILENAME'
         EXPORTING
           program_name        = syst-cprog
           dynpro_number       = syst-dynnr
      FIELD_NAME          = ' '
         IMPORTING
           file_name           = p_fpath  .
    The file path will be stored in p_fpath.
    Now use GUI_DOWNLOAD function module and pass the file name p_fpath to it along with filetype as .xls
    Hope this helps you.
    Thanks,
    Arun

  • How to give path in plsql while exporting table data into .csv file

    hi,
    i have a code like this
    PROCEDURE dump_table_to_csv (
    p_tname IN VARCHAR2,
    p_dir IN VARCHAR2,
    p_filename IN VARCHAR2
    IS
    l_output UTL_FILE.file_type;
    l_thecursor INTEGER DEFAULT DBMS_SQL.open_cursor;
    l_columnvalue VARCHAR2 (4000);
    l_status INTEGER;
    l_query VARCHAR2 (1000) DEFAULT 'select * from ' || p_tname;
    l_colcnt NUMBER := 0;
    l_separator VARCHAR2 (1);
    l_desctbl DBMS_SQL.desc_tab;
    BEGIN
    l_output := UTL_FILE.fopen (p_dir, p_filename, 'w');
    EXECUTE IMMEDIATE 'alter session set nls_date_format=''dd-mon-yyyy hh24:mi:ss''';
    DBMS_SQL.parse (l_thecursor, l_query, DBMS_SQL.native);
    DBMS_SQL.describe_columns (l_thecursor, l_colcnt, l_desctbl);
    FOR i IN 1 .. l_colcnt
    LOOP
    UTL_FILE.put (l_output,
    l_separator || '"' || l_desctbl (i).col_name || '"'
    DBMS_SQL.define_column (l_thecursor, i, l_columnvalue, 4000);
    l_separator := ',';
    END LOOP;
    UTL_FILE.new_line (l_output);
    l_status := DBMS_SQL.EXECUTE (l_thecursor);
    WHILE (DBMS_SQL.fetch_rows (l_thecursor) > 0)
    LOOP
    l_separator := '';
    FOR i IN 1 .. l_colcnt
    LOOP
    DBMS_SQL.column_value (l_thecursor, i, l_columnvalue);
    UTL_FILE.put (l_output, l_separator || l_columnvalue);
    l_separator := ',';
    END LOOP;
    UTL_FILE.new_line (l_output);
    END LOOP;
    DBMS_SQL.close_cursor (l_thecursor);
    UTL_FILE.fclose (l_output);
    EXECUTE IMMEDIATE 'alter session set nls_date_format=''dd-MON-yy'' ';
    EXCEPTION
    WHEN OTHERS
    THEN
    EXECUTE IMMEDIATE 'alter session set nls_date_format=''dd-MON-yy'' ';
    RAISE;
    END;
    I am getting error like :-------
    SQL> exec dump_table_to_csv('deptair','c:/csv','aa.deptair');
    BEGIN dump_table_to_csv('deptair','c:/csv','aa.deptair'); END;
    ERROR at line 1:
    ORA-00604: error occurred at recursive SQL level 1
    ORA-06502: PL/SQL: numeric or value error: character string buffer too small
    ORA-06512: at line 8
    ORA-29280: invalid directory path
    ORA-06512: at "SCOTT.DUMP_TABLE_TO_CSV", line 58
    ORA-06512: at line 1
    pplease help me out
    thanks
    vicky

    look at your other thread, answer is already there.

  • Extract data from Oracle Database and store it into a CSV file format

    Hello.
    I'm trying to export a table from an Oracle Database into CSV file format with any Oracle adaptor and store it into a HDFS system.
    How could I do it?
    Thanks in advance!

    Xavi wrote:
    HI Charles. Could I use.. Oracle Data Integrator Application Adapter for Hadoop? For this purpose?
    Thanks in advancePerhaps. I have to confess that I am not familiar enough with ODI to know if that is within its capabilities.
    You might see if there is a forum for ODI and post your question to that.
    Charles Lamb

Maybe you are looking for

  • Payment terms on a Leap year

    Hi, When you create an incoming invoice or an invoice, the system generates error message F5488 "The date limits in the payment terms are not ascending" although this is exactly the case in the master record of the terms of payment Please advise how

  • TestRunner Hangs or ExecutionException: java.lang.NumberFormatException

    I'm attempting to get my unit tests setup to run automatically with my Ant build and take one path or the other if they fail or not. I used the SampleCIProject as an example and got it to run just fine. However, when I recreate the structure in my pr

  • Use Select Value in JSp on same Page

    Sir, In my Jsp page there is one dropdown,sir i want to get that select value in same page so that i can display data on same page below the dropdown based on the <select> value. Is it possible to do this things. Plz reply Soon. Thanks, Regards, Ashi

  • How to export/import database from tools menu in sql developer.

    Hi, I need to export database from a server and import it on another db server using the export database function under tools menu in SQL developer. How do I import it? This is for Oracle 10g database. Thanks

  • Bex Security Settings

    Experts I would like to configure Security settings for the BEx Applications. Currently when they logged on to BEx Analyzer, it is not disconnecting after a certain amount of time. We need to manually disconnect the connection. So what System profile