SAP Memory ve Abap Memory
ABAP’ta bir değişkendeki veriyi SAP Memory (EXPORT – IMPORT) veya ABAP Memory (SET – GET) kullanarak saklayabilir ve daha sonra okuyabiliriz.
SAP Memory (EXPORT – IMPORT)
SAP Memory, tüm işlemler (sessions) arasında paylaşılabilen bir hafızadır. SAP sisteminde genel olarak kullanıcı oturumu boyunca saklanan verileri ifade eder. Bu bellek, kullanıcının farklı programlar ve işlemler arasında geçiş yaparken verileri korumasını sağlar.
" Veriyi SAP Memory'ye yaz
DATA: lv_text TYPE string VALUE 'www.SAP.net.tr SAP Memory Örneği'.
EXPORT lv_text TO MEMORY ID 'MY_MEMORY'.
Başka bir programda ya da aynı programda daha sonra bu veriyi okuyabiliriz.
" SAP Memory'den veriyi oku
DATA: lv_new_text TYPE string.
IMPORT lv_new_text FROM MEMORY ID 'MY_MEMORY'.
WRITE: lv_new_text. " www.SAP.net.tr SAP Memory Örneği
ABAP Memory (SET – GET)
ABAP Memory, bir program içinde SUBMIT edilen diğer programlar arasında veri paylaşımı için kullanılır. ABAP programları arasında veri alışverişi yapmak için kullanılan geçici bellek alanıdır. Bu bellek, programlar arasında veri taşımak için kullanılır ve genellikle bir programın çalışma süresi boyunca etkilidir.
Ana programda veriyi yazalım;
DATA: lv_text TYPE string VALUE 'ABAP Memory Örneği'.
SET PARAMETER ID 'MY_PARAM' FIELD lv_text.
Sonra başka bir programda ya da çağırılan programda okuyalım;
DATA: lv_new_text TYPE string.
GET PARAMETER ID 'MY_PARAM' FIELD lv_new_text.
WRITE: lv_new_text. " ABAP Memory Örneği
Farklar:
| Özellik | SAP Memory (EXPORT-IMPORT) | ABAP Memory (SET-GET) |
|---|---|---|
| Kullanım Alanı | Tüm işlemler (sessions) | Aynı işlem içinde |
| Kalıcılık | Kullanıcı oturumu boyunca | SUBMIT edilen programlar arası |
| Temizleme | Manüel (FREE MEMORY) | Otomatik (parametre yok olunca) |
Eğer programlar arası veri paylaşımı yapacaksak EXPORT-IMPORT, SUBMIT edilen programlar arasında paylaşım yapacaksak SET-GET kullanabiliriz.
