内存变量 Export / Import ...To Memory ID 'ID_Name' / From Memory ID 'ID_Name' 导出/读取的使用

内存变量 Export / Import ...To Memory ID 'ID_Name' / From Memory ID 'ID_Name' 导出/读取的使用

--e.g:

说明:
        导出到内存

Export  Field1
Field2
Field..n 
To  Memory ID ‘ID_NAME’

将内存字段 Field1,Field2 ….Field..n 装入Cluster Memory 内存巨集中,在内那中的标志为 ID_NAME.
其中的内存字段可以是程序已定义的字段,也可是现给的。
        如:
EXPORT TEXT1
           TEXT2 FROM 'Literal'
  TO MEMORY ID 'text'.

Text1 是在程序中已定义的, 而Text2 是现给的,赋值的形式为 ,TEXT2 Form ‘value’

从内存中读取

Import  Field1
                  Field2 TO Field_X
Form Memory ID ‘ID_NAME’.

将内存标起块 ID_NAME 中读取内存字段。
这里有几点要说明:
1. 如果指定内存块的内存字段中不存在Field1 字段,则Field 得不到内存中的值。但却返回sy-subrc ,很奇怪。
2. 如果你的读取程序中 与导入程序存在相同的定义结构,那么你在读时可以直接使用,否则你必须赋值给第三者,
赋值方式如: Field2 To Field_X

--Program Source Code--

REPORT  ZZW_MEMORY_E_I                          .

DATA TEXT1(10) VALUE 'Exporting'.

DATA ITAB LIKE SBOOK OCCURS 10 WITH HEADER LINE.

DO 5 TIMES.
  ITAB-BOOKID = 100 + SY-INDEX.
  APPEND ITAB.
ENDDO.

EXPORT TEXT1
       TEXT2 FROM 'Literal'
  TO MEMORY ID 'text'.

EXPORT ITAB
  TO MEMORY ID 'table'.

SUBMIT ZZW_MEMORY_I_1 AND RETURN.

à

REPORT  ZZW_MEMORY_I_1                                              .

DATA: TEXT1(10),
      TEXT3 LIKE TEXT1 VALUE 'Initial'.

DATA ITAB_X LIKE SBOOK OCCURS 10 WITH HEADER LINE.

IMPORT TEXT3 FROM MEMORY ID 'text'.
WRITE: / SY-SUBRC, TEXT3.

IMPORT TEXT2 TO TEXT1 FROM MEMORY ID 'text'.
WRITE: / SY-SUBRC, TEXT1.

IMPORT TEXT2 TO TEXT3 FROM MEMORY ID 'text'.
WRITE: / SY-SUBRC, TEXT3.

CLEAR: TEXT3.

IMPORT TEXT1 TO TEXT3 FROM MEMORY ID 'text'.
WRITE: / SY-SUBRC, TEXT3.

IMPORT ITAB TO ITAB_X FROM MEMORY ID 'table'.

LOOP AT ITAB_X.
 WRITE: / ITAB_X-BOOKID.
ENDLOOP.


--Result--
Program

    0  Initial
    0  Literal
    0  Literal
    0  Exporting
00000101
00000102
00000103
00000104
00000105

 

 

posted on 2008-09-23 13:37  封起De日子  阅读(355)  评论(0编辑  收藏  举报

导航