No Oracle Forms há a necessidade muitas vezes de alimentarmos um campo “List Item” de forma dinâmica. Para isso segue um exemplo de código para se adicionar a trigger “WHEN-NEW-FORM-INSTANCE”.
DECLARE
rg_id recordgroup;
rg_did Varchar(20) := 'SIGLA';
pop Number;
dlist_ID Item := Find_Item('BLOCO.CAMPO_LIST-ITEM');
BEGIN
rg_id := find_group(rg_did);
If Not id_null(rg_id) Then
delete_group(rg_did);
End If;
rg_id := create_group_from_query(rg_did,'SELECT t.sigla||''-''||t.descricao Descricao, t.sigla FROM tabela t');
--Clear List
Clear_List(dlist_ID);
--populate The Record Group
pop := populate_group(rg_id);
--populate The list item
populate_list('BLOCO.CAMPO_LIST-ITEM', rg_id);
END;
Com esse código básico é possível alimentar o campo, baseado em dados de uma tabela. Não esquecer de incluir um Item no objeto, sem valor.

