・ ローカルファイルを指定する際には、選択画面でファイルパス+ファイル名の形で入力する
・ XXXファイルのドロップダウンが押下さるた場合、GUIでローカルファイルを選択する
Sample:
① 画面ファイル名を取得
・ XXXファイルのドロップダウンが押下さるた場合、GUIでローカルファイルを選択する
Sample:
① 画面ファイル名を取得
GET_DNYP_VALUE
I_FIELD : 選択画面で指定されたローカルファイル
I_REPID : SY-CPROG(ABAP プログラム、外部プロシージャの呼び出し元)
I_DYNNR: SY-DYNNR(ABAP プログラム、現在のDynpro番号)
I_REPID : SY-CPROG(ABAP プログラム、外部プロシージャの呼び出し元)
I_DYNNR: SY-DYNNR(ABAP プログラム、現在のDynpro番号)
O_VALUE → LC_FILE
② ディレクトリパスの算出
SEARCH LC_FILE FOR GC_PATH ← ¥
WHILE SY-SUBRC = 0.
FIND GC_PATH IN CECTION OFFSET LI_OFF OF LC_FILE
MATCH OFFSET LI_LEN.
IF SY-SUBRC = 0.
LC_FILE = LC_FILE+0(LI_OFF).
ELSE.
LC_OFF = LI_LEN + 1.
ENDIF.
ENDWHILE.
③ ファイル名選択
② ディレクトリパスの算出
SEARCH LC_FILE FOR GC_PATH ← ¥
WHILE SY-SUBRC = 0.
FIND GC_PATH IN CECTION OFFSET LI_OFF OF LC_FILE
MATCH OFFSET LI_LEN.
IF SY-SUBRC = 0.
LC_FILE = LC_FILE+0(LI_OFF).
ELSE.
LC_OFF = LI_LEN + 1.
ENDIF.
ENDWHILE.
③ ファイル名選択
TMP_GUI_FILE_OPEN_DIALOG
WINDOW_TITLE : 固定値(アップロードファイルetc.)
DEFAULT_FILENAME: 選択画面上で指定したローカルファイル
FILE_FILTER: 固定値(*.TXT etc.)
MULTISELECTION: SPACE(固定値)
INITIAL_DIRECTORY: ②で取得したファイルパス
DEFAULT_FILENAME: 選択画面上で指定したローカルファイル
FILE_FILTER: 固定値(*.TXT etc.)
MULTISELECTION: SPACE(固定値)
INITIAL_DIRECTORY: ②で取得したファイルパス
FILE_TABLE
RC
→ RCが-1でない且つ処理が正常に終了した場合、FILE_TABLEの1行目からファイル名を取得する
RC
→ RCが-1でない且つ処理が正常に終了した場合、FILE_TABLEの1行目からファイル名を取得する
※ ファイル選択メソッドも使える
CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG
CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG