BAPI_ACC_INVOICE_RECEIPT_POST

本文提供了一个使用 SAP BAPI 进行财务凭证处理的示例代码,详细展示了如何创建包含不同科目及金额的财务凭证,并通过 BAPI 接口进行过账。此示例适用于 SAP 系统的财务模块开发人员。
REPORT zacm_test NO STANDARD PAGE HEADING
LINE-COUNT 65
LINE-SIZE 132.

DATA:
wait TYPE bapita-wait,
comm_return TYPE bapiret2,
obj_type TYPE bapiache02-obj_type,
obj_key TYPE bapiache02-obj_key,
obj_sys TYPE bapiache02-obj_sys,

accountgl LIKE STANDARD TABLE OF bapiacgl03, "Structure
wa_accountgl LIKE LINE OF accountgl,

docheader TYPE bapiache03, "Structure

accountpay TYPE STANDARD TABLE OF bapiacap03, "Structure
wa_accountpay LIKE LINE OF accountpay,

accounttax TYPE STANDARD TABLE OF bapiactx01, "Structure
wa_accounttax LIKE LINE OF accounttax,

curramount TYPE STANDARD TABLE OF bapiaccr01, "Structure
wa_curramount LIKE LINE OF curramount,

return TYPE STANDARD TABLE OF bapiret2, "Structure
wa_return LIKE LINE OF return,

extension1 TYPE STANDARD TABLE OF bapiextc, "Structure
wa_extension1 LIKE LINE OF extension1.


START-OF-SELECTION.

PERFORM build_header_rec.
PERFORM build_bapi_parameters1.
PERFORM build_bapi_parameters2.
PERFORM build_bapi_parameters3.
PERFORM build_bapi_parameters4.
PERFORM update_gl.


*&---------------------------------------------------------------------*
*& Form build_header_rec
*&---------------------------------------------------------------------*
FORM build_header_rec.
*build header data for bapi
CALL FUNCTION 'OWN_LOGICAL_SYSTEM_GET'
IMPORTING
own_logical_system = docheader-obj_sys.

docheader-obj_type = 'BKPFF'.
docheader-obj_key = 'test1'.
docheader-username = sy-uname.
docheader-comp_code = '0050'. " Company Code
docheader-fisc_year = '2006'. " Fiscal Year
docheader-doc_date = '12012006'. " Document Date
docheader-pstng_date = '12012006'. " Posting Date
docheader-trans_date = '12012006'. " Translation Date
docheader-fis_period = '12'. " Fiscal Period
docheader-doc_type = 'KQ'. " Document Type
docheader-ref_doc_no = 'T&S'. " Reference
ENDFORM. " build_header_rec

*&---------------------------------------------------------------------*
*& Form build_bapi_parameters1
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM build_bapi_parameters1.

*Build Accounts Payable data for BAPI
wa_accountpay-itemno_acc = 1. " Line Item Number
wa_accountpay-vendor_no = 'TSA01004'. " Vendor Number
wa_accountpay-gl_account = '0000290430'. " GL Account Number
wa_accountpay-pmnttrms = 'NT00'. " Payment Terms
wa_accountpay-bline_date = '12012006'. " Bline Date
wa_accountpay-pmtmthsupl = '06'. " Payment Method Supplement
wa_accountpay-pymt_meth = 'S'. " Payment Method
wa_accountpay-item_text = '*T&S Withdrawal'. " Text
wa_accountpay-w_tax_code = '**'. " Tax Code
APPEND wa_accountpay TO accountpay.
CLEAR wa_accountpay.

*Build account GL data for BAPI
wa_accountgl-itemno_acc = 1. " Line Item Number
wa_accountgl-gl_account = '0000290430'. " GL Account Number
wa_accountgl-comp_code = '0050'. " Company Code
wa_accountgl-pstng_date = '12012006'. " Posting Date
wa_accountgl-doc_type = 'KQ'. " Document Type
wa_accountgl-fisc_year = '2006'. " Fiscal Year
wa_accountgl-fis_period = '12'. " Fiscal Period
wa_accountgl-item_text = ''. " Item Text
APPEND wa_accountgl TO accountgl.
CLEAR wa_accountgl.

*Build currency data for BAPI
wa_curramount-itemno_acc = 1. " Line Item Number
wa_curramount-curr_type = '00'. " Currency Type
wa_curramount-currency = 'USD'. " Currency Key
wa_curramount-currency_iso = 'USD'. " ISO Code
wa_curramount-amt_doccur = '-3750.00'. " Amount
wa_curramount-amt_base = '5000.00'. " Base Amount
APPEND wa_curramount TO curramount.
CLEAR wa_curramount.

ENDFORM. " build_bapi_parameters

*&---------------------------------------------------------------------*
*& Form build_bapi_parameters2
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM build_bapi_parameters2.

*Build account GL data for BAPI
wa_accountgl-itemno_acc = 2. " Line Item Number
wa_accountgl-gl_account = '0000720300'. " GL Account Number
wa_accountgl-comp_code = '0050'. " Company Code
wa_accountgl-pstng_date = '12012006'. " Posting Date
wa_accountgl-doc_type = 'KQ'. " Document Type
wa_accountgl-fisc_year = '2006'. " Fiscal Year
wa_accountgl-fis_period = '12'. " Fiscal Period
wa_accountgl-item_text = ''. " Item Text
APPEND wa_accountgl TO accountgl.
CLEAR wa_accountgl.

*Build currency data for BAPI
wa_curramount-itemno_acc = 2. " Line Item Number
wa_curramount-curr_type = '00'. " Currency Type
wa_curramount-currency = 'USD'. " Currency Key
wa_curramount-currency_iso = 'USD'. " ISO Code
wa_curramount-amt_doccur = '5000.00'. " Amount
wa_curramount-amt_base = ''. " Base Amount
APPEND wa_curramount TO curramount.
CLEAR wa_curramount.

ENDFORM. " build_bapi_parameters

*&---------------------------------------------------------------------*
*& Form build_bapi_parameters3
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*

FORM build_bapi_parameters3.

*Build account GL data for BAPI
wa_accountgl-itemno_acc = 3. " Line Item Number
wa_accountgl-gl_account = '0000256166'. " GL Account Number
wa_accountgl-comp_code = '0050'. " Company Code
wa_accountgl-pstng_date = '12012006'. " Posting Date
wa_accountgl-doc_type = 'KQ'. " Document Type
wa_accountgl-fisc_year = '2006'. " Fiscal Year
wa_accountgl-fis_period = '12'. " Fiscal Period
wa_accountgl-item_text = ''. " Item Text
APPEND wa_accountgl TO accountgl.
CLEAR wa_accountgl.

*Build currency data for BAPI
wa_curramount-itemno_acc = 3. " Line Item Number
wa_curramount-curr_type = '00'. " Currency Type
wa_curramount-currency = 'USD'. " Currency Key
wa_curramount-currency_iso = 'USD'. " ISO Code
wa_curramount-amt_doccur = '-1000.00'. " Amount
wa_curramount-amt_base = ''. " Base Amount
APPEND wa_curramount TO curramount.
CLEAR wa_curramount.

ENDFORM. " build_bapi_parameters

*&---------------------------------------------------------------------*
*& Form build_bapi_parameters4
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM build_bapi_parameters4.

*Build account GL data for BAPI
wa_accountgl-itemno_acc = 4. " Line Item Number
wa_accountgl-gl_account = '0000256167'. " GL Account Number
wa_accountgl-comp_code = '0050'. " Company Code
wa_accountgl-pstng_date = '12012006'. " Posting Date
wa_accountgl-doc_type = 'KQ'. " Document Type
wa_accountgl-fisc_year = '2006'. " Fiscal Year
wa_accountgl-fis_period = '12'. " Fiscal Period
wa_accountgl-item_text = ''. " Item Text
APPEND wa_accountgl TO accountgl.
CLEAR wa_accountgl.

*Build currency data for BAPI
wa_curramount-itemno_acc = 4. " Line Item Number
wa_curramount-curr_type = '00'. " Currency Type
wa_curramount-currency = 'USD'. " Currency Key
wa_curramount-currency_iso = 'USD'. " ISO Code
wa_curramount-amt_doccur = '-250.00'. " Amount
wa_curramount-amt_base = ''. " Base Amount
APPEND wa_curramount TO curramount.
CLEAR wa_curramount.

ENDFORM. " build_bapi_parameters

*&---------------------------------------------------------------------*
*& Form update_gl
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM update_gl.

CALL FUNCTION 'BAPI_ACC_INVOICE_RECEIPT_POST'
EXPORTING
documentheader = docheader
IMPORTING
obj_type = obj_type
obj_key = obj_key
obj_sys = obj_sys
TABLES
accountpayable = accountpay
accountgl = accountgl
accounttax = accounttax
currencyamount = curramount
return = return
extension1 = extension1.

LOOP AT return INTO wa_return.
WRITE: / 'Return Type: ', wa_return-type.
WRITE: / 'Return ID: ', wa_return-id.
WRITE: / 'Return #: ', wa_return-number.
WRITE: / 'Message 1: ', wa_return-message.
WRITE: / 'Message 2: ', wa_return-message_v1.
WRITE: / 'Message 3: ', wa_return-message_v2.
WRITE: / 'Parameter: ', wa_return-parameter.
WRITE: / 'Row: ', wa_return-row.
WRITE: / 'Field: ', wa_return-field.
WRITE: / 'System: ', wa_return-system.
SKIP.
ULINE.
SKIP.
ENDLOOP.

* CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
* EXPORTING
* wait = wait
* IMPORTING
* return = comm_return.
*
* REFRESH: accountgl, curramount, return, extension1.
* CLEAR: docheader.


ENDFORM. " update_gl

END-OF-SELECTION.
源码地址: https://pan.quark.cn/s/d1f41682e390 miyoubiAuto 米游社每日米游币自动化Python脚本(务必使用Python3) 8更新:更换cookie的获取地址 注意:禁止在B站、贴吧、或各大论坛大肆传播! 作者已退游,项目不维护了。 如果有能力的可以pr修复。 小引一波 推荐关注几个非常可爱有趣的女孩! 欢迎B站搜索: @嘉然今天吃什么 @向晚大魔王 @乃琳Queen @贝拉kira 第三方库 食用方法 下载源码 在Global.py中设置米游社Cookie 运行myb.py 本地第一次运行时会自动生产一个文件储存cookie,请勿删除 当前仅支持单个账号! 获取Cookie方法 浏览器无痕模式打开 http://user.mihoyo.com/ ,登录账号 按,打开,找到并点击 按刷新页面,按下图复制 Cookie: How to get mys cookie 当触发时,可尝试按关闭,然后再次刷新页面,最后复制 Cookie。 也可以使用另一种方法: 复制代码 浏览器无痕模式打开 http://user.mihoyo.com/ ,登录账号 按,打开,找到并点击 控制台粘贴代码并运行,获得类似的输出信息 部分即为所需复制的 Cookie,点击确定复制 部署方法--腾讯云函数版(推荐! ) 下载项目源码和压缩包 进入项目文件夹打开命令行执行以下命令 xxxxxxx为通过上面方式或取得米游社cookie 一定要用双引号包裹!! 例如: png 复制返回内容(包括括号) 例如: QQ截图20210505031552.png 登录腾讯云函数官网 选择函数服务-新建-自定义创建 函数名称随意-地区随意-运行环境Python3....
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值