从 oracle db 在 plsql 中填充 poplist

Populating poplist in plsql from oracle db

我正在尝试创建组-子组创建机制,在我的数据库中我有 GROUPS table,它由三列组成

| ID | GROUP_NAME | PARENT_GROUP_ID |

如果该组不是任何其他组的子组 parent_group_id 为空。创建组时,我有两个输入,第一个是基于 :GROUPS 数据块的组名称,它基于 GROUPS table,第二个应该是下拉列表,其中填充了 GROUPS table 中的行,其中 parent_group_id 为空。为此,在为数据块创建布局时,我将 parent_group_id 的数据类型选择为 char,将项目类型选择为 List Item.

不选择父组就可以创建组。但是列表没有被填充,我在表单级别有 when-new-form-instance 触发器,它调用程序来填充列表

PROCEDURE CBS_WNFI_LIST IS
 rg_groups RecordGroup; 
 rg_group_name VARCHAR2(5) := 'GROUP_NAME'; 
 nDummy NUMBER;
BEGIN 
 rg_groups := Find_Group(rg_group_name); 
 -- Delete any existing Group first 
 IF NOT Id_Null(rg_groups) THEN 
    Delete_Group(rg_groups); 
 END IF;
  -- Now create a Record Group using a SQL query 
  -- Your Query must have a Label and a Value (two Columns) 
  -- and the data types must match your item type 
  rg_groups := Create_Group_From_Query(rg_group_name,'SELECT group_name, to_char(ID) FROM GROUPS WHERE PARENT_GROUP_ID IS NULL'); 
  -- Populate the Record Group 
  nDummy := Populate_Group(rg_groups); 
  -- Populate the List Item 
  Populate_List('PARENT_GROUP_ID',rg_groups);
END;

在新表单实例上我得到错误 ORA06502 未处理的异常

你能帮我找出我哪里做错了吗?

错误地将 rg_group_name 的长度指定为 5,而长度超过了 5 个字符。