BDCをサポートせず、BAPIのみをサポートします
データ:
lt_ztfi034bは、ヘッダー行のあるztfi034bのテーブルのようなものです。
データorigindocreferenceタイプbapifapo_doc_ref。
データgeneralpostingdataタイプbapifapo_gen_info。
datavalueadjustdataタイプbapifapo_value_adjustment。
データアカウント割り当てタイプbapifapo_acc_ass。
データさらに投稿データタイプbapifapo_add_info。
データドキュメント参照タイプbapifapo_doc_ref。
データの戻り値の型bapiret2。
データadjustareavaluesタイプbapifapo_areavaluesの標準テーブル。
bapiret2のデータreturn_allタイプの標準テーブル。
gt_alvでループします。ここで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。
gt_alv-active(4)= sy-date(4)の場合。
generalpostingdata-assettrtyp = '610'。
そうしないと。
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'。
関数 'BAPI_ASSET_VALUE_ADJUST_POST'を呼び出します
エクスポート
origindocreference = origindocreference
generalpostingdata = generalpostingdata
valueadjustdata = valueadjustdata
accountassignments = accountassignments
morepostingdata = morepostingdata
インポート
documentreference = documentreference
リターン=リターン
テーブル
Adjustareavalues = Adjustareavalues
return_all = return_all。
documentreferenceが初期でない場合。
gt_alv-rtype = 'S'。
* READ TABLE return_all INDEX1。
* gt_alv-rtmsg = return_all-
* gt_alv-rtmsg = '成功'。
gt_alv-creat = 'X'。
関数 'BAPI_TRANSACTION_COMMIT'を呼び出す
エクスポート
待機= 'X'。
メッセージID戻り値の型タイプ戻り値の型番号戻り値の数
return-message_v1を使用return-message_v2
return-message_v3 return-message_v4
data(lv_msg)に。
移動-対応するgt_alvをlt_ztfi034bに。
lt_ztfi034b-gjahr = p_gjahr。
lt_ztfi034b-月= p_month。
lt_ztfi034bを追加します。
そうしないと。
関数 'BAPI_TRANSACTION_ROLLBACK'を呼び出します。
gt_alv-rtype = 'E'。
メッセージID戻り値の型タイプ戻り値の型番号戻り値の数
return-message_v1を使用return-message_v2
return-message_v3 return-message_v4
lv_msgに。
gt_alv-rtmsg = lv_msg。
endif。
gt_alvを変更します。
エンドループ。
lt_ztfi034b []が初期値でない場合。
テーブルlt_ztfi034bからztfi034bを変更します。
endif。