size()

系统函数 SysLib.size 返回指定的数据表中的行数或指定的数组中的元素数。该数组可以是结构项数组或数据项或记录的动态数组。
  SysLib.size(arrayName anyArray in)
  returns (result INT)
result
指定的数据表中的行数或指定的数组中的元素数。
arrayName
数组或数据表的名称。

定义注意事项

接收返回值的项必须具有 INT 类型,或者具有以下等效类型:BIN 类型,长度为 9 并且不带小数位。

如果数组名(arrayName)包含在另一个数组的子结构元素中,则返回的值是该结构项本身的出现次数,而不是包含结构的总出现次数(请参阅示例部分)。

可以通过包名和/或库名对数组名进行限定。

如果引用不是数组的项或记录,则会发生错误。

示例

此示例使用 SysLib.size 返回的值来控制循环:
  // Calculate the sum of an array of numbers
  sum = 0;
  i = 1;
  myArraySize = SysLib.size(myArray);

  while (i <= myArraySize)
    sum = myArray[i] + sum;
    i = i + 1;
  end
下面,请参照以下记录部件:
  Record myRecordPart
    10 siTop CHAR(40)[3];
      20 siNext CHAR(20)[2];
  end

假定根据 myRecordPart 来创建记录,则可以使用 SysLib.size(siNext) 来确定下级数组的 occurs 值:

  // Sets count to 2
  count = SysLib.size(myRecord.siTop.siNext);

相关参考
数组
EGL 库 SysLib

使用条款 | 反馈
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.