我如何创建唯一内存ID。

2020-09-18 05:23发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,
我有一个问题。那里有一个用户出口,它将触发,一旦过帐收货(为生产订单过帐),就会触发。
此出口应验证一些数据,但收货数据明细(未显示出口)。 因此,我使用了导出和导入方法。
第一个
收货

现在将触发增强点,这里我有收货明细
然后现在我创建一个自定义结构并将其导出到内存ID中。

将curr_tab导出到内存ID" CAB"。

然后将触发自定义退出。
在这里,我正在导入数据。
将curr_tab从内存ID'CAB'导入到curr_tb。

但是这里我有一个问题。如果两个用户同时进行收货
我能知道会发生什么吗?
我的意思是,两个用户都使用内存ID'cab',会发生什么情况 ,则它们的后继订单编号可能不同,物料和数量也有所不同。

彼此碰撞。请问有人能告诉我现在会发生什么。

我被认为错了,所以,我习惯了。 内存ID为sy-uname,用户ID将是唯一的。
如果您处于相同的情况,该怎么办。 需要有价值的建议。

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,
我有一个问题。那里有一个用户出口,它将触发,一旦过帐收货(为生产订单过帐),就会触发。
此出口应验证一些数据,但收货数据明细(未显示出口)。 因此,我使用了导出和导入方法。
第一个
收货

现在将触发增强点,这里我有收货明细
然后现在我创建一个自定义结构并将其导出到内存ID中。

将curr_tab导出到内存ID" CAB"。

然后将触发自定义退出。
在这里,我正在导入数据。
将curr_tab从内存ID'CAB'导入到curr_tb。

但是这里我有一个问题。如果两个用户同时进行收货
我能知道会发生什么吗?
我的意思是,两个用户都使用内存ID'cab',会发生什么情况 ,则它们的后继订单编号可能不同,物料和数量也有所不同。

彼此碰撞。请问有人能告诉我现在会发生什么。

我被认为错了,所以,我习惯了。 内存ID为sy-uname,用户ID将是唯一的。
如果您处于相同的情况,该怎么办。 需要有价值的建议。

付费偷看设置
发送
2条回答
一只江湖小虾
1楼-- · 2020-09-18 05:49

享受有关内存使用和隔离的信息(不能以链接形式插入:\)

https://wiki.scn。 sap.com/wiki/display/Community/ABAP+MEMORY+AND+SAP+MEMORY

 ABAP内存是同一内部会话中所有ABAP程序都可以使用EXPORT和IMPORT语句访问的内存区域。 在整个程序调用过程中,该区域内的数据保持不变。 传递数据
 对于要调用的程序,在进行调用之前,需要将数据放置在ABAP内存中。 然后,被调用程序的内部会话将替换调用程序的内部会话。 然后,可以从ABAP内存中读取被调用的程序。 如果随后将控制权返回给进行初始调用的程序,则相同的过程将反向进行。
浮生未央
2楼-- · 2020-09-18 06:09

您好。

您可以尝试为内存创建动态ID,例如使用sy-uname或任何variavel点。

但是,正如Milesi所说,导出和导入应在同一会话或程序中进行。 否则,您需要使用导出到内存数据库。

例如:

数据:lv_name2 TYPE sy-uname,
       l_export TYPE c的长度为50。
 "创建存储ID
 DATA(lv_name)= cl_abap_syst => get_user_name()。
 CONCATENATE lv_name
             基准
        INTO l_export。
 导出到内存
 将lv_name导出到内存ID l_export。
 "存储器中的恢复值
 从内存ID l_export导入lv_name到lv_name2。

一周热门 更多>