La función de sistema sysLib.size devuelve el número de filas de la tabla de datos especificada o el número de elementos de la matriz especificada. La matriz puede ser una matriz de elementos de estructura, una matriz estática de elementos de datos o registros o una matriz dinámica de elementos de datos o registros.
El elemento al que se devuelve el valor de ser de tipo INT o el siguiente equivalente: tipo BIN con longitud 9 y sin posiciones decimales.
Si el nombre de matriz (nombreMatriz) está en un elemento subestructurado de otra matriz, el valor devuelto es el número de apariciones del propio elemento de estructura, no el número total de apariciones de la estructura que lo contiene (consulte la sección Ejemplos).
El nombre de matriz puede calificarse mediante un nombre de paquete, un nombre de biblioteca o ambos
Si se hace referencia a un elemento o registro que no es una matriz, se produce un error.
// Calcular la suma de una matriz de números 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
Dado que ha creado un registro basado en myRecordPart, puede utilizar sysLib.size(siNext) para determinar el valor de apariciones (occurs) de la matriz subordinada:
// Establece count en 2 count = sysLib.size(myRecord.siTop.siNext);
Consulta relacionada
Matrices
Biblioteca SysLib de EGL