・ ローカルファイルを指定する際には、選択画面でファイルパス+ファイル名の形で入力する
・ XXXファイルのドロップダウンが押下さるた場合、GUIでローカルファイルを選択する
Sample:
① 画面ファイル名を取得
<汎用モジュール>
GET_DNYP_VALUE
<受け渡しパラメータ>
I_FIELD : 選択画面で指定されたローカルファイル
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.
③ ファイル名選択
<汎用モジュール>
TMP_GUI_FILE_OPEN_DIALOG
<受け渡しパラメータ>
WINDOW_TITLE : 固定値(アップロードファイルetc.)
DEFAULT_FILENAME: 選択画面上で指定したローカルファイル
FILE_FILTER: 固定値(*.TXT etc.)
MULTISELECTION: SPACE(固定値)
INITIAL_DIRECTORY: ②で取得したファイルパス
<受取パラメータ>
FILE_TABLE
RC
→ RCが-1でない且つ処理が正常に終了した場合、FILE_TABLEの1行目からファイル名を取得する
※ ファイル選択メソッドも使える
CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG
0 件のコメント:
コメントを投稿