最近在开发中碰到这样的事情,用到一个item:mrb_status,type:list item,list style:combobox,在when-new-form-instance中用populist为他加载了值: Procedure Populist
is
v_list Pls_integer;
Begin
v_list:=Populate_Group('MRB_STATUS');
Populate_List('CUX_QA_RESULT_HEADERS_V.MRB_STATUS','MRB_STATUS');
end Populist;
当我点击一个button,里面触发以下代码:
:CUX_QA_RESULT_HEADERS.MRB_STATUS:='F';
APP_STANDARD.EVENT('KEY-COMMIT');
可是他提交后数据并未保存。觉得很纳闷,调试了很久,改成
:CUX_QA_RESULT_HEADERS.QA_MRB_COMMENTS:= :CUX_QA_RESULT_HEADERS_V.QA_MRB_COMMENTS;
:CUX_QA_RESULT_HEADERS.MRB_STATUS:='F';
APP_STANDARD.EVENT('KEY-COMMIT');
才真正把数据保存进去。
于是我下了一个这样的结论:form builder中的list item其实应该是一个数组变量,并非真正意义的item,所以直接对他赋值,数据块的状态并未识别他的改变。得通过改变另外一个item来改变数据块的状态。
希望大家碰到类似情况少走弯路,呵呵
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/77580/viewspace-212806/ ,如需转载,请注明出处,否则将追究法律责任。