ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 动态生成FORM下拉列表的项

动态生成FORM下拉列表的项

原创 Linux操作系统 作者:romi_chen 时间:2013-08-29 23:14:20 0 删除 编辑

    在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/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2013-02-01

  • 博文量
    1
  • 访问量
    4519