FORM frm_retire_asset USING p_bukrs
p_anlnr
CHANGING p_ud_ret
p_ud_msg
p_belnr.
DATA: l_gdata TYPE bapifapo_gen_info,
l_retire TYPE bapifapo_ret,
l_info TYPE bapifapo_add_info,
l_ref TYPE bapifapo_doc_ref,
l_return TYPE bapiret2.
l_gdata-doc_type = 'AA'.
l_gdata-doc_date = g_doc_date.
l_gdata-pstng_date = g_doc_date.
* l_gdata-trans_date = g_doc_date.
l_gdata-comp_code = p_bukrs.
l_gdata-assetmaino = p_anlnr.
l_gdata-assetsubno = '0000'.
l_gdata-assettrtyp = '200'. "报废业务类型
l_retire-compl_ret = 'X'.
l_retire-valuedate = g_doc_date.
l_info-header_txt = '技改资产报废'.
l_info-item_text = '技改资产报废'.
CALL FUNCTION 'BAPI_ASSET_RETIREMENT_POST'
EXPORTING
generalpostingdata = l_gdata
retirementdata = l_retire
furtherpostingdata = l_info
IMPORTING
return = l_return.
IF l_return-type = 'S'.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
p_ud_ret = c_ret_ok.
p_ud_msg = '已报废资产'.
p_belnr = l_return-message_v2.
ELSE.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
p_ud_ret = c_ret_fail.
p_ud_msg = l_return-message.
ENDIF.
ENDFORM. " FRM_RETIRE_ASSET
本文详细介绍了在SAP系统中实现资产报废的程序逻辑,包括设置资产文档类型、日期、公司代码等,并通过调用BAPI_ASSET_RETIREMENT_POST函数进行资产报废处理,最后根据返回状态决定是否提交或回滚交易。

2272

被折叠的 条评论
为什么被折叠?



