Actions:
1. Property
按文本选择(Select By Text … )快速需找某个栏位名表述方式。
对象类型(Object Type ):如:Item ,Block ,Window ,Tab ,Canvas ,Radio Button,View,
Globle ,Parameter。
目标对象(Target Object ):指定当前个性化动作的执行对象,即指定要针对哪个物件进行动作设定。
特性名称(Property Name ):属性名。指定物件的属性。
值(Value ):给出物件属性值。
获取值(Get Value) : 取得当前对象属性值。
2. Message
消息类型(Message Type ):用于设定提示信息的类型。'显示(Show)', '提示(Hint)', ‘警告(Warn)’, '错误(Error)', 和‘调试(Debug)’。值得注意的是,若消息类型挑选了‘Warn’或 'Error', 当您按下按钮 ‘Cancel ’ 时,系统会执行 form_trigger_failure 这个Trigger ,以阻止Form 继续执行。‘Debug’ 类型的 message 只有页面上的 Show Debug Message 这个复选框勾选才会显示。
消息文本(Message Text):显示的内容
3. Builtin
包括:GO_ITEM, DO_KEY, GO_BLOCK, RAISE FORM_TRIGGER_FAILURE, FORMS_DDL;
‘Launch a URL’ 原来叫FND_UTILITIES.OPEN_URL,可用于打开一个web窗口地址,你可以选择提前定义好的URL地址,或者输入你自己的地址。
‘Launch a Function’ (原来叫FND_FUNCTION.EXECUTE) function即可填写开发的内部名称,也可填写Funtion的User Name。
‘Launch SRS Function’ 用于调用并发请求提交界面;注意,该方法即便是并发请求界面无法选择的请求,也能够提交。
‘Execute Procedure’ 可调用数据库已定义的procedure;
‘Synchronize’ 在打开Form时,同步客户端和中间层;
‘EXECUTE_TRIGGER’ 允许执行一个form内部的trigger,完成后会测试form_success,如果失败会抛出form_trigger_failure;
‘Call Custom Event’ 调用定义的CUSTOM library
‘Create Record Group from Query’ 可用于动态的创建记录组;
一般两步来实现效果:
首先,编写SQL创建记录组,新记录组的名称必须是不存在的
其次,将记录组应用到需要的字段LOV中。
4. Menu
指定下拉菜单的入口。由3个集组成。每个集15个,挑选不同的集,下拉标签将出现在不同的下拉菜单位置上。若你挑选了Form 已有的Menu并且创建了个性化控制,那么所创建的个性化规则将改写Form原有的菜单入口功能。
Special 1-15 Tools;
Special 16-30 Inquire;
Special 31-45 Actions
5. 字符串属性的赋值方法
- 如果不是以‘=’开始,这输入的值就是返回的值;
- 如果以‘=’开始,则返回的字符串是在运行时返回动态生成的结果;
可用的语法逻辑:
- SQL操作符,如||、TO_CHAR、DECODE、和NVL
- 绑定变量(:block.field),包括 :system, :global 和 :parameter 中的值,
- 调用服务器中的function,此function中没有OUT类的参数;
- Select 语法,必须遵守一下规则:
必须以‘=select’开始;
查询出来的列必须转换为CHAR,并且长度不能超过2000 bytes;
查询结果应当只返回一个值,若返回多行,也只使用第一行
String typed in Personalization form | Result at runtime |
='Your password will expire on '||(sysdate+7) | Your password will expire on 31-DEC-2004 {assuming that sysdate is currently 24-DEC-2004} |
='Your password must have at least '||:global.password_length||' characters.' | Your password must have at least 8 characters. {assuming that global variable password_length exists and has a value of 8} |
=’Your password isn’t valid.’ | Your password isn’t valid. |
=:items.part_number | {whatever the current value of variable :items.part_number is} |
=SELECT meaning from fnd_lookups where lookup_type = 'DAY_NAME' and lookup_code = 'SAT' | Saturday {assuming that the system is running in English} |
=SELECT 'The office is closed on '||meaning from fnd_lookups where lookup_type = 'DAY_NAME' and lookup_code = 'SAT' | The office is closed on Saturday {assuming that the system is running in English} |
6. SPEL 语法获得属性
在条件或字符串值中,可通过一下语法获得具体对象的某个属性值:
${objectType.objectName.Property};
它实际应该就是Oracle Form的内置函数GET_ITEM_PROPERTY,GET_BLOCK_PROPERTY
Type | String typed in Personalization form | Result at runtime |
Value | ='The prompt is:' ||${item.block.field.prompt_text}||', located at: '||${item.block.field.x_pos} | The prompt is: User Name, located at: 2.0 {assuming that the current Prompt of field block.field is 'User Name', and it's X position is 2.0} |
Condition | ${item.block.field.required} = 'TRUE' | {True or False, depending on the current Required property of field block.field} |
个性化的局限
个性化只能够用来改变Oracle Form在运行时允许改变的内容:
如下就不能改变:
- 不能新建Item
- 不能在画布间移动Item
- 不能显示不在画布中的item(因此,单个弹性域段不能显示)
- 不能设置某些属性,比如Item的数据类型
- 不能改变边框,图像,样板
- 不能隐藏当前聚焦的Item