ABAP用FILE_OPEN_DIALOG打开多个文件后打印出名称
2015-01-22 16:50
351 查看
此实例将演示用CL_GUI_FRONTEND_SERVICES下的静态方法FILE_OPEN_DIALOG打开多个文件后打印出打开文件的名称。具体程式如下。
DATA FILE_TABLE TYPE FILE_TABLE. "引用FILE_TABLE对象
*SELECT-OPTIONS:i_file FOR FILE_TABLE NO INTERVALS.
DATA: lt_file_names TYPE FILETABLE,
lwa_file_name LIKE LINE OF lt_file_names,
lv_subrc TYPE I.
SELECT-OPTIONS: i_file FOR FILE_TABLE NO INTERVALS.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR i_file-low.
CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG
EXPORTING
* WINDOW_TITLE =
* DEFAULT_EXTENSION =
* DEFAULT_FILENAME =
* FILE_FILTER =
INITIAL_DIRECTORY = 'd:temp'
MULTISELECTION = 'X'
CHANGING
file_table = lt_file_names[]
rc = lv_subrc "打开文件的数量
* USER_ACTION =
EXCEPTIONS
file_open_dialog_failed = 1
cntl_error = 2
error_no_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.
ENDIF.
i_file-sign = 'I'.
i_file-option = 'EQ'.
LOOP AT lt_file_names INTO lwa_file_name.
i_file-low = lwa_file_name.
APPEND i_file.
ENDLOOP.
START-OF-SELECTION.
WRITE:'打开文件的数量:',lv_subrc LEFT-JUSTIFIED.
LOOP AT i_file.
WRITE: / i_file-low.
ENDLOOP.
程序运行如下:
以下代碼功能與上面的類似:
"DATA FILE_TABLE TYPE FILE_TABLE. "引用FILE_TABLE对象
*SELECT-OPTIONS:i_file FOR FILE_TABLE NO INTERVALS.
DATA: lt_file_names TYPE FILETABLE,
lwa_file_name LIKE LINE OF lt_file_names,
lv_subrc TYPE I.
DATA:BEGIN OF i_file_table OCCURS 0,
i_file_name TYPE STRING,
END OF i_file_table.
DATA:my_file_table LIKE STANDARD TABLE OF i_file_table,
my_wa_file_table LIKE LINE OF my_file_table.
PARAMETERS: i_file LIKE FILE_TABLE OBLIGATORY LOWER CASE. "RLGRAP-FILENAME
AT SELECTION-SCREEN ON VALUE-REQUEST FOR i_file.
CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG
EXPORTING
* WINDOW_TITLE =
* DEFAULT_EXTENSION =
* DEFAULT_FILENAME =
* FILE_FILTER =
INITIAL_DIRECTORY = 'd:temp'
MULTISELECTION = 'X'
CHANGING
file_table = lt_file_names[]
rc = lv_subrc "打开文件的数量
* USER_ACTION =
EXCEPTIONS
file_open_dialog_failed = 1
cntl_error = 2
error_no_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.
ENDIF.
READ TABLE lt_file_names INDEX 1 INTO lwa_file_name.
i_file = lwa_file_name.
LOOP AT lt_file_names INTO lwa_file_name.
"i_file_table-i_file_name = lwa_file_name. "有表頭
"APPEND i_file_table.
my_wa_file_table-i_file_name = lwa_file_name.
APPEND my_wa_file_table TO my_file_table.
CLEAR my_wa_file_table.
ENDLOOP.
START-OF-SELECTION.
IF my_file_table IS INITIAL.
MESSAGE 'IMPORT FILES IS EMPTY' TYPE 'S'.
EXIT.
ENDIF.
WRITE:'打开文件的数量:',lv_subrc LEFT-JUSTIFIED.
* LOOP AT i_file_table. "有表頭
* WRITE: / i_file_table-i_file_name.
* ENDLOOP.
LOOP AT my_file_table INTO my_wa_file_table.
WRITE: / my_wa_file_table-i_file_name.
ENDLOOP.
DATA FILE_TABLE TYPE FILE_TABLE. "引用FILE_TABLE对象
*SELECT-OPTIONS:i_file FOR FILE_TABLE NO INTERVALS.
DATA: lt_file_names TYPE FILETABLE,
lwa_file_name LIKE LINE OF lt_file_names,
lv_subrc TYPE I.
SELECT-OPTIONS: i_file FOR FILE_TABLE NO INTERVALS.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR i_file-low.
CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG
EXPORTING
* WINDOW_TITLE =
* DEFAULT_EXTENSION =
* DEFAULT_FILENAME =
* FILE_FILTER =
INITIAL_DIRECTORY = 'd:temp'
MULTISELECTION = 'X'
CHANGING
file_table = lt_file_names[]
rc = lv_subrc "打开文件的数量
* USER_ACTION =
EXCEPTIONS
file_open_dialog_failed = 1
cntl_error = 2
error_no_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.
ENDIF.
i_file-sign = 'I'.
i_file-option = 'EQ'.
LOOP AT lt_file_names INTO lwa_file_name.
i_file-low = lwa_file_name.
APPEND i_file.
ENDLOOP.
START-OF-SELECTION.
WRITE:'打开文件的数量:',lv_subrc LEFT-JUSTIFIED.
LOOP AT i_file.
WRITE: / i_file-low.
ENDLOOP.
程序运行如下:
以下代碼功能與上面的類似:
"DATA FILE_TABLE TYPE FILE_TABLE. "引用FILE_TABLE对象
*SELECT-OPTIONS:i_file FOR FILE_TABLE NO INTERVALS.
DATA: lt_file_names TYPE FILETABLE,
lwa_file_name LIKE LINE OF lt_file_names,
lv_subrc TYPE I.
DATA:BEGIN OF i_file_table OCCURS 0,
i_file_name TYPE STRING,
END OF i_file_table.
DATA:my_file_table LIKE STANDARD TABLE OF i_file_table,
my_wa_file_table LIKE LINE OF my_file_table.
PARAMETERS: i_file LIKE FILE_TABLE OBLIGATORY LOWER CASE. "RLGRAP-FILENAME
AT SELECTION-SCREEN ON VALUE-REQUEST FOR i_file.
CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG
EXPORTING
* WINDOW_TITLE =
* DEFAULT_EXTENSION =
* DEFAULT_FILENAME =
* FILE_FILTER =
INITIAL_DIRECTORY = 'd:temp'
MULTISELECTION = 'X'
CHANGING
file_table = lt_file_names[]
rc = lv_subrc "打开文件的数量
* USER_ACTION =
EXCEPTIONS
file_open_dialog_failed = 1
cntl_error = 2
error_no_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.
ENDIF.
READ TABLE lt_file_names INDEX 1 INTO lwa_file_name.
i_file = lwa_file_name.
LOOP AT lt_file_names INTO lwa_file_name.
"i_file_table-i_file_name = lwa_file_name. "有表頭
"APPEND i_file_table.
my_wa_file_table-i_file_name = lwa_file_name.
APPEND my_wa_file_table TO my_file_table.
CLEAR my_wa_file_table.
ENDLOOP.
START-OF-SELECTION.
IF my_file_table IS INITIAL.
MESSAGE 'IMPORT FILES IS EMPTY' TYPE 'S'.
EXIT.
ENDIF.
WRITE:'打开文件的数量:',lv_subrc LEFT-JUSTIFIED.
* LOOP AT i_file_table. "有表頭
* WRITE: / i_file_table-i_file_name.
* ENDLOOP.
LOOP AT my_file_table INTO my_wa_file_table.
WRITE: / my_wa_file_table-i_file_name.
ENDLOOP.
相关文章推荐
- Silverlight 5 RC新特性探索系列:11.SaveFileDialog保存文件指定默认名称---OpenFileDialog打开文件指定默认路径
- 打开文件对话框OpenFileDialog
- Powershell使用OpenFileDialog打开文件示例
- C# OpenFileDialog打开文件对话框(详解)
- C# 打开文件对话框 OpenFileDialog
- OpenFileDialog 打开文件对话框
- (转帖)使用OpenFileDialog对话框打开文本文件(写此代码的人应该是有一定功力的程序员,因为代码写的很规范,很容易阅读,很好理解,很好调试)
- openfiledialog 打开txt文件 textbox 中文乱码
- Silverlight 5 RC新特性:11.SaveFileDialog保存指定默认名称-OpenFileDialog打开指定默认路径
- Winform OpenFileDialog打开文件对话框
- OpenFileDialog组件打开文件....待续
- 如何找到文件的家-打开文件对话框openFileDialog
- ArcGIS VBA 打开文件对话框 OpenFileDialog
- 1、怎样设置C#OpenFileDialog(文件选择窗体)的指定路径、文件格式等属性(设置打开默认路径、文件格式、窗体显示文本)
- C# OpenFileDialog设置默认打开的文件路径
- C# OpenFileDialog 打开/选择文件对话框
- OpenFileDialog打开多种类型的文件
- OpenFileDialog()打开指定文件
- C#用openfiledialog文件和savefileDialog打开和保存文件