首页 > 解决方案 > INITIAL_VALUE 上的 SET_ITEM_PROPERTY 不起作用

问题描述

使用下面的代码,我试图在根据条件INITIAL_VALUE命名的表单字段中设置属性。STATUS以下代码处于PRE-TEXT-ITEM触发状态。

BEGIN
    IF (:LOAN.STATUS = 'A') THEN
        SET_ITEM_PROPERTY(:LOAN.STATUS,INITIAL_VALUE,'Active');
    ELSIF (:LOAN.STATUS = 'I') THEN
        SET_ITEM_PROPERTY(:LOAN.STATUS,INITIAL_VALUE,'Inactive');
    END IF;
END;

将以下代码放在条件之外也不起作用。

SET_ITEM_PROPERTY(:LOAN.STATUS,INITIAL_VALUE,'Active');

请告知我做错了什么。

标签: oracleoracleforms

解决方案


在引用 Forms 的帮助时,看到方法没有这样的property(第二个参数)INITIAL_VALUE。相反,您可以直接在触发器中SET_ITEM_PROPERTY为该项目分配所需的值,如下所示:PRE-TEXT-ITEM

BEGIN 
    IF   (:LOAN.STATUS = 'A') THEN 
          :LOAN.STATUS := 'Active';
    ELSIF (:LOAN.STATUS = 'I') THEN 
          :LOAN.STATUS := 'Inactive';
    END IF;
END;

或使用以下代码而不是上面的代码缩写填充触发器:

select decode(:LOAN.STATUS,'A','Active','I','Inactive') 
  into :LOAN.STATUS
  from dual;

推荐阅读