SAP 创建资产卡片BAPI:BAPI_FIXEDASSET_CREATE1

创建资产卡片
BAPI:BAPI_FIXEDASSET_CREATE1
以下代码供参考:

"BAPI导入参数
DATA:LS_KEY                  LIKE  BAPI1022_KEY,         "要创建的关键字字段
     LS_REFERENCE            LIKE  BAPI1022_REFERENCE,   "创建的参考资产
     LV_CREATESUBNUMBER      LIKE  BAPI1022_MISC-XSUBNO, "检查框 - 创建子编号
     LV_POSTCAP              LIKE  BAPI1022_MISC-POSTCAP, "标记:dynpro的资产资本化期后
     LV_CREATEGROUPASSET     LIKE  BAPI1022_MISC-XANLGR, "标识:资产是集团公司资产
     LV_TESTRUN              LIKE  BAPI1022_MISC-TESTRUN, "切换到编写 BAPI 的模拟会话
     LS_GENERALDATA          LIKE  BAPI1022_FEGLG001,    "逻辑字段组 001 - 通用数据
     LS_GENERALDATAX         LIKE  BAPI1022_FEGLG001X,
     LS_INVENTORY            LIKE  BAPI1022_FEGLG011,
     LS_INVENTORYX           LIKE  BAPI1022_FEGLG011X,
     LS_POSTINGINFORMATION   LIKE  BAPI1022_FEGLG002,
     LS_POSTINGINFORMATIONX  LIKE  BAPI1022_FEGLG002X,
     LS_TIMEDEPENDENTDATA    LIKE  BAPI1022_FEGLG003,
     LS_TIMEDEPENDENTDATAX   LIKE  BAPI1022_FEGLG003X,
     LS_ALLOCATIONS          LIKE  BAPI1022_FEGLG004,
     LS_ALLOCATIONSX         LIKE  BAPI1022_FEGLG004X,
     LS_ORIGIN               LIKE  BAPI1022_FEGLG009,
     LS_ORIGINX              LIKE  BAPI1022_FEGLG009X,
     LS_INVESTACCTASSIGNMNT  LIKE  BAPI1022_FEGLG010,
     LS_INVESTACCTASSIGNMNTX LIKE  BAPI1022_FEGLG010X,
     LS_NETWORTHVALUATION    LIKE  BAPI1022_FEGLG006,
     LS_NETWORTHVALUATIONX   LIKE  BAPI1022_FEGLG006X,
     LS_REALESTATE           LIKE  BAPI1022_FEGLG007,
     LS_REALESTATEX          LIKE  BAPI1022_FEGLG007X,
     LS_INSURANCE            LIKE  BAPI1022_FEGLG008,
     LS_INSURANCEX           LIKE  BAPI1022_FEGLG008X,
     LS_LEASING              LIKE  BAPI1022_FEGLG005,
     LS_LEASINGX             LIKE  BAPI1022_FEGLG005X,
     LS_GLO_TIME_DEP         LIKE  BAPI1022_GLO_TIME_DEP.
"BAPI导出参数
DATA:LV_COMPANYCODE  LIKE  BAPI1022_1-COMP_CODE, "公司代码
     LV_ASSET        LIKE  BAPI1022_1-ASSETMAINO, "主资产号
     LV_SUBNUMBER    LIKE  BAPI1022_1-ASSETSUBNO, "资产次级编号
     LS_ASSETCREATED LIKE  BAPI1022_REFERENCE,   "创建的参考资产
     LS_RETURN       LIKE  BAPIRET2.             "返回参数
"BAPI表参数
DATA: LT_DEPRECIATIONAREAS  LIKE  STANDARD TABLE OF BAPI1022_DEP_AREAS,
      LT_DEPRECIATIONAREASX LIKE  STANDARD TABLE OF BAPI1022_DEP_AREASX,
      LT_INVESTMENT_SUPPORT LIKE  STANDARD TABLE OF BAPI1022_INV_SUPPORT,
      LT_EXTENSIONIN        LIKE  STANDARD TABLE OF BAPIPAREX.
DATA: LS_DEPRECIATIONAREAS  LIKE  BAPI1022_DEP_AREAS,
      LS_DEPRECIATIONAREASX LIKE  BAPI1022_DEP_AREASX,
      LS_INVESTMENT_SUPPORT LIKE  BAPI1022_INV_SUPPORT,
      LS_EXTENSIONIN        LIKE  BAPIPAREX.
DATA: LS_ANLU                TYPE BAPI_TE_ANLU.


DATA: LT_DATA TYPE TABLE OF TY_ALV.
DATA: LS_DATA TYPE TY_ALV.

LT_DATA[] = GT_ALV[].
DELETE LT_DATA WHERE SEL NE 'X'.
DELETE LT_DATA WHERE ICON NE ''. "状态灯不为空说明校验不通过

LOOP AT LT_DATA ASSIGNING FIELD-SYMBOL(<LW_DATA>).
  "清空BAPI参数
  CLEAR:LS_KEY,LS_REFERENCE,LV_CREATESUBNUMBER,LV_POSTCAP,LV_CREATEGROUPASSET,LV_TESTRUN,
  LS_GENERALDATA,LS_GENERALDATAX,LS_INVENTORY,LS_INVENTORYX,LS_POSTINGINFORMATION, LS_POSTINGINFORMATIONX,
  LS_TIMEDEPENDENTDATA,LS_TIMEDEPENDENTDATAX,LS_ALLOCATIONS,LS_ALLOCATIONSX,LS_ORIGIN,LS_ORIGINX,
  LS_INVESTACCTASSIGNMNT,LS_INVESTACCTASSIGNMNTX,LS_NETWORTHVALUATION,LS_NETWORTHVALUATIONX,LS_REALESTATE,LS_REALESTATEX,
  LS_INSURANCE,LS_INSURANCEX,LS_LEASING,LS_LEASINGX,LS_GLO_TIME_DEP.
  CLEAR:LV_COMPANYCODE,LV_ASSET,LV_SUBNUMBER,LS_ASSETCREATED,LS_RETURN.
  CLEAR:LS_DEPRECIATIONAREAS,LS_DEPRECIATIONAREASX,LS_INVESTMENT_SUPPORT,LS_EXTENSIONIN.
  FREE:LT_DEPRECIATIONAREAS,LT_DEPRECIATIONAREASX,LT_INVESTMENT_SUPPORT,LT_EXTENSIONIN.

  "BAPI资产编号赋值
* Company code
  LS_KEY-COMPANYCODE = <LW_DATA>-BUKRS.

* Asset class
  CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
    EXPORTING
      INPUT  = <LW_DATA>-ANLKL
    IMPORTING
      OUTPUT = LS_GENERALDATA-ASSETCLASS. "资产分类

*    LS_GENERALDATA-ASSETCLASS = LV_ANLKL."资产分类
  LS_GENERALDATAX-ASSETCLASS = 'X'.

***** Required fields - General Mills *****
* Asset Description
  LS_GENERALDATA-DESCRIPT = <LW_DATA>-TXT50."资产描述
  LS_GENERALDATAX-DESCRIPT = 'X'.

* Cost center
  CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
    EXPORTING
      INPUT  = <LW_DATA>-KOSTL
    IMPORTING
      OUTPUT = LS_TIMEDEPENDENTDATA-COSTCENTER. "成本中心
*    LS_TIMEDEPENDENTDATA-COSTCENTER = <LW_DATA>-KOSTL.
  LS_TIMEDEPENDENTDATAX-COSTCENTER = 'X'.

* Cost center responsible for asset
  CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
    EXPORTING
      INPUT  = <LW_DATA>-KOSTLV
    IMPORTING
      OUTPUT = LS_TIMEDEPENDENTDATA-RESP_CCTR. "责任成本中心
*    LS_TIMEDEPENDENTDATA-RESP_CCTR = <LW_DATA>-KOSTLV.
  LS_TIMEDEPENDENTDATAX-RESP_CCTR = 'X'.

***** Optional fields *****
* Asset Description 2
  LS_GENERALDATA-DESCRIPT2 = <LW_DATA>-TXA50."附加资产描述
  LS_GENERALDATAX-DESCRIPT2 = 'X'.

* Serial number
  LS_GENERALDATA-SERIAL_NO = <LW_DATA>-SERNR.
  LS_GENERALDATAX-SERIAL_NO = 'X'.

  LS_GENERALDATA-MAIN_DESCRIPT = <LW_DATA>-ANLHTXT."资产主号说明
  LS_GENERALDATAX-MAIN_DESCRIPT = 'X'.

  LS_GENERALDATA-QUANTITY = <LW_DATA>-MENGE."数量
  LS_GENERALDATAX-QUANTITY = 'X'.

  LS_GENERALDATA-BASE_UOM = 'EA'."单位
  LS_GENERALDATAX-BASE_UOM = 'X'.

  "资产使用状态
*    LS_ALLOCATIONS-EVALGROUP1 = '10'."资产使用状态ANLA-ORD41默认10
*    LS_ALLOCATIONSX-EVALGROUP1 = 'X'.

  "供应商科目编号(其他关键字)
  LS_ORIGIN-VENDOR_NO = <LW_DATA>-LIFNR.
  LS_ORIGINX-VENDOR_NO = 'X'.

  "增强字段传值
*    CLEAR LS_ANLU.
*    LS_ANLU-COMP_CODE       = <LW_DATA>-BUKRS. "公司
*    LS_ANLU-ZSTATUS         = '01'. "资产状态
*    LS_EXTENSIONIN-STRUCTURE = 'BAPI_TE_ANLU'.
*    LS_EXTENSIONIN-VALUEPART1 = LS_ANLU.
*    APPEND LS_EXTENSIONIN TO LT_EXTENSIONIN.

  CALL FUNCTION 'BAPI_FIXEDASSET_CREATE1'
    EXPORTING
      KEY                  = LS_KEY
      REFERENCE            = LS_REFERENCE
      CREATESUBNUMBER      = LV_CREATESUBNUMBER
      POSTCAP              = LV_POSTCAP
      CREATEGROUPASSET     = LV_CREATEGROUPASSET
      TESTRUN              = LV_TESTRUN
      GENERALDATA          = LS_GENERALDATA
      GENERALDATAX         = LS_GENERALDATAX
      INVENTORY            = LS_INVENTORY
      INVENTORYX           = LS_INVENTORYX
      POSTINGINFORMATION   = LS_POSTINGINFORMATION
      POSTINGINFORMATIONX  = LS_POSTINGINFORMATIONX
      TIMEDEPENDENTDATA    = LS_TIMEDEPENDENTDATA
      TIMEDEPENDENTDATAX   = LS_TIMEDEPENDENTDATAX
      ALLOCATIONS          = LS_ALLOCATIONS
      ALLOCATIONSX         = LS_ALLOCATIONSX
      ORIGIN               = LS_ORIGIN
      ORIGINX              = LS_ORIGINX
      INVESTACCTASSIGNMNT  = LS_INVESTACCTASSIGNMNT
      INVESTACCTASSIGNMNTX = LS_INVESTACCTASSIGNMNTX
      NETWORTHVALUATION    = LS_NETWORTHVALUATION
      NETWORTHVALUATIONX   = LS_NETWORTHVALUATIONX
      REALESTATE           = LS_REALESTATE
      REALESTATEX          = LS_REALESTATEX
      INSURANCE            = LS_INSURANCE
      INSURANCEX           = LS_INSURANCEX
      LEASING              = LS_LEASING
      LEASINGX             = LS_LEASINGX
      GLO_TIME_DEP         = LS_GLO_TIME_DEP
    IMPORTING
      COMPANYCODE          = LV_COMPANYCODE
      ASSET                = LV_ASSET
      SUBNUMBER            = LV_SUBNUMBER
      ASSETCREATED         = LS_ASSETCREATED
      RETURN               = LS_RETURN
    TABLES
      DEPRECIATIONAREAS    = LT_DEPRECIATIONAREAS
      DEPRECIATIONAREASX   = LT_DEPRECIATIONAREASX
      INVESTMENT_SUPPORT   = LT_INVESTMENT_SUPPORT
      EXTENSIONIN          = LT_EXTENSIONIN.

  IF LS_RETURN-TYPE = 'S'.
    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
      EXPORTING
        WAIT = 'X'.
  ELSE.
    CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
  ENDIF.
ENDLOOP.

OVER…

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值