AMBA 手工折旧 改价值 BAPI_ASSET_VALUE_ADJUST_POST
不支持BDC,只能BAPIdata:lt_ztfi034bliketableofztfi034bwithheaderline.dataorigindocreferencetypebapifapo_doc_ref.datageneralpostingdatatypebapifapo_gen_info.datavalueadjustdatatypebapifapo_value_adjustment.d
不支持BDC,只能BAPI
data:
lt_ztfi034b like table of ztfi034b with header line.
data origindocreference type bapifapo_doc_ref.
data generalpostingdata type bapifapo_gen_info.
data valueadjustdata type bapifapo_value_adjustment.
data accountassignments type bapifapo_acc_ass.
data furtherpostingdata type bapifapo_add_info.
data documentreference type bapifapo_doc_ref.
data return type bapiret2.
data adjustareavalues type standard table of bapifapo_areavalues.
data return_all type standard table of bapiret2.
loop at gt_alv where sel = 'X'.
clear:origindocreference,generalpostingdata,valueadjustdata,documentreference,return,
return_all,return_all[].
origindocreference-obj_type = 'AMBU'.
generalpostingdata-username = sy-uname.
generalpostingdata-doc_type = 'AF'.
generalpostingdata-doc_date = sy-datum.
generalpostingdata-pstng_date = sy-datum.
generalpostingdata-fis_period = p_monat.
generalpostingdata-trans_date = sy-datum.
generalpostingdata-comp_code = gt_alv-bukrs.
generalpostingdata-assetmaino = gt_alv-anln1.
generalpostingdata-assetsubno = gt_alv-anln2.
if gt_alv-aktiv(4) = sy-datum(4).
generalpostingdata-assettrtyp = '610'.
else.
generalpostingdata-assettrtyp = '600'.
endif.
generalpostingdata-depr_area = gt_alv-afabe. "折旧范围
if gt_alv-afabe = '1'. "帐面折旧
generalpostingdata-ledger_group = '0L'.
generalpostingdata-acc_principle = 'GAAP'.
elseif gt_alv-afabe = '10'. "IFRS帐面折旧
generalpostingdata-ledger_group = 'Z1'.
generalpostingdata-acc_principle = '60'.
elseif gt_alv-afabe = '11'. "税法折旧
generalpostingdata-ledger_group = 'Z2'.
generalpostingdata-acc_principle = 'TAX'.
endif.
valueadjustdata-amount = gt_alv-mdres.
valueadjustdata-amount_long = gt_alv-mdres.
valueadjustdata-valuedate = sy-datum.
valueadjustdata-currency = gt_alv-waers.
* valueadjustdata-currency_iso = 'CNY'.
call function 'BAPI_ASSET_VALUE_ADJUST_POST'
exporting
origindocreference = origindocreference
generalpostingdata = generalpostingdata
valueadjustdata = valueadjustdata
accountassignments = accountassignments
furtherpostingdata = furtherpostingdata
importing
documentreference = documentreference
return = return
tables
adjustareavalues = adjustareavalues
return_all = return_all.
if documentreference is not initial.
gt_alv-rtype = 'S'.
*READ TABLE return_all INDEX 1.
*gt_alv-rtmsg = return_all-
* gt_alv-rtmsg = '成功'.
gt_alv-creat = 'X'.
call function 'BAPI_TRANSACTION_COMMIT'
exporting
wait = 'X'.
message id return-id type return-type number return-number
with return-message_v1 return-message_v2
return-message_v3 return-message_v4
into data(lv_msg).
move-corresponding gt_alv to lt_ztfi034b.
lt_ztfi034b-gjahr = p_gjahr.
lt_ztfi034b-monat = p_monat.
append lt_ztfi034b.
else.
call function 'BAPI_TRANSACTION_ROLLBACK'.
gt_alv-rtype = 'E'.
message id return-id type return-type number return-number
with return-message_v1 return-message_v2
return-message_v3 return-message_v4
into lv_msg.
gt_alv-rtmsg = lv_msg.
endif.
modify gt_alv.
endloop.
if lt_ztfi034b[] is not initial.
modify ztfi034b from table lt_ztfi034b.
endif.
更多推荐
所有评论(0)