zoukankan      html  css  js  c++  java
  • 如何跨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 }

    IMPORT:

    从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 = '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语句删除。

  • 相关阅读:
    JavaScript(js)的replace问题的解决
    如何让Log4net日志文件按每月归成一个文件夹,StaticLogFileName参数的用法
    点到线的距离计算公式
    如何写一个Python万能装饰器,既可以装饰有参数的方法,也可以装饰无参数方法,或者有无返回值都可以装饰
    Python如何动态的为对象添加方法或属性,__slots__用法
    Python生成器的用法,使用生成器灵活的生成斐波那契数列
    Python函数名做参数,闭包,装饰器
    Python迭代器的用法,next()方法的调用
    property用法,使Python中的get方法和set方法使用更简单
    python中for循环删除不全的问题
  • 原文地址:https://www.cnblogs.com/datie/p/11433350.html
Copyright © 2011-2022 走看看