zoukankan      html  css  js  c++  java
  • fun_function.execute

    简介  这篇文章主要介绍了【EBS FORM】进阶3. 在FORM中调用外部功能(示例代码)以及相关的经验技巧,文章约4425字,浏览量438,点赞数5,值得参考!

    来源:http://www.cnblogs.com/chenyongjun/p/3940631.html

    1. fun_function.execute

    • fnd_function.execute用于访问指定的基于表单(Form)且可访问的功能(不可访问将抛出错误消息),Oracle建议以此过程替换原内置函数OPEN_FORM。因为fnd_function.execute可以绕开应用安全验证并找到功能正确的访问路径。
    • 可访问说明: 访问的功能需挂在同一职责的相同菜单下,如果被调用的功能不想在菜单下看到,可以将功能的“提示”设为空;否则,将报不可访问错误:此责任无可用函数。更改责任或与您的系统管理员联系。
    • 参数说明:

      1. PROCEDURE fnd_function.execute(function_name IN VARCHAR2,
      2. open_flag IN VARCHAR2 DEFAULT ‘Y‘,
      3. session_flag IN VARCHAR2 DEFAULT ‘SESSION‘,
      4. other_params IN VARCHAR2 DEFAULT NULL,
      5. activate IN VARCHAR2 DEFAULT ‘ACTIVATE‘,
      6. browser_target IN VARCHAR2 DEFAULT NULL);
      • function_name
      • open_flag
        Y -> 打开一个FORM并保留原有FORM,属于multi-form模式; N-> 新建一个FORM,会关闭原先的FORM
        参数最好为 Y
        Y/N 分别调用内置方法 OPEN_FORM/NEW_FORM
      • session_flag
        N / NO_SESSION 表示现有FORM和新打开的FORM在同一个session
        Y / SESSION 表示打开的FORM将建立一个新的database session
      • other_params
        FORM参数,参数注意格式:参数值用 双引号 包括起来,参数间用空格隔开。示例:
        OTHER_PARAMS=> ‘CONTEXT1=”’||:block.context1 || ‘”’ || ’ CONTEXT2=”’ || :block.context2 || ‘”’);

        如果是调用其他类型的功能,如JSP页面、OAF页面等,参数用 & 作为分隔符分开,示例:
        OTHER_PARAMS=>’param1=’|| value1 || ‘&param2=’ || value2;
      • activate_flag
        ACTIVATE/NO_ACTIVATE,表示是否聚焦到新打开的FORM,默认ACTIVATE。
        ACTIVATE表示新开打的FORM获得焦点,而NO_ACTIVATE虽然会打开一个FORM,但是光标仍在当前FORM。
      • browser_target
        仅用于JSP、OAF等 self-service 功能,用于指定浏览器Frame,如果为空,将在新的浏览器窗口打开页面。

    2. app_navigate.execute

    • 其参数与功能 和fnd_function.execute基本相似
    • 参数说明:

      1. PROCEDURE app_navigate.execute(function_name IN VARCHAR2,
      2. open_flag IN VARCHAR2 DEFAULT ‘Y‘,
      3. session_flag IN VARCHAR2 DEFAULT ‘SESSION‘,
      4. other_params IN VARCHAR2 DEFAULT NULL,
      5. activate_flag IN VARCHAR2 DEFAULT ‘ACTIVATE‘,
      6. pinned IN BOOLEAN DEFAULT FALSE);
      • pinned
        TRUE/FALSE. 如果设置为TRUE,app_nivigate.execute将不再复用Form实例,效果与fun_function.execute完全一致

    3. 两个过程区别

    • app_navifate.execute也可以打开一个功能,但此方法主要和FORM instance和复用相关。
      举例:Form A 用此过程打开 Form B,不久后继续用此方法打开Form B时,会使用上次打开的 FormB 实例,不会新建一个FormB。
      而且,多个FORM实例之间可以共享某一个Form实例,如:Form A 用此过程打开 Form B,然后Form C也用此过程打开Form B时,并不会新建一个Form B实例,会直接使用Form A打开的实例。而fnd_function.execute在任何情况下都会新建一个Form实例。





    以上就是本文的全部内容,希望对大家的学习有所帮助,版权归原作者或者来源机构所有,感谢作者,如果未能解决你的问题,请参考以下文章。

    【EBS FORM】基本2. FORM基本对象

    EBS FORM中基本触发器(示例代码)

    Oracle EBS Form个性化开发(示例代码)

    【EBS FORM】基本1. FORM开发基本步骤

    EBS FORM功能调整案例(示例代码)

  • 相关阅读:
    bootstrap表头固定
    JS:二维数组排序和获取子级元素
    JavaScript 变量声明提升
    一道经典面试题-----setTimeout(function(){},0)
    排序
    基础知识:Promise(整理)
    几个兼容相关的重要函数
    JSON
    关于由ajax返回的数据在for循环中只能取到最后一个数的问题
    如果要遍历除了for循环,你还知道什么?——JavaScript的各种遍历方式
  • 原文地址:https://www.cnblogs.com/shuihaya/p/14153156.html
Copyright © 2011-2022 走看看