EBS调用交叉验证规则校验外围系统导入凭证

来源:互联网 发布:mac 黑客帝国屏保 编辑:程序博客网 时间:2024/06/07 05:54
create FUNCTION get_acct_ccid(p_coa_id         IN NUMBER,                         p_conca_segments IN VARCHAR2) RETURN NUMBER IS    l_ccid          NUMBER;    l_create_result BOOLEAN;  BEGIN    BEGIN     l_create_result := fnd_flex_keyval.validate_segs(operation => 'CREATE_COMBINATION',                                                       appl_short_name  => 'SQLGL',                                                       key_flex_code    => 'GL#',                                                       structure_number => p_coa_id,                                                       concat_segments  => p_conca_segments);fnd_message.debug(fnd_flex_keyval.error_message); --输出报错信息      IF (l_create_result) THEN        l_ccid := fnd_flex_keyval.combination_id;      ELSE        l_ccid := NULL;      END IF;    EXCEPTION      WHEN OTHERS THEN        NULL;    END;    RETURN(l_ccid);  END get_acct_ccid;


参数说明:
- 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  要获取组合描述字段的对应的“值“组合字段
一旦初始化验证字段成功,那么描述组合字段便可以通过调用fnd_flex_keyval.concatenated_descriptions()来得到了。