ABAP 指针传值ASSING

本文介绍了一种实用的开发方法,通过进程管理机制在SAP程序间避免直接使用内存,实现变量的跨程序传递。开发者可以利用ASSIGN语句指向其他程序的内存地址,获取所需数据。

这个属于一个很实用的开发技巧了,避免了实用ABAP 内存和SAP 内存的方法实现跨程序传值。那我们首先要明白一些关于SAP进程的知识链接,关于使用的方法不难。

  FIELD-SYMBOLS:
    <lfs_csin> TYPE csin,
    <lfs_bom>  TYPE any.

 ASSIGN ('(SAPLCI04)CSIN') TO <lfs_csin>.  " 从 SAPLCI04 程序中获取 CSIN 指向 <lfs_csin>。

他的原理也是在于进程管理机制,当堆栈的程序会保存全体变量。用ASSING指向想要的程序内存地址及变量,就可获得。

ABAP中,可以通过使用FORM语句和PERFORM语句来到工作区。在FORM语句中,可以使用USING子句来递参数,参数可以是变量或字段。例如,使用FORM ADD USING NUM1 NUM2 CHANGING SUM,可以将NUM1和NUM2的递给ADD子程序,并将SUM作为参数递给ADD子程序进行修改。在ADD子程序中,可以通过在FORM语句中使用CHANGING子句来接收并修改SUM的。执行结果将反映在主程序中。\[3\] 另外,还可以使用PERFORM语句来到工作区。通过使用USING子句和VALUE关键字,可以将参数按递给子程序。例如,使用PERFORM ADD USING VALUE(NUM1)可以将NUM1的递给ADD子程序。在ADD子程序中,可以直接使用递的进行操作,而不会影响主程序中的原始变量。\[3\] 总结起来,ABAP中可以通过FORM语句和PERFORM语句来到工作区,FORM语句可以使用USING子句和CHANGING子句来递和修改参数的,而PERFORM语句可以使用USING子句和VALUE关键字来按递参数的。 #### 引用[.reference_title] - *1* *3* [ABAP using与changing超详解 技巧 使用习惯](https://blog.youkuaiyun.com/Pegasus666/article/details/116484639)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [ABAP 内表的定义,与PERFORM的定义](https://blog.youkuaiyun.com/lmf496891416/article/details/117702217)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值