F4_DXFILENAME_TOPRECURSION

Hi All,
I am Using this Function Module to get F4 help for Application Server. My Problem is i am geting one Information Message that "Braching is not Possible in AS/400".So i could not get the filename in the parameter,
My Application Server is AS400.
please give some suggestions..points will be awarded.

Hi,
I have gone thru the documentation of this function module , Its for selection of files from application server and not to create a new one.
Here is the documentation of function module F4_DXFILENAME_TOPRECURSION
The component places an assistance to the selection of the file to order for this can be indicated whether the file lies on the presentation or application servers; which application server is to be used (if application server was selected) and which path will be used these data (in these Hierachie) only partly hands over, then the remaining data become abgefragt.Desweiteren can still another file mask with Wildcards and the forthcoming file operation will as expenditure one keeps the selected kind of server, server and path/file name handed over. If the selection broken off without the user a file selected, then this is returned (as well as the input values pushed into the expenditure)
aRs

Similar Messages

  • Downloading to Application server

    Hi gurus,
    My requirement is to download a file to application server in background mode by DYNAMICALLY SELECTING THE DIRECTORIES AVAILABLE in application server.
    i.e. i must display all the directories available in application server in the selection screen than the user will select which directory and folder he wants to download.
    I used both F4_DXFILENAME_TOPRECURSION and SAPDMC/LSM_F4_SERVER_FILE but the problem is:-
    F4_DXFILENAME_TOPRECURSION :-
    When we use the above FM than by default it displays all the files in 'H:' directory only , we cannot access any other directory.
    So we need to assign the I_PATH = J:(one of the other directory available)  in the FM(I_PATH is one of the parameter in FM) and than we can easily store the output inside 'J:'
    But this does not serve the purpose since we can see only 'J:' directory now but the user wants to see all the directories and depending on requirement they will choose the path..........
    SAPDMC/LSM_F4_SERVER_FILE :-
    even this FM has the same problem and we need to pass the particular directory path inside this.
    Waiting for ur replies..its urgent
    points will be definitely awarded

    Hi janak dolia,
    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..
    Regards,
    Sreenivasa sarma K.
    Edited by: sharmashree kashi on Mar 27, 2008 9:08 AM

  • Open dialog box in application server.

    hai frnds,
    i am using the following FM for open dialog box in application.
      CALL FUNCTION 'F4_DXFILENAME_TOPRECURSION'
        EXPORTING
          i_location_flag = 'A'
          i_server = '?'
          i_path = f_app
          filemask = c_fnh_mask
           FILEOPERATION = 'R'
        IMPORTING
        O_LOCATION_FLAG = 'P'
        O_SERVER = '?'
          o_path = f_app
        ABEND_FLAG =
        EXCEPTIONS
          rfc_error = 1
          OTHERS = 2.
    the path is been copied to the input box but when i am trying to open the file selected it is not retrieving the data and also the given path is changed to upper case. i had tried to change it in start of selection. but the same is hapenning. also my client requested some of the following...
    1) the dialog should open at '//sapglobal_users'
    2) the files should be sorted in desc group by date and time of creation.
    3) the full path name should be visible in the dialog box which is not hapenning (i.e., if the path is > the visible length the invisible part is truncated. This shd not happen.)
    Message was edited by: Ateeq K

    DO THIS..
    parameters: file(128) obligatory  lower case.
    DATA: c_fnh_mask TYPE dxfields-filemask VALUE '*',
          searched_dir TYPE dxfields-longpath,
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR FILE.
      if loc1 = space.
         message e307 with 'Enter Directory To Pick Up File'.
      endif.
    searched_dir = XXX. " WRITE THE DIRECTORY NAME--LIKE 'E:\usr\sap\put'.
      TRANSLATE searched_dir TO LOWER CASE .
      CALL FUNCTION 'F4_DXFILENAME_TOPRECURSION'
        EXPORTING
          i_location_flag = 'A'
          i_server = ' '
          i_path = searched_dir
          filemask = c_fnh_mask
        FILEOPERATION = 'R'
       IMPORTING
        O_LOCATION_FLAG =
        O_SERVER =
          o_path = file_path
        ABEND_FLAG =
       EXCEPTIONS
            rfc_error = 1
            OTHERS = 2.
    AND IT WORKS..REWARD POINTS  IF IT HELPS YOU

  • How to set Logical path?

    Hi,
    Please reply.
    Thanks in advance,

    hi,
    at selection-screen on value-request for f_app.
    perform get_fname_app.
    form get_fname_app.
    data: c_fnh_mask type dxfields-filemask value '.',
    search_dir type dxfields-longpath value '/sapglobal/users',
    file_path like dxfields-longpath.
    call function 'F4_DXFILENAME_TOPRECURSION'
    exporting
    i_location_flag = 'A'
    i_server = ' '
    i_path = search_dir
    filemask = c_fnh_mask
    fileoperation = 'R'
    importing
    o_path = file_path
    exceptions
    rfc_error = 1
    others = 2
    if sy-subrc eq 0.
    f_app = file_path.
    endif.
    endform.
    regards,
    deepthi reddy

  • Validating file/folder path from application server.

    Hi All ,
    I have used the FM '/SAPDMC/LSM_F4_SERVER_FILE' to open F4 help for application server. Now I want to validate the folder or file returned by the FM.
    Can anyone help on this?
    Thanks
    Shilpa

    HI Shilpa,
    Us this  FM
    F4_DXFILENAME_TOPRECURSION
    Hope this will help you.
    Regards,
    Vijay

  • Application server file download

    Hi gurus,
    Iam using a FM F4_DXFILENAME_TOPRECURSION for downloading data to the application server and also using the same FM for retrieving the data from appl. server.
    I have been provided a sample path in "Development server" with the directory name and here it is running fine.
    My problem is that they have mentioned a path for "Testing Server" as J:\MAT and i need to download the data in this path in Testing server.But iam unable to see any such path or directory in AL11 by logging in "Testing server".Even when i test the above FM in SE37 this Path or directory is not visible.
    The BASIS team tells that they have created this path....
    Pls reply ..points will be awarded..waiting for reply

    HI,
    its true but the BASIS says they have created it...anyways thanks
    does AL11 display all the directories(even the one which we dont have permission)??
    regards,
    janak

  • Equalent of F4_filename function module for application server file path

    hi experts,
            i am using  cl_gui_frontend_services=>file_open_dialog
           for bring file path dynamically for user, in front end.
          same feature i want to give when i am trying upload file from application server.
      kindly provide me function module or class method, which will do it.
    thanks in advance
    regards,
    pavan

    Hi,
    Use FM F4_DXFILENAME_TOPRECURSION
    Sample code here
    report ztest.
    data : filename like DXFIELDS-LONGPATH.
    data : begin of itab occurs 0,
    a(200) type c,
    end of itab.
    CALL FUNCTION 'F4_DXFILENAME_TOPRECURSION'
    EXPORTING
    I_LOCATION_FLAG = 'A'
    *I_SERVER = '?'
    *I_PATH =
    FILEMASK = '.*'
    *FILEOPERATION = 'R'
    IMPORTING
    *O_LOCATION_FLAG =
    *O_SERVER =
    O_PATH = filename
    *ABEND_FLAG =
    EXCEPTIONS
    RFC_ERROR = 1
    ERROR_WITH_GUI = 2
    OTHERS = 3
    break-point.
    open dataset filename for input in binary mode.
    while sy-subrc = 0.
    clear itab .
    read dataset filename into itab.
    append itab.
    endwhile.
    CALL FUNCTION 'GUI_DOWNLOAD'
    EXPORTING
    BIN_FILESIZE =
    FILENAME = 'd:\abc.txt'
    FILETYPE = 'BIN'
    TABLES
    DATA_TAB = itab
    Regards,
    Satish

  • Validation and F4 help on an application server file path parameter

    Hi
    I have a field on a selection screen called File Path and it is for a download program where the user needs to specify the path for the download (NOT THE ACTUAL FILENAME).
    I am trying to find a function or method that allows a user to use F4 help to browse for a directory rather than a specific file. There are lots of posts out there asking this question but all of the answers point to functions that allow you to browse for a particular file rather than just the file path/directory.
    Does anyone know of a function that provides F4 help to browse for a file path on the Server (NOT PC). I would want the user to just be able to select the directory or path and have the path returned. They should not need to pick a specific file.
    F4_DXFILENAME_TOPRECURSION is a very good function but unfortunately it makes the user pick a file rather than just a directory.
    In addition to this, does anyone know of a function or method that allows you to then validate the path\directory that is entered?
    Thanks for your help
    Nicole

    Hi,
      You can try with the FM 'EPS_GET_DIRECTORY_LISTING'. With this Fm module you will get you the list of files of a particular path in an internal table. Then you can populate this internal table in F4 help.
    Hope this solves your problem. If any difficulty, come back to me about that.
    Below are some other FM related to application server directory. Hope these Helps.
    EPS_GET_DIRECTORY_LISTING
    EPS_GET_DIRECTORY_PATH
    EPS_GET_FILE_ATTRIBUTES
    EPS_GET_FTP_SYSTEM_INFO
    Regards,
    Shailesh Jadhav

  • Regarding Application server file path browsing

    Hi All,
    I have a issue regarding Application Server File Path browsing.
    Actually in my selection-screen i will declare a parameter as <b>Application Server File Path</b> now when i press F4 in that field it should be able to browse through <b>Application Server Path's</b>.
    Just like <b>F4_FILENAME</b> in the case of <b>Presentation Server File Path</b> Browsing.
    Can anybody solve my issue.
    Thanks in advance.
    Thanks & Regards,
    Rayeez.

    Hi Shaik,
    Just copy and paste:
    Here is the code for retrieving list of files contained within specific Application server directory(SAP).
    PARAMETER: p_fdir type pfeflnamel DEFAULT '/usr/sap/tmp'.
    data: begin of it_filedir occurs 10.
    include structure salfldir.
    data: end of it_filedir.
    START-OF-SELECTION.
    Get Current Directory Listing for OUT Dir
    call function 'RZL_READ_DIR_LOCAL'
    exporting
    name = p_fdir
    tables
    file_tbl = it_filedir.
    List of files are contained within table it_filedir
    loop at it_filedir.
    write: / it_filedir-NAME.
    endloop.
    Hope this will help you.
    Let me know incase of any concerns.
    EDIT:
    There are few FM for ur refernce :
    RZL_READ_DIR_LOCAL
    SUBST_GET_FILE_LIST Return table with file list for the given directory (pattern allowed)
    F4_DXFILENAME_TOPRECURSION Popup to select one file from the given application server directory
    TH_SERVER_LIST Returns list of application servers.
    EPS_GET_DIRECTORY_LISTING – Lists filenames from the application server .
    Cheers
    Sunny
    Rewrd points, if found helpful
    Message was edited by: Sunny

  • APPLICATION SERVER FILE PATH

    Friends to surf the flat file
      function module
    what we use is
    'KDGET_FILENAME_ON_F4'_
    like this what is the fuction module for application server?????

    Try:
    F4_DXFILENAME_TOPRECURSION
    PARAMETERS: f_app(128).
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR f_app.
    PERFORM get_fname_app.
    FORM get_fname_app.
    DATA: c_fnh_mask TYPE dxfields-filemask VALUE '.',
    search_dir TYPE dxfields-longpath VALUE '/sapglobal/users',
    file_path LIKE dxfields-longpath.
    CALL FUNCTION 'F4_DXFILENAME_TOPRECURSION'
    EXPORTING
    i_location_flag = 'A'
    i_server = ' '
    i_path = search_dir
    filemask = c_fnh_mask
    fileoperation = 'R'
    IMPORTING
    o_path = file_path
    EXCEPTIONS
    rfc_error = 1
    OTHERS = 2.
    IF sy-subrc EQ 0.
    f_app = file_path.
    ENDIF.
    ENDFORM. "get_fname_app[/code]
    OR
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_apath.
    CALL FUNCTION '/SAPDMC/LSM_F4_SERVER_FILE'
    IMPORTING
    serverfile = p_apath
    EXCEPTIONS
    canceled_by_user = 1
    OTHERS = 2.

  • FM to get file name on app server

    Hello experts,
    I'm trying to use a FM to get the filename of a file on  the application server. The FM I am using is F4_FILENAME_SERVER, but it doesn't seem to work.
    Does anyone have an alternative? Or maybe someone knows common problems with this FM?
    Thanks in advance!
    Best regards,
    Danny

    Try the function modules
    F4_DXFILENAME
    F4_DXFILENAME_4_DYNP      
    F4_DXFILENAME_TOPRECURSION
    F4_FILENAME        
    F4_FILENAME_SERVER 
    Reward Points if useful.

  • File download from application server to presentation server

    Hi,
         We have requirment to upload a file to application server in .dbf format and then download it to presentation server.  while downloading the file to presentation server some of the fields  getting junk values.  we are downloading file to excel sheet.  some of the fields values are Russian texts.  Those fields only getting junk values, all other fields are getting correct values.
    Please advice.
    Regards,
    chandra.

    hi
    sample code below should help you......
    <u>Download to presentation server</u>
    This program can be used to download files from Application server to presentaion server.
    1)Maximum length of each field is considered to be 40 characters.
    2)Maximum length of the field can be changed by specifying the length in selection screen parameter
    3)First line of the Application server file should contain the description of each field.
    4)Each field should be delimited by #.
    *& Report ZDOWNLOADFILE *
    REPORT ZDOWNLOADFILE
    MESSAGE-ID B1 .
    INCLUDES *
    INCLUDE ZDOWNLOADFILE_TOP.
    INCLUDE ZDOWNLOADFILE_FORM.
    EVENT-AT SELECTION-SCREEN *
    AT SELECTION-SCREEN ON pa_appl.
    PERFORM check_file_exists USING pa_appl.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR pa_appl.
    PERFORM f4_dxfilename USING pa_appl.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR pa_pres.
    PERFORM f4_filename USING pa_pres.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR pa_del.
    PERFORM f4_dxfilename USING pa_del.
    EVENT INITIALIZATION *
    INITIALIZATION.
    PERFORM initialization.
    EVENT START-OF-SELECTION *
    START-OF-SELECTION.
    PERFORM determine_fields. "Determine number of columns
    PERFORM build_itab. "Create internal table based on number
    "of columns
    PERFORM build_header. "To prepare header for the file
    PERFORM download_data. "Download data to presentation server
    PERFORM delete_files. "Delete files from application server
    *& Include ZDOWNLOADFILE_TOP *
    TYPES: BEGIN OF ty_header,
    text(100) TYPE c,
    END OF ty_header.
    DATA: c_fnh_mask type dxfields-filemask value '.',
    search_dir type dxfields-longpath value '/sapglobal/users'.
    CLASS cl_abap_char_utilities DEFINITION LOAD.
    Internal tables *
    DATA: gt_header TYPE STANDARD TABLE OF ty_header,
    gt_fieldcat TYPE lvc_t_fcat.
    Work areas *
    DATA: gs_header TYPE ty_header,
    gs_fieldcat TYPE lvc_s_fcat.
    DATA: wa_filename TYPE string.
    DATA: wa_count(2) TYPE N,
    wa_start(3) TYPE N,
    wa_end(3) TYPE N,
    wa_len(3) TYPE N.
    DATA: wa_data(12000) TYPE c,
    wa_off TYPE I,
    itab_appl TYPE REF TO DATA,
    itab_line TYPE REF TO DATA,
    col(2) TYPE c.
    DATA: wa_field(30) TYPE c.
    DATA: lv_index TYPE sy-tabix.
    DATA: gs_adrp type adrp,
    gs_usr02 type usr02,
    gs_usr21 type usr21,
    gs_char50(50).
    CONSTANTS: co_slash(1) value '/'.
    FIELD-SYMBOLS: <itab> TYPE STANDARD TABLE,
    <wa>,
    <fs_line>,
    <wa_line>.
    SELECTION SCREEN *
    SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE text-f01.
    PARAMETERS: pa_appl LIKE rlgrap-filename OBLIGATORY.
    SELECTION-SCREEN END OF BLOCK B1.
    SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE text-f02.
    PARAMETERS: pa_pres LIKE rlgrap-filename OBLIGATORY.
    SELECTION-SCREEN END OF BLOCK B2.
    SELECTION-SCREEN BEGIN OF BLOCK B3 WITH FRAME TITLE text-f03.
    PARAMETERS: pa_del LIKE rlgrap-filename .
    PARAMETERS: pa_deld AS CHECKBOX.
    SELECTION-SCREEN END OF BLOCK B3.
    SELECTION-SCREEN BEGIN OF BLOCK B4 WITH FRAME TITLE text-f04.
    PARAMETERS: pa_len(3) TYPE c.
    SELECTION-SCREEN END OF BLOCK B4.
    *& Include ZDOWNLOADFILE_FORM *
    *& Form f4_dxfilename
    text
    -->P_pa_appl text
    form f4_dxfilename using p_file.
    DATA: wa_file LIKE dxfields-longpath.
    CLEAR: wa_file.
    call function 'F4_DXFILENAME_TOPRECURSION'
    exporting
    i_location_flag = 'A'
    i_server = ' '
    i_path = search_dir
    filemask = c_fnh_mask
    fileoperation = 'R'
    importing
    o_path = wa_file
    exceptions
    rfc_error = 1
    error_with_gui = 2
    others = 3
    if sy-subrc <> 0.
    message id sy-msgid type sy-msgty number sy-msgno
    with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    else.
    p_file = wa_file.
    endif.
    endform. " f4_dxfilename
    *& Form f4_filename
    text
    -->P_pa_pres text
    form f4_filename using p_data.
    CALL FUNCTION 'F4_FILENAME'
    EXPORTING
    PROGRAM_NAME = SYST-CPROG
    DYNPRO_NUMBER = SYST-DYNNR
    IMPORTING
    FILE_NAME = p_data
    endform. " f4_filename
    *& Form check_file_exists
    text
    -->P_pa_appl text
    form check_file_exists using p_file.
    DATA: wa_file LIKE rlgrap-filename.
    wa_file = p_file.
    OPEN DATASET wa_file FOR INPUT IN TEXT MODE ENCODING DEFAULT.
    IF sy-subrc = 8.
    MESSAGE E714
    WITH text-m01 p_file text-m02.
    ELSE.
    CLOSE DATASET p_file.
    ENDIF.
    endform. " check_file_exists
    *& Form build_header
    text
    --> p1 text
    <-- p2 text
    form build_header .
    *Select user details
    clear gs_usr21-persnumber.
    select single persnumber
    into (gs_usr21-persnumber)
    from usr21
    where bname = sy-uname.
    concatenate sy-uname
    co_slash
    gs_adrp-name_text(36)
    co_slash
    into gs_char50.
    condense gs_char50.
    clear gs_usr02-class.
    select single class
    into (gs_usr02-class)
    from usr02
    where bname = sy-uname.
    concatenate gs_char50
    gs_usr02-class
    into gs_char50.
    condense gs_char50.
    Write report technical name
    write 'Name: ' TO gs_header+0(10).
    gs_header+11(*) = sy-repid.
    APPEND gs_header TO gt_header.
    CLEAR: gs_header.
    Write user data
    write 'User: ' TO gs_header+0(10).
    gs_header+11(*) = gs_char50.
    CONCATENATE gs_header gs_char50 INTO
    gs_header SEPARATED BY SPACE.
    APPEND gs_header TO gt_header.
    CLEAR: gs_header.
    Write System data
    write 'System: ' TO gs_header+0(10).
    write: sy-sysid to gs_header+11(3).
    write: co_slash to gs_header+14(1).
    write: sy-mandt to gs_header+15(3).
    APPEND gs_header TO gt_header.
    CLEAR: gs_header.
    Write System date and time
    write 'System: ' TO gs_header+0(10).
    write sy-datum to gs_header+11(10).
    write sy-uzeit to gs_header+22(8).
    APPEND gs_header TO gt_header.
    CLEAR: gs_header.
    Write Local date and time
    write 'Local: ' TO gs_header+0(10).
    write sy-datlo to gs_header+11(10).
    write sy-timlo to gs_header+22(8).
    APPEND gs_header TO gt_header.
    CLEAR: gs_header.
    APPEND gs_header TO gt_header.
    endform. " build_header
    *& Form determine_fields
    text
    --> p1 text
    <-- p2 text
    form determine_fields .
    DATA: wa_data(600) TYPE c.
    CLEAR: wa_count,wa_start,wa_end,wa_data.
    wa_start = 0.
    wa_end = 1.
    OPEN DATASET pa_appl FOR INPUT IN TEXT MODE ENCODING DEFAULT.
    READ DATASET pa_appl INTO wa_data.
    wa_len = STRLEN( wa_data ).
    DO wa_len TIMES.
    IF wa_data+wa_start(wa_end) EQ
    cl_abap_char_utilities=>horizontal_tab.
    wa_count = wa_count + 1.
    ENDIF.
    wa_start = wa_start + 1.
    ENDDO.
    CLOSE DATASET pa_appl.
    wa_count = wa_count + 1.
    endform. " determine_fields
    *& Form build_itab
    text
    --> p1 text
    <-- p2 text
    form build_itab .
    DATA: wa_len(4) TYPE c.
    CLEAR: wa_len.
    IF pa_len IS INITIAL.
    wa_len = 40.
    ELSE.
    wa_len = pa_len.
    ENDIF.
    col = 1.
    DO wa_count TIMES.
    CONCATENATE 'FIELD' col INTO wa_field.
    gs_fieldcat-fieldname = wa_field.
    gs_fieldcat-outputlen = wa_len.
    gs_fieldcat-datatype = 'CHAR'.
    gs_fieldcat-col_pos = col.
    col = col + 1.
    APPEND gs_fieldcat TO gt_fieldcat.
    CLEAR: wa_field.
    ENDDO.
    *Create the internal table dynamically based on the file structure,
    *this table will be used to download data through GUI_DOWNLOAD fm
    CALL METHOD cl_alv_table_create=>create_dynamic_table
    EXPORTING
    it_fieldcatalog = gt_fieldcat
    IMPORTING
    EP_TABLE = itab_appl
    *Assign the pointer to the field symbol
    ASSIGN itab_appl->* TO <itab>.
    CREATE DATA itab_line LIKE LINE OF <itab>.
    *Create a work area for the dynamic internal table
    ASSIGN itab_line->* TO <wa_line>.
    col = 1.
    OPEN DATASET pa_appl FOR INPUT IN TEXT MODE ENCODING DEFAULT.
    DO.
    READ DATASET pa_appl INTO wa_data.
    IF sy-subrc <> 0.
    CLOSE DATASET pa_appl.
    RETURN.
    ELSE.
    wa_start = 0.
    lv_index = 1.
    DO wa_count TIMES.
    ASSIGN COMPONENT lv_index OF STRUCTURE <wa_line> TO <fs_line>.
    FIND cl_abap_char_utilities=>horizontal_tab
    IN wa_data+wa_start(*) MATCH OFFSET wa_off.
    IF sy-subrc = 0.
    IF wa_off NE 0.
    <fs_line> = wa_data+wa_start(wa_off).
    ENDIF.
    wa_start = wa_start + wa_off + 1.
    lv_index = lv_index + 1.
    ELSE.
    <fs_line> = wa_data+wa_start(*).
    ENDIF.
    ENDDO.
    APPEND <wa_line> TO <itab>.
    CLEAR: <wa_line>,<fs_line>.
    ENDIF.
    ENDDO.
    endform. " build_itab
    *& Form download_data
    text
    --> p1 text
    <-- p2 text
    form download_data .
    clear: wa_filename.
    wa_filename = pa_pres.
    call function 'GUI_DOWNLOAD'
    exporting
    filename = wa_filename
    filetype = 'DAT'
    tables
    data_tab = gt_header
    exceptions
    access_denied = 15
    call function 'GUI_DOWNLOAD'
    exporting
    filename = wa_filename
    filetype = 'DAT'
    append = 'X'
    tables
    data_tab = <itab>
    exceptions
    access_denied = 15
    endform. " download_data
    *& Form initialization
    text
    --> p1 text
    <-- p2 text
    form initialization .
    REFRESH: gt_header,gt_fieldcat,gt_header.
    endform. " initialization
    *& Form delete_files
    text
    --> p1 text
    <-- p2 text
    form delete_files .
    IF pa_deld EQ 'X'.
    DELETE DATASET pa_appl.
    ENDIF.
    IF pa_del IS NOT INITIAL.
    DELETE DATASET pa_del.
    ENDIF.
    endform. " delete_files
    <b>reward points if helpful.</b>
    thanks
    vijay

  • How to generate .txt file from data in internal table

    Hi I am using the program below to load .txt file into SAP table.
    I am moving the records from a .txt file into internal table final and then into ZOUT_CCFOBS table.
    How do I load records from internal table final back to another .txt file with the same layout? Pls advice.
    REPORT  ZOUP_LOAD_CCF_OBS.
    TABLES: ZOUT_CCFOBS.
    TYPES: BEGIN OF tline, "structure to store a line of each row
        line(1000) TYPE c,
    END OF tline.
    TYPES: BEGIN OF i_split, "structure to store split record of each row
          t_ZOTFACIL(100)    TYPE c,
          t_ZOTCCF(8)    TYPE c,
          t_ZOTOBSCAT(100)    TYPE c,
    END OF i_split.
    DATA: itab TYPE TABLE OF tline WITH HEADER LINE.
    DATA: idat TYPE TABLE OF i_split WITH HEADER LINE.
    DATA: final TYPE STANDARD TABLE OF ZOUT_CCFOBS WITH HEADER LINE.
    DATA: file_str TYPE string.
    DATA: c_fnh_mask TYPE dxfields-filemask VALUE '.',
          c_search_dir TYPE dxfields-longpath.
    SELECTION-SCREEN BEGIN OF BLOCK a1 WITH FRAME TITLE text-001.
    PARAMETERS p_file LIKE rlgrap-filename.                "file location
    SELECTION-SCREEN END OF BLOCK a1.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
      PERFORM f4_dxfilename USING p_file.
    START-OF-SELECTION.
    Download data from application server
      PERFORM download_data.
      file_str = p_file.
      LOOP AT itab.
        CLEAR idat.
    this will split the line at every delimeter into single field
        SPLIT itab-line AT ',' INTO idat-t_ZOTFACIL
        idat-t_ZOTCCF
        idat-t_ZOTOBSCAT.
        APPEND idat.
      ENDLOOP.
    copying the internal table into final table which compatible with table tcurr
      LOOP AT idat.
        final-ZOTFACIL = idat-t_ZOTFACIL.
        final-ZOTCCF = idat-t_ZOTCCF.
        final-ZOTOBSCAT = idat-t_ZOTOBSCAT.
        APPEND final.
      ENDLOOP.
      LOOP AT final.
        MODIFY ZOUT_CCFOBS FROM final.
        IF sy-subrc EQ 0.
          MESSAGE S001(ZCURR).
        ELSE.
          MESSAGE A000(ZCURR).
        ENDIF.
      ENDLOOP.
    FORM f4_dxfilename USING p_file.
    addition TAICK 15/07/2008.
    *maintain application server default search path.
      IF sy-sysid = 'BWP'.
        c_search_dir = '//rdmsbw/prd/data/output/all'.
      ELSEIF sy-sysid = 'BWQ'.
        c_search_dir = '//rdmsbw/uat/data/output/all'.
      ELSEIF sy-sysid = 'BWD'.
        IF sy-mandt = '900'.
          c_search_dir = '//rdmsbw/sit/data/output/all'.
        ELSE.
          c_search_dir = '//rdmsbw/dev/data/output/all'.
        ENDIF.
      ENDIF.
      DATA: wa_file LIKE dxfields-longpath.
      CLEAR: wa_file.
      CALL FUNCTION 'F4_DXFILENAME_TOPRECURSION'
        EXPORTING
          i_location_flag = 'A'
          i_server        = ' '
          i_path          = c_search_dir
          filemask        = c_fnh_mask
          fileoperation   = 'R'
        IMPORTING
          o_path          = wa_file
        EXCEPTIONS
          rfc_error       = 1
          error_with_gui  = 2
          OTHERS          = 3.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
        WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ELSE.
        p_file = wa_file.
      ENDIF.
    addition end TAICK 15/07/2008.
    ENDFORM. " f4_dxfilename
    FORM download_data .
      OPEN DATASET p_file FOR INPUT IN TEXT MODE ENCODING DEFAULT.
      DO.
        IF sy-subrc <> 0.
          exit.
        ENDIF.
        READ DATASET p_file INTO itab.
        if sy-subrc = 0.
          APPEND itab.
        clear itab.
        endif.
      ENDDO.
      CLOSE DATASET p_file.
      delete itab index 1. "remove column header
    ENDFORM.                    " download_data
    Edited by: RebekahMBB on Feb 20, 2012 12:56 PM

    Hi I am using this piece of code to download my internal table into an .xls file on my pc.
    FORM Z_CONVERT_EXCEL .
      "This part of code to add column name in the downloaded file.
      data : begin of int_head occurs 0,
      Filed1(20) type c,                     " Header Data
      end of int_head.
      int_head-Filed1 = 'ZOTOUS'.
      APPEND int_head.
      CLEAR int_head.
      int_head-Filed1 = 'ZOTOUS'.
      APPEND int_head.
      CLEAR int_head.
      int_head-Filed1 = 'ZOTOGCUR'.
      APPEND int_head.
      CLEAR int_head.
    Select ZOTOUS ZOTSYORGU ZOTOGCUR from ZOUT_ORG_CURR into CORRESPONDING FIELDS OF TABLE itab.
      v_filetype = '.xls'. "I just manipulate the file name using XLS file type.
      v_filename = 'C:\Documents and Settings\00088592\Desktop\OUs automation\development'.
      CONCATENATE v_filename v_filetype INTO lv_filename.
      CALL FUNCTION 'GUI_DOWNLOAD'
       EXPORTING
            filename         = lv_filename
            filetype         = 'ASC'
          APPEND           = 'X'
            write_field_separator = 'X'
          CONFIRM_OVERWRITE = 'X'
       TABLES
            data_tab         = itab
            FIELDNAMES       = int_head
       EXCEPTIONS
            file_open_error  = 1
            file_write_error = 2
            OTHERS           = 3.
      IF sy-subrc <> 0.
      ENDIF.
    ENDFORM.                    "Z_CONVERT_EXCEL
    As you can see the code specifies the header row separately and appends it in int_head.
    What if I have 76 fields or more? I cant be specifying each like that.
    Is there any other way to do this? To move the 76 field headers into int_head?
    Pls help.
    Thanks!

  • ABOUT AT SELECTION

    I need to get the the another window on the same screen when i press on one radiobutton and the other screen when i select the other radiobutton.
    like
    when i select the application server radiobutton i need to get the window asking for the logical file path and file name
    when i select the presentation server radiobutton i need to get the window asking for file path name
    if you can send me the program also

    Hi,
          use the following function...................'F4_DXFILENAME_TOPRECURSION'
    EXAMPLE----
      ***********************************************INTERNAL TABLE *
    DATA : BEGIN OF I_ITAB OCCURS 0,
           VALUE(2000) TYPE C,
           END OF I_ITAB.
    *********************************************DATA DECLERATION*****************************************
    *********************UPLOADING FILE*************
    DATA : C_FILE(2000) TYPE C VALUE 'D:\usr\sap\put\TESTFILE2.TXT'.
    DATA : C_PATH LIKE IBIPPARMS-PATH.
    DATA : V_PATH LIKE DXFIELDS-LONGPATH.
    *********************DOWNLOAD FILE**************
    DATA : FILE(20) TYPE C VALUE '.'.  "FILE1 data is passed to application server file .
    *********************VARIBLE********************
    DATA : V_upload TYPE RLGRAP-FILENAME.
    data : V_down type string .
    *********************SELECTION SCREEN****************************************************************
    SELECTION-SCREEN BEGIN OF BLOCK BLK1 WITH FRAME TITLE TEXT-001.
    ****************FOR UPLOADING FROM PC TO UNIX***************
    PARAMETERS :    P_PCUNIX RADIOBUTTON GROUP GR1 ,
                    PATH  TYPE RLGRAP-FILENAME OBLIGATORY
                    DEFAULT 'C:\Documents and Settings\vchaturvedi\Desktop\VIJAY.txt',
    ****************FOR DOWNLOADING FROM UNIX TO PC*******************************************************
                     P_UNIXPC RADIOBUTTON GROUP GR1,
                     TEXTFILE TYPE RLGRAP-FILENAME OBLIGATORY
                     DEFAULT '.fb60_he.txt'.  "'C:\TEST.TXT'.
    SELECTION-SCREEN END OF BLOCK BLK1.
    **********************************VALIDATION*********************************************************
    AT SELECTION-SCREEN on value-request for TEXTFILE.
    ********************SEARCHING THE FILE******************
    CALL FUNCTION 'F4_FILENAME'
       IMPORTING
         FILE_NAME = textfile.
    ***************SEARCHING FOR UNIX PATH*********************
    CALL FUNCTION 'F4_DXFILENAME_TOPRECURSION'
    EXPORTING
      I_LOCATION_FLAG       = 'A'
      I_SERVER              = ''
      I_PATH                ='/usr/users/'
      FILEMASK              = '.'
      FILEOPERATION         = 'R'
    IMPORTING
      O_LOCATION_FLAG       =
      O_SERVER              =
        O_PATH                = V_PATH
      ABEND_FLAG            =
    EXCEPTIONS
      RFC_ERROR             = 1
      ERROR_WITH_GUI        = 2
      OTHERS                = 3
    *IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    *ENDIF.
    EXCEPTIONS
    COMMUNICATION_FAILURE = 1
    SYSTEM_FAILURE = 2
    RFC_ERROR = 3.
    IF SY-SUBRC EQ 0.
    TEXTFILE = V_PATH.
    ENDIF.
    *IF V_ABEND_FLAG = 'X'.
    *EXIT.
    *ENDIF.
    ********************CHANGE INTO STRING********************
    AT SELECTION-SCREEN on value-request for path.
    ********************SEARCHING THE FILE******************
      CALL FUNCTION 'F4_FILENAME'
        IMPORTING
          FILE_NAME = path.
    *****************************************MAIN LOGIC***************************************************
    START-OF-SELECTION.
    ***********IF FILE FROM APPLICATION SERVER IS TO BE UPLOADED****************
      IF P_PCUNIX = 'X'.
         V_UPLOAD  = path.
        PERFORM Z8_UPLOAD.
      ENDIF.
    ***********IF FILE FROM APPLICATION SERVER IS TO BE DOWNLOADED****************
      IF P_UNIXPC = 'X'.
         V_DOWN  = textfile.
        PERFORM Z8_DOWNLOAD.
      ENDIF.
    ***************************************FORM FOR UPLOAD INTO INTERNAL TABLE***************************
    *&      Form  Z8_UPLOAD
          text
    -->  p1        text
    <--  p2        text
    FORM Z8_UPLOAD .
      CALL FUNCTION 'WS_UPLOAD'
       EXPORTING
      CODEPAGE                      = ' '
         FILENAME                      = V_UPLOAD
         FILETYPE                      = 'ASC'
      HEADLEN                       = ' '
      LINE_EXIT                     = ' '
      TRUNCLEN                      = ' '
      USER_FORM                     = ' '
      USER_PROG                     = ' '
      DAT_D_FORMAT                  = ' '
    IMPORTING
      FILELENGTH                    =
        TABLES
          DATA_TAB                      = I_ITAB[]
    EXCEPTIONS
      CONVERSION_ERROR              = 1
      FILE_OPEN_ERROR               = 2
      FILE_READ_ERROR               = 3
      INVALID_TYPE                  = 4
      NO_BATCH                      = 5
      UNKNOWN_ERROR                 = 6
      INVALID_TABLE_WIDTH           = 7
      GUI_REFUSE_FILETRANSFER       = 8
      CUSTOMER_ERROR                = 9
      NO_AUTHORITY                  = 10
      OTHERS                        = 11
      IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    *--Opening dataset in write mode to transfer data from internal table to file--
      OPEN DATASET FILE FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
    ************Looping at INTERNAL TABLE*********************
    if sy-subrc = 0 .
      LOOP AT I_ITAB.
          TRANSFER I_ITAB-VALUE TO FILE.
           WRITE / I_ITAB-VALUE.
      ENDLOOP.
    endif.
      CLOSE DATASET FILE.
    ENDFORM  .                                                  "Z8_UPLOAD
    **********************************FORM DOWNLOAD FROM INTERNAL TABLE ************************************
    *&      Form  Z8_DOWNLOAD
          text
    -->  p1        text
    <--  p2        text
    FORM Z8_DOWNLOAD .
    file = v_down.
    *--Opening dataset in write mode to tranfer data from file to internal table--
      OPEN DATASET FILE IN TEXT MODE ENCODING DEFAULT FOR INPUT.
      DO.
    *--Reading from file into internal table--
        READ DATASET FILE INTO I_ITAB-VALUE.
        IF SY-SUBRC <> 0.
          EXIT.
        ENDIF.
    *--Writing to internal table--
        WRITE: / I_ITAB-VALUE.
        APPEND I_ITAB.
      ENDDO.
      CALL FUNCTION 'GUI_DOWNLOAD'
        EXPORTING
      BIN_FILESIZE                    =
          FILENAME                        = V_DOWN
          FILETYPE                        = 'ASC'
      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                        = I_ITAB[]
      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 ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    ENDFORM.                    " Z8_DOWNLOAD
    *****do rewards if usefull
    Regards,
    vijay

  • How to search for a file at application server?

    Hi,
    I need to choose one file for further processing from the directory, located into 'WORK' directory at application server. As far as I see, class CL_GUI_FRONTEND_SERVICES and FILE_OPEN_DIALOG woudn't help me - it's a 'FRONTEND_SERVICES'.... and work with directories at presentation server.
    The requirement is that the user has no file sharing from his local PC to the mentioned directory at application server - this directory is visible only in the scope of the application server. I need something as flexible as CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG, if exist.
    How can I achieve this?
    Any help would be highly appreciated.
    Many thanks in advance.
    Regards,
    Ivaylo Mutafchiev

    Thanks to all contributors!
    After short testing I found the following:
    1. F4_DXFILENAME_TOPRECURSION is not what I was looking for - it doesn;t behave as expected.
    2. FM EPS_GET_DIRECTORY_LISTING would help if I need the result into an internal table (thsi would be a case too), but it doesn;t prompt for selection. Helpful, anyway.
    3. /SAPDMC/LSM_F4_SERVER_FILE is the closest match to the requirements.
    Thanks to all.
    Regards,
    Ivaylo
    P.S. Abhijit Dani - sorry, you were the second with the same reply, I rewarded the 1st answer as very helpful.

Maybe you are looking for

  • Internal Error in communication channel

    Hi Experts There are errors in all the  communication channels which  has the internal error status and the log says" No adapter registered for this channel".In the control data field of the communication channel ???? is appearing..Below is the detai

  • Text/File Reader that will resize/reformat Text for easy reading.

    I've used a couple of Text/File reader Apps; but with all of them, you have the choice of zooming out to see enough of a page to see an entire line of text, which is way too tiny to read, or zooming in so that it's easy to read, but then needing to s

  • Any thoughts on tracking Golf rounds with the sports kit?

    I am thinking of using the Nike+ sports kit to track the stats on Golf...any other users out there thought about or are using it for this...?? I think I'd be amazed at the distance walked following that little white ball?

  • LMS 4 Template Center issues

    For years we have used baseline templates to deploy basic configurations to LAN switches as part of the staging process.  Since the baseline templates were developed more as a compliance check mechanism, I thought I would try to move this function ov

  • Aperture 2 Crashes when attempting to launch software.

    When attempting to launch Aperture 2, I get a message saying the software quit unexpectedly, and then is asked whether I want to fix the permissions or rebuilding the library.  Which of these to options should I choose?