*&---------------------------------------------------------------------*
*& Report Y_WRITE_GET_PATH
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT Y_WRITE_GET_PATH.
DATA LV_PATH TYPE STRING. " 路径
"""""""""""""""""""""
CLEAR LV_PATH.
CALL METHOD CL_GUI_FRONTEND_SERVICES=>GET_TEMP_DIRECTORY
CHANGING
TEMP_DIR = LV_PATH.
CALL METHOD CL_GUI_CFW=>FLUSH.
WRITE: /(24) 'GET_TEMP_DIRECTORY:',LV_PATH.
"""""""""""""""""""""
CLEAR LV_PATH.
CALL METHOD CL_GUI_FRONTEND_SERVICES=>GET_SAPGUI_WORKDIR
CHANGING
SAPWORKDIR = LV_PATH """"""
EXCEPTIONS
GET_SAPWORKDIR_FAILED = 1
CNTL_ERROR = 2
ERROR_NO_GUI = 3
NOT_SUPPORTED_BY_GUI = 4
OTHERS = 5.
CALL METHOD CL_GUI_CFW=>FLUSH.
WRITE: /(24) 'GET_SAPGUI_WORKDIR:',LV_PATH.
"""""""""""""""""""""
CLEAR LV_PATH.
CALL METHOD CL_GUI_FRONTEND_SERVICES=>DIRECTORY_GET_CURRENT
CHANGING
CURRENT_DIRECTORY = LV_PATH
EXCEPTIONS
DIRECTORY_GET_CURRENT_FAILED = 1
CNTL_ERROR = 2
ERROR_NO_GUI = 3
NOT_SUPPORTED_BY_GUI = 4
OTHERS = 5.
IF SY-SUBRC <> 0.
RAISE CNTL_ERROR.
ENDIF.
CALL METHOD CL_GUI_CFW=>FLUSH.
WRITE: /(24) 'DIRECTORY_GET_CURRENT:',LV_PATH.
"""""""""""""""""""""
CLEAR LV_PATH.
CALL METHOD CL_GUI_FRONTEND_SERVICES=>DIRECTORY_BROWSE
EXPORTING
WINDOW_TITLE = 'File Directory'
"INITIAL_FOLDER = 'C:\\abc'
CHANGING
SELECTED_FOLDER = LV_PATH.
CALL METHOD CL_GUI_CFW=>FLUSH.
WRITE: /(24) 'DIRECTORY_BROWSE:',LV_PATH.
