内存 变量 在不同程序调用中传值,可以下两种方法
1.1.读取和使用方法不同
SAP内存使用SET/GET parameters方法;
SET PARAMETER ID ‘MAT’ field p_matnr.
GET PARAMETER ID ‘MAT’ field p_matnr.
2.2.ABAP内存使用 EXPORT 和 IMPORT 方法;
export p_matnr = p_matnr to memory id ‘ZTESTMAT’.
import p_matnr = p_matnr from memory id ‘ZTESTMAT’
3.两种方法的差异:
共享范围不同
SET PARAMETER ID:
SAP内存可以被所有的主session访问,内存数据可以在同一个session中不同程序之间,或者不同session之间共享数据;
export:
ABAP内存只能在同个session的不同程序之间共享数据;
(3)、作用范围不同
SET PARAMETER ID
SAP内存在整个终端session时间内都有效;
export:
ABAP内存只能在一个session时间内有效;
4.从历史堆栈中得到程序变量
当在A程序中调用了B函数,可以通过如下方法在B函数中直接得到A程序中的变量值 ,比如下面在B函数中得到程序ZTRE08141的变量P_BUKRS的值 的方法。
1 2 3 4 5 |
FIELD-SYMBOLS: <P_BUKRS> TYPE any. ASSIGN '(ZTRE08141)P_BUKRS' TO <P_BUKRS>. IF <P_BUKRS> IS ASSIGNED."通过程序ZTRE08141进来的, ...... ENDIF. |