Extract Dataset

FROM 《SAP PROGRAM DESIGN》

Extract Datasets简称为Extract,是SAP中除了内表之外的另一种大量内存数据处理方式,允许用户动态地存储并排序结构化数据,同时通过循环处理,与内表相比,Extract的数据行数也可以是动态的,但是内表的行结构固定,而Extract的列数目也可变。

  • 每一个ABAP程序,最多只能创建一个未命名的ABAP Extract。
  • Extract的行结构分配语法:

     FEILED-GROUPS fg.
    
  • 字段组fg的具体结构则通过下述语句在程序中动态生成:

      INSERT f1 f2 ... INTO fg.
    

    f1,f2是程序中定义的内部全局数据对象,其类型需为扁平结构。

  • 填充Extract的语法格式为:

      EXTRACT fg.
    

    该语句将定义好的字段组填充给Extract,在同一个Extract中可以个包含多个不同结构的字段组,如果一个字段组被命名为header,则其被十位其他字段组的标题行,并将作为标准排序字段使用

  • Extract可以使用SORT语句进行培训,如果没有在该语句中指定内表,则视为对Extract进行排序:

      SORT.
    
  • 类似的有LOOP,可以通过该语句逐行获得Extract中字段组,而且可进行控制级处理。

      LOOP.
      <statement block> 
      ENDLOOP.
    

注意要和内表区别开来,Extract没有内表名称。

DATA:
      f1 TYPE i,
      f2 TYPE i.

field-GROUPS header.
INSERT f1 f2 INTO header.

DO 10 TIMES.
  f1 = sy-index.
  f2 = sy-index ** 2.
  EXTRACT header.
ENDDO.

SORT DESCENDING.
LOOP.
  WRITE: / f1,f2.
ENDLOOP.
posted @ 2018-09-08 13:36  auroracj  阅读(183)  评论(0编辑  收藏  举报