使用BAPI_ACC_DOCUMENT_POST,创建会计凭证 增强

本文介绍了如何通过BAPI_ACC_DOCUMENT_POST创建会计凭证,并解决该BAPI缺少某些字段的问题。通过创建结构,实现BADI增强ACC_DOCUMENT,以及在EXTENSION2表参数中传递扩展字段,来添加记账码和原因代码等信息。
摘要由CSDN通过智能技术生成
业务需求:和银行做一个接口,要通过银行流水产生会计凭证,会计凭证的事务码是F-02,查到了BAPI方法 BAPI_ACC_DOCUMENT_POST。
昨天测试发现,有一些参数在BAPI_ACC_DOCUMENT_POST的输入和表参数中根本没有,
如 记账码Posting Key、原因代码Reason Code,那怎么把这些字段的值传进去呢?
在SDN查了一下相关问题的解决办法,发现遇到这个问题的朋友还挺多,
总结了一下,解决办法大体如下:
1、se11创建结构,必须包含行项目号POSNR字段,和其他需要扩展的字段,
   如记账码Posting Key、原因代码Reason Code
2、SE19实现BADI增强ACC_DOCUMENT,这个增强是用来将BAPI_ACC_DOCUMENT_POST参数表EXTENSION2传入系统表
3、使用BAPI_ACC_DOCUMENT_POST参数表EXTENSION2,将扩展字段传入
 
详细步骤如下:
1、创建结构,se11,很简单,不再赘述,如下图:
image
2、SE19实现BADI增强ACC_DOCUMENT
通过ACC_DOCUMENT help文档知道,方法CHANGE用来完成字段的扩展,
还有一个需要注意的是参考业务类型,这个一定要选对,不然执行BAPI的时候不会调用这个BADI,我用的是BKPFF,
如下图:
激活这个BADI实现。
双击change方法创建,可以查看ACC_DOCUMENT 的实现例子CL_EXM_IM_ACC_DOCUMENT(R/3 4.7版本,其他版本可能名称不一样)
将这个实例的change方法的代码直接copy过来,激活方法,代码如下
***********************************************************************
* Example to move fields from BAPI parameter EXTENSION2 to structure  *
* ACCIT (accounting document line items).                             *
* The dictionary structure (content for EXTENSION2-STRUCTURE) must    *
* contain field POSNR, 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值