Welcome! My friends!
BC420--ABAP数据传输(1)文件
上一篇 /
下一篇 2008-01-03 15:14:19
/ 个人分类:SAP ABAP
第一辑 文件
ITPUB个人空间3~3c8D7_ DI[8Lj
ug1.顺序文件 Sequential Files
ITPUB个人空间[?a,BK0V3r 数据传输中的一个重要介质;
qT/X}?n\k
HGD0 file transfer的两种方式:
9k7LC#u
y0 本地-->SAP DB:GUI_UPLOAD(UPLOAD)/GUI_DOWNLOAD(DOWNLOAD)函数;
ITPUB个人空间"a7|q2T#gOz7hZA 应用服务器-->SAP DB:READ DATASET/TRANSFER自由ABAP语法;
TW2A:c-Q*K0 File Monitor(t-code:AL11):
ITPUB个人空间$~Ul6^c#G$iG 查看应用层服务器的文件,与平台无关;
[-Zfj{SO0 目录都是DIR开头的;
ITPUB个人空间 G&q"q
?-}'h`"v2_?2[H4zX0 当需要生成复杂的office报表,例如excel或者word文件时,可以在ABAP程序中调用
ITPUB个人空间 w TtaIP#] excel或word的VBA宏,也可以将excel或word的模板放到应用层服务器上,然后ABAP
ITPUB个人空间-]bh4])W 程序执行时调用模板填充数据,然后返回给用户;
Z,F5gW5p~9k9Tx0ITPUB个人空间hND6{,z2Vt+\}P 处理文件(文件放在应用层服务器的情况)
ITPUB个人空间 I%to9~'T OPEN(OPEN DATASET) 路径
ITPUB个人空间3A{4?Ovo2Ek:a for output覆盖
ITPUB个人空间oP)ny)z-PO for appending添加
XoGaj!m9fG0 for input读取
ITPUB个人空间MK5NE-zi in text mode文本模式打开(默认是binary mode)
6GD3ChDELQ0 二进制输入时不会输换行符;
ITPUB个人空间Q/xw/r7ua-RKk6y MESSAGE message打开时的消息
ITPUB个人空间3v AZ AeRO(G PROCESS(READ DATASET/TRANSFER DATASET)
ITPUB个人空间/mdxWYn 循环读取
ITPUB个人空间 JlvYm9|n DO.
xt s?Un8XP(d0 READ DATESET xx INTO xx LENGTH xx.
ITPUB个人空间0N6g~'X@!du1UM ENDDO.
ITPUB个人空间7nDk{X 删除文件
fmo!FX0 DELETE DATASET xx
ITPUB个人空间cga?)H1T6T;i 获取文件属性
ITPUB个人空间-H z8ZLI*T`1q3I GET DATASET xx
ITPUB个人空间7dp&^ s_/Fa 设置文件属性
*@Mx|%R4A'E1B
d$}/e0 SET DATASET xx
ITPUB个人空间x:w#Z6iIm9l CLOSE(CLOSE DATASET)
2dq!yH'nUm0 ITPUB个人空间'S+w!] z|o9Mu2.ABAP转换程序ABAP Conversion Program
ITPUB个人空间
~+}Rq3e'D j'a*kw1C 要使用SAP标准的batch input程序,就需要将文件转换成相应的格式;
ITPUB个人空间-YS AT0T 把客户(外部系统)的文件转换成符合应用服务器规格的文件;
/Si:s[VW{"r0 步骤:
D.x)vwt"Y"C0 读取文件
ITPUB个人空间7cbg9yH?2Nv3E!l,c 转换格式为标准格式
ITPUB个人空间%a
CD'a@8q"R V9q (0-session ,
w/AKm%r1S$J1yY0 1-transaction,
T!uD]"t Hy0 2-screen)
hxU]8LK*M3]0 传值
;j
L2h+k,xt0j)Z0 写目标文件
9Ub|,S@0!o]1o-G9G%Yx:l0 DX workbench
w,s#k Tt7_2zS0 t-code:sxda_tools
'|}+n F0UCwaL{0ITPUB个人空间`!ea{)}"y
ft%D3.本地顺序文件Local Sequential Files
YxE3ap0 GUI_UPLOAD:本地--〉内表
1SG3E[!t4a$K"DK0 GUI_DOWNLOAD:内表--〉本地
+Q1b6f6lN9mD2R-?0 选择文件名和路径方法:
ITPUB个人空间Zu$m)W/x2D 使用function:WS_FILFENAME_GET
ITPUB个人空间0z0aj&_o9rb 调用类的方法
Bi!vuc:j0 CALL METHOD cl_gui_frontend_services=>file_open_diaog
ITPUB个人空间+rk4yd4Xmx^)iR EXPORTING
ITPUB个人空间1pV"_ k|I&\*{ window_title = ''
ITPUB个人空间w m\'pSgR"W+{ multiselection = ''
ITPUB个人空间,}B6E8tevg default_filename = '.'
ITPUB个人空间b4q,pX@]9e{:Cc initial_directory = ' '
EWKt
B;S#K?0 CHANGING
g:X8}*UjW'ZyJPy)P0 file_table = filetable
ITPUB个人空间!a cww(M rc = rc.
m:zny'N1K5\0 CAll METHOD cl_gui_cfw=>flush.
^4^w9~;@#u%QkX(m0 LOOP AT filetable.
ITPUB个人空间.r:Q$C V6n&R*Fr;x0C ....
ITPUB个人空间D.T^6GmQ7Zet!p ENDLOOP.
%JF,p_'HXf'D0ITPUB个人空间i8Y,R
GN4.逻辑文件Logical File Names
ITPUB个人空间$[c\O eP 可移植性:程序中使用逻辑文件,逻辑文件和物理文件映射,当物理文件变化时,
ITPUB个人空间Ht1v+_$V-t'a6{Ok 不需要更改程序,只需要更改物理文件和逻辑文件的对应关系;
ITPUB个人空间;Aj3o/XF6S t-code:file
ITPUB个人空间CO;a)|EPs6l a>.定义逻辑路径;
IFl5?0l.^i0 b>.关联逻辑路径和物理路径;eg: D:\<filename> 必须以<filename>结束;
ITPUB个人空间\
b/Si}
U6R c>.定义逻辑文件;
ITPUB个人空间2z9s(B8`p'Bxd2K 在程序中要使用逻辑文件时,使用function:file_get_name;
%H{#B0p&VL E0
导入论坛
引用链接
收藏
分享给好友
推荐到圈子
管理
举报
TAG: