abap-session


前言

一个程序是怎么跑起来了,中间经历了什么,我们先从session开始学习。


一、abap_session是什么?

session分为外部session和内部session,
是SAP创建的一个实例 外部session可以理解为打开了一个SAP_GUI窗口默认可以打开6个(当然这是由 Basis 设置的)。例如:当你输入一个T-CODE(se38)这个时候就打开了一个external,在se38中新建一个report程序这个时候就打开了一个 internal对话 一个外部session可以有多个内部session,

二、程序之间传值用到与session的关系

1.abap内存传值

abap内存传值是针对一个internalSession对话而言的。

DATA:lw_data TYPE NUM5.
lw_data = 12345.
"将数据上传memory:
EXPORT lw_data TO MEMORY ID 'M_DATA'.
然后在另外的程序就可以接收到这个内存ID的数据:
IMPORT matnr FROM MEMORY ID 'M_DATA'.

2.sap内存传值

sap内存传值是针对externalSession而言的

DATA:lw_srt(5) TYPE c.

"SAP内存 SET PAREMETER
lw_srt = 'test'.
SET PARAMETER ID 'PARAMETER' FIELD lw_srt.
----------------------------------------------------------
DATA:lw_srt(5) TYPE c.

"SAP内存 GET PAREMETER     
GET PARAMETER ID 'PARAMETER' FIELD lw_srt.


总结

session的生命周期:
internalSession:创建程序时生产新的会话(每个externalSession最多可以包含九个interSession)程序执行结束的时候,这个internalSession在栈顶被删除掉,执行下一个栈顶的internalSession处理
externalSession :打开一个gui窗口的时候创建externalSession,关闭一个窗口则删除一个exterSession。

讨论

当你一个窗口debug中,然后再打开一个窗口去跑另外一个程序。
这个时候的内存变化是什么样的呢。欢迎留言讨论。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值