Ordena dados de uma variável 4GL do tipo ARRAY OF RECORD conforme o atributo informado.
Sintaxe
_ADVPL_LOG_sortArray( < aRec > , < cAttr > , < nLines > , < cOrder > ) => ARRAY OF RECORD
Parâmetros
Nome | Tipo | Obrigatório? | Descrição |
---|
aRec | ARRAY OF RECORD
| Sim | Variável 4GL do tipo ARRAY OF RECORD que terá seus dados reordenados. |
cAttr | CHAR
| Sim | Nome do elemento (atributo) da variável ARRRAY OF RECORD que será considerado para realizar a classificação dos dados. |
nLines | INTEGER
| Não | Quantidade total de linhas que serão reordenadas, iniciando a partir da primeira linha. Quando não informada, todas as linhas preeenchidas serão consideradas. |
cOrder | CHAR | Não | Tipo da classificação a ser utilizada. ASC - Ordem ascendente. DESC - Ordem descendente. |
Retorno
Tipo | Descrição |
---|
ARRAY OF RECORD | Variável 4GL do tipo ARRAY OF RECORD com dados reordenados conforme parâmetros. |
Exemplo
DEFINE ma_dados ARRAY[3] OF RECORD
codigo SMALLINT,
texto CHAR(10)
END RECORD
#----------------------------#
FUNCTION LOG_sortArray_test()
#----------------------------#
DEFINE l_index SMALLINT
LET ma_dados[1].codigo = 49
LET ma_dados[1].texto = 'linha 01'
LET ma_dados[2].codigo = 27
LET ma_dados[2].texto = 'linha 03'
LET ma_dados[3].codigo = 5
LET ma_dados[3].texto = 'linha 02'
##Reordenar todas linhas da lista ordenadas pelo elemento 'codigo'
CALL _ADVPL_LOG_sortArray(ma_dados,'codigo')
FOR l_index = 1 TO arrayLength(ma_dados)
CALL conout("linha "||l_index USING "<<&"||" - codigo: "||ma_dados[l_index].codigo||" - texto: "||ma_dados[l_index].texto CLIPPED)
END FOR
END FUNCTION
Fontes: array.prw