今天刚好用到,学了一下,感谢原作者:http://blog.csdn.net/hjz419116185/article/details/7026427
基本步骤:
一、在应用服务器中打开文件OPEN DATASET <dsn> [options] 此语句打开文件 <dsn> 。如果不指定任何模式 选项,则文件将按二进 制模式打开。如果系统不能打开文件,则将系统字段 SY-SUBRC 设置为 8,否则 SY-SUBRC 返回 0
二、打开文件读取OPEN DATASET <dsn> FOR INPUT IN TEXT MODE ENCODING DEFAULT .(以TXT文件打开)
三、打开文件写入OPEN DATASET <dsn> FOR OUTPUT IN TEXT MODE ENCODING DEFAULT .(以TXT文件打开写入,这种是打开文件完全重写)
四、打开文件追加 OPEN DATASET <dsn> FOR APPENDING IN TEXT MODE ENCODING DEFAULT .(以TXT文件打开写入,这种是打开文件追加记录)
五、关闭应用服务器上的文件 CLOSE DATASET <dsn>.
六、删除应用服务器上的文件 DELETE DATASET <dsn>.
七、向应用服务器上文件上写入数据TRANSFER <f> to <dsn> [LENGTH <len>].
八、向应用服务器上文件上读取数据READ DATASET <dsn> INTO <f> [LENGTH <len>].
常用事务代码:
1.AL11,服务器上的文件
2.CG3Y 下载文件
3.CG3Z 上传文件
注:以上文字内容来自http://blog.csdn.net/lbxp521/article/details/6741534
保存内表数据到服务器程序:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 |
REPORT ydownvbak. TABLES:vbak,vbap. DATA:BEGIN OF wa_itab , vbeln LIKE vbak-vbeln, vkorg LIKE vbak-vkorg, erdat LIKE vbak-erdat, kunnr LIKE vbak-kunnr, posnr LIKE vbap-posnr, matnr LIKE vbap-matnr, kwmeng LIKE vbap-kwmeng, END OF wa_itab. DATA:itab LIKE wa_itab OCCURS 0 WITH HEADER LINE. DATA:g_file LIKE rlgrap-filename. DATA:s_file LIKE rlgrap-filename. DATA:menge(20). DATA:line(1000) TYPE c. SELECTION-SCREEN BEGIN OF BLOCK bl1 WITH FRAME TITLE t1. SELECT-OPTIONS:s_erdat FOR vbak-erdat, s_vbeln FOR vbak-vbeln, s_kunnr FOR vbak-kunnr, s_vkorg FOR vbak-vkorg. PARAMETERS:p_client AS CHECKBOX, p_dnfile LIKE rlgrap-filename DEFAULT 'D:\', p_server AS CHECKBOX, p_sefile LIKE rlgrap-filename DEFAULT '/usr/sap/tmp/'. SELECTION-SCREEN END OF BLOCK bl1 . INITIALIZATION. t1 = '选择条件'. START-OF-SELECTION. PERFORM sub_read_data. END-OF-SELECTION. PERFORM sub_write_data. *&---------------------------------------------------------------------* *& Form SUB_READ_DATA *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* FORM sub_read_data . SELECT vbak~vbeln vkorg vbak~erdat kunnr posnr matnr kwmeng INTO TABLE itab FROM vbak JOIN vbap ON vbap~vbeln = vbak~vbeln WHERE vbak~vbeln IN s_vbeln AND vbak~erdat IN s_erdat AND vkorg IN s_vkorg AND kunnr IN s_kunnr. ENDFORM. " SUB_READ_DATA *&---------------------------------------------------------------------* *& Form SUB_WRITE_DATA *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* FORM sub_write_data . IF p_client = 'X'. CONCATENATE p_dnfile 'SD' sy-datum sy-uzeit '.TXT' INTO g_file. "文本格式 CALL FUNCTION 'WS_DOWNLOAD' EXPORTING filename = g_file filetype = 'DAT' TABLES data_tab = itab. "被下载的内表 ENDIF. IF p_server = 'X'. CONCATENATE p_sefile 'SD' sy-datum '.txt' INTO s_file. "服务器保存的目录和文件名 OPEN DATASET s_file FOR OUTPUT IN TEXT MODE ENCODING DEFAULT . "打开文件 if sy-subrc = 0. LOOP AT itab INTO wa_itab. menge = wa_itab-kwmeng. CONCATENATE wa_itab-vkorg wa_itab-kunnr wa_itab-vbeln wa_itab-erdat wa_itab-posnr wa_itab-matnr menge INTO line SEPARATED BY ''. TRANSFER line TO s_file . IF sy-subrc NE 0 . MESSAGE 'ERROR!!' type 'E'. ENDIF. CLEAR line . ENDLOOP. CLOSE DATASET s_file. else. MESSAGE 'OPEN ERROR!!' type 'E'. endif. ENDIF. ENDFORM. " SUB_WRITE_DATA |
读取服务器上的文件:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
REPORT YDOWNFILE. data:p_file LIKE rlgrap-filename value '/usr/sap/tmp/SD20111130.txt'. data:p_line(100). OPEN DATASET p_file for INPUT in TEXT MODE ENCODING DEFAULT. if sy-subrc ne 0. MESSAGE '读取文件出错!' type 'E'. endif. do. READ DATASET p_file INTO p_line. if sy-subrc ne 0. exit. else. write:/ p_line. endif. enddo. CLOSE DATASET p_file. |
本文作者: GavinDong
版权属于: GavinDong博客
文章链接: https://gavindong.com/1385.html
如果使用过程中遇到问题,可 **点击此处** 交流沟通。
版权所有,转载时必须以链接形式注明作者和原始出处及本声明。
评论列表(2条)
写文件举例:
读文件举例: "HR组织架构文件: