Oracle 在初始\u值上设置\u项\u属性无效

Oracle 在初始\u值上设置\u项\u属性无效,oracle,oracleforms,Oracle,Oracleforms,使用下面的代码,我试图根据条件在名为STATUS的表单字段中设置INITIAL\u VALUE的属性。以下代码位于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.STAT

使用下面的代码,我试图根据条件在名为
STATUS
的表单字段中设置
INITIAL\u VALUE
的属性。以下代码位于
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');

请告知我做错了什么。

当参考表单的帮助时,请注意
属性
(第二个参数)
初始值
对于
设置项目属性
方法。相反,您可以直接在
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;

非常感谢你的回答。在接受您的建议时,我收到了一个错误
文本项触发器引发的未修改异常ORA-06502
。你能指引我吗。我可能在这里做错了。@JeffreyJohnston您的表单中
:LOAN.STATUS
的长度似乎小于8。不客气。非常感谢你帮了我的忙。它终于奏效了。我会在几分钟内记下这个答案干杯!