由于不修改Oracle标准功能,表单个性化成了一个比较简单有效并且相当实用的工具。概括而言,表单个性化可以实现如下功能:

  1. 设置Property,如设置某字段必输,或者隐藏一个Tab。
  2. 执行内置功能,比如GO_BLOCK,DO_KEY以及FND_FUNCTION.EXECUTE。
  3. 显示消息。
  4. 使用特殊的菜单。

虽然使用简单的SQL就可以达到很多个性化的目的,但从经验而言,对于一些复杂的个性化还是需要写DB存储过程或函数,而且表单个性化对单行数据的处理比多行的处理在逻辑和功能上也容易实现得多。对于一些复杂的逻辑处理,甚至需要创建N个rule,每个rule又分N个步骤……而这些,假如表单化可以捕捉到那些关键性的trigger比如POST_FORM_COMMIT之类的,可能几句话就可以搞定。

对于非常复杂的处理,可以使用CUSTOM库来实现,跟Form开发类似,这会使问题极大的简单化。试想可以在CUSTOM中实现平时自己开发的Form所能实现的功能,怎不令人激动?

表单个性化的设置可以在各实例(instance)方便的迁移。
下载:

FNDLOAD /
 0 Y DOWNLOAD $FND_TOP/patch/115/import/affrmcus.lct  FND_FORM_CUSTOM_RULES function_name=

上传:

FNDLOAD /
 0 Y UPLOAD $FND_TOP/patch/115/import/affrmcus.lct 

使用表单个性化需要注意的两点是:

  1. 向Oracle提SR时,务必首先确保问题不是由个性化引起的。
  2. 如果创建了GLOBAL变量,它会一直存在,直至你离开当前应用。