随笔 - 571  文章 - 4  评论 - 253  阅读 - 72万

WebADI_数据验证5_建立基于Key Flexfields的LOV验证(案例)

 20150906 Created By BaoXinjian

一、摘要


在Interface Attribute中定义Key Flexfiled类型字段

一般可以通过两种方式

1. 通过手工定义的方式

首先建立客制化栏位,用以引用弹性域

最为关键的一步,创建弹性域引用的Group

查看客制化栏位的相关属性,确保已引用了Flexfield Group

2. 直接通过调用标准API (BNE_INTEGRATOR_UTILS.CREATE_CCID_LOV),来创建Key Flexfield

 

二、通过页面定义Key Flexfield


1. 查看所用引用的Accounting Flexfield,已经相关栏位,最好是Key Flexfield Column需要和Interface Attribue一一对应

2. 创建一个客制化的Attribute,用以存放弹性域组Group

3. 创建弹性域组Group,最为关键的一步

(1). Attribute Name:刚创建的客制化栏位C_EMP_ACCOUNT_KFF

(2). Validate Type:选择为Key Flexfield

(3). Key Flexfield:所引用的会计科目弹性域

(4). Component Name:引用已存在的一个组件

(5). Group Attribute:选中弹性域所有科目存放的Segment,与科目定义一一对应

4. 定义后,查看所创建的三个必须栏位

(1). C_EMP_ACCOUNT_KFF,客制化栏位,用以存放引用弹性域定义的Group

(2). Accounting_Date 和 Curreny Code,因为引用的是标准GL Accounting弹性域,这两个栏位是必须的,否则会提示错误

5. 运行测试,选中对应的会计科目名称

6. 运行测试,选中后显示该会计科目所有科目栏位

 

三、通过API定义Key Flexfield


带补充

复制代码
BEGIN
   BNE_INTEGRATOR_UTILS.CREATE_CCID_KFF (
      P_APPLICATION_ID        => 200,             --Your custom application id
      P_INTERFACE_CODE        => 'BXJADI_XINTG_INTF1', --Your custom interface code
      P_INTERFACE_COL_NAME    => 'P_EMP_ACCOUNT_ID', -- Your CCID item in interface
      P_NUM_FLEX_SEGS         => 5, --GL code combination segments count, 最大30,实际显示的为启用的段
      P_GROUP_NAME            => 'Employee Account Group', --Attribute Group name, 随便写
      P_FLEX_APPLICATION_ID   => 101,                      --GL application id
      P_FLEX_CODE             => 'GL#',                    --Account flex code
      P_FLEX_NUM              => 101, --Charts of account id , 这里可用参数,比如“SOB.ChartOfAccountsID "
      p_vrule                 => NULL,
      p_effective_date_col    => 'P_ACCOUNT_EFFECTIVE_DATE', --如interface中有effective date 字段的话,会提供CCID的effective date 到此字段(还没测)
      p_prompt_above          => 'EmpCCID Above',
      p_prompt_left           => 'EmpCCID Left',
      p_user_hint             => 'EmpCCID Hint',
      p_user_id               => 1318);
   COMMIT;
   DBMS_OUTPUT.PUT_LINE ('Run Successfully');
EXCEPTION
   WHEN OTHERS
   THEN
      DBMS_OUTPUT.PUT_LINE ('SQLCODE=' || SQLCODE);
      DBMS_OUTPUT.PUT_LINE ('SQLERRM=' || SQLERRM);
END;
复制代码

 

Thanks and Regards

posted on   东方瀚海  阅读(632)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?

点击右上角即可分享
微信分享提示