1.Introduce
Abavn is T-code of foreground . Bapi is BAPI_ASSET_RETIREMENT_POST.
2. BAPI Method.
REPORT ZJGLTEST02.
DATA: ls_generalpostingdata TYPE bapifapo_gen_info,
ls_retirementdata TYPE bapifapo_ret,
ls_doc TYPE bapifapo_doc_ref,
ls_return TYPE bapiret2,
ls_furtherpostingdata TYPE bapifapo_add_info.
DATA: ZDATE TYPE SY-DATUM VALUE '20220325'.
DATA: L_AKTIV TYPE ANLA-AKTIV VALUE '20210504'.
ls_generalpostingdata-username = sy-uname.
ls_generalpostingdata-doc_date = ZDATE."凭证中的凭证日期
ls_generalpostingdata-pstng_date = ZDATE."凭证中的过账日期
ls_generalpostingdata-fis_period = ZDATE+4(2)."会计期间
ls_generalpostingdata-trans_date = ZDATE. "换算日期
ls_generalpostingdata-comp_code = '6800'. "公司代码
ls_generalpostingdata-assetmaino = '000000300000'. "主资产号
ls_generalpostingdata-assetsubno = '0000'.
IF L_AKTIV(4) GT SY-DATUM(4)."当年的用250
ls_generalpostingdata-assettrtyp = '250'.
ELSE.
ls_generalpostingdata-assettrtyp = '200'."往年的用200
ENDIF.
ls_retirementdata-quantity = ''. "数量
ls_retirementdata-valuedate = ZDATE."参考日期
ls_retirementdata-compl_ret = 'X'."标志: 记帐全部报废
ls_retirementdata-base_uom = ''."单位
ls_furtherpostingdata-header_txt = '123456'."将文本写入报废会计凭证的抬头文本
CALL FUNCTION 'BAPI_ASSET_RETIREMENT_POST'
EXPORTING
generalpostingdata = ls_generalpostingdata
retirementdata = ls_retirementdata
furtherpostingdata = ls_furtherpostingdata
IMPORTING
documentreference = ls_doc
return = ls_return.
IF ls_return-type = 'S'.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
IF ls_return-number = '374' AND
ls_return-id = 'AA'.
* c_alv-xblnr = ls_return-message_v2."报废会计凭证号
* c_alv-done = 'X'.
ENDIF.
* c_alv-light = icon_green_light.
* c_alv-msg = ls_return-message.
* ELSE.
* CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
* c_alv-light = icon_red_light.
* c_alv-msg = ls_return-message.
ENDIF.