zoukankan      html  css  js  c++  java
  • 接口(实例)演示

    一下为项目上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);

    清除外围系统接口表历史表过期分区

     

    若此部分出现异常,程序报错结束,

  • 相关阅读:
    IOS Application生命周期
    IOS ViewController 生命周期
    nsinteger 与 int 区别
    判断日期是昨天,今天,明天,后天,其他的显示星期
    改变图片颜色(灰色显示)
    Linux系统管理
    PHP 相关软件下载
    检查域名是否正确解析网站
    定时任务
    BZOJ 3534 [Sdoi2014]重建
  • 原文地址:https://www.cnblogs.com/akami/p/6941771.html
Copyright © 2011-2022 走看看