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

Excel file

Former Member
0 Likes
640

Hi ,

Could any one give me the sample code for downloading and uploading excel file from both application server and presentation server.

<REMOVED BY MODERATOR>

Thanks in advance.

Edited by: Alvaro Tejada Galindo on Feb 4, 2008 4:37 PM

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
610

Hi,

for uploading and downloading from application server:

to download this the procedure:

you can use the FM 'EXCEL_OLE_STANDARD_DAT ' for this purpose.

this FM 'EXCEL_OLE_STANDARD_DAT' can be used to start Excel with a new sheet and transfer data from an internal table to the sheet.

Here are some of the parameters:

file_name: Name and path of the Excel worksheet file e.g. ?C:TEMPZTEST?

data_tab: Name of the internal table that should be uploaded to Exvcel

fieldnames: Internal tabel with column headers

How to build the field names table:

data: begin of i_fieldnames occurs 20,

field(60), end of i_fieldnames.

i_fieldnames-field = ?This is column 1?. append i_fieldnames-field.

i_fieldnames-field = ?This is column 2?. append i_fieldnames-field.

to upload follow this:

OPEN DATASET dsn FOR INPUT IN BINARY MODE.

DO.

READ DATASET dsn INTO itab-field.

IF sy-subrc = 0.

APPEND itab.

ELSE.

EXIT.

ENDIF.

ENDDO.

[/code]Rob

or Try this function module.

FILE_READ_AND_CONVERT_SAP_DATA

pass 'XLS' to I_FILEFORMAT..

<REMOVED BY MODERATOR>

regards.

Edited by: Alvaro Tejada Galindo on Feb 4, 2008 4:38 PM

5 REPLIES 5
Read only

Former Member
0 Likes
611

Hi,

for uploading and downloading from application server:

to download this the procedure:

you can use the FM 'EXCEL_OLE_STANDARD_DAT ' for this purpose.

this FM 'EXCEL_OLE_STANDARD_DAT' can be used to start Excel with a new sheet and transfer data from an internal table to the sheet.

Here are some of the parameters:

file_name: Name and path of the Excel worksheet file e.g. ?C:TEMPZTEST?

data_tab: Name of the internal table that should be uploaded to Exvcel

fieldnames: Internal tabel with column headers

How to build the field names table:

data: begin of i_fieldnames occurs 20,

field(60), end of i_fieldnames.

i_fieldnames-field = ?This is column 1?. append i_fieldnames-field.

i_fieldnames-field = ?This is column 2?. append i_fieldnames-field.

to upload follow this:

OPEN DATASET dsn FOR INPUT IN BINARY MODE.

DO.

READ DATASET dsn INTO itab-field.

IF sy-subrc = 0.

APPEND itab.

ELSE.

EXIT.

ENDIF.

ENDDO.

[/code]Rob

or Try this function module.

FILE_READ_AND_CONVERT_SAP_DATA

pass 'XLS' to I_FILEFORMAT..

<REMOVED BY MODERATOR>

regards.

Edited by: Alvaro Tejada Galindo on Feb 4, 2008 4:38 PM

Read only

0 Likes
610

hi...

check this


* DATE OF REPORT   : 21.01.2008
*DESC. OF REPORT  : ALV to display purchase order using ekko & ekpo
*tables.
*                    All Basic functionality of ALV.
*F1 and F4 help for editable field in alv GRID display.
*                    Download to Unix Base.
*----------------------------------------------------------------------*
*          M O D I F I C A T I O N - L O G
*----------------------------------------------------------------------*
*   DATE     USER-NAME   TRANSPORT     DESCRIPTION
*
*
*----------------------------------------------------------------------*

*----------------------------------------------------------------------*


TYPE-POOLS : SLIS.  "collection of type group and type used for ALV

*DATA DECLARATION FOR ITAB HEADER, DETAIL & FINAL.
INCLUDE Z11GAURAV_ASSIGN2_DECLARE.   "data declaration
*constant
INCLUDE Z11GAURAV_ASSIGN_CONSTANT.   "CONSTANT declaration

**********************************************************
*MACRO DEFINATION TO POPULATE FIELD cATLOG
**********************************************************
**DEFINE MACRO_FIELDCAT.
**
**  Add 1 to L_fieldcat-col_pos.   " position of the column
**  L_FIELDCAT-FIELDNAME = &1.     "field name
**  L_FIELDCAT-TABNAME =  &2.      "IT_HEAD_DETAIL
**  L_FIELDCAT-KEY = &3.           "column with key-color
**  L_FIELDCAT-JUST = &4.          "(R)ight (L)eft (C)ent.
**  L_FIELDCAT-LZERO = &5.         "leading zero
**  L_FIELDCAT-SELTEXT_L = &6.     "long key word
**  L_FIELDCAT-SELTEXT_M = &7.     "middle key word
**  L_FIELDCAT-SELTEXT_S = &8.     "short key word
**  L_FIELDCAT-OUTPUTLEN = &9.     "Output length
**  L_FIELDCAT-REF_FIELDNAME = &10."Reference field
**  L_FIELDCAT-REF_TABNAME = &11.  "Reference table
**  L_FIELDCAT-NO_SUM = &12.       "do not sum up
**  L_FIELDCAT-HOTSPOT = &13 .     "hotspot
**  L_FIELDCAT-DO_SUM = &14.       "Sumable
**  L_FIELDCAT-EDIT = &15.         "Editable
**  L_FIELDCAT-INPUT = &16.        "Input allowed
**Append l_fieldcat to I_fieldcat.
**clear l_fieldcat.
**
**END-OF-DEFINITION.



*Selection Screen
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS: S_EBELN FOR WA_HEADER-EBELN OBLIGATORY.
SELECTION-SCREEN END OF BLOCK B1 .


"CHECk BOX for DISPLAY and DOWNLOAD Selection
SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-002.
PARAMETERS: P_DOWN type Z_FLAG as checkbox .
SELECTION-SCREEN END OF BLOCK B2.

"FILE PATH
SELECTION-SCREEN BEGIN OF BLOCK B3 WITH FRAME TITLE TEXT-003.
PARAMETERS: P_PATH(128) type C modif id PTH.
SELECTION-SCREEN END OF BLOCK B3.


INITIALIZATION.
V_PROGNAME = SY-REPID.
V_PATH = P_PATH.




AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_PATH.

CALL FUNCTION 'F4_FILENAME'
EXPORTING
PROGRAM_NAME = SYST-CPROG
DYNPRO_NUMBER = SYST-DYNNR
FIELD_NAME = ' '
IMPORTING
FILE_NAME = P_PATH.



AT SELECTION-SCREEN.
*val....1   PO DO not exists
  SELECT SINGLE EBELN INTO WA_HEADER-EBELN FROM EKKO WHERE EBELN IN
  S_EBELN.
  IF SY-SUBRC <> 0.
    MESSAGE E001 WITH TEXT-004.
  ENDIF.

*VAL....2   FILE PATH

  if P_DOWN = 'X' and P_PATH is initial.

  MESSAGE E002 with TEXT-005.
  endif.


START-OF-SELECTION.

perform IT_TAB_POPULATE.


END-OF-SELECTION.


  perform ZF_report.















************************************************************************
**
*TABLE POPULATION
************************************************************************
**

*&---------------------------------------------------------------------*
*&      Form  IT_TAB_POPULATE
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
form IT_TAB_POPULATE .
*populate header table
select ebeln
       bukrs
       bsart
       statu
       AEDAT
       ernam
       zterm
       ekorg
       waers into table it_header
             from ekko
             where ebeln in s_ebeln.
 IF SY-SUBRC = 0.
    SORT IT_HEADER BY EBELN.
 ENDIF.
  IF NOT IT_HEADER[] IS INITIAL. "if header table is not empty
*populating detail internal table...

select ebeln
       ebelp
       matnr
       werks
       lgort
       menge
       meins
       netpr
       netwr into table it_detail
       from ekpo
       for all entries in it_header
       where ebeln = it_header-ebeln.

        IF SY-SUBRC = 0.
      SORT IT_DETAIL BY EBELN EBELP.
        ENDIF.

 endif.

*populating final table with header and detail info...
  LOOP AT IT_DETAIL INTO WA_DETAIL.
"MOVING data from detail table to final table
    WA_HEAD_DETAIL-EBELN = WA_DETAIL-EBELN.
    WA_HEAD_DETAIL-EBELP = WA_DETAIL-EBELP.
    WA_HEAD_DETAIL-MATNR = WA_DETAIL-MATNR.
    WA_HEAD_DETAIL-WERKS = WA_DETAIL-WERKS.
    WA_HEAD_DETAIL-MEINS = WA_DETAIL-MEINS.
    WA_HEAD_DETAIL-LGORT = WA_DETAIL-LGORT.
    WA_HEAD_DETAIL-MENGE = WA_DETAIL-MENGE.
    WA_HEAD_DETAIL-NETPR = WA_DETAIL-NETPR.
    WA_HEAD_DETAIL-NETWR = WA_DETAIL-NETWR.

    AT NEW EBELN.
      READ TABLE IT_HEADER INTO WA_HEADER WITH KEY EBELN =
      WA_DETAIL-EBELN BINARY SEARCH .
      IF SY-SUBRC = 0.
 "POPULATING final table with header information
        WA_HEAD_DETAIL-EBELN = WA_HEADER-EBELN.
        WA_HEAD_DETAIL-BUKRS = WA_HEADER-BUKRS.
        WA_HEAD_DETAIL-BSART = WA_HEADER-BSART.
        WA_HEAD_DETAIL-STATU = WA_HEADER-STATU.
        WA_HEAD_DETAIL-AEDAT = WA_HEADER-AEDAT.
        WA_HEAD_DETAIL-ERNAM = WA_HEADER-ERNAM.
        WA_HEAD_DETAIL-ZTERM = WA_HEADER-ZTERM.
        WA_HEAD_DETAIL-EKORG = WA_HEADER-EKORG.
        WA_HEAD_DETAIL-WAERS = WA_HEADER-WAERS.
      ENDIF.
    ENDAT.

    APPEND WA_HEAD_DETAIL TO IT_HEAD_DETAIL.
  ENDLOOP.

endform.                    " IT_TAB_POPULATE
***********************************************************************
*REPORT DISPLAY
***********************************************************************
*&---------------------------------------------------------------------*
*&      Form  ZF_report
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
form ZF_report .
  IF NOT IT_HEAD_DETAIL[] IS INITIAL.

*FIELD CATLOG
    PERFORM ZF_BUILD_FIELDCAT USING IT_FIELDCAT.

*LIST HEADER HEADER INFORMATION
    PERFORM ZF_BUILD_LISTHEADER USING IT_LISTHEADER.

*ASSIGN FORM NAME TO EACH EVENT GOT THROUGH 'FM'.
    PERFORM ZF_EVENTCAT USING IT_EVENTCAT.

*layout
    PERFORM ZF_LAYOUT.

*PREPARE DISPLAY ALV GRID.
if p_down = 'X'.
  perform ZF_download.
  PERFORM ZF_DISPLAY_ALV_GRID.

else.
      PERFORM ZF_DISPLAY_ALV_GRID.
endif.

    ENDIF.

endform.                    " ZF_report
*&---------------------------------------------------------------------*
*&      Form  ZF_BUILD_FIELDCAT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->P_IT_FIELDCAT  text
*----------------------------------------------------------------------*
form ZF_BUILD_FIELDCAT  using    p_it_fieldcat type slis_t_fieldcat_alv.
DATA: L_FIELDCAT TYPE SLIS_FIELDCAT_ALV.

  CLEAR L_FIELDCAT.

*
  L_FIELDCAT-COL_POS = CI_1.
  " position of the column
  L_FIELDCAT-FIELDNAME = 'EBELN'.                "EBELN
  L_FIELDCAT-TABNAME = 'IT_HEAD_DETAIL'.         "IT_HEAD_DETAIL
  L_FIELDCAT-KEY = CC_X.                         " column with key-color
  L_FIELDCAT-JUST = 'L'.
  " (R)ight (L)eft (C)ent.
  L_FIELDCAT-LZERO = CC_x.                       " leading zero
  L_FIELDCAT-SELTEXT_L = TEXT-020.               " long key word
  L_FIELDCAT-SELTEXT_M = TEXT-021.               " middle key word
  L_FIELDCAT-SELTEXT_S = TEXT-022.               " short key word
  L_FIELDCAT-OUTPUTLEN = 10.
  L_FIELDCAT-REF_FIELDNAME = 'EBELN'.
  L_FIELDCAT-REF_TABNAME = 'EKKO'.
  L_FIELDCAT-NO_SUM = 'X'.    " do not sum up
  L_FIELDCAT-ROLLNAME = 'EBELN'.
  APPEND L_FIELDCAT TO P_IT_FIELDCAT.
  CLEAR L_FIELDCAT.
*
  L_FIELDCAT-COL_POS = CI_2.                   " position of the column
  L_FIELDCAT-FIELDNAME = 'EBELP'.              "EBELP
  L_FIELDCAT-TABNAME = 'IT_HEAD_DETAIL'.       "IT_HEAD_DETAIL
  L_FIELDCAT-KEY = CC_X.                       " column with key-color
  L_FIELDCAT-JUST = 'L'.                       " (R)ight (L)eft (C)ent.
  L_FIELDCAT-LZERO = 'X'.                      " leading zero
  L_FIELDCAT-SELTEXT_L = TEXT-023.             " long key word
  L_FIELDCAT-SELTEXT_M = TEXT-024.             " middle key word
  L_FIELDCAT-SELTEXT_S = TEXT-025.             " short key word
  L_FIELDCAT-OUTPUTLEN = 5.
  L_FIELDCAT-REF_FIELDNAME = 'EBELP'.
  L_FIELDCAT-REF_TABNAME = 'EKPO'.
  L_FIELDCAT-NO_SUM = 'X'.                     " do not sum up
  L_FIELDCAT-ROLLNAME = 'EBELP'.
  APPEND L_FIELDCAT TO P_IT_FIELDCAT.
  CLEAR L_FIELDCAT.
*
  L_FIELDCAT-COL_POS = CI_3.                   " position of the column
  L_FIELDCAT-FIELDNAME = 'BUKRS'.
  L_FIELDCAT-TABNAME = 'IT_HEAD_DETAIL'.
  L_FIELDCAT-KEY = ' '.                        " column with key-color
  L_FIELDCAT-JUST = 'L'.                       " (R)ight (L)eft (C)ent.
  L_FIELDCAT-LZERO = ' '.                      " leading zero
  L_FIELDCAT-SELTEXT_L = TEXT-026.             " long key word
  L_FIELDCAT-SELTEXT_M = TEXT-027.             " middle key word
  L_FIELDCAT-SELTEXT_S = TEXT-028.             " short key word
  L_FIELDCAT-OUTPUTLEN = 4.
  L_FIELDCAT-REF_FIELDNAME = 'BUKRS'.
  L_FIELDCAT-REF_TABNAME = 'EKKO'.
  L_FIELDCAT-NO_SUM = 'X'.                     " do not sum up
  APPEND L_FIELDCAT TO P_IT_FIELDCAT.
  CLEAR L_FIELDCAT.

*
  L_FIELDCAT-COL_POS = CI_4.                  " position of the column
  L_FIELDCAT-FIELDNAME = 'BSART'.
  L_FIELDCAT-TABNAME = 'IT_HEAD_DETAIL'.
  L_FIELDCAT-KEY = ' '.                       " column with key-color
  L_FIELDCAT-JUST = 'L'.                      " (R)ight (L)eft (C)ent.
  L_FIELDCAT-LZERO = ' '.                     " leading zero
  L_FIELDCAT-SELTEXT_L = TEXT-029.            " long key word
  L_FIELDCAT-SELTEXT_M = TEXT-030.            " middle key word
  L_FIELDCAT-SELTEXT_S = TEXT-031.            " short key word
  L_FIELDCAT-OUTPUTLEN = 4.
  L_FIELDCAT-REF_FIELDNAME = 'BSART'.
  L_FIELDCAT-REF_TABNAME = 'EKKO'.
  L_FIELDCAT-NO_SUM = 'X'.                    " do not sum up
  APPEND L_FIELDCAT TO P_IT_FIELDCAT.
  CLEAR L_FIELDCAT.
*
  L_FIELDCAT-COL_POS = CI_5.                 " position of the column
  L_FIELDCAT-FIELDNAME = 'STATU'.
  L_FIELDCAT-TABNAME = 'IT_HEAD_DETAIL'.
  L_FIELDCAT-KEY = ' '.                      " column with key-color
  L_FIELDCAT-JUST = 'L'.                     " (R)ight (L)eft (C)ent.
  L_FIELDCAT-LZERO = ' '.                    " leading zero
  L_FIELDCAT-SELTEXT_L = TEXT-032.           " long key word
  L_FIELDCAT-SELTEXT_M = TEXT-033.           " middle key word
  L_FIELDCAT-SELTEXT_S = TEXT-034.           " short key word
  L_FIELDCAT-OUTPUTLEN = 1.
  L_FIELDCAT-REF_FIELDNAME = 'STATU'.
  L_FIELDCAT-REF_TABNAME = 'EKKO'.
  L_FIELDCAT-NO_SUM = 'X'.                   " do not sum up
  APPEND L_FIELDCAT TO P_IT_FIELDCAT.
  CLEAR L_FIELDCAT.
*
  L_FIELDCAT-COL_POS = CI_6.                " position of the column
  L_FIELDCAT-FIELDNAME = 'AEDAT'.
  L_FIELDCAT-TABNAME = 'IT_HEAD_DETAIL'.
  L_FIELDCAT-KEY = ' '.                     " column with key-color
  L_FIELDCAT-JUST = 'L'.                    " (R)ight (L)eft (C)ent.
  L_FIELDCAT-LZERO = ' '.                   " leading zero
  L_FIELDCAT-SELTEXT_L = TEXT-035.          " long key word
  L_FIELDCAT-SELTEXT_M = TEXT-036.          " middle key word
  L_FIELDCAT-SELTEXT_S = TEXT-037.          " short key word
  L_FIELDCAT-OUTPUTLEN = 10.
  L_FIELDCAT-REF_FIELDNAME = 'AEDAT'.
  L_FIELDCAT-REF_TABNAME = 'EKKO'.
  L_FIELDCAT-NO_SUM = 'X'.                  " do not sum up
  APPEND L_FIELDCAT TO P_IT_FIELDCAT.
  CLEAR L_FIELDCAT.
*
  L_FIELDCAT-COL_POS = CI_7.                " position of the column
  L_FIELDCAT-FIELDNAME = 'ERNAM'.
  L_FIELDCAT-TABNAME = 'IT_HEAD_DETAIL'.
  L_FIELDCAT-KEY = ' '.                     " column with key-color
  L_FIELDCAT-JUST = 'L'.                    " (R)ight (L)eft (C)ent.
  L_FIELDCAT-LZERO = ' '.                   " leading zero
  L_FIELDCAT-SELTEXT_L = TEXT-038.          " long key word
  L_FIELDCAT-SELTEXT_M = TEXT-039.          " middle key word
  L_FIELDCAT-SELTEXT_S = TEXT-040.          " short key word
  L_FIELDCAT-OUTPUTLEN = 12.
  L_FIELDCAT-REF_FIELDNAME = 'ERNAM'.
  L_FIELDCAT-REF_TABNAME = 'EKKO'.
  L_FIELDCAT-NO_SUM = 'X'.                  " do not sum up
  L_FIELDCAT-ROLLNAME = 'ERNAM'.
  APPEND L_FIELDCAT TO P_IT_FIELDCAT.
  CLEAR L_FIELDCAT.
*
  L_FIELDCAT-COL_POS = CI_8.                " position of the column
  L_FIELDCAT-FIELDNAME = 'ZTERM'.
  L_FIELDCAT-TABNAME = 'IT_HEAD_DETAIL'.
  L_FIELDCAT-KEY = ' '.                     " column with key-color
  L_FIELDCAT-JUST = 'L'.                    " (R)ight (L)eft (C)ent.
  L_FIELDCAT-LZERO = ' '.                   " leading zero
  L_FIELDCAT-SELTEXT_L = TEXT-041.          " long key word
  L_FIELDCAT-SELTEXT_M = TEXT-042.          " middle key word
  L_FIELDCAT-SELTEXT_S = TEXT-043.          " short key word
  L_FIELDCAT-OUTPUTLEN = 4.
  L_FIELDCAT-REF_FIELDNAME = 'ZTERM'.
  L_FIELDCAT-REF_TABNAME = 'EKKO'.
  L_FIELDCAT-NO_SUM = 'X'.                  " do not sum up

  APPEND L_FIELDCAT TO P_IT_FIELDCAT.
  CLEAR L_FIELDCAT.
*
  L_FIELDCAT-COL_POS = CI_9.               " position of the column
  L_FIELDCAT-FIELDNAME = 'EKORG'.
  L_FIELDCAT-TABNAME = 'IT_HEAD_DETAIL'.
  L_FIELDCAT-KEY = ' '.                    " column with key-color
  L_FIELDCAT-JUST = 'L'.                   " (R)ight (L)eft (C)ent.
  L_FIELDCAT-LZERO = ' '.                  " leading zero
  L_FIELDCAT-SELTEXT_L = TEXT-044.         " long key word
  L_FIELDCAT-SELTEXT_M = TEXT-045.         " middle key word
  L_FIELDCAT-SELTEXT_S = TEXT-046.         " short key word
  L_FIELDCAT-OUTPUTLEN = 4.
  L_FIELDCAT-REF_FIELDNAME = 'EKORG'.
  L_FIELDCAT-REF_TABNAME = 'EKKO'.
  L_FIELDCAT-NO_SUM = 'X'.                 " do not sum up

  APPEND L_FIELDCAT TO P_IT_FIELDCAT.
  CLEAR L_FIELDCAT.
*
  L_FIELDCAT-COL_POS = CI_10.              " position of the column
  L_FIELDCAT-FIELDNAME = 'WAERS'.
  L_FIELDCAT-TABNAME = 'IT_HEAD_DETAIL'.
  L_FIELDCAT-KEY = ' '.                    " column with key-color
  L_FIELDCAT-JUST = 'R'.                   " (R)ight (L)eft (C)ent.
  L_FIELDCAT-LZERO = ' '.                  " leading zero
  L_FIELDCAT-SELTEXT_L = TEXT-047.         " long key word
  L_FIELDCAT-SELTEXT_M = TEXT-048.         " middle key word
  L_FIELDCAT-SELTEXT_S = TEXT-049.         " short key word
  L_FIELDCAT-OUTPUTLEN = 5.
  L_FIELDCAT-REF_FIELDNAME = 'WAERS'.
  L_FIELDCAT-REF_TABNAME = 'EKKO'.
  L_FIELDCAT-NO_SUM = 'X'.                 " do not sum up
  L_FIELDCAT-ROLLNAME = 'WAERS'.
  APPEND L_FIELDCAT TO P_IT_FIELDCAT.
  CLEAR L_FIELDCAT.
*
  L_FIELDCAT-COL_POS = CI_11.               " position of the column
  L_FIELDCAT-FIELDNAME = 'MATNR'.
  L_FIELDCAT-TABNAME = 'IT_HEAD_DETAIL'.
  L_FIELDCAT-KEY = ' '.                     " column with key-color
  L_FIELDCAT-JUST = 'L'.                    " (R)ight (L)eft (C)ent.
  L_FIELDCAT-LZERO = ' '.                   " leading zero
  L_FIELDCAT-SELTEXT_L = TEXT-050.          " long key word
  L_FIELDCAT-SELTEXT_M = TEXT-051.          " middle key word
  L_FIELDCAT-SELTEXT_S = TEXT-052.          " short key word
  L_FIELDCAT-OUTPUTLEN = 18.
  L_FIELDCAT-REF_FIELDNAME = 'MATNR'.
  L_FIELDCAT-REF_TABNAME = 'EKPO'.
  L_FIELDCAT-NO_SUM = 'X'.                  " do not sum up
  L_FIELDCAT-EDIT = 'X'.
  L_FIELDCAT-INPUT = 'X'.
  L_FIELDCAT-ROLLNAME = 'MATNR'.
  APPEND L_FIELDCAT TO P_IT_FIELDCAT.
  CLEAR L_FIELDCAT.

*
  L_FIELDCAT-COL_POS = CI_12.              " position of the column
  L_FIELDCAT-FIELDNAME = 'WERKS'.
  L_FIELDCAT-TABNAME = 'IT_HEAD_DETAIL'.
  L_FIELDCAT-KEY = ' '.                    " column with key-color
  L_FIELDCAT-JUST = 'L'.                   " (R)ight (L)eft (C)ent.
  L_FIELDCAT-LZERO = 'X'.                  " leading zero
  L_FIELDCAT-SELTEXT_L = TEXT-053.         " long key word
  L_FIELDCAT-SELTEXT_M = TEXT-054.         " middle key word
  L_FIELDCAT-SELTEXT_S = TEXT-055.         " short key word
  L_FIELDCAT-OUTPUTLEN = 4.
  L_FIELDCAT-REF_FIELDNAME = 'WERKS'.
  L_FIELDCAT-REF_TABNAME = 'EKPO'.
  L_FIELDCAT-NO_SUM = 'X'.                 " do not sum up
  L_FIELDCAT-HOTSPOT = ' ' .               " hotspot
  APPEND L_FIELDCAT TO P_IT_FIELDCAT.
  CLEAR L_FIELDCAT.
*
  L_FIELDCAT-COL_POS = CI_13.             " position of the column
  L_FIELDCAT-FIELDNAME = 'LGORT'.
  L_FIELDCAT-TABNAME = 'IT_HEAD_DETAIL'.
  L_FIELDCAT-KEY = ' '.                   " column with key-color
  L_FIELDCAT-JUST = 'L'.                  " (R)ight (L)eft (C)ent.
  L_FIELDCAT-LZERO = ' '.                 " leading zero
  L_FIELDCAT-SELTEXT_L = TEXT-056.        " long key word
  L_FIELDCAT-SELTEXT_M = TEXT-057.        " middle key word
  L_FIELDCAT-SELTEXT_S = TEXT-058.        " short key word
  L_FIELDCAT-OUTPUTLEN = 4.
  L_FIELDCAT-REF_FIELDNAME = 'LGORT'.
  L_FIELDCAT-REF_TABNAME = 'EKPO'.
  L_FIELDCAT-NO_SUM = 'X'.                " do not sum up
  APPEND L_FIELDCAT TO P_IT_FIELDCAT.
  CLEAR L_FIELDCAT.
*
  L_FIELDCAT-COL_POS = CI_14.            " position of the column
  L_FIELDCAT-FIELDNAME = 'MENGE'.        "
  L_FIELDCAT-TABNAME = 'IT_HEAD_DETAIL'.
  L_FIELDCAT-KEY = ' '.                  " column with key-color
  L_FIELDCAT-JUST = 'R'.                 " (R)ight (L)eft (C)ent.
  L_FIELDCAT-LZERO = ' '.                " leading zero
  L_FIELDCAT-SELTEXT_L = TEXT-059.       " long key word
  L_FIELDCAT-SELTEXT_M = TEXT-060.       "  middle key word
  L_FIELDCAT-SELTEXT_S = TEXT-061.       " short key word
  L_FIELDCAT-OUTPUTLEN = 13.
  L_FIELDCAT-REF_FIELDNAME = 'MENGE'.
  L_FIELDCAT-REF_TABNAME = 'EKPO'.
  L_FIELDCAT-NO_SUM = 'X'.              " do not sum up
  APPEND L_FIELDCAT TO P_IT_FIELDCAT.
  CLEAR L_FIELDCAT.
*
  L_FIELDCAT-COL_POS = CI_15.           " position of the column
  L_FIELDCAT-FIELDNAME = 'MEINS'.       "MEINS
  L_FIELDCAT-TABNAME = 'IT_HEAD_DETAIL'.
  L_FIELDCAT-KEY = ' '.                 " column with key-color
  L_FIELDCAT-JUST = 'R'.                " (R)ight (L)eft (C)ent.
  L_FIELDCAT-LZERO = ' '.               " leading zero
  L_FIELDCAT-SELTEXT_L = TEXT-062.      " long key word
  L_FIELDCAT-SELTEXT_M = TEXT-063.      " middle key word
  L_FIELDCAT-SELTEXT_S = TEXT-064.      " short key word
  L_FIELDCAT-INTLEN = 3.
  L_FIELDCAT-REF_FIELDNAME = 'MEINS'.
  L_FIELDCAT-REF_TABNAME = 'EKPO'.
  L_FIELDCAT-NO_SUM = 'X'.              " do not sum up
  L_FIELDCAT-OUTPUTLEN = 3.

  APPEND L_FIELDCAT TO P_IT_FIELDCAT.
  CLEAR L_FIELDCAT.
*NETPR          NET VALUE
  L_FIELDCAT-COL_POS = '16'.        " position of the column
  L_FIELDCAT-FIELDNAME = 'NETPR'.
  L_FIELDCAT-TABNAME = 'IT_HEAD_DETAIL'.
  L_FIELDCAT-KEY = ' '.             " column with key-color
  L_FIELDCAT-JUST = 'R'.            " (R)ight (L)eft (C)ent.
  L_FIELDCAT-LZERO = ' '.           " leading zero
  L_FIELDCAT-SELTEXT_L = TEXT-065.  " long key word
  L_FIELDCAT-SELTEXT_M = TEXT-066.  " middle key word
  L_FIELDCAT-SELTEXT_S = TEXT-067.  " short key word
  L_FIELDCAT-OUTPUTLEN = 11.
  L_FIELDCAT-REF_FIELDNAME = 'NETPR'.
  L_FIELDCAT-REF_TABNAME = 'EKPO'.
  L_FIELDCAT-DO_SUM = 'X'.

  APPEND L_FIELDCAT TO P_IT_FIELDCAT.
  CLEAR L_FIELDCAT.


  L_FIELDCAT-COL_POS = '17'.              " position of the column
  L_FIELDCAT-FIELDNAME = 'NETWR'.
  L_FIELDCAT-TABNAME = 'IT_HEAD_DETAIL'.
  L_FIELDCAT-KEY = ' '.                   " column with key-color
  L_FIELDCAT-JUST = 'R'.                  " (R)ight (L)eft (C)ent.
  L_FIELDCAT-LZERO = ' '.                 " leading zero
  L_FIELDCAT-SELTEXT_L = TEXT-068.        " long key word
  L_FIELDCAT-SELTEXT_M = TEXT-069.        " middle key word
  L_FIELDCAT-SELTEXT_S = TEXT-070.        " short key word
  L_FIELDCAT-OUTPUTLEN = 13.
  L_FIELDCAT-REF_FIELDNAME = 'NETWR'.
  L_FIELDCAT-REF_TABNAME = 'EKPO'.
  L_FIELDCAT-DO_SUM = 'X'.

  APPEND L_FIELDCAT TO P_IT_FIELDCAT.
  CLEAR L_FIELDCAT.

endform.                    " ZF_BUILD_FIELDCAT
*&---------------------------------------------------------------------*
*&      Form  ZF_BUILD_LISTHEADER
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->P_IT_LISTHEADER  text
*----------------------------------------------------------------------*
form ZF_BUILD_LISTHEADER  using    p_it_listheader type
SLIS_T_LISTHEADER.

  DATA: L_LISTHEADER TYPE SLIS_LISTHEADER.
  CLEAR L_LISTHEADER.

  L_LISTHEADER-TYP = 'H'.   "Header

  L_LISTHEADER-INFO = TEXT-071.

  APPEND L_LISTHEADER TO P_IT_LISTHEADER.
  CLEAR L_LISTHEADER.

  L_LISTHEADER-TYP = 'H'.   "Header<BOLD HEADING>

  L_LISTHEADER-INFO = TEXT-072.

  APPEND L_LISTHEADER TO P_IT_LISTHEADER.
  CLEAR L_LISTHEADER.

  L_LISTHEADER-TYP = 'S'.  "selection
  L_LISTHEADER-KEY = TEXT-073.
  L_LISTHEADER-INFO = SY-DATUM.

  APPEND L_LISTHEADER TO P_IT_LISTHEADER.
  CLEAR L_LISTHEADER.
  L_LISTHEADER-TYP = 'A'.  " Action<italics>
  L_LISTHEADER-INFO = TEXT-074.

  APPEND L_LISTHEADER TO P_IT_LISTHEADER.

endform.                    " ZF_BUILD_LISTHEADER
*&---------------------------------------------------------------------*
*&      Form  ZF_EVENTCAT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->P_IT_EVENTCAT  text
*----------------------------------------------------------------------*
form ZF_EVENTCAT  using    p_it_eventcat TYPE SLIS_T_EVENT.

  DATA: L_EVENTCAT TYPE SLIS_ALV_EVENT.
  CLEAR L_EVENTCAT.

*Get all the events using function module <reuse_alv_events_get>.
  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
    EXPORTING
      I_LIST_TYPE     = 0
    IMPORTING
      ET_EVENTS       = P_IT_EVENTCAT
    EXCEPTIONS
      LIST_TYPE_WRONG = 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.


*  TOP-OF-PAGE FORM NAME
  CLEAR L_EVENTCAT.
  READ TABLE P_IT_EVENTCAT INTO L_EVENTCAT WITH KEY
                          NAME = SLIS_EV_TOP_OF_PAGE.

  IF SY-SUBRC = 0.
    MOVE 'ZF_TOP_OF_PAGE' TO L_EVENTCAT-FORM.
    MODIFY P_IT_EVENTCAT FROM L_EVENTCAT INDEX SY-TABIX
                                         TRANSPORTING FORM.

  ENDIF.

*  PF_STATUS_SET FORM NAME
  CLEAR L_EVENTCAT.
  READ TABLE P_IT_EVENTCAT INTO L_EVENTCAT WITH KEY
                          NAME = SLIS_EV_PF_STATUS_SET.

  IF SY-SUBRC = 0.
    MOVE 'ZF_PF_STATUS_SET' TO L_EVENTCAT-FORM.
    MODIFY P_IT_EVENTCAT FROM L_EVENTCAT INDEX SY-TABIX
                                      TRANSPORTING FORM.

  ENDIF.

*  USER_COMMAND FORM NAME
  CLEAR L_EVENTCAT.
  READ TABLE P_IT_EVENTCAT INTO  L_EVENTCAT WITH KEY
                           NAME = SLIS_EV_USER_COMMAND. "
  IF SY-SUBRC = 0.
    MOVE 'ZF_USER_COMMAND' TO  L_EVENTCAT-FORM.
    MODIFY P_IT_EVENTCAT FROM L_EVENTCAT INDEX SY-TABIX
                                      TRANSPORTING FORM.
  ENDIF.

ENDFORM.                    " zf_eventcat

*top of page event form
FORM ZF_TOP_OF_PAGE.

*This FM is responsible for formatting the header information
  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
    EXPORTING
      IT_LIST_COMMENTARY      = IT_LISTHEADER
      I_LOGO                  = 'ENJOYSAP_LOGO'
*   I_END_OF_LIST_GRID        =
*   I_ALV_FORM                =
.
ENDFORM.                    "TOP-OF-PAGE

*set pf status form
FORM ZF_PF_STATUS_SET  USING RT_EXTAB TYPE SLIS_T_EXTAB.

  SET PF-STATUS  'ALV_MENU_GAURAV3'.


ENDFORM.                   "SET_PF_STATUS

*set user command form
FORM ZF_USER_COMMAND USING R_UCOMM LIKE SY-UCOMM RS_SELFIELD TYPE
SLIS_SELFIELD.

  CASE R_UCOMM.

when '&IC1'.
      if rs_selfield-fieldname = 'MATNR'.
      set parameter id 'MAT' field rs_selfield-value.
      call transaction 'MM03' and skip first screen.
      endif.


WHEN '&F03'.
      LEAVE PROGRAM.

WHEN '&F15'.
      LEAVE PROGRAM.

WHEN '&F12'.
      LEAVE PROGRAM.
ENDCASE.

endform.                    " ZF_EVENTCAT
*&---------------------------------------------------------------------*
*&      Form  ZF_LAYOUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
form ZF_LAYOUT .
CLEAR WA_LAYOUT.

  WA_LAYOUT-ZEBRA = 'X'.
  WA_LAYOUT-BOX_FIELDNAME = 'V_BOX'.
  WA_LAYOUT-BOX_TABNAME   = 'IT_HEAD_DETAIL'.

endform.                    " ZF_LAYOUT
*&---------------------------------------------------------------------*
*&      Form  ZF_DISPLAY_ALV_GRID
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
form ZF_DISPLAY_ALV_GRID .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
 EXPORTING
*   I_INTERFACE_CHECK                 = ' '
*   I_BYPASSING_BUFFER                = ' '
*   I_BUFFER_ACTIVE                   = ' '
   I_CALLBACK_PROGRAM                = V_PROGNAME
   I_CALLBACK_PF_STATUS_SET          = 'ZF_PF_STATUS_SET'
   I_CALLBACK_USER_COMMAND           = 'ZF_USER_COMMAND'
   I_CALLBACK_TOP_OF_PAGE            = 'ZF_TOP_OF_PAGE'
*   I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
*   I_CALLBACK_HTML_END_OF_LIST       = ' '
*   I_STRUCTURE_NAME                  =
*   I_BACKGROUND_ID                   = ' '
*   I_GRID_TITLE                      =
*   I_GRID_SETTINGS                   =
   IS_LAYOUT                         = WA_LAYOUT
   IT_FIELDCAT                       = IT_FIELDCAT
*   IT_EXCLUDING                      =
*   IT_SPECIAL_GROUPS                 =
*   IT_SORT                           =
*   IT_FILTER                         =
*   IS_SEL_HIDE                       =
*   I_DEFAULT                         = 'X'
*   I_SAVE                            = ' '
*   IS_VARIANT                        =
   IT_EVENTS                         = IT_EVENTCAT
*   IT_EVENT_EXIT                     =
*   IS_PRINT                          =
*   IS_REPREP_ID                      =
*   I_SCREEN_START_COLUMN             = 0
*   I_SCREEN_START_LINE               = 0
*   I_SCREEN_END_COLUMN               = 0
*   I_SCREEN_END_LINE                 = 0
*   IT_ALV_GRAPHICS                   =
*   IT_HYPERLINK                      =
*   IT_ADD_FIELDCAT                   =
*   IT_EXCEPT_QINFO                   =
*   I_HTML_HEIGHT_TOP                 =
*   I_HTML_HEIGHT_END                 =
* IMPORTING
*   E_EXIT_CAUSED_BY_CALLER           =
*   ES_EXIT_CAUSED_BY_USER            =
  TABLES
    t_outtab                          = IT_HEAD_DETAIL
 EXCEPTIONS
   PROGRAM_ERROR                     = 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.

endform.                    " ZF_DISPLAY_ALV_GRID
*&---------------------------------------------------------------------*
*&      Form  ZF_download
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
form ZF_download .

*data: v_file_name TYPE string VALUE '\Dir_temp\test.txt'.
V_Path = P_path.
OPEN DATASET v_path FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
if sy-subrc = 0.

LOOP AT it_head_detail INTO wa_head_detail.
wa_text-ebeln = wa_head_detail-ebeln.
wa_text-Bukrs = wa_head_detail-bukrs.
wa_text-Bsart = wa_head_detail-Bsart.
wa_text-Statu = wa_head_detail-Statu.
wa_text-AEDAT = wa_head_detail-AEDAT.
wa_text-Ernam = wa_head_detail-Ernam.
wa_text-Zterm = wa_head_detail-Zterm.
wa_text-Ekorg = wa_head_detail-Ekorg.
wa_text-Waers = wa_head_detail-Waers.
wa_text-Ebelp = wa_head_detail-Ebelp.
wa_text-Matnr = wa_head_detail-Matnr.
wa_text-Werks = wa_head_detail-Werks.
wa_text-Lgort = wa_head_detail-Lgort.
wa_text-menge = wa_head_detail-menge.
wa_text-meins = wa_head_detail-meins.
wa_text-netpr = wa_head_detail-netpr.
wa_text-netwr = wa_head_detail-netwr.
wa_text-V_box = wa_head_detail-V_box.

TRANSFER wa_text TO v_path.
ENDLOOP.
endif.
CLOSE DATASET v_path.

endform.                    " ZF_download

<REMOVED BY MODERATOR>

Gaurav J.

Edited by: Alvaro Tejada Galindo on Feb 4, 2008 4:39 PM

Read only

Former Member
0 Likes
610

Hi,

THIS ONE EXACTLY MATCHES YOUR REQUIREMENT


REPORT  Z11GAURAV_ASSIGN_4 NO STANDARD PAGE HEADING Message-id
Z11GAURAV5.

*Constants
Constants: CC_X value 'X'.

*DATA DECLARATION

types: field(128) type c.

*internal tables

data: it_tab1 type standard table of field.

*Work areas

data: wa_itab1 type field.


*VARIABLES
data: V_unix_PATH type string.
data: v_file_path type string.
*selection screen

"FILE PATHS
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
PARAMETERS: P_SAP_PC RADIOBUTTON GROUP RAD1
                             DEFAULT 'X' ,
            P_PC_SAP RADIOBUTTON GROUP RAD1  .

PARAMETERS: P_FILE(10) type C default 'ASC'.
PARAMETERS: P_LOCAL(128) type C.

parameters: P_UNIX1(20) type C default '.\' Modif id PTH.
parameters: P_UNIX2(100) type c .

SELECTION-SCREEN END OF BLOCK B1 .

SELECTION-SCREEN BEGIN OF BLOCK B2 with frame.
PARAMETERS: P_full(128) type C.
SELECTION-SCREEN END OF BLOCK B2 .


INITIALIZATION.



AT SELECTION-SCREEN OUTPUT.
loop at screen.
if screen-group1 = 'PTH'.
screen-active = 1.
screen-input = 0.
modify screen.
endif.
endloop.


AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_LOCAL.
CALL FUNCTION 'F4_FILENAME'
 EXPORTING
   PROGRAM_NAME        = SYST-CPROG
   DYNPRO_NUMBER       = SYST-DYNNR
  FIELD_NAME          = ' '
IMPORTING
   FILE_NAME           = P_LOCAL.


AT SELECTION-SCREEN.
*VAL....1 for File type
if P_file is initial.
message E001 with TEXT-002.
endif.
*VAL....2 FOR FILE path of local file
 if P_LOCAL is initial .
 message E002 with TEXT-003.
 endif.
*VAL....03 FOR UNIX DIRECTORY LEVEL 2

 if P_UNIX2 is INITIAl and P_full is initial.
 MEssage E003 with TEXT-004.
 endif.

*VAL....04
if not P_UNIX2 is initial and P_full is not initial.
Message E008 with TEXT-009.
endif.

 START-OF-SELECTION.
if P_Unix2 is not initial.
 Concatenate P_Unix1 P_Unix2 into v_unix_path.
else.
v_UNIX_PATH = P_full.
endif.

V_FILE_PATH = P_LOCAL.



 if P_SAP_PC = CC_X.
 Clear IT_TAB1.

 CALL FUNCTION 'GUI_UPLOAD'
   EXPORTING
     FILENAME                      = V_FILE_PATH
    FILETYPE                      = P_FILE
*    HAS_FIELD_SEPARATOR           = ' '
*    HEADER_LENGTH                 = 0
    READ_BY_LINE                  = 'X'
*    DAT_MODE                      = ' '
*    CODEPAGE                      = ' '
*    IGNORE_CERR                   = ABAP_TRUE
*    REPLACEMENT                   = '#'
*    CHECK_BOM                     = ' '
*  IMPORTING
*    FILELENGTH                    =
*    HEADER                        =
   TABLES
     DATA_TAB                      = IT_TAB1
  EXCEPTIONS
    FILE_OPEN_ERROR               = 1
    FILE_READ_ERROR               = 2
    NO_BATCH                      = 3
    GUI_REFUSE_FILETRANSFER       = 4
    INVALID_TYPE                  = 5
    NO_AUTHORITY                  = 6
    UNKNOWN_ERROR                 = 7
    BAD_DATA_FORMAT               = 8
    HEADER_NOT_ALLOWED            = 9
    SEPARATOR_NOT_ALLOWED         = 10
    HEADER_TOO_LONG               = 11
    UNKNOWN_DP_ERROR              = 12
    ACCESS_DENIED                 = 13
    DP_OUT_OF_MEMORY              = 14
    DISK_FULL                     = 15
    DP_TIMEOUT                    = 16
    OTHERS                        = 17
           .
 IF SY-SUBRC <> 0.
 MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
 ENDIF.

if not it_tab1 is initial.
OPEN DATASET v_unix_path FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
if sy-subrc = 0.
loop at it_tab1 into wa_itab1.
TRANSFER wa_itab1 TO v_unix_path.
endloop.
message I005 with TEXT-006.
else.
message E004 with TEXT-005.
endif.
CLOSE DATASET v_unix_path.
endif.

ELSE.
Clear IT_TAB1.
OPEN DATASET V_UNIX_PATH FOR INPUT IN TEXT MODE ENCODING DEFAULT.
if sy-subrc = 0.
do.
READ DATASET v_unix_path INTO wa_itab1.
if sy-subrc = 0.
append wa_itab1 to it_tab1.
else.
EXIT.
endif.
enddo.
endif.

CLOSE DATASET v_unix_path.

if not it_tab1 is initial.
CALL FUNCTION 'GUI_DOWNLOAD'
  EXPORTING
*   BIN_FILESIZE                    =
    filename                        = v_file_path
   FILETYPE                        = P_FILE
*   APPEND                          = ' '
*   WRITE_FIELD_SEPARATOR           = ' '
*   HEADER                          = '00'
*   TRUNC_TRAILING_BLANKS           = ' '
*   WRITE_LF                        = 'X'
*   COL_SELECT                      = ' '
*   COL_SELECT_MASK                 = ' '
*   DAT_MODE                        = ' '
*   CONFIRM_OVERWRITE               = ' '
*   NO_AUTH_CHECK                   = ' '
*   CODEPAGE                        = ' '
*   IGNORE_CERR                     = ABAP_TRUE
*   REPLACEMENT                     = '#'
*   WRITE_BOM                       = ' '
*   TRUNC_TRAILING_BLANKS_EOL       = 'X'
*   WK1_N_FORMAT                    = ' '
*   WK1_N_SIZE                      = ' '
*   WK1_T_FORMAT                    = ' '
*   WK1_T_SIZE                      = ' '
* IMPORTING
*   FILELENGTH                      =
  tables
    data_tab                        = IT_TAB1
*   FIELDNAMES                      =
 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 E006 with TEXT-007.

 MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ELSE.

Message I007 with TEXT-008.
ENDIF.


endif.


 endif.

<REMOVED BY MODERATOR>

GAURAV J.

Edited by: Alvaro Tejada Galindo on Feb 4, 2008 4:41 PM

Read only

Former Member
0 Likes
610

Hi...

Above code is to upload file to application server..

N to download a file to local machine...

Once you r done

close this thread and do reward....

thx.

Read only

Former Member
0 Likes
610

For uploading excel from presentation server use FM


CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
      EXPORTING
        filename                = p_file(path of the file)
        i_begin_col             = 1
        i_begin_row             = 1
        i_end_col               = 43
        i_end_row               = 10000
      TABLES
        intern                  = it_l_data
      EXCEPTIONS
        inconsistent_parameters = 1
        upload_ole              = 2
        OTHERS                  = 3.

And for application server use the open and close data sets option.


gv_dataset1 = p_file.
    OPEN DATASET gv_dataset1 FOR INPUT IN TEXT MODE ENCODING DEFAULT.
    IF sy-subrc NE 0.
*         MESSAGE
    ELSE.
      WHILE ( sy-subrc EQ 0 ).
        READ DATASET gv_dataset1 INTO wa_itab.
        IF NOT wa_itab IS INITIAL.
          APPEND wa_itab TO itab.
        ENDIF.
        CLEAR wa_itab.
      ENDWHILE.
    ENDIF.
    CLOSE DATASET gv_dataset1.

<REMOVED BY MODERATOR>

Edited by: Alvaro Tejada Galindo on Feb 4, 2008 4:42 PM