SAP系统中有两种内存:
1,ABAP内存
简单说来一个session就是登录SAP系统开的窗口。 可以通过abap内存实现同一session中的数据交换。具体使用到 EXPORT 和IMPORT memory id 语句,这里不详细讲述。
2,SAP内存
在整个登录过程中,可以通过SAP内存实现多个session之间的数据交换。具体使用到EXPORT 和IMPORT DATABASE语句。
本文主要讲一下如何使用EXPORT 和IMPORT DATABASE语句。
EXPORT:
保存数据到SAP内存
1 2 |
EXPORT {p1 = dobj1 p2 = dobj2 ...} | {p1 FROM dobj1 p2 FROM dobj2 ...} | (ptab) TO { DATABASE dbtab(ar) [FROM wa] [CLIENT cl] ID id } |
IMPORT:
从SAP内存中取数据
1 2 |
IMPORT {p1 = dobj1 p2 = dobj2 ...} | {p1 TO dobj1 p2 TO dobj2 ...} | (ptab) FROM { DATABASE dbtab(ar) [TO wa] [CLIENT cl] ID id } |
其中各个参数含义如下:
1, {p1 =
2,
3, DATABASE: 将变量存储到数据库中;dbtab为簇数据库表的名称(如系统提供的标准表INDX);ar的值为区域ID,它将数据库表的行分成若干区域,它必须被直接指定,且值是两位字符,被存储到簇数据库表中的RELID字段中;id
INDX表如下:
例子代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
REPORT ztest_export_cluster. DATA:lwa_indx TYPE indx. DATA: l_str_from(20) TYPE c, l_str_to(20) TYPE c. START-OF-SELECTION. l_str_from = 'Baidusap.com'. lwa_indx-aedat = sy-datum. lwa_indx-usera = sy-uname. lwa_indx-pgmid = sy-repid. EXPORT p1 = l_str_from TO DATABASE indx(bs) ID 'BaiduSAP' FROM lwa_indx. IMPORT p1 = l_str_to FROM DATABASE indx(bs) ID 'BaiduSAP'. WRITE:l_str_to. * DELETE FROM DATABASE indx(bs) ID 'BaiduSAP'. |
运行完,可以在INDX表中看到export的数据
INDX中的数据可以通过 DELETE FROM DATABASE语句删除。
以上。
发表评论