资产卡片批导

资产卡片批导

BAPI:BAPI_FIXEDASSET_CREATE1

  DATA: ls_key                TYPE bapi1022_key,
        ls_generaldata        TYPE bapi1022_feglg001,
        ls_generaldatax       TYPE bapi1022_feglg001x,
        ls_timedependentdata  TYPE bapi1022_feglg003,
        ls_timedependentdatax TYPE bapi1022_feglg003x,
        ls_depreciationareas  TYPE bapi1022_dep_areas,
        lt_depreciationareas  TYPE STANDARD TABLE OF bapi1022_dep_areas,
        ls_depreciationareasx TYPE bapi1022_dep_areasx,
        lt_depreciationareasx TYPE STANDARD TABLE OF bapi1022_dep_areasx,
        origin                TYPE bapi1022_feglg009,
        originx               TYPE bapi1022_feglg009x,
        ls_return             TYPE bapiret2.
*         (3)   TYPE c,        "使用年限
*         (3)   TYPE c,        "使用年限
  "进度条变量
  DATA lv_daorunum TYPE int4 VALUE 0.
  DATA lv_allline TYPE int4 VALUE 0.
  DESCRIBE TABLE gt_data LINES lv_allline.
*  BREAK-POINT.
  LOOP AT gt_data INTO gs_data WHERE status = '2' OR status = '1'. "未导入,导入错误的允许再次导入
    ls_key-companycode = gs_data-bukrs. "公司代码
    PERFORM frm_alpha_in USING gs_data-anln1 CHANGING ls_key-asset. "主资产编号
    ls_key-subnumber = gs_data-anln2. "次资产编号

    PERFORM frm_alpha_in USING gs_data-anlkl CHANGING ls_generaldata-assetclass. "资产分类
*    ls_generaldata-assetclass = gs_data-anlkl. "资产分类
    ls_generaldata-descript   = gs_data-txt50. "资产描述
    ls_generaldata-descript2  = gs_data-txa50. "资产描述2
    ls_generaldata-main_descript  = gs_data-anlhtxt. "资产主号文本
    ls_generaldata-serial_no  = gs_data-sernr. "序列号
    ls_generaldata-invent_no  = gs_data-invnr. "存货号
    CALL FUNCTION 'CHECK_AND_CONVERT_NUMERICS' "数量
      EXPORTING
        dmzei        = '.'
        dtype        = 'QUAN'
        efeld        = gs_data-menge
        imp_decimals = '3'
      IMPORTING
*       ERROR        =
        ifeld        = ls_generaldata-quantity.
    ls_generaldata-base_uom  = gs_data-meins. "单位

    ls_generaldatax-assetclass = abap_true. "资产分类
    ls_generaldatax-descript   = abap_true. "资产描述
    ls_generaldatax-descript2  = abap_true. "资产描述2
    ls_generaldatax-main_descript  = abap_true. "资产主号文本
    ls_generaldatax-serial_no  = abap_true. "序列号
    ls_generaldatax-invent_no  = abap_true. "存货号
    ls_generaldatax-quantity  = abap_true. "数量
    ls_generaldatax-base_uom  = abap_true. "单位

    ls_timedependentdata-costcenter = gs_data-kostl. "成本中心
    ls_timedependentdata-intern_ord = gs_data-caufn. "内部订单
    ls_timedependentdata-plate_no   = gs_data-plate_no. "执行牌照
    ls_timedependentdata-room       = gs_data-raumn. "房间

    ls_timedependentdatax-costcenter = abap_true. "成本中心
    ls_timedependentdatax-intern_ord = abap_true. "内部订单
    ls_timedependentdatax-license_plate_no   = abap_true. "执行牌照
    ls_timedependentdatax-room       = abap_true. "房间

*********************************************************************
    IF gs_data-afasl IS NOT INITIAL.

      ls_depreciationareas-area = '01'.  "范围编号
*    ls_depreciationareas-dep_key = 'Z01'. "折旧码
      ls_depreciationareas-dep_key = gs_data-afasl. "折旧码

      ls_depreciationareas-ulife_yrs = gs_data-ndjar. "使用年限
      ls_depreciationareas-ulife_prds = gs_data-ndper. "使用期间
      ls_depreciationareas-sdep_start_date = gs_data-safbg. "特殊折旧开始日期
      ls_depreciationareas-odep_start_date = gs_data-safbg. "普通折旧开始日期
      APPEND ls_depreciationareas TO lt_depreciationareas.
      CLEAR ls_depreciationareas.

      ls_depreciationareasx-area = '01'.  "范围编号
      ls_depreciationareasx-dep_key = abap_true. "折旧码
      ls_depreciationareasx-ulife_yrs = abap_true. "使用年限
      ls_depreciationareasx-ulife_prds = abap_true. "使用期间
      ls_depreciationareasx-sdep_start_date = abap_true. "折旧开始日期
      ls_depreciationareasx-odep_start_date = abap_true. "折旧开始日期
      APPEND ls_depreciationareasx TO lt_depreciationareasx.
      CLEAR ls_depreciationareasx.
    ENDIF.
*********************************************************************
*新增写入供应商
    origin-vendor_no  = gs_data-lifnr.
    originx-vendor_no = 'X'.
*************************************************************************

    CALL FUNCTION 'BAPI_FIXEDASSET_CREATE1'
      EXPORTING
        key                = ls_key
*       REFERENCE          =
*       CREATESUBNUMBER    =
*       POSTCAP            =
*       CREATEGROUPASSET   =
*       TESTRUN            =
        generaldata        = ls_generaldata
        generaldatax       = ls_generaldatax
*       INVENTORY          =
*       INVENTORYX         =
*       POSTINGINFORMATION =
*       POSTINGINFORMATIONX        =
        timedependentdata  = ls_timedependentdata
        timedependentdatax = ls_timedependentdatax
*       ALLOCATIONS        =
*       ALLOCATIONSX       =
        origin             = origin
        originx            = originx
*       INVESTACCTASSIGNMNT        =
*       INVESTACCTASSIGNMNTX       =
*       NETWORTHVALUATION  =
*       NETWORTHVALUATIONX =
*       REALESTATE         =
*       REALESTATEX        =
*       INSURANCE          =
*       INSURANCEX         =
*       LEASING            =
*       LEASINGX           =
*       GLO_RUS_GEN        =
*       GLO_RUS_GENX       =
*       GLO_RUS_PTX        =
*       GLO_RUS_PTXX       =
*       GLO_RUS_TTX        =
*       GLO_RUS_TTXX       =
*       GLO_IN_GEN         =
*       GLO_IN_GENX        =
*       GLO_JP_ANN16       =
*       GLO_JP_ANN16X      =
*       GLO_JP_PTX         =
*       GLO_JP_PTXX        =
*       GLO_TIME_DEP       =
*       GLO_RUS_GENTD      =
*       GLO_RUS_GENTDX     =
*       GLO_RUS_PTXTD      =
*       GLO_RUS_PTXTDX     =
*       GLO_RUS_TTXTD      =
*       GLO_RUS_TTXTDX     =
*       GLO_JP_IMPTD       =
*       GLO_JP_IMPTDX      =
      IMPORTING
*       COMPANYCODE        =
*       ASSET              =
*       SUBNUMBER          =
*       ASSETCREATED       =
        return             = ls_return
      TABLES
        depreciationareas  = lt_depreciationareas
        depreciationareasx = lt_depreciationareasx
*       INVESTMENT_SUPPORT =
*       EXTENSIONIN        =
      .
    IF ls_return-type = 'S'.
      COMMIT WORK AND WAIT.
      gs_data-msg01 = ls_return-message_v1.
      PERFORM frm_fb01 USING gs_data.
    ELSE.
      ROLLBACK WORK.
      gs_data-msg01 = ls_return-message.
      gs_data-status = '1'.
    ENDIF.
    MODIFY gt_data FROM gs_data.
    CLEAR gs_data.
    CLEAR: ls_return,lt_depreciationareas,lt_depreciationareasx,ls_key,ls_generaldata,ls_generaldatax,
          ls_timedependentdata,ls_timedependentdatax.
    "进度条
    lv_daorunum = lv_daorunum + 1.
    PERFORM frm_set_msgbar USING lv_daorunum lv_allline '导入完成:'.
  ENDLOOP.

后记:写这些东西只是为了让给自己做个记录。如果你看到了这篇博文希望能对你有那么一点帮助,关于里面的注解只是我自己的理解,不正确的地方,请指出。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值