Form 个性化控制讲义
2016-02-18 17:35
218 查看
Form 个性化控制讲义
Kenver (译)
纲要:
概述
如何使用 Form 个性化控制
转移个性化设计至其他环境
1. 概述
Form 个性化允许您修改基于Form 基础页面的事件,包括:修改物件的属性、执行内建函数、产生提示信息和添加标签入口。
对于每个功能(需在功能处指定上下文条件,相应的Form才能执行)来说,您可以制定一个或一个以上的规则。每条规则包括:一个事件,事件执行的条件(可选),事件执行的范围,一个或多个动作。
Form上的一个Trigger 就是一个事件。例如,开启页面的Trigger (WHEN-NEW-FORM-INSTANCE),或者光标从一条记录移至另一条新的记录所触发的Trigger (WHEN-NEW-RECORD-INSTANCE)等等,这几乎是每个Form 传送资料都必须执行的,或者确认传送资料附加的事件。
若指定了事件执行的范围,当Form 在运行的时候,系统会去检查当前的规则是否可执行。事件执行的范围有以下层级:Site、Resoponsibility、User、Industry ,每个规则可有相应层级的执行范围与之相关联。
注:Industry 层级的执行范围指的是为下一版本预留。
事件执行的条件是一段SQL 语句,来控制事件在何时执行。只有在执行条件的返回结果是真时,该时间才会执行。
一个动作包含以下的任意一项内容:
² 设置属性,如:设置一个栏位状态为必输,隐藏一个Tab 页签等。
² 执行内建函数,如:GO_BLOCK,DO_KEY,FND_FUNCTION.EXECUTE 等。
² 显示提示信息。
² 呼叫一个特殊标签入口。
规则一旦建立,当目标功能执行时,这些规则会被系统视为Form 里的一个事件,并且会自动执行。
2. 如何使用Form 个性化控制
要创建一个个性化控制,首先要进入到目标功能Form ,然后按下拉菜单 Help à Diagnotics à Custoner
Code à Personalize 。若该下拉菜单不可见,请检查系统Profile 设定选项:FND_HIDE_DIAGNOSTICS (Hide Diagnostics menu entry) 和DIAGNOSTICS
(Utilities:Diagnostics)。
进入到个性化控制页面时,系统会罗列当前功能页上已定义的规则。您若做了修改,请保存然后重新进入该功能页,这样所做的改动才能生效。您也可以按下按钮‘Validate’和‘Apply’,分别来验证修改的值和快速查看所做改动的执行结果,而不必重新进入功能页。
个性化设置的界面(当前功能页:FND_FNDSCAUS,FORM:FNDSCUS)
每个规则包含的栏位:
Seq :对应规则的序号。值从1-100,序号可重复,值小的优先执行。
Description :描述,可用于注明当前规则的用途。
Enable:勾选时当前规则才有效。
定位至Condition 页签有如下栏位:
Trigger Event :选择规则执行的Trigger ,您可以从LOV 中挑选,或者自己键入当前Form 还未用到的Tirgger,该栏位是复合型的,可从LOV挑选,也可自己输入。个性化规则会先匹配事件,然后按序号顺序执行。
Trigger Object :选择对象。对象的挑选值依赖Trigger Event,根据不同的Trigger Event 其状态亦不同。即,可能是不可输入的,也可能是必须输入的。例如,如果你挑选的Trigger
Event 是
WHEN–NEW–ITEM–INSTANCE ,此时您必须输入一个 Trigger Object 。
Condition:这个栏位是选择性输入的SQL 语句段,只有SQL 语句段返回值是真,个性化定义的动作才会执行。条件可包含如下内容:
² SQL 函数和运算子,如AND 、OR 、TO_CHAR 、DECODE 和 NVL 等。
² 关联到Form 某个字段(:Block.feild),包括::System , :Globle,
:parameter 。
² 调用服务器上没有外部参数的函数。
输入的判断条件语法上必须是正确的,可按下按钮‘Validate’来检查语法的正确性。若语法上有错误,系统会弹出一个错误信息提示框警示出错的部分。
一些判断条件的例子:
Processing Mode :设定执行的模式。Not-in-Entry-Query-Mode,查询模式下不使用个性化规则;
Only-in-Entry-Query-Mode ,仅在查询模式下使用个性化规则;BOTH, 两种状态下都使用个性化规则。
Level :个性化规则执行的层级。
Value :层级的值。
定位至Actions 页签有如下栏位:
Seq :个性化规则动作的序号,值从1-100,序号可重复,值小的优先执行。
Type :个性化规则动作的类型,包括:(1)Property 即物件的属性。(2)Buildtin 即Form 的内建函数如:GO_BLOCK,DO_KEY 等。(3)Message 即提示消息。(4)Special 呼叫一个下拉菜单入口,定义其标签,已经在哪个Block 可激活。
Discription:用于注明当前个性化动作的用途。
Language:个性化规则动作执行的语言环境
Enable :勾选该个性化动作才有效。
以下按钮出现依赖于Type 栏位的挑选值:
Add Parameter,出现时机:Type 为 Builtin ,挑选值为FND_FUNCTION.EXECUTE 。
Add Block,LOV 挑选Block 的名字。
Add Item,LOV 挑选Item 的名字。
下图区域依Type 挑选值为Property 时出现。
Select By Text … 快速需找某个栏位名表述方式。
Object Type :物件类型。如:Item ,Block ,Window ,Tab ,Canvas ,Radio
Button,View,
Globle ,Parameter 。
Target Object :目标物件。指定当前个性化动作的执行对象,即指定要针对哪个物件进行动作设定。
Property Name :属性名。指定物件的属性。
Value :给出物件属性值。
Get Value :取得当前对象属性值。
下图区域依Type 挑选值为Message 时出现。
Message Type :用于设定提示信息的类型。'Show', 'Hint', ‘Warn’, 'Error', 和‘Debug’。值得注意的是,若消息类型挑选了‘Warn’或 'Error', 当您按下按钮‘Cancel
’ 时,系统会执行 form_trigger_failure 这个Trigger ,以阻止Form 继续执行。‘Debug’ 类型的 message 只有页面上的 Show
Debug Message 这个复选框勾选才会显示。
Message Text :提示消息的内容。
下图区域依Type 挑选值为Builtin 时出现。
Builtin Type :指定所使用的内建函数。
Argument :内建函数所使用的参数。
当Builtin Type 为FND_FUNCTION.EXECUTE时,会出现以下区域。
Function Name :指定要执行的函数。
Parameters :执行函数的参数。
下图区域依Type 挑选值为Special 时出现。
Menu Etry :指定下拉菜单的入口。由3个集组成。每个集15个,挑选不同的集,下拉标签将出现在不同的下拉菜单位置上。若你挑选了Form 已有的Menu并且创建了个性化控制,那么所创建的个性化规则将改写Form原有的菜单入口功能。
Menu Lable :标签的标示符。
Render Line Before Menu :若勾选,在标签上方会出现一条直线以做区隔所用。
Enable In Block :在哪个Block 标签被激活。
Icon Name :若需要在工具栏上添加一个图形(功能与点击对应下拉菜单的标签相同),则可以在此指定图形的名称。
每个属性值输入的字符串可能直接被引用,也可能个性化规则在运行时才被检查。(取决于字符串是否以”= ”开头)
不以”=”开头,值在个性化规则运行时直接被引用。
以”=”开头,值在个性化规则运行时被检查,允许添加上下文逻辑,如:
ü SQL 运算子:||,TO_CHAR,DECODE,和 NVL
ü 绑定变量值:(:Block.Field),:System,:Globle,:Parameter
ü 调用服务器上的函数。
ü Select 语句,但必须遵循以下条件:
u 需以’ = SELECT’ 开头。
u 查询值结果必须为字符型的,且长度不超过2000个字节。
u 所查询的栏位的别名需给“A”。
u 语句段的查询结果集不超过一行,若超过一行,只有第一行被使用。
使用“=”的一些例子:
3. 转移个性化设计至其他环境上
在测试环境上设计并且通过测试的个性化规则,可通过以下办法快速转移至新的环境。
(1) 下载页面配置命令
注:<function name> 是该命令必须给出的参数,若不给则不会产生ldt 档。
(2) 上传页面配置命令
Kenver (译)
纲要:
概述
如何使用 Form 个性化控制
转移个性化设计至其他环境
1. 概述
Form 个性化允许您修改基于Form 基础页面的事件,包括:修改物件的属性、执行内建函数、产生提示信息和添加标签入口。
对于每个功能(需在功能处指定上下文条件,相应的Form才能执行)来说,您可以制定一个或一个以上的规则。每条规则包括:一个事件,事件执行的条件(可选),事件执行的范围,一个或多个动作。
Form上的一个Trigger 就是一个事件。例如,开启页面的Trigger (WHEN-NEW-FORM-INSTANCE),或者光标从一条记录移至另一条新的记录所触发的Trigger (WHEN-NEW-RECORD-INSTANCE)等等,这几乎是每个Form 传送资料都必须执行的,或者确认传送资料附加的事件。
若指定了事件执行的范围,当Form 在运行的时候,系统会去检查当前的规则是否可执行。事件执行的范围有以下层级:Site、Resoponsibility、User、Industry ,每个规则可有相应层级的执行范围与之相关联。
注:Industry 层级的执行范围指的是为下一版本预留。
事件执行的条件是一段SQL 语句,来控制事件在何时执行。只有在执行条件的返回结果是真时,该时间才会执行。
一个动作包含以下的任意一项内容:
² 设置属性,如:设置一个栏位状态为必输,隐藏一个Tab 页签等。
² 执行内建函数,如:GO_BLOCK,DO_KEY,FND_FUNCTION.EXECUTE 等。
² 显示提示信息。
² 呼叫一个特殊标签入口。
规则一旦建立,当目标功能执行时,这些规则会被系统视为Form 里的一个事件,并且会自动执行。
2. 如何使用Form 个性化控制
要创建一个个性化控制,首先要进入到目标功能Form ,然后按下拉菜单 Help à Diagnotics à Custoner
Code à Personalize 。若该下拉菜单不可见,请检查系统Profile 设定选项:FND_HIDE_DIAGNOSTICS (Hide Diagnostics menu entry) 和DIAGNOSTICS
(Utilities:Diagnostics)。
进入到个性化控制页面时,系统会罗列当前功能页上已定义的规则。您若做了修改,请保存然后重新进入该功能页,这样所做的改动才能生效。您也可以按下按钮‘Validate’和‘Apply’,分别来验证修改的值和快速查看所做改动的执行结果,而不必重新进入功能页。
个性化设置的界面(当前功能页:FND_FNDSCAUS,FORM:FNDSCUS)
每个规则包含的栏位:
Seq :对应规则的序号。值从1-100,序号可重复,值小的优先执行。
Description :描述,可用于注明当前规则的用途。
Enable:勾选时当前规则才有效。
定位至Condition 页签有如下栏位:
Trigger Event :选择规则执行的Trigger ,您可以从LOV 中挑选,或者自己键入当前Form 还未用到的Tirgger,该栏位是复合型的,可从LOV挑选,也可自己输入。个性化规则会先匹配事件,然后按序号顺序执行。
Trigger Object :选择对象。对象的挑选值依赖Trigger Event,根据不同的Trigger Event 其状态亦不同。即,可能是不可输入的,也可能是必须输入的。例如,如果你挑选的Trigger
Event 是
WHEN–NEW–ITEM–INSTANCE ,此时您必须输入一个 Trigger Object 。
Condition:这个栏位是选择性输入的SQL 语句段,只有SQL 语句段返回值是真,个性化定义的动作才会执行。条件可包含如下内容:
² SQL 函数和运算子,如AND 、OR 、TO_CHAR 、DECODE 和 NVL 等。
² 关联到Form 某个字段(:Block.feild),包括::System , :Globle,
:parameter 。
² 调用服务器上没有外部参数的函数。
输入的判断条件语法上必须是正确的,可按下按钮‘Validate’来检查语法的正确性。若语法上有错误,系统会弹出一个错误信息提示框警示出错的部分。
一些判断条件的例子:
条件 | 备注 |
:users.user_name is not null and :users.description is null | 个性化规则动作执行的条件,User_name不为空,且 Description 为空 |
sysdate >= to_date(‘1-1-2005’, ‘DD- MM-RRRR’) | 个性化规则动作执行的条件,系统日期大于等于2005年1月1号 |
Processing Mode :设定执行的模式。Not-in-Entry-Query-Mode,查询模式下不使用个性化规则;
Only-in-Entry-Query-Mode ,仅在查询模式下使用个性化规则;BOTH, 两种状态下都使用个性化规则。
Level :个性化规则执行的层级。
Value :层级的值。
定位至Actions 页签有如下栏位:
Seq :个性化规则动作的序号,值从1-100,序号可重复,值小的优先执行。
Type :个性化规则动作的类型,包括:(1)Property 即物件的属性。(2)Buildtin 即Form 的内建函数如:GO_BLOCK,DO_KEY 等。(3)Message 即提示消息。(4)Special 呼叫一个下拉菜单入口,定义其标签,已经在哪个Block 可激活。
Discription:用于注明当前个性化动作的用途。
Language:个性化规则动作执行的语言环境
Enable :勾选该个性化动作才有效。
以下按钮出现依赖于Type 栏位的挑选值:
Add Parameter,出现时机:Type 为 Builtin ,挑选值为FND_FUNCTION.EXECUTE 。
Add Block,LOV 挑选Block 的名字。
Add Item,LOV 挑选Item 的名字。
下图区域依Type 挑选值为Property 时出现。
Select By Text … 快速需找某个栏位名表述方式。
Object Type :物件类型。如:Item ,Block ,Window ,Tab ,Canvas ,Radio
Button,View,
Globle ,Parameter 。
Target Object :目标物件。指定当前个性化动作的执行对象,即指定要针对哪个物件进行动作设定。
Property Name :属性名。指定物件的属性。
Value :给出物件属性值。
Get Value :取得当前对象属性值。
下图区域依Type 挑选值为Message 时出现。
Message Type :用于设定提示信息的类型。'Show', 'Hint', ‘Warn’, 'Error', 和‘Debug’。值得注意的是,若消息类型挑选了‘Warn’或 'Error', 当您按下按钮‘Cancel
’ 时,系统会执行 form_trigger_failure 这个Trigger ,以阻止Form 继续执行。‘Debug’ 类型的 message 只有页面上的 Show
Debug Message 这个复选框勾选才会显示。
Message Text :提示消息的内容。
下图区域依Type 挑选值为Builtin 时出现。
Builtin Type :指定所使用的内建函数。
Argument :内建函数所使用的参数。
当Builtin Type 为FND_FUNCTION.EXECUTE时,会出现以下区域。
Function Name :指定要执行的函数。
Parameters :执行函数的参数。
下图区域依Type 挑选值为Special 时出现。
Menu Etry :指定下拉菜单的入口。由3个集组成。每个集15个,挑选不同的集,下拉标签将出现在不同的下拉菜单位置上。若你挑选了Form 已有的Menu并且创建了个性化控制,那么所创建的个性化规则将改写Form原有的菜单入口功能。
Menu Lable :标签的标示符。
Render Line Before Menu :若勾选,在标签上方会出现一条直线以做区隔所用。
Enable In Block :在哪个Block 标签被激活。
Icon Name :若需要在工具栏上添加一个图形(功能与点击对应下拉菜单的标签相同),则可以在此指定图形的名称。
每个属性值输入的字符串可能直接被引用,也可能个性化规则在运行时才被检查。(取决于字符串是否以”= ”开头)
不以”=”开头,值在个性化规则运行时直接被引用。
以”=”开头,值在个性化规则运行时被检查,允许添加上下文逻辑,如:
ü SQL 运算子:||,TO_CHAR,DECODE,和 NVL
ü 绑定变量值:(:Block.Field),:System,:Globle,:Parameter
ü 调用服务器上的函数。
ü Select 语句,但必须遵循以下条件:
u 需以’ = SELECT’ 开头。
u 查询值结果必须为字符型的,且长度不超过2000个字节。
u 所查询的栏位的别名需给“A”。
u 语句段的查询结果集不超过一行,若超过一行,只有第一行被使用。
使用“=”的一些例子:
输入的字符 | 执行结果 |
='Your password will expire on '||(sysdate+7) | Your password will expire on 2007-12-28 (假设系统日期为2007-12-21) |
='Your password must have at least '||:global.password_length||' characters.' | Your password must have at least 8 characters。 (假设该Global项的值长度为8) |
=’Your password isn’’t valid.’ | Your password isn’t valid. |
=:items.part_number | {栏位=:items.part_number 的值} |
=SELECT meaning A from fnd_lookups where lookup_type = 'DAY_NAME' and lookup_code = 'SAT' | Saturday {假设系统作业是在英文环境下执行} |
=SELECT 'The office is closed on '||meaning A from fnd_lookups where lookup_type = 'DAY_NAME' and lookup_code = 'SAT' | The office is closed on Saturday {假设系统作业是在英文环境下执行} |
3. 转移个性化设计至其他环境上
在测试环境上设计并且通过测试的个性化规则,可通过以下办法快速转移至新的环境。
(1) 下载页面配置命令
FNDLOAD <userid>/<password> 0 Y DOWNLOAD $FND_TOP/patch/115/import/affrmcus.lct <filename.ldt> FND_FORM_CUSTOM_RULES function_name=<function name> |
(2) 上传页面配置命令
FNDLOAD <userid>/<password> 0 Y UPLOAD $FND_TOP/patch/115/import/affrmcus.lct <filename.ldt> |
相关文章推荐
- 时间选择器机获取上边时间
- Rapid Design Visualization v2007-ISO 1CD(工程设计仿真)
- PHP 用户名、邮箱、手机账号中间字符串以*隐藏
- Xcode 6制作动态及静态通用Framework(解决不支持 armv7s arm64 armv7)
- 2.8 Android 产品统计 报表 好用的“友盟”
- Retinex图像增强算法
- 常见的media断点
- mysql日志详细解析
- HaProxy+Keepalived+Mycat高可用群集配置
- 自制简单的.Net ORM框架 (一) 简介
- EF相关知识
- monoDB环境搭建
- ACM刷题常用链接
- [安卓开发工具]
- Terrasolid Suite v015-v016 for Microstation CONNECT, V8i, V8 & for Windows platforms 1CD
- jquery 对 Json 的各种遍历
- javascript二维数组遍历
- 校验下载的文件
- ASP.NET学习
- 宏参数