首页 > 新闻中心 > 行业动态

AGGAME·(中国区)集团官方网站|ABAP:下载服务器文件到本机

发布时间:2025-02-21 17:47:58    次浏览

ABAP:下载服务器文件到本机在ABAP开发中,对服务器的文件进行读写操作,SAP提供了OPENDATASET语句。而下载文件到本地,则可以调用GUI_DOWNLOAD函数。由于我们只需要将文件原原本本地进行复制,所以采用BINARY MODE才是比较好的办法,可以支持TXT、PDF、WORD以及任意形式的文件下载。DATA: dset TYPE string,subrc LIKE sy-subrc,leng TYPE i,fsize TYPE i VALUE 0,buf TYPE c LENGTH 1000,tblob LIKE TABLE OF buf.dset = '/home/comp/data/test.pdf'.OPEN DATASET dset FOR INPUT IN BINARY MODE.IF sy-subrc 0.MESSAGE 'Error: open dataset.' TYPE 'E'.ENDIF.WHILE subrc = 0.leng = 0.READ DATASET dset INTO buf ACTUAL LENGTH leng.subrc = sy-subrc.CHECK leng 0.fsize = fsize + leng.APPEND buf TO tblob.ENDWHILE.CLOSE DATASET dset.CALL FUNCTION 'GUI_DOWNLOAD'EXPORTINGbin_filesize = fsizefilename = 'c: est.pdf'filetype = 'BIN'TABLESdata_tab = tblobEXCEPTIONSOTHERS = 9.说明:(1)OPEN DATASET时设置IN BINARY MODE,GUI_DOWNLOAD时也是以'BIN'模式,从而实现二进制的直接传送。(2)buf的大小决定了每次读取服务器文件中多大量的数据,如果是NON-UNICODE系统,则我们每次读取1000 BYTE(leng=1000);如果是UNICODE系统则每次读取2000 BYTE (leng = 2000)。(3)要注意READ DATASET语句的返回值sy-subrc,它代表的并非本次读取到了数据与否,而是代表本次读取是否已到达文件结束符。换言之,它代表的是下次是否需要继续读取该文件。