SAP内存和ABAP内存的简单介绍说明
生活随笔
收集整理的這篇文章主要介紹了
SAP内存和ABAP内存的简单介绍说明
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
? 在編寫程序的過程中不同的程序之間經常需要相互傳值,SET / GET PAREMETER 和 IMPORT / EXPORT 是SAP 提供的兩種方式。前者的值是放在SAP內存,后者是放在
ABAP
內存。這兩種內存的主要的區別就是作用范圍了,SAP內存是對當前登錄所有會話都可以訪問到的,除非用戶退出系統不然在整個登錄期間都有效。ABAP內存只是針對一個會話,你用哪個會話設置的那么就只能在當前的會話才可以取到值,新開的或者是其他的會話是訪問不到的。
下面通過兩段簡單的代碼來說明下
代碼1.設置內存值
DATA:str(20) TYPE c,
? ???pstr(20) TYPE c.
"ABAP內存 EXPORT
str = 'ABAP EXPORT'.
EXPORT str TO MEMORY ID 'EXPORT'.
"SAP內存 SET PAREMETER
pstr = 'SAP SET PAREMTER'.
SET PARAMETER ID 'PARAMETER' FIELD pstr.
WRITE:'SET OK'. 復制代碼
代碼2.獲取值
DATA:str(15) TYPE c,
? ???pstr(20) TYPE c.
GET PARAMETER ID 'PARAMETER' FIELD pstr.
IMPORT str FROM MEMORY ID 'EXPORT'.
WRITE :'PARAMETER VALUE:',pstr,/,'EXPORT VALUE:',str. 復制代碼
代碼3.設置新的值
DATA:str(20) TYPE c,
? ???pstr(20) TYPE C.
"ABAP內存 EXPORT
str = 'ABAP EXPORT NEW'.
EXPORT str TO MEMORY ID 'EXPORT'.
"SAP內存 SET PAREMETER
pstr = 'SAP SET PAREMTER NEW'.
SET PARAMETER ID 'PARAMETER' FIELD pstr.
WRITE:'SET OK'. 復制代碼
首先執行代碼1
同一會話執行第二個程序?
輸出:兩個都有值
PARAMETER VALUE: SAP SET PAREMTER
EXPORT VALUE: ABAP EXPORT
/OSE38 新會話執行代碼2
輸出: PARAMTER 有值??EXPORT 沒值
PARAMETER VALUE: SAP SET PAREMTER
EXPORT VALUE:
3.使用其他賬戶登錄 執行代碼2
輸出:兩個都沒有值
PARAMETER VALUE:
EXPORT VALUE:
4.新的賬號運行代碼3 原來的賬號和新的賬號分別執行代碼2(這個說明了SAP內存是一個用戶一個,不共享各自獨立的)
新的賬號的輸出
PARAMETER VALUE: SAP SET PAREMTER NEW
EXPORT VALUE: ABAP EXPORT NEW
原來的輸出
PARAMETER VALUE: SAP SET PAREMTER
EXPORT VALUE: ABAP EXPORT
??
附:以下一段是從網上拷過來的,關于SAP內存和ABAP內存的比較,挺好的就拷貝過來看看
? ? 1、讀取和使用方法不同
? ? SAP內存使用SET/GET parameters方法;
? ? ABAP內存使用 EXPORT 和 IMPORT??方法;
? ? 2、共享范圍不同
? ? SAP內存可以被所有的主session訪問,內存數據可以同一個session中不同程序之間,或者不同session之間;
? ? ABAP只能在同個session的不同程序之間共享數據;
? ? 3、作用范圍不同
? ? SAP內存在整個終端session時間內都有效;
? ? ABAP內存只能在一個session時間內有效;
? ? 4、使用一般原則
? ? SAP內存用于 屏幕 默認值輸入;
? ? ABAP內存用于模塊之間傳替數據
下面通過兩段簡單的代碼來說明下
代碼1.設置內存值
首先執行代碼1
同一會話執行第二個程序?
輸出:兩個都有值
PARAMETER VALUE: SAP SET PAREMTER
EXPORT VALUE: ABAP EXPORT
/OSE38 新會話執行代碼2
輸出: PARAMTER 有值??EXPORT 沒值
PARAMETER VALUE: SAP SET PAREMTER
EXPORT VALUE:
3.使用其他賬戶登錄 執行代碼2
輸出:兩個都沒有值
PARAMETER VALUE:
EXPORT VALUE:
4.新的賬號運行代碼3 原來的賬號和新的賬號分別執行代碼2(這個說明了SAP內存是一個用戶一個,不共享各自獨立的)
新的賬號的輸出
PARAMETER VALUE: SAP SET PAREMTER NEW
EXPORT VALUE: ABAP EXPORT NEW
原來的輸出
PARAMETER VALUE: SAP SET PAREMTER
EXPORT VALUE: ABAP EXPORT
??
附:以下一段是從網上拷過來的,關于SAP內存和ABAP內存的比較,挺好的就拷貝過來看看
? ? 1、讀取和使用方法不同
? ? SAP內存使用SET/GET parameters方法;
? ? ABAP內存使用 EXPORT 和 IMPORT??方法;
? ? 2、共享范圍不同
? ? SAP內存可以被所有的主session訪問,內存數據可以同一個session中不同程序之間,或者不同session之間;
? ? ABAP只能在同個session的不同程序之間共享數據;
? ? 3、作用范圍不同
? ? SAP內存在整個終端session時間內都有效;
? ? ABAP內存只能在一個session時間內有效;
? ? 4、使用一般原則
? ? SAP內存用于 屏幕 默認值輸入;
? ? ABAP內存用于模塊之間傳替數據
總結
以上是生活随笔為你收集整理的SAP内存和ABAP内存的简单介绍说明的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【转】根据起止日期+时间取数
- 下一篇: 根据指定行数拆分内表