AMBA manual depreciation change value BAPI_ASSET_VALUE_ADJUST_POST

Does not support BDC, only 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-active (4) = sy-date (4).

      generalpostingdata-assettrtyp = '610'.

    else.

      generalpostingdata-assettrtyp = '600'.

    endif.

 

    generalpostingdata-depr_area = gt_alv-afabe. "Depreciation area

    if gt_alv-afabe = '1'. "Book depreciation

      generalpostingdata-ledger_group = '0L'.

      generalpostingdata-acc_principle = 'GAAP'.

    elseif gt_alv-afabe = '10'. "IFRS book depreciation

      generalpostingdata-ledger_group = 'Z1'.

      generalpostingdata-acc_principle = '60'.

    elseif gt_alv-afabe = '11'. "Tax depreciation

      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 ='Success'.

      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-month = p_month.

      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.

 

Guess you like

Origin blog.csdn.net/cylcylcylcylwo/article/details/114077585