从属值集-级联设置

1.从属值集 在EBS系统中建立
独立值集,从属值集,当父集被更选择填入之后,子集才能根据父集的选项填写内容,以下是链接,,我认为这个是讲的很清楚的,推荐一下
https://wenku.baidu.com/view/67d5d492dd88d0d233d46a40.html

2.从属值集 在form表单程序单元中写入
建块名为包名的包
在包头中写入
PACKAGE CMS_CMP_ACC IS
PROCEDURE ERP_ACCOUNT_CODE(EVENT VARCHAR2);
PROCEDURE ERP_SUBACCOUNT_CODE(EVENT VARCHAR2);
END CMS_CMP_ACC;

在包体中写入
PACKAGE BODY CMS_CMP_ACC IS
PROCEDURE ERP_ACCOUNT_CODE(EVENT VARCHAR2) IS
BEGIN
IF (EVENT = ‘WHEN-VALIDATE-ITEM’) THEN
– Any validation logic goes here.
ERP_SUBACCOUNT_CODE(‘INIT’);
:CMS_CMP_ACC.ERP_SUBACCOUNT_CODE_DESC:=null;–注意注意
–此处,有一个LOV带出的字段,当父集被改变时,子集自动清空,子集带出的字段也要被清空,这种方法不是正常的方法,但是可以实现清除功能。
ELSE
fnd_message.debug('Invalid event passed to
CMS_CMP_ACC.ERP_ACCOUNT_CODE: ’ || EVENT);
END IF;
END ERP_ACCOUNT_CODE;

 PROCEDURE ERP_SUBACCOUNT_CODE(EVENT VARCHAR2) IS
 BEGIN
   IF ((EVENT = 'PRE-RECORD') OR
       (EVENT = 'INIT')) THEN
     APP_FIELD.SET_DEPENDENT_FIELD(EVENT,
                                   'CMS_CMP_ACC.ERP_ACCOUNT_CODE',
                                   'CMS_CMP_ACC.ERP_SUBACCOUNT_CODE');
   ELSE 
      fnd_message.debug('Invalid event passed to
          CMS_CMP_ACC.ERP_SUBACCOUNT_CODE: '|| EVENT); 
   END IF;
 END ERP_SUBACCOUNT_CODE;

END CMS_CMP_ACC;

–Trigger: WHEN–VALIDATE–ITEM on ERP_ACCOUNT_CODE: 这个触发器写在父集ERP_ACCOUNT_CODE这个item的触发器中,代码如下
CMS_CMP_ACC.ERP_ACCOUNT_CODE(’WHEN–VALIDATE–ITEM’);

–Trigger: PRE–RECORD on CMS_CMP_ACC (Fire in Enter–Query Mode: No): 这个触发器写在块级触发器下
CMS_CMP_ACC.ERP_SUBACCOUNT_CODE(’PRE–RECORD’);
此段代码中,CMS_CMP_ACC为块名,也是包名,ERP_ACCOUNT_CODE为父集,ERP_SUBACCOUNT_CODE为子集

3.从属值集 LOV查询
当使用了父集子集之后,当父集填入之后,子集才可以填写,子集带出的LOV字段需要在进行LOV查询或者块查询时自动带出,以下是代码实例
BEGIN
SELECT FVL.DESCRIPTION
INTO :CMS_CMP_ACC.ERP_SUBACCOUNT_CODE_DESC
FROM FND_FLEX_VALUES_VL FVL, FND_FLEX_VALUE_SETS FVS
WHERE FVL.FLEX_VALUE_SET_ID = FVS.FLEX_VALUE_SET_ID
AND FVL.PARENT_FLEX_VALUE_LOW = :CMS_CMP_ACC.ERP_ACCOUNT_CODE–父集
AND FVS.FLEX_VALUE_SET_NAME = ‘GFS_B00_COA_SUBACCOUNT’;–子集字段
AND FVL.FLEX_VALUE = :CMS_CMP_ACC.ERP_SUBACCOUNT_CODE;–子集LOV带出字段

EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
END;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值