DESCRIBE TABLE

DESCRIBE TABLE

语法:DESCRIBE TABLE itab [KIND knd] [LINES lin] [OCCURS n]

作用:判断内表itab的某些属性并把它们指定到指定的变量中。不同的选项使你能够判断表         类型,当前字段行数 和 初始化需要的内存大小。

另外,系统字段sy-tfill 和 sy-tleng 保存着当前表行数量 和 以字节计的表行长度。

注:

为了更详细的关于内表的信息,应 用RTTS的方法代替语句describe table。

没有指定一个附加项,语句describe table 只设置系统字段sy-tfill 和sy-tleng的值。

1.·····KIND knd

判断内表itab的表类型,并把一个相应的字符的标识赋给字符型数据类型的数据对象knd。标识为T 时代表标准表,为S时代表排序表,为H时代表哈希表。

这些值在类型组SYDES中也被定义成常量sydes_kind-standed ,sydes_kind-sorted,sydes_kind-hashed。

例:在一个子程序中对一个一般内表进行递减排序。因为排序表不能降序排列,所以会进          行表类型检查来避免不能处理的异常。
              TYPE-POOLS sydes.
           ...
           FORM sort_descending CHANGING itab TYPE ANY TABLE.
             DATA tabkind(1) TYPE c.
             DESCRIBE TABLE itab KIND tabkind.
             IF tabkind = sydes_kind-standard OR
                tabkind = sydes_kind-hashed.
                SORT itab DESCENDING.
             ELSEIF tabkind = sydes_kind-sorted.
                MESSAGE '...' TYPE 'E'.
             ELSE.
                MESSAGE '...' TYPE 'E'.
             ENDIF.
           ENDFORM.

2.·····LINES lin

决定内表表行的当前数量并且把值赋给数据对象lin。

Lin为I类型的数据对象。

注:

在版本6.10中,内表表行的当前数量也可以用内建函数lines来判断。

3.·····OCCURS n

在内表用选项initial size 或者 老式的选项ocurs创建期间决定内表所需要的初始化内存大小,并把值赋给数据对象n,n为I类型的数据对象。

原文地址:https://www.cnblogs.com/caizjian/p/2956061.html