*----------------------------------------------------------------------*
* 選択画面定義
*----------------------------------------------------------------------*
*
SELECTION-SCREEN BEGIN OF BLOCK BK_1 WITH FRAME.
*- アップロードファイル
PARAMETER P_UPLOAD TYPE CHAR128 OBLIGATORY.
*- エラーファイル
PARAMETER P_DNLOAD TYPE CHAR128 OBLIGATORY.
SELECTION-SCREEN END OF BLOCK BK_1.
*----------------------------------------------------------------------*
* 入力処理
*----------------------------------------------------------------------*
* アップロードファイルとエラーファイルはそれぞれのF4ヘルプの設定
*- アップロードファイルはそれぞれのF4ヘルプの設定
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_UPLOAD.
PERFORM FORM_GET_FILE_PATH_UPLOAD.
*- とエラーファイルはそれぞれのF4ヘルプの設定
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_DNLOAD.
PERFORM FORM_GET_FILE_PATH_ERROR.
*&---------------------------------------------------------------------*
*& Form FORM_GET_FILE_PATH_UPLOAD
*&---------------------------------------------------------------------*
* アップロードファイルはそれぞれのF4ヘルプの設定
*----------------------------------------------------------------------*
FORM FORM_GET_FILE_PATH_UPLOAD.
CALL FUNCTION 'F4_FILENAME'
IMPORTING
FILE_NAME = P_UPLOAD.
ENDFORM. " FORM_GET_FILE_PATH
*&---------------------------------------------------------------------*
*& Form FORM_GET_FILE_PATH_ERROR
*&---------------------------------------------------------------------*
* エラーファイルはそれぞれのF4ヘルプの設定
*----------------------------------------------------------------------*
FORM FORM_GET_FILE_PATH_ERROR.
DATA: LW_FILENAME TYPE STRING,
LW_FILEPATH TYPE STRING,
LW_FULLPATH TYPE STRING.
CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG
CHANGING
FILENAME = LW_FILENAME
PATH = LW_FILEPATH
FULLPATH = LW_FULLPATH
EXCEPTIONS
CNTL_ERROR = 1
ERROR_NO_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.
P_DNLOAD = LW_FULLPATH.
ENDFORM. " FORM_GET_FILE_PATH_ERROR