AS01-创建资产卡片

BAPI:BAPI_FIXEDASSET_CREATE1

 DATA:ls_key          LIKE bapi1022_key,
       ls_gendata      LIKE bapi1022_feglg001,
       ls_gendatax     LIKE bapi1022_feglg001x,
       ls_post         TYPE bapi1022_feglg002,
       ls_postx        TYPE bapi1022_feglg002x,
       ls_time         TYPE bapi1022_feglg003,
       ls_timex        TYPE bapi1022_feglg003x,
       lt_depre        TYPE TABLE OF bapi1022_dep_areas,
       ls_depre        TYPE bapi1022_dep_areas,
       lt_deprex       TYPE TABLE OF  bapi1022_dep_areasx,
       ls_deprex       TYPE bapi1022_dep_areasx,
       l_companycode   LIKE bapi1022_1-comp_code,
       l_anln1         LIKE bapi1022_1-assetmaino,
       l_anln2         LIKE bapi1022_1-assetsubno,
       ls_assetcreated LIKE bapi1022_reference,
       ls_return       LIKE bapiret2.

  CLEAR lt_zcsz.
  LOOP AT gt_tab ASSIGNING FIELD-SYMBOL(<fs_tab>).
    CLEAR  :ls_key,ls_gendata,ls_gendatax,l_anln1,l_anln2,ls_return,
            ls_assetcreated,l_companycode,ls_time,ls_timex,ls_post,ls_postx,
            lt_deprex , lt_depre.

*Key Data
    ls_key-companycode = <fs_tab>-bukrs.
    ls_gendata-assetclass      = <fs_tab>-anlkl.
    ls_gendata-descript      = <fs_tab>-txt50.
    ls_gendata-main_descript = <fs_tab>-anlhtxt.
    ls_gendata-base_uom = <fs_tab>-meins.

    ls_gendatax-assetclass      = 'X'.
    ls_gendatax-descript        = 'X'.
    ls_gendatax-main_descript   = 'X'.
    ls_gendatax-base_uom   = 'X'.

*资产资本化日期
    ls_post-cap_date = <fs_tab>-aktiv.

    ls_postx-cap_date = 'X'.

*成本中心
    ls_time-costcenter = <fs_tab>-kostl.
    ls_timex-costcenter = 'X'.

*折旧范围
    CLEAR:ls_depre,ls_deprex,lt_depre,lt_deprex.
    ls_depre-area = '01'.
    ls_depre-dep_key = 'Z001'."折旧码
    ls_depre-ulife_yrs = <fs_tab>-ndjar1. "使用年限(总可用年限,剩余年限会自动减购置日期计算,普通折旧开始日期会根据期间和折旧码计算)
    ls_depre-ulife_prds = <fs_tab>-ndper1.
    APPEND ls_depre TO lt_depre.

    ls_depre-area = '20'.
    ls_depre-dep_key = 'Z001'."折旧码
    ls_depre-ulife_yrs = <fs_tab>-ndjar2. "使用年限(总可用年限,剩余年限会自动减购置日期计算,普通折旧开始日期会根据期间和折旧码计算)
    ls_depre-ulife_prds = <fs_tab>-ndper2.
    APPEND ls_depre TO lt_depre.

    ls_depre-area = '30'.
    ls_depre-dep_key = 'Z001'."折旧码
    ls_depre-ulife_yrs = <fs_tab>-ndjar3. "使用年限(总可用年限,剩余年限会自动减购置日期计算,普通折旧开始日期会根据期间和折旧码计算)
    ls_depre-ulife_prds = <fs_tab>-ndper3.
    APPEND ls_depre TO lt_depre.


    ls_deprex-area = '01'.
    ls_deprex-dep_key = 'X'."折旧码
    ls_deprex-ulife_yrs = 'X'. "使用年限(总可用年限,剩余年限会自动减购置日期计算,普通折旧开始日期会根据期间和折旧码计算)
    ls_deprex-ulife_prds = 'X'.
    APPEND ls_deprex TO lt_deprex.

    ls_deprex-area = '20'.
    ls_deprex-dep_key = 'X'."折旧码
    ls_deprex-ulife_yrs = 'X'. "使用年限(总可用年限,剩余年限会自动减购置日期计算,普通折旧开始日期会根据期间和折旧码计算)
    ls_deprex-ulife_prds = 'X'.
    APPEND ls_deprex TO lt_deprex.

    ls_deprex-area = '30'.
    ls_deprex-dep_key = 'X'."折旧码
    ls_deprex-ulife_yrs = 'X'. "使用年限(总可用年限,剩余年限会自动减购置日期计算,普通折旧开始日期会根据期间和折旧码计算)
    ls_deprex-ulife_prds = 'X'.
    APPEND ls_deprex TO lt_deprex.



    CALL FUNCTION 'BAPI_FIXEDASSET_CREATE1'
      EXPORTING
        key                 = ls_key
        generaldata         = ls_gendata
        generaldatax        = ls_gendatax
        timedependentdata   = ls_time
        timedependentdatax  = ls_timex
        postinginformation  = ls_post
        postinginformationx = ls_postx
      IMPORTING
        companycode         = l_companycode
        asset               = l_anln1
        subnumber           = l_anln2
        assetcreated        = ls_assetcreated
        return              = ls_return
      TABLES
        depreciationareas   = lt_depre
        depreciationareasx  = lt_deprex.
    IF ls_return-type CA 'EA' .
      <fs_tab>-status = '@0A@'.
      CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
    ELSE.
      <fs_tab>-status = '@08@'.
      CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
        EXPORTING
          wait = 'X'.
      <fs_tab>-anln1 = l_anln1.

      MOVE-CORRESPONDING <fs_tab> TO ls_zcsz.
      APPEND ls_zcsz TO lt_zcsz.
      CLEAR ls_zcsz.

    ENDIF.
  ENDLOOP.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值