<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Excel file in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/excel-file/m-p/3353913#M804576</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;check this&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
* DATE OF REPORT   : 21.01.2008
*DESC. OF REPORT  : ALV to display purchase order using ekko &amp;amp; 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 &amp;amp; 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 = &amp;amp;1.     "field name
**  L_FIELDCAT-TABNAME =  &amp;amp;2.      "IT_HEAD_DETAIL
**  L_FIELDCAT-KEY = &amp;amp;3.           "column with key-color
**  L_FIELDCAT-JUST = &amp;amp;4.          "(R)ight (L)eft (C)ent.
**  L_FIELDCAT-LZERO = &amp;amp;5.         "leading zero
**  L_FIELDCAT-SELTEXT_L = &amp;amp;6.     "long key word
**  L_FIELDCAT-SELTEXT_M = &amp;amp;7.     "middle key word
**  L_FIELDCAT-SELTEXT_S = &amp;amp;8.     "short key word
**  L_FIELDCAT-OUTPUTLEN = &amp;amp;9.     "Output length
**  L_FIELDCAT-REF_FIELDNAME = &amp;amp;10."Reference field
**  L_FIELDCAT-REF_TABNAME = &amp;amp;11.  "Reference table
**  L_FIELDCAT-NO_SUM = &amp;amp;12.       "do not sum up
**  L_FIELDCAT-HOTSPOT = &amp;amp;13 .     "hotspot
**  L_FIELDCAT-DO_SUM = &amp;amp;14.       "Sumable
**  L_FIELDCAT-EDIT = &amp;amp;15.         "Editable
**  L_FIELDCAT-INPUT = &amp;amp;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 &amp;lt;&amp;gt; 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
************************************************************************
**

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  IT_TAB_POPULATE
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  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
***********************************************************************
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  ZF_report
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  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
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  ZF_BUILD_FIELDCAT
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      --&amp;gt;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
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  ZF_BUILD_LISTHEADER
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      --&amp;gt;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&amp;lt;BOLD HEADING&amp;gt;

  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&amp;lt;italics&amp;gt;
  L_LISTHEADER-INFO = TEXT-074.

  APPEND L_LISTHEADER TO P_IT_LISTHEADER.

endform.                    " ZF_BUILD_LISTHEADER
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  ZF_EVENTCAT
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      --&amp;gt;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 &amp;lt;reuse_alv_events_get&amp;gt;.
  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 &amp;lt;&amp;gt; 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 '&amp;amp;IC1'.
      if rs_selfield-fieldname = 'MATNR'.
      set parameter id 'MAT' field rs_selfield-value.
      call transaction 'MM03' and skip first screen.
      endif.


WHEN '&amp;amp;F03'.
      LEAVE PROGRAM.

WHEN '&amp;amp;F15'.
      LEAVE PROGRAM.

WHEN '&amp;amp;F12'.
      LEAVE PROGRAM.
ENDCASE.

endform.                    " ZF_EVENTCAT
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  ZF_LAYOUT
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  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
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  ZF_DISPLAY_ALV_GRID
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  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 &amp;lt;&amp;gt; 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
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  ZF_download
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  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
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;lt;REMOVED BY MODERATOR&amp;gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Gaurav J.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Alvaro Tejada Galindo on Feb 4, 2008 4:39 PM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 04 Feb 2008 15:09:34 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-02-04T15:09:34Z</dc:date>
    <item>
      <title>Excel file</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/excel-file/m-p/3353911#M804574</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi ,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Could any one give me the sample code for downloading and uploading excel file from both application server and presentation server. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;lt;REMOVED BY MODERATOR&amp;gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Alvaro Tejada Galindo on Feb 4, 2008 4:37 PM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 04 Feb 2008 14:22:24 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/excel-file/m-p/3353911#M804574</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-04T14:22:24Z</dc:date>
    </item>
    <item>
      <title>Re: Excel file</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/excel-file/m-p/3353912#M804575</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;for uploading and downloading from application server:&lt;/P&gt;&lt;P&gt;to download this the procedure:&lt;/P&gt;&lt;P&gt;you can use the FM 'EXCEL_OLE_STANDARD_DAT ' for this purpose.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;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.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here are some of the parameters:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;file_name: Name and path of the Excel worksheet file e.g. ?C:TEMPZTEST?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data_tab: Name of the internal table that should be uploaded to Exvcel&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;fieldnames: Internal tabel with column headers&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;How to build the field names table:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: begin of i_fieldnames occurs 20,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;field(60), end of i_fieldnames. &lt;/P&gt;&lt;P&gt;i_fieldnames-field = ?This is column 1?. append i_fieldnames-field.&lt;/P&gt;&lt;P&gt;i_fieldnames-field = ?This is column 2?. append i_fieldnames-field.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;to upload follow this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;OPEN DATASET dsn FOR INPUT IN BINARY MODE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DO.&lt;/P&gt;&lt;P&gt;READ DATASET dsn INTO itab-field.&lt;/P&gt;&lt;P&gt;IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;APPEND itab.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;EXIT.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDDO.&lt;/P&gt;&lt;P&gt;[/code]Rob&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;or Try this function module.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FILE_READ_AND_CONVERT_SAP_DATA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;pass 'XLS' to I_FILEFORMAT..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;lt;REMOVED BY MODERATOR&amp;gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;regards.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Alvaro Tejada Galindo on Feb 4, 2008 4:38 PM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 04 Feb 2008 15:03:50 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/excel-file/m-p/3353912#M804575</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-04T15:03:50Z</dc:date>
    </item>
    <item>
      <title>Re: Excel file</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/excel-file/m-p/3353913#M804576</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;check this&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
* DATE OF REPORT   : 21.01.2008
*DESC. OF REPORT  : ALV to display purchase order using ekko &amp;amp; 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 &amp;amp; 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 = &amp;amp;1.     "field name
**  L_FIELDCAT-TABNAME =  &amp;amp;2.      "IT_HEAD_DETAIL
**  L_FIELDCAT-KEY = &amp;amp;3.           "column with key-color
**  L_FIELDCAT-JUST = &amp;amp;4.          "(R)ight (L)eft (C)ent.
**  L_FIELDCAT-LZERO = &amp;amp;5.         "leading zero
**  L_FIELDCAT-SELTEXT_L = &amp;amp;6.     "long key word
**  L_FIELDCAT-SELTEXT_M = &amp;amp;7.     "middle key word
**  L_FIELDCAT-SELTEXT_S = &amp;amp;8.     "short key word
**  L_FIELDCAT-OUTPUTLEN = &amp;amp;9.     "Output length
**  L_FIELDCAT-REF_FIELDNAME = &amp;amp;10."Reference field
**  L_FIELDCAT-REF_TABNAME = &amp;amp;11.  "Reference table
**  L_FIELDCAT-NO_SUM = &amp;amp;12.       "do not sum up
**  L_FIELDCAT-HOTSPOT = &amp;amp;13 .     "hotspot
**  L_FIELDCAT-DO_SUM = &amp;amp;14.       "Sumable
**  L_FIELDCAT-EDIT = &amp;amp;15.         "Editable
**  L_FIELDCAT-INPUT = &amp;amp;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 &amp;lt;&amp;gt; 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
************************************************************************
**

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  IT_TAB_POPULATE
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  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
***********************************************************************
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  ZF_report
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  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
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  ZF_BUILD_FIELDCAT
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      --&amp;gt;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
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  ZF_BUILD_LISTHEADER
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      --&amp;gt;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&amp;lt;BOLD HEADING&amp;gt;

  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&amp;lt;italics&amp;gt;
  L_LISTHEADER-INFO = TEXT-074.

  APPEND L_LISTHEADER TO P_IT_LISTHEADER.

endform.                    " ZF_BUILD_LISTHEADER
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  ZF_EVENTCAT
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      --&amp;gt;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 &amp;lt;reuse_alv_events_get&amp;gt;.
  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 &amp;lt;&amp;gt; 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 '&amp;amp;IC1'.
      if rs_selfield-fieldname = 'MATNR'.
      set parameter id 'MAT' field rs_selfield-value.
      call transaction 'MM03' and skip first screen.
      endif.


WHEN '&amp;amp;F03'.
      LEAVE PROGRAM.

WHEN '&amp;amp;F15'.
      LEAVE PROGRAM.

WHEN '&amp;amp;F12'.
      LEAVE PROGRAM.
ENDCASE.

endform.                    " ZF_EVENTCAT
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  ZF_LAYOUT
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  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
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  ZF_DISPLAY_ALV_GRID
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  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 &amp;lt;&amp;gt; 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
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  ZF_download
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  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
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;lt;REMOVED BY MODERATOR&amp;gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Gaurav J.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Alvaro Tejada Galindo on Feb 4, 2008 4:39 PM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 04 Feb 2008 15:09:34 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/excel-file/m-p/3353913#M804576</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-04T15:09:34Z</dc:date>
    </item>
    <item>
      <title>Re: Excel file</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/excel-file/m-p/3353914#M804577</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;THIS ONE EXACTLY MATCHES YOUR REQUIREMENT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
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 &amp;lt;&amp;gt; 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 &amp;lt;&amp;gt; 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.
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;lt;REMOVED BY MODERATOR&amp;gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;GAURAV J.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Alvaro Tejada Galindo on Feb 4, 2008 4:41 PM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 04 Feb 2008 15:11:30 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/excel-file/m-p/3353914#M804577</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-04T15:11:30Z</dc:date>
    </item>
    <item>
      <title>Re: Excel file</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/excel-file/m-p/3353915#M804578</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi...&lt;/P&gt;&lt;P&gt;Above code is to upload file to application server..&lt;/P&gt;&lt;P&gt;N to download a file to local machine... &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Once you r done &lt;/P&gt;&lt;P&gt;close this thread and do reward....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thx.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 04 Feb 2008 15:14:52 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/excel-file/m-p/3353915#M804578</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-04T15:14:52Z</dc:date>
    </item>
    <item>
      <title>Re: Excel file</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/excel-file/m-p/3353916#M804579</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;For uploading excel from presentation server use FM     &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
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.
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And for application server  use the open and close data sets option.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
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.
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;lt;REMOVED BY MODERATOR&amp;gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Alvaro Tejada Galindo on Feb 4, 2008 4:42 PM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 04 Feb 2008 15:18:52 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/excel-file/m-p/3353916#M804579</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-04T15:18:52Z</dc:date>
    </item>
  </channel>
</rss>

