动态生成FORM下拉列表的项

    在FORM开发过程中,有时下拉列表的值不是固定的,是需要根据一些条件来动态改变的,此时就需要我们来动态设置下拉列表的值:

    假设有数据块TEST_BLOCK,下面有一个TEST_ITEM,类型为列表项,子类信息为LIST.

    需求是下拉列表的值根据登录系统的人员取得和这个登录人相同部门员工的姓名,只需在程序单元编写如下PROCEDURE,并在WHEN-NEW-FORM-INSTANCT触发器中调用该过程即可。

 

PACKAGE BODY TEST_PKG IS

    PROCEDURE DYN_LIST IS

       CURSOR C1 IS

          SELECT user_id,user_name FROM person_v

          WHERE department_code=(

              SELECT department_code FROM person_v

               WHERE user_id=fnd_global.user_id);

               

       V_NAME PERSON_V.USER_NAME%TYPE;

       V_ID  PERSON_V.USER_ID%TYPE;

       i number:=1;

    BEGIN

       CLEAR_LIST(‘TEST_BLOCK.TEST_ITEM');

  

       open C1;

       LOOP

          FETCH C1 INTO V_ID,V_NAME;

          EXIT WHEN C1%NOTFOUND OR C1%NOTFOUND IS NULL;

          ADD_LIST_ELEMENT (‘TEST_BLOCK.TEST_ITEM',i,V_NAME,V_ID);

--i对应列表中的第几个项,V_NAME是列表中显示的项,V_ID是项对应的值

          i:=i+1;

       END LOOP;

       DELETE_LIST_ELEMENT ('TEST_BLOCK.TEST_ITEM',i);

       CLOSE C1;

    END;

 

END;

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28438742/viewspace-769635/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/28438742/viewspace-769635/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值