• 利用fnd_flex_keyval包轻松获取关键性弹性域组合描述字段


    在Oracle Forms客户化开发中,如果遇到有在Form上提供关键性弹性域(以下简称“键弹性域”)功能支持的时候,我们可以利用FND_KEY_FLEX.DEFINE函数来轻松完成所有的初始化工作。其中也包括键弹性域的组合描述字段的显示的初始化:只要在FND_KEY_FLEX.DEFINE调用时指定了DESCRIPTION参数即可。然而有时我们仅是想要显示这个描述组合字段,仅此而已。并不需要提供完整的键弹性域功能。那么我们有什么快速而有效的方法来得到这个描述组合字段呢?试试下面的fnd_flex_keyval包里的方法吧~

    实例:获取库存物料的物料类别集中的类别组合“描述”字段

    需要用到的方法:

    • fnd_flex_keyval.validate_segs()
    • fnd_flex_keyval.concatenated_descriptions()
    fnd_flex_keyval.validate_segs 的参数很多,对于获取物料类别组合字段我们仅需要其中的五个参数,如下:
    fnd_flex_keyval.validate_segs(  
              operation        => <OPERATIONS>  
            , appl_short_name  => <Application Short Name>  
           , key_flex_code    => <Key Flex Code>  
          , structure_number => <ID_FLEX_NUM>  
           , concat_segments  => <CONCATENATED_SEGMENTS>  
    );  

    参数说明:

    - operation 可选值有:
    • FIND_COMBINATION - 所给定的组合字段必须在系统中已经被定义
    • CREATE_COMBINATION - 如果组合字段不存在,则在系统中创建该组合
    • CREATE_COMB_NO_AT - 功能和CREATE_COMBINATION相同,只是不像前者要使用相对独立的子事务autonomous transaction
    • CHECK_COMBINATION - 只是检查一下给定的组合字段是否合法,不管检查结果如何,都不创建新的组合
    • DEFAULT_COMBINATION - 返回默认的最小组合(这个参数值我也没太搞懂,呵呵)
    • CHECK_SEGMENTS - 分别验证字段(这个也很糊涂~)
    - appl_short_name 应用程序简称,例如库存模块对应的应用简称为INV
    - key_flex_code 键弹性域代码,可以在键弹性域定义界面找到,例如MCAT, GL#等等
    - structure_number  指定键弹性域下的某个结构NUM,可以在键弹性域定义界面找到,对应字段为ID_FLEX_NUM
    - concat_segments  要获取组合描述字段的对应的“值“组合字段,例如: A.000.MISC
    一旦初始化验证字段成功,那么描述组合字段便可以通过调用fnd_flex_keyval.concatenated_descriptions()来得到了。
    完整代码如下:
     
    FUNCTION get_concat_descriptions (p_concat_segs IN VARCHAR2)
       RETURN VARCHAR2
    IS
    BEGIN
       IF fnd_flex_keyval.validate_segs (operation             => 'FIND_COMBINATION',
                                         appl_short_name       => 'INV',
                                         key_flex_code         => 'MCAT',
                                         structure_number      => 101,
                                         concat_segments       => p_concat_segs
                                        )
       THEN
          RETURN (fnd_flex_keyval.concatenated_descriptions ());
       ELSE
          RETURN '';
       END IF;
    END;

    http://blog.csdn.net/rfb0204421/article/details/7926243#

  • 相关阅读:
    git stash错误小记
    PHP,Mysql根据经纬度计算距离并排序
    JS~字符串长度判断,超出进行自动截取(支持中文)
    Redis的三种启动方式
    Ubuntu 14.04 LTS下安装Google Chrome浏览器
    PHP-PHPExcel用法详解
    git设置log的别名 for hist log样式格式化
    Ubuntu系统下配置PHP支持SQLServer 2005
    Git命令图片版
    《一线架构师实践指南》读后感(二)
  • 原文地址:https://www.cnblogs.com/toowang/p/2917705.html
Copyright © 2020-2023  润新知