今天做BDC的练习,生成的代码经过N遍调整终于通过,其中关于GUI_UPLOAD需要注意一下几点:
- 关于文件名,GUI_UPLOAD的IMPORTING FILENAME是STRING类型的,直接用PARAMETERS输入文件名会报这个错:Type conflict when calling a function module.所以在这里需要定义一个STRING类型的临时变量,把参数值复制到这个变量然后再传递给FM;
- GUI_UPLOAD需要显示地指定输入数据文件的分隔符
PARAMETERS: dataset(128) LOWER CASE DEFAULT 'd:/111.txt'.
......
DATA: fn TYPE string.
......
fn = dataset .
......
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = fn
has_field_separator = '#'
TABLES
data_tab = record.LOOP AT record.
......