Páginas filhas
  • LOG_sortArray

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.


Ordena dados de uma variável 4GL do tipo ARRAY OF RECORD conforme o atributo informado.

Sintaxe

Bloco de código
_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

Bloco de código
languageruby
themeConfluence
linenumberstrue
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

Informações

Fontes: array.prw