批量创建会计凭证

考虑使用BAPI_ACC_DOCUMENT_POST

本文重点讨论的业务场景:使用用户上传的EXCLE文件批量创建会计凭证,节省时间操作时间。

开发申请要求:给出前台(TCODE:FB01)创建会计凭证需要的抬头数据以及行项目数据,批量将会计凭证创建出来。

 

前台操作,根据界面底部的消息提示一步一步输入会计凭证的数据

 

接收抬头数据的结构。

 

接收行项目数据的表。

 

采购会计凭证的成功失败消息都会放在消息表RETURN里。

 

    1. BAPI行项目字段增强

许多行项目字段在该BAPI里面的内表里面并没有(常见的有反记账BSEG- XNEGP、原因代码BSEG-RSTGR、汇票签发日期BSED-WDATE等)这里我们需要对这些字段做BADI增强。

(1)T-CODE SE11创建结构,该结构包含了要增强的字段和行项目(该字段必须有):

 

 

(2)然后T-CODE SE19 开始进行增强实施

在SE19创建典型BADI 输入ACC_DOCUMENT步骤如图:

 

进入以下界面点击增加,然后选会计凭证:

 

点击保存后进入以下界面点击新建

 

然后

 

选中刚才创建的

 

 

然后回到T-CODE SE19界面,编辑实施界面输入刚才创建的实施名称,点更改

 

进去后在实施累中双击第一个方法,将如下代码复制进去。

 

 

DATAwa_extension   TYPE bapiparex,
         ext_value(960TYPE c,
         wa_accit       TYPE accit,
         l_ref          TYPE REF TO data.

  FIELD-SYMBOLS<l_struc> TYPE ANY,
                  <l_field> TYPE ANY.

  SORT c_extension2 BY structure.

  LOOP AT c_extension2 INTO wa_extension.
     AT NEW structure.
       CREATE DATA l_ref TYPE (wa_extension-structure).
       ASSIGN l_ref->TO <l_struc>.
     ENDAT.
     CONCATENATE wa_extension-valuepart1 wa_extension-valuepart2
                 wa_extension-valuepart3 wa_extension-valuepart4
            INTO ext_value.
     MOVE ext_value TO <l_struc>.
     ASSIGN COMPONENT 'POSNR' OF STRUCTURE <l_struc> TO <l_field>.
     READ TABLE c_accit WITH KEY posnr <l_field>
           INTO wa_accit.
     IF sy-subrc IS INITIAL.
       MOVE-CORRESPONDING <l_struc> TO wa_accit.
       MODIFY c_accit FROM wa_accit INDEX sy-tabix.
     ENDIF.
   ENDLOOP.

到此增强部分就做完了,剩下的只要在BAPI_ACC_DOCUMENT_POST中的扩展表将参考结构和参考结构建的工作区(里面存放了要增强的字段的数据)分别赋给即可。

 

    1. 调用代码示例


REPORT ZWDTEST5.
DATA:
  GD_DOCUMENTHEADER    LIKE BAPIACHE09,
  GD_CUSTOMERCPD       LIKE BAPIACPA09,
  GD_FICA_HD           LIKE BAPIACCAHD,
  IT_ACCOUNTRECEIVABLE LIKE TABLE OF BAPIACAR09 WITH HEADER LINE"客户
  IT_ACCOUNTGL         LIKE TABLE OF BAPIACGL09 WITH HEADER LINE"总账科目
  IT_ACCOUNTTAX        LIKE TABLE OF BAPIACTX09 WITH HEADER LINE"税务项目
  IT_CRITERIA          LIKE TABLE OF BAPIACKEC9 WITH HEADER LINE"计记帐:CO-PA 科目分配特性
  IT_VALUEFIELD        LIKE TABLE OF BAPIACKEV9 WITH HEADER LINE"会计记帐:CO-PA 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值