Primeiro eu atribuo uma linha cabeçalho ao list, antes de entrar no loop:
ArqTxt := Text_IO.Fopen(:b01.caminho_arq_user , 'R'); --Read
CLEAR_LIST('lc_1');
ADD_LIST_ELEMENT('b01.lc_1', 1, 'CPF Cartão Nome Dt. Nasc. Situação', '%');
e depois parto pro crime:
LOOP
TEXT_IO.GET_LINE(ArqTxt, você_Reg); --Atribui a linha do arquivo, a variável
...
ADD_LIST_ELEMENT('b01.lc_1', 2, SUBSTR(você_Reg,01,14)|| ' ' || --CPF
SUBSTR(você_Reg,15,10)|| ' ' || --Cartão
SUBSTR(você_Reg,25,60)|| ' ' || --Nome
SUBSTR(você_Reg,85,10)|| ' ' || --Dt Nasc.
você_situacao --Status
,vn_cont); --Value para o list
END LOOP;
o que eu percebi se mudo o segundo parâmetro do ADD_LIST_ELEMENT, se eu deixar os dois (o da linha de cabeçalho que está fora do loop) e o das linhas dos registros (interno) igual a 1, ele continua trazendo na ordem decrescente e ainda traz a linha de cabeçalho por último, na última linha!
o que pode estar errado???
valeu