NLS_LANG
该环境变量在操作系统中设置,建议其值为:
AMERICAN_AMERICA.ZHS16CGB231280
FORMS45_PATH
该环境变量在操作系统中设置,用于指定引用对象的存放路径,请确认其值包含:
<$AU_TOP>/forms/US
<$AU_TOP>/resource
日历
这是在TEMPLATE.fmb里面内置的对象,可以看到,form里包含calendar窗口、calendar画布、calendar数据块以及一些触发器等。
在template模板中创建一个数据块emp,其中hiredate为日期类型,我们选中hiredate项,设置其lov属性,选择“值列表”属性为ENABLE-LIST-LAMP,设置“从列表中验证”为“否”。
接下来创建hiredate项级触发器key-listval,写入代码:calendar.show;--此时默认为当天日期;注意:你可以给函数设置参数,该参数为日期的默认值,eg:calendar.show(to_date('','YYYY-MM-DD'));ok,运行测试,弹出值列表时就可以看到日历了。
set_item_property 如果数据块只有一行,用这个
set_item_instance_property 设置多行数据块某一行的属性1、set_item_instance_property,display_item
两个内置子程序都可以用来设置项中某行的 相关属性(同项中的其余行属性会保持原来的属性不变),如颜色。
only changes the instance of that item that belongs to the block's current record.
If you want to change all instances of an item in a multi-record block, use SET_ITEM_PROPERTY .
2、二者区别:
a、display_item是较早版本中出现的,而 set_item_instance_property是较晚版本中才 有的(6i以后的应都有)。
b、display_item有一个特性,就是当通过其改变 后的属性,会延伸到与其同步的项上.即与 其同步的项也跟着变了.
但set_item_instance_property已取消了此特性.
DISPLAY_ITEM has the side-effect of also changing the appearance of any items that mirror the changed instance.
SET_ITEM_INSTANCE_PROPERTY does not change mirror items.
(哦,原来mirror items 有同步项的意思)
c、如硬是还要找个区别的话,就是调用时所需 参数有所不同,一个需要提供记录号,一个不用。
其实根据这点可以猜测到 set_item_instance_property比display_item可能可 以使用的地方要多要广!
至于到底哪些地方set_item_instance_property可用而display_item不可用。这个留给自己或大家有时间的时候再去研究下
3、另提一下set_item_property这个内置子程序。
通过这个内置子程序设置的是整个项(即某项的 所有记录)的属性。
另发现当利用此内置子程序改变颜色时,颜色值 应是r(红)、g(绿)、b(蓝)三原色的组合,而不是在属性面版里直接选择颜色,
然后返回到颜色属性那栏里的值(即使看起来也 是rgb组合)。否则将发现设置不成功(但不报错)。
如:红色为:R255G0B0 (而不是RED) 酸橙色 为:R153G204B0。
具体要找某个颜色的rgb组合代码可借助于WORD 中的颜色自定义功能得出。
报表里面好像没有环境变量,需要建一个用户参数 P_CONC_REQUEST_ID/Number/20,
在Before Report触发器里加 SRW.USER_EXIT('FND SRWINIT');
在After Report触发器里加 SRW.USER_EXIT('FND SRWEXIT');
1. APPLICATION DEVELOPER -->FORM
2.APPLICATION DEVELOPER--->FUNCTION
3.system administrator --->security---->responsbility--->define 输入用户名 找到MENU
4.APPLICATION DEVELOPER--->MENU 一层层找,然后把FORM挂在自己想要的菜单下.
*关闭window后并不会自动执行commit操作,除非开发人员编码提交;
*关闭parent window时系统会提醒用户是否保存detail window变化;
*关闭window后,焦点会离开该窗体返回previous block所在windows;
*关闭master window会自动关闭其所有detail windows和其相关的find windows;
*关闭first window会退出form。
在EBS各个职责下面会有一个reports菜单,分别包含不同数目的报表,这个是通过请求组实现的.
首先要在Security->Responsibility->Request中定义一个请求组,把需要包含的报表加进来.
然后定义Function,调用系统标准form(run reports),要在form选项的parameters中输入值,向form中传入参数值,其中REQUEST_GROUP_CODE表求调用哪一个请求组,这一点很重要.
例如:REQUEST_GROUP_CODE="ACCOUNTING" REQUEST_GROUP_APPL_SHORT_NAME="AR" TITLE="AR:AR_SRS_TITLE_ACC_RPTS"
最后定义menu,调用刚刚定义好的funciton.
在这里学习了一个知识点,在form中获取变量的值可以用name_in.
如 if name_in('parameter.query_only') = 'YES'
NAME_IN('find.DOCUMENT_NO_S')
这种用法和直接使用变量没什么区别,但当变量名是由字符组合而成时,这时就显现出name_in的优势了,如
name_in('user'||'_name'),这样就可以取得变量user_name的值了
FORM中copy也是这种用法,把第一个参数值赋给第二个参数(变量),如:
DECLARE
global_var_name VARCHAR2(80);
BEGIN
IF :Selection.Choice = 5 THEN
global_var_name := 'Storage_1';
ELSE
global_var_name := 'Storage_2';
END IF;
COPY( 'Yes', 'GLOBAL.'||global_var_name );
END;
Execute_trigger(‘CLOSE_WINDOW’);