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
技术交流,技术讨论,欢迎加入
Technology Blog Created By Oracle ERP - 鲍新建