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

F4 Help for presentation server filepath/name

Former Member
0 Kudos

Hi,

Can anyone tell me how can I get a F4 help for selecting a file or directory from the PC...i.e I should get a pop-up “Open File” dialog to select the File on PC.

Thanks!

Sunitha.

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Hi Sunitha.,

You can write the following code in the At selection screeb value request event.

Using ABAP Objects:

PARAMETER : p_file LIKE rlgrap-filename.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR path.
  DATA: directory TYPE string,                             
        filetable TYPE filetable,                          
        line      TYPE LINE OF filetable,                  
        rc        TYPE i.                                  
  CALL METHOD cl_gui_frontend_services=>get_temp_directory 
    CHANGING                                               
      temp_dir = directory.                                
  CALL METHOD cl_gui_frontend_services=>file_open_dialog   
    EXPORTING                                              
      window_title      = 'SELECT THE FILE'          
      initial_directory = directory                        
      file_filter       = '*.XLS'                          
      multiselection    = ' '                              
    CHANGING                                               
      file_table        = filetable                                                          
       rc                = rc.                          
   IF rc = 1.                                           
     READ TABLE filetable INDEX 1 INTO line.            
     P_FILE = line-filename.                          
   ENDIF.                                               

Using Normal ABAP:

DATA:   P_FILE LIKE RLGRAP-FILENAME,
        DPATH LIKE RLGRAP-FILENAME,
        UPATH LIKE RLGRAP-FILENAME,
        MODE TYPE C,
        FLG_UD TYPE C.

  CALL FUNCTION 'WS_ULDL_PATH'
       IMPORTING
            DOWNLOAD_PATH = DPATH
            UPLOAD_PATH   = UPATH.

  IF FLG_UD <> 'D'.
    DPATH = UPATH.
    MODE = 'O'.
  ELSE.
    MODE = 'S'.
  ENDIF.

  CALL FUNCTION 'WS_FILENAME_GET'
       EXPORTING
            DEF_FILENAME     = '*.XLS'
            DEF_PATH         = DPATH
            MASK             = ',*.XLS,*.*,*.*.'
            MODE             = MODE
       IMPORTING
            FILENAME         = P_FILE
       EXCEPTIONS
            SELECTION_CANCEL = 3.
  IF SY-SUBRC <> 0.
    EXIT.
  ENDIF.

Just copy paste the code this should work fine.

Cheers

VJ

4 REPLIES 4

Former Member
0 Kudos

Hi Sunitha.,

You can write the following code in the At selection screeb value request event.

Using ABAP Objects:

PARAMETER : p_file LIKE rlgrap-filename.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR path.
  DATA: directory TYPE string,                             
        filetable TYPE filetable,                          
        line      TYPE LINE OF filetable,                  
        rc        TYPE i.                                  
  CALL METHOD cl_gui_frontend_services=>get_temp_directory 
    CHANGING                                               
      temp_dir = directory.                                
  CALL METHOD cl_gui_frontend_services=>file_open_dialog   
    EXPORTING                                              
      window_title      = 'SELECT THE FILE'          
      initial_directory = directory                        
      file_filter       = '*.XLS'                          
      multiselection    = ' '                              
    CHANGING                                               
      file_table        = filetable                                                          
       rc                = rc.                          
   IF rc = 1.                                           
     READ TABLE filetable INDEX 1 INTO line.            
     P_FILE = line-filename.                          
   ENDIF.                                               

Using Normal ABAP:

DATA:   P_FILE LIKE RLGRAP-FILENAME,
        DPATH LIKE RLGRAP-FILENAME,
        UPATH LIKE RLGRAP-FILENAME,
        MODE TYPE C,
        FLG_UD TYPE C.

  CALL FUNCTION 'WS_ULDL_PATH'
       IMPORTING
            DOWNLOAD_PATH = DPATH
            UPLOAD_PATH   = UPATH.

  IF FLG_UD <> 'D'.
    DPATH = UPATH.
    MODE = 'O'.
  ELSE.
    MODE = 'S'.
  ENDIF.

  CALL FUNCTION 'WS_FILENAME_GET'
       EXPORTING
            DEF_FILENAME     = '*.XLS'
            DEF_PATH         = DPATH
            MASK             = ',*.XLS,*.*,*.*.'
            MODE             = MODE
       IMPORTING
            FILENAME         = P_FILE
       EXCEPTIONS
            SELECTION_CANCEL = 3.
  IF SY-SUBRC <> 0.
    EXIT.
  ENDIF.

Just copy paste the code this should work fine.

Cheers

VJ

Former Member
0 Kudos

Thanks VJ!

Former Member
0 Kudos

Hi Sunitha,

just use the following..

 PARAMETERS: dataset(132) LOWER CASE OBLIGATORY.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR dataset.
PERFORM call_filedialog CHANGING dataset.

FORM call_filedialog CHANGING fname.
DATA: li_filetable TYPE STANDARD TABLE OF file_table,
lv_return TYPE i,
lw_filetable TYPE file_table.

CALL FUNCTION 'TMP_GUI_FILE_OPEN_DIALOG'
TABLES
file_table = li_filetable
EXCEPTIONS
cntl_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
READ TABLE li_filetable INDEX 1 INTO lw_filetable.
fname = lw_filetable-filename.
ENDFORM.

regards

satesh

0 Kudos

Thanks satesh!!!