如何进行bapi_acc_document_post使用说明,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
bapi_acc_document_post使用说明
bapi_acc_document_post适用于创建会计凭证,功能与前台FB01等相同,其输出是创建的会计凭证号。该bapi时常与badi ACC_DOCUMENT配合使用,在标准功能的基础上实现客户化需求。
1.
bapi常用参数说明
参数名 | 说明 | 用法举例 |
DOCUMENTHEADER | 财务凭证抬头结构,存放凭证类型、日期等 | * 抬头
ls_documentheader-doc_type = 'SA'. "总帐科目凭证
ls_documentheader-username = sy-uname.
ls_documentheader-comp_code = pt_main-bukrs.
ls_documentheader-doc_date = pt_main-budat_cb.
ls_documentheader-pstng_date = pt_main-budat_cb.
ls_documentheader-fisc_year = pt_main-budat_cb+0(4).
ls_documentheader-fis_period = pt_main-budat_cb+4(2).
ls_documentheader-ref_doc_no = pt_main-belnr. "CO凭证 |
ACCOUNTGL | 存放与总账相关的行项目信息。 | ls_accountgl-itemno_acc = lv_itemno. "行项目号
ls_accountgl-item_text = pt_main-kstar_txt. "科目描述
ls_accountgl-gl_account = pt_main-kstar. "科目
ls_accountgl-costcenter = pt_main-kostl. "成本中心
APPEND ls_accountgl TO lt_accountgl.
CLEAR ls_accountgl. |
ACCOUNTRECEIVABLE | 存放与客户相关的行项目信息,可设定特殊总账标识。 | ls_accountreceivable-itemno_acc = 10. "行项目号
ls_accountreceivable-customer = pt_main-bukrs_in. "转入方公司代码
ls_accountreceivable-sp_gl_ind = 'E'. "特殊总账标识
APPEND ls_accountreceivable TO lt_accountreceivable.
CLEAR ls_accountreceivable. |
ACCOUNTPAYABLE | 存放与供应商相关的行项目信息,可设定特殊总账标识。 | lv_itemno = lv_itemno + 10.
ls_accountpayable-itemno_acc = lv_itemno. "行项目号
ls_accountpayable-vendor_no = pt_main-bukrs. "转出方公司代码
ls_accountpayable-sp_gl_ind = 'D'. "特殊总账标识
APPEND ls_accountpayable TO lt_accountpayable.
CLEAR ls_accountpayable. |
ACCOUNTTAX | 存放与税相关行项目 | ***************行项目30 税
ls_accounttax-itemno_acc = 30. "行项目号
ls_accounttax-gl_account = '0022210118'. "科目
ls_accounttax-tax_code = 'X3'. "税码
APPEND ls_accounttax TO lt_accounttax.
CLEAR ls_accounttax. |
CURRENCYAMOUNT | 存放所有行项目与金额相关的信息,正负对应的记账码系统能自动处理一些,如正40,负50等。 | ** 行项目金额设定
lv_sum = lv_sum * ( -1 ).
ls_currencyamount-itemno_acc = lv_itemno. "行项目号
ls_currencyamount-currency = 'RMB'. "货币单位
ls_currencyamount-amt_doccur = lv_sum. "合计金额
APPEND ls_currencyamount TO lt_currencyamount.
CLEAR ls_currencyamount. |
2.
实例讲解
通过Tcd:FB01创建一张凭证,分别有以下行项目(无需分析业务合理性,只能技术角度考虑)
行项目号 | 科目 | 金额 | 说明 | 特殊总账 |
10 | 020101 | 1000 | 总账科目 | 无 |
20 | YH50 | 500 | 客户 | 09E |
30 | YHG3 | 1590- | 供应商 | 39E |
40 | 22210118 | 90 | 税X3, 6% |
|
上述数据使用bapi过账时,设定如下
1、 行项目10存入ACCOUNTGL
2、 行项目20存入应收,总账标识E
3、 行项目30存入应付,总账标识D
4、 行项目40存入税,税基、税额、税码都要填写。
5、 10-40行对应的金额都要存入CURRENCYAMOUNT。
代码见附件
效果
bapi_acc_document_post.docx
关于如何进行bapi_acc_document_post使用说明问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。