GL-日记账接口导入

10 篇文章 0 订阅

1、使用的标准接口表

接口表:gl_interface、控制表:gl_interface_control、错误信息:gl_interface.status

2、总账标准表

gl_je_batches:日记账批表

gl_je_headers:日记账头表

gl_je_lines:日记账行表

gl_balances:科目余额表

gl_code_combinations:科目组合表

gl_je_categories:凭证分类表

gl_je_sources:凭证来源表

3、总账导入组成及导入流程

日记帐的导入包含如下的几个部分的导入:
(1)、 日记帐头信息的导入
(2)、 日记账行信息的导入
              2.1、 日记帐行中借项导入
              2.2、 日记帐行中贷项导入
(3)、调用标准日记帐请求

日记帐导入流程:
第一步: 获取导入日记帐的来源和类别信息
第二步:根据ou和步骤一获取到的日记帐来源获取本次日记帐导入的组id:group_id、日记帐运行的id:interface_run_id和对应ou的账套
第三步:数据验证,对需要导入的数据进行相应的验证,如:验证期间是否打开、验证币种是否为本位币等
第四步:给公用字段赋值
第五步:给借项赋值,插入接口表
第六步:给贷项赋值,插入接口表
第七步:调用日记帐请求

4、常用检验逻辑

(1)检查期间

检查期间的同时可以将对应的总账日期带出
传入的参数:o_ledger_id:账套id
                       p_vest_period:期间


SELECT COUNT(1)  
      INTO l_period_count  
      FROM gl_period_statuses gps  
     WHERE gps.application_id = 101  
       AND gps.ledger_id = o_ledger_id  
       AND gps.adjustment_period_flag = 'N'  
       AND trunc(start_date) <= trunc(SYSDATE)  
       AND trunc(end_date) >= trunc(SYSDATE)  
       AND gps.closing_status = 'O'  
       AND gps.period_name = p_vest_period;  

(2)检验币种

检查传入的币种是否为当前ou的本位币,如果不是本位币需要提供汇率类型,同时我们需要根据返回出来的count数来对借项和贷项的汇率信息进行赋值。
传入的参数:o_org_id:ou
                       p_currency_code:币种

SELECT COUNT(1)  
      INTO l_currency_count  
      FROM hr_operating_units ou, gl_sets_of_books gsob  
     WHERE ou.set_of_books_id = gsob.set_of_books_id  
       AND ou.organization_id = o_org_id  
       AND gsob.currency_code = p_currency_code;  

5、调用的Interface

(1)日记账请求

l_request_id := fnd_request.submit_request  
('SQLGL',  
 'GLLEZL',  
 '',  
to_char(SYSDATE,'YYYY/MM/DD HH24:MI:SS'),  
 FALSE,  
to_char(p_interface_run_id),  
to_char(p_set_of_books_id),  
 'N',  
 NULL,  
 NULL,  
 'N',  
 'O', --是否导入弹性域字段,三种方式 N(不导入),W(验证导入WITH VALIDATE),O(不验证WITHOUT VALIDATE)  
  chr(0));   

(2)等待请求完成

调用导入日记账的请求后,我们需要等待日记账请求完成,然后根据日记账请求的完成状态来更新对应的数据表的导入状态和回写相应的字段


l_bl_result := fnd_concurrent.wait_for_request(l_request_id, --等待的请求  
        1, --间隔时间  
        0, --等待时间  
        v_phase,  
        v_status,  
        v_dev_phase,  
        v_dev_status,  
        v_message);  
      --请求的状态为完成并且为正常  
      IF v_dev_phase <> 'COMPLETE' OR v_dev_status <> 'NORMAL' THEN  
        o_return_status := fnd_api.g_ret_sts_error;  
        o_msg_data      := '日记账请求出错';  
      END IF;  

转自:http://blog.csdn.net/gh320/article/details/17323487

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值