接口(实例)演示
一下為項目上ATS接口的代碼結構,方面之后代碼查閱。
一、數據初步準備
1.1 使用check_id初始化憑證大類
將來接口表cux.cux_gl_inter_sx_ats中attribute9進行賦值,值為E時,表明數據來自與表ats_ulic_of_pay_transactions. abstract和ats_ulic_hec_pay_transactions. Abstract相等的check_id下的數據,其它情況取A
1.2 初始化編碼映射關系
對原有11i中的7個segment按照映射關系得到新和R12中的segment code
1.3 初始化歷史分區
cux_gl_inter_pub.init_partition(p_period_name => p_period_name, p_inter_key => g_source_key)
?
以期間和來源為限定建立分區
1.4? 初始化參數
若此部分出現異常,程序報錯結束,
g_run_id := gl_journal_import_s.nextval
g_group_id :=gl_interface_control_s.nextval;
g_ledger_id := fnd_profile.value('GL_SET_OF_BKS_ID');
?
??????
二、數據插入GL接口表
若此部分出現異常,程序報錯結束
若此部分無數據進入,程序報錯結束
?
2.1? 檢查數據
檢查期間和期間是否打開 若此部分出現異常,程序報錯結束
?
①檢查是否有數據需要導入 若此部分出現null,程序報錯結束
?
②檢查借貸是否相等(單張憑證數據進行校驗,若存在不相等的,則該憑證不進行數據插入,其它正常)若存在不相等的外圍系統表中attribute8和attribute9分別錄入錯誤信息和錯誤狀態(FAILURE)
??????
并未檢查ledger_id
2.2? 循環校驗失進行映射后段值在鍵彈性域里是否存在
(1)出現錯誤的處理
通過upt_t_gl_ats_interface_detail將T_GL_ATS_INTERFACE
的attribute8,attribute9,attribute10分別update為 錯誤信息,失敗狀態標識,null;
?
(2)如果 check_Id下有任何record_id,出現交驗錯誤,則整個check_Id的數據都不能插入接口表,其它正常
?
2.3? 正式數據插入
(1)映射的變換
| R12段說明 | R12段 | 11i段 | 限定條件下 | R12段取值 |
| 公司段 | segment1 | segment1 | 無 | cux_old_new_map中取對應值 |
| 成本中心 | segment2 | segment3 | null | R12字段對應默認值 |
| 其它 | cux_old_new_map中取對應值 | |||
| 會計科目段 | segment3 | segment4 | 無 | cux_old_new_map中取對應值 |
| 明細段 | segment4 | Segment5 | 以'B'開頭 | 11i中原值 |
| 00000 | R12字段對應默認值 | |||
| 往來段 | Segment5 | 無 | 無 | R12字段對應默認值 |
| 現金流量段 | Segment6 | attribute3 | null | R12字段對應默認值 |
| 其它 | cux_old_new_map中取對應值 | |||
| 渠道段 | Segment7 | 無 | 無 | R12字段對應默認值 |
| 產品 | Segment8 | 無 | 無 | R12字段對應默認值 |
| 預算科目 | Segment9 | 無 | 無 | R12字段對應默認值 |
| 項目段 | Segment10 | 無 | 無 | R12字段對應默認值 |
| 預算中心 | Segment11 | segment2 | null | R12字段對應默認值 |
| 其它 | cux_old_new_map中取對應值 |
2.4? 進行回寫
?
???????????? t_gl_ats_interface.attribute1 = l_org_id
????????????
???????????? t_gl_ats_interface.attribute10 = 'R' || l_request_id,
????????????
???????????? t_gl_ats_interface.attribute9 = c_voucher_status_imported_gli
三、對GL接口表中數據進行驗證和導入日記賬
數據進入GL接口表后進行校驗
? cux_gl_inter_pub.validate_data(x_errbuf??? => v_errbuf,
?????????????????????????????????? x_retcode?? => v_retcode,
?????????????????????????????????? p_inter_key => g_source_key,
?????????????????????????????????? p_group_id? => l_group_id);
若此部分出現異常,更新外圍系統表中attribute8 為失敗? ,attribute8= nvl(cux_gl_inter_sx_ats.status_description, '因本次請求其他記錄出錯而置為錯誤'),程序報錯結束,
?
?
日記賬導入
?
cux_gl_inter_pub.journal_import(x_errbuf????????????? => v_errbuf,
??????????????????????????????????? x_retcode???????????? => v_retcode,
?????????????????????????????????? ?x_group_id??????????? => l_group_id,
??????????????????????????????????? x_run_id????????????? => g_run_id,
??????????????????????????????????? p_source_key????????? => g_source_key,
??????????????????????????????????? p_ledger_id?????????? => g_ledger_id,
??????????????????????????????????? p_user_je_source_name => c_user_je_source_name,
??????????????????????????????????? p_autopost_flag?????? => g_autopost_flag);
?
清除外圍系統接口表歷史表過期分區
?
若此部分出現異常,程序報錯結束,
?
轉載于:https://www.cnblogs.com/akami/p/6941771.html
超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生總結
- 上一篇: 第十五周周总结
- 下一篇: Pascal's Triangle Le