ABAP写数据到SAP服务器文件并读取
2018-02-07 13:30
423 查看
一、在应用服务器中打开文件OPEN DATASET [options]此句打开文件。如果不指定任何模式选项,则文件将按二进制模式打开。如果系统不能打开文件,则将系统字段SY-SUBRC设置为8,否则SY-SUBRC返回0
二、打开文件读取OPEN DATASET FOR INPUT IN TEXT MODE ENCODING DEFAULT .(以TXT文件打开)
三、打开文件写入OPEN DATASET FOR OUTPUT IN TEXT MODE ENCODING DEFAULT .(以TXT文件打开写入,这种是打开文件完全重写)
四、打开文件追加 OPEN DATASET FOR APPENDING IN TEXT MODE ENCODING DEFAULT .(以TXT文件打开写入,这种是打开文件追加记录)
五、关闭应用服务器上的文件 CLOSE DATASET .
六、删除应用服务器上的文件 DELETE DATASET .
七、向应用服务器上文件上写入数据TRANSFER to [LENGTH ].
八、向应用服务器上文件上读取数据READ DATASET INTO [LENGTH ].
常用事务代码:
1.AL11,服务器上的文件
2.CG3Y 下载文件
3.CG3Z 上传文件
注:以上文字内容来自http://blog.csdn.net/lbxp521/article/details/6741534
以下代码来自http://blog.sina.com.cn/s/blog_4a3450310101jlhg.html
保存内表数据到服务器程序:
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
读取服务器上的文件:
二、打开文件读取OPEN DATASET FOR INPUT IN TEXT MODE ENCODING DEFAULT .(以TXT文件打开)
三、打开文件写入OPEN DATASET FOR OUTPUT IN TEXT MODE ENCODING DEFAULT .(以TXT文件打开写入,这种是打开文件完全重写)
四、打开文件追加 OPEN DATASET FOR APPENDING IN TEXT MODE ENCODING DEFAULT .(以TXT文件打开写入,这种是打开文件追加记录)
五、关闭应用服务器上的文件 CLOSE DATASET .
六、删除应用服务器上的文件 DELETE DATASET .
七、向应用服务器上文件上写入数据TRANSFER to [LENGTH ].
八、向应用服务器上文件上读取数据READ DATASET INTO [LENGTH ].
常用事务代码:
1.AL11,服务器上的文件
2.CG3Y 下载文件
3.CG3Z 上传文件
注:以上文字内容来自http://blog.csdn.net/lbxp521/article/details/6741534
以下代码来自http://blog.sina.com.cn/s/blog_4a3450310101jlhg.html
保存内表数据到服务器程序:
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_DATA1
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
读取服务器上的文件:
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.
相关文章推荐
- ABAP 写数据到SAP服务器文件并读取
- ABAP写数据到SAP服务器文件并读取
- ABAP 写数据到SAP服务器文件并读取
- ABAP 写数据到SAP服务器文件
- 客户端读取本地文件的数据,发送到服务器,服务器接收并存储到文件中
- applet画流量图(Line Chart) 流量数据由servert从服务器文件读取
- Android与与服务器交换数据、上传、下载、读取文件
- SAP ABAP将内表数据导出到TXT和从TXT读取到内表
- ABAP案例:灵活读取SAP各表的数据
- SAP 将内表的数据导出到本地xls文件 abap实例 INCLUDE OLE2INCL
- SAP ABAP 如何读取EXCEL数据到内表
- 从文件读取数据到SAP
- 在jsp文件中读取本地SQL服务器中的数据。
- Ajxa示例 - 读取服务器文件数据
- Xcode9学习笔记74 - 读取和解析Plist属性列表文件(获取远程服务器信息并显示返回数据)
- Tensorflow深度学习入门——TF自带的数据文件读取及下载
- Python: 文件操作与数据读取
- Flex 读取CSV文件,数据放入DataGrid
- python读取文件数据导入到hbase
- 关于数据的归档存入文件和读取文件