You are on page 1of 2

一般我们书写 ABAP 都是在把程序保存到 SAP 服务器上,执行的时候也是对服务器里 SAP 数据库进行操作

们要对服务器里其他文件进行操作的话,也是可以的。比如我们读文件,写文件,删文件。下面我们来看
如何实现。
1,读文件 3 l1 x6 t6 n) \" q, t% p, f
OPEN DATASET WK_PASS FOR INPUT IN LEGACY TEXT MODE.
DO.
    READ DATASET WK_PASS INTO WK_SFDATA.7 v8 q: @2 ~& \5 Q& X3 |
    CHECK ( SY-SUBRC = 0 ).4 ^) z8 ^5 l3 s  T
    SPLIT WK_SFDATA AT CL_ABAP_CHAR_UTILITIES=>HORIZONTAL_TAB. N) `0 B2 |9 B) Y3 |8 R
              INTO WA_INDATA-FLD01   "項目 01
                      WA_INDATA-FLD01   "項目 02
                               .
                               .
    APPEND WA_INDATA TO IT_INDATA.
ENDDO.( a. M$ @; H1 g* i' S7 X
CLOSE DATASET WK_PASS.
解释:1 j# w4 W! ^% n7 K; p
1,WK_PASS 表示是文件的物理路径。在处理前先定义好。
2,OPEN DATASET WK_PASS FOR INPUT IN LEGACY TEXT MODE.表示把物理路径上文件打开,读的场
INPUT, LEGACY TEXT MODE 表示把文件以 SHIFT-JIS 格式指定,如果是 UnicodeSystem 的场合就不要
基本为 S-JIS5 j' x1 j" c7 x4 m, |
3,READ DATASET WK_PASS INTO WK_SFDATA.是把文件读了来放到 WK_SFDATA 里- k4 U( i9 a! J* i( H
4,SPLIT 表示把 WK_SFDATA 以 TAB 区分分分割后赋给 WA_INDATA-FLD01 等。
5,最后把值赋给内部表,文件关闭。( z0 B: Z, z( H# F7 I  f% G' K
: n+ o2 i3 i, e7 _$ z/ {7 w2 e. S

这样就把路径下的文件读出来放到内部表了。
2 a) e" f; R, ~

2,写文件
OPEN DATASET WK_PASS FOR OUTPUT IN LEGACY TEXT MODE.
本帖隐藏的内容

LOOP AT IT_OUTDATA INTO WA_OUTDATA.


    CONCATENATE WA_OUTDATA-FLD01   "項目 01
                            WA_OUTDATA-FLD02   "項目 02- s/ v+ S4 f) J( x  w  @4 C
                                     .
                                     .
          INTO WK_SFDATA SEPARATED BY ','.# B. ^* h* f# }
    TRANSFER WK_SFDATA TO WK_PASS.
ENDLOOP.* v' w2 u9 t( ~
CLOSE DATASET WK_PASS.
; |+ n) J5 n$ y

( D( E+ r& H$ B( t3 k0 q0 Q$ R

解释:+ l8 W6 z, K  i. r  H8 p8 y


1,WK_PASS 表示是文件的物理路径。在处理前先定义好。
2,OPEN DATASET WK_PASS FOR OUTPUT IN LEGACY TEXT MODE.意思同上,FOR OUTPUT 表示书写
还有 FOR APPENDING,FOR UPDATE。表示在文件后面追加和更新。当指定的文件不在时 OUTPUT 和 A
会新规文件,而 UPDATE 则会报错。
3,TRANSFER 表示把把变量 WK_SFDATA 里的内容书定到目录里
4,关闭文件" P( M! t0 o1 W/ E, V7 G4 n
: U, q+ j! c; K+ V! x: A' h& H

3,删除文件; M: N! Q# L  A5 V
DELETE DATASET WK_PASS.
解释:2 f# V" u" R6 _" s( X+ f4 z1 K
1,把指定的文件删除

SAP 文件处理一般用的不是很多,但也有些项目里用,这里我们 ABAP 培训一下。希望对有用的会员有点

You might also like