Monday, November 15, 2010

Mostrar ventana guardar archivo

1.llamda a la funcion
PERFORM obtener_ruta_guardar_archivo USING  'Lista de Aspirantes'
                                              '.xls'
                                              'XLS files (*.XLS)|*.XLS'
                                     CHANGING ls_path
                                              lc_rpta.
CHECK lc_rpta = 'T'.
2.funcion
FORM obtener_ruta_guardar_archivo USING    ps_titulo    TYPE string
                                           ps_extension TYPE string
                                           ps_filtro    TYPE string
                                  CHANGING p_ls_path    TYPE string
                                           p_lc_rpta    TYPE c.
  DATA: ls_filename    TYPE string,
        ls_path        TYPE string,
        li_user_action TYPE i.
  CALL METHOD cl_gui_frontend_services=>file_save_dialog
    EXPORTING
      window_title         = ps_titulo
      default_extension    = ps_extension
      file_filter          = ps_filtro
*      default_file_name    = 'hoja_vida'
      initial_directory    = 'C:'
      prompt_on_overwrite  = 'X'
    CHANGING
      filename             = ls_filename
      path                 = ls_path
      fullpath             = p_ls_path
      user_action          = li_user_action
    EXCEPTIONS
      cntl_error           = 1
      error_no_gui         = 2
      not_supported_by_gui = 3
      OTHERS               = 4.
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
               WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    p_lc_rpta = 'F'.
  ELSE.
    CASE li_user_action.
      WHEN 0.
        p_lc_rpta = 'T'.
      WHEN OTHERS.
        MESSAGE w184 WITH 'Usuario cancelo la accion.'.
        p_lc_rpta = 'F'.
    ENDCASE.
  ENDIF.
ENDFORM.                    " obtener_ruta_guardar_archivo

No comments:

Post a Comment