一般我们书写ABAP都是在把程序保存到SAP服务器上,执行的时候也是对服务器里SAP数据库进行操作。如果我们要对服务器里其他文件进行操作的话,也是可以的。比如我们读文件,写文件,删文件。下面我们来看看用ABAP如何实现。
1,读文件
OPEN DATASET WK_PASS FOR INPUT IN LEGACY TEXT MODE.
DO.
READ DATASET WK_PASS INTO WK_SFDATA.
CHECK ( SY-SUBRC = 0 ).
SPLIT WK_SFDATA AT CL_ABAP_CHAR_UTILITIES=>HORIZONTAL_TAB
INTO WA_INDATA-FLD01 "項目01
WA_INDATA-FLD01 "項目02
.
.
APPEND WA_INDATA TO IT_INDATA.
ENDDO.
CLOSE DATASET WK_PASS.
解释:
1,WK_PASS表示是文件的物理路径。在处理前先定义好。
2,OPEN DATASET WK_PASS FOR INPUT IN LEGACY TEXT MODE.表示把物理路径上文件打开,读的场合用FOR INPUT, LEGACY TEXT MODE表示把文件以SHIFT-JIS格式指定,如果是UnicodeSystem的场合就不要指定。不过基本为S-JIS
3,READ DATASET WK_PASS INTO WK_SFDATA.是把文件读了来放到WK_SFDATA里
4,SPLIT表示把WK_SFDATA以TAB区分分分割后赋给WA_INDATA-FLD01等。
5,最后把值赋给内部表,文件关闭。
这样就把路径下的文件读出来放到内部表了。
2,写文件
OPEN DATASET WK_PASS FOR OUTPUT IN LEGACY TEXT MODE.