SAP EXPORT和IMPORT DATABASE用法详解

abap中 跨session传递数据-export database
SAP系统中有两种内存:

1,ABAP内存

简单说来一个session就是登录SAP系统开的窗口。 可以通过abap内存实现同一session中的数据交换。具体使用到 EXPORT 和IMPORT memory id 语句,这里不详细讲述。

2,SAP内存

在整个登录过程中,可以通过SAP内存实现多个session之间的数据交换。具体使用到EXPORT 和IMPORT DATABASE语句。

本文主要讲一下如何使用EXPORT 和IMPORT DATABASE语句。

EXPORT:

保存数据到SAP内存

EXPORT {p1 = dobj1 p2 = dobj2 ...} | {p1 FROM dobj1 p2 FROM dobj2 ...} | (ptab)
       TO  { DATABASE dbtab(ar) [FROM wa] [CLIENT cl] ID id }

从SAP内存中取数据

IMPORT {p1 = dobj1 p2 = dobj2 ...} | {p1 TO dobj1 p2 TO dobj2 ...} | (ptab)
        FROM { DATABASE      dbtab(ar) [TO wa] [CLIENT cl] ID id }

其中各个参数含义如下:

1, {p1 = dobj1 p2 = dobj2 …}与 {p1 FROM dobj1 p2 FROM dobj2 …}的意义一样,只是写法不一样,dobj1、dobj2…变量将会以p1、p2…名称存储到内存或数据库中。p1、p2…名称随便取,如果p1、p2…与将要存储的变量名相同时,只需写变量名即可,即等号与 FROM 后面可以省略。p1、p2…这些名称必须与IMPORT语句中相一致,否则读取不出

2, (ptab):为动态指定需要存储的变量,ptab内表结构要求是这样的:只需要两列,列名任意,但类型需要是字符型;第一列存储如上面的p1、p2…名称,第二列为上面的dobj1、dobj2…变量,如果变量与名称相同,则也可以像上面一样,省略第二列的值。

3, DATABASE: 将变量存储到数据库中;dbtab为簇数据库表的名称(如系统提供的标准表INDX);ar的值为区域ID,它将数据库表的行分成若干区域,它必须被直接指定,且值是两位字符,被存储到簇数据库表中的RELID字段中;id 的值会存储到簇数据表中的RELID字段的下一用户自定义字段中.

INDX表如下:

 代码:

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 = 'sap.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 'SAP' FROM lwa_indx.
 
  IMPORT p1 = l_str_to FROM DATABASE indx(bs) ID 'SAP'.

  WRITE:l_str_to.

*  DELETE FROM DATABASE indx(bs) ID 'SAP'.

运行完,可以在INDX表中看到export的数据

 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值