SAP内存管理

内存是程序之间为了传递数据而使用的共享存储空间

SAP内存分类:1、SAP内存,2、ABAP内存

1、SAP内存

主会话之间的数据共享(主会话:即单开的SAP窗口,SAP最多支持同时打开6个主会话)

通过SET/GET PARAMETER语句共享不同ABAP内存领域之间的内存

2、ABAP内存

内部会话之间的数据共享(内部会话:在主会话中进行程序调用时,即call function,还在当前窗口中调用产生的窗口,就叫内部会话)

只有在同一个窗口执行的程序才能共享内存

在每个程序里使用的内存有ABAP内存和SAP内存

内部会话产生的方式:

(1)、接口:使用SUBMIT语句调用程序,调用选择界面传值:

SUBMIT program

         WITH p_1 = val1

         WITH s_1 IN r_1

         VIA SELECTION SCREEN

    AND RETURN .

注意:不同参数的传值方法

PARAMETERS     WITH P_1 = VAL1     =调用

SELECT-OPTIONS    WITH S_1 IN R_1      IN调用,不能用=调用,否则传值会错误

RADIO BUTTON  WITH R_1 = ‘X’    WITH R_2 = ‘ ’      =调用,‘X’或‘’

CHECKBOX   WITH C_1  = ‘X’    WITH C_2 = ‘X’    WITH C_3 ‘ ’   =调用,‘X’或‘’

实例:

A、已有程序Z_MM_PO,界面如下:

SAP 内存管理

输出如下:

SAP 内存管理

B、新建一程序,SUBMIT语句调用上述程序Z_MM_PO:

SAP 内存管理

注意:SELECT-OPTIONS、RANGES两者相同(RANGES不在界面显示),声明的都是带表头的内表,字段包括:SIGN、OPTION、LOW、HIGH

运行程序:

SAP 内存管理

AND RETURN: 语句表示运行完程序点击退出后是否直接返回当前程序,若取消该语句,则程序运行完成,点击退出按钮时,程序不经过上述界面(传值输入界面),直接返回当前程序代码界面

P_WERKS1值将带到调用程序中的P_WERKS处:

SAP 内存管理

VIA SELECTION-SCREEN:决定了是否出现上图所示界面(即是否出现调用程序的输入界面),若取消该语句,则程序默认传值而不经过上述调用程序的屏幕。

C、RADIO BUTTON、CHECKBOX传值上述类似

RADIO BUTTON  WITH R_1 = ‘X’    WITH R_2 = ‘’   “=调用,‘X’或‘’

CHECKBOX   WITH C_1 = ‘X’    WITH C_2 = ‘X’    WITH C_3 = ‘’  “=调用,‘X’或‘’

相关文章: