博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
利用fnd_flex_keyval包轻松获取关键性弹性域组合描述字段
阅读量:6465 次
发布时间:2019-06-23

本文共 1822 字,大约阅读时间需要 6 分钟。

在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 的参数很多,对于获取物料类别组合字段我们仅需要其中的五个参数,如下:
1
2
3
4
5
6
7
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()来得到了。
完整代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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
;

转载于:https://www.cnblogs.com/liuweicong39/archive/2012/06/01/2530655.html

你可能感兴趣的文章
[LintCode] Longest Substring Without Repeating Characters
查看>>
in-list expansion
查看>>
设计原则(四):接口隔离原则
查看>>
基于react的滑动图片验证码组件
查看>>
iOS快速清除全部的消息推送
查看>>
ecshop二次开发攻略
查看>>
java单例模式深度解析
查看>>
什么是堆、栈?
查看>>
记录一次axios的封装
查看>>
【学习笔记】阿里云Centos7.4下配置Nginx
查看>>
VuePress手把手一小時快速踩坑
查看>>
dnsmasq安装使用和体验
查看>>
学习constructor和instanceof的区别
查看>>
Vijos P1881 闪烁的星星
查看>>
ABP理论学习之领域服务
查看>>
Qt 控制watchdog app hacking
查看>>
让所有IE支持HTML5的解决方案
查看>>
RDD之五:Key-Value型Transformation算子
查看>>
Windows 搭建Hadoop 2.7.3开发环境
查看>>
python操作mysql数据库实现增删改查
查看>>