SAP 固定资产调拨BAPI:BAPI_FIXEDASSET_CHANGE

固定资产调拨
BAPI:BAPI_FIXEDASSET_CHANGE
以下代码供参考:

"BAPI导入参数
  DATA: LV_COMPANYCODE          LIKE  BAPI1022_1-COMP_CODE, "公司代码
        LV_ASSET                LIKE  BAPI1022_1-ASSETMAINO, "主资产号
        LV_SUBNUMBER            LIKE  BAPI1022_1-ASSETSUBNO, "资产次级编号
        LV_GROUPASSET           LIKE  BAPI1022_MISC-XANLGR, "标识:资产是集团公司资产
        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, "逻辑字段组003 - 时间相关的数据
        LS_TIMEDEPENDENTDATAX   LIKE  BAPI1022_FEGLG003X,
        LS_ALLOCATIONS          LIKE  BAPI1022_FEGLG004, "逻辑字段组004 - 分配
        LS_ALLOCATIONSX         LIKE  BAPI1022_FEGLG004X,
        LS_ORIGIN               LIKE  BAPI1022_FEGLG009, "逻辑字段组009 - 原件
        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. "Globalization fields: Date interval of time-dependent data
  "BAPI导出参数
  DATA: 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:LV_COMPANYCODE,LV_ASSET,LV_SUBNUMBER,LV_GROUPASSET,
    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:LS_RETURN.
    CLEAR:LS_DEPRECIATIONAREAS,LS_DEPRECIATIONAREASX,LS_INVESTMENT_SUPPORT,LS_EXTENSIONIN.
    FREE:LT_DEPRECIATIONAREAS,LT_DEPRECIATIONAREASX,LT_INVESTMENT_SUPPORT,LT_EXTENSIONIN.

    <LW_DATA>-ANLN1  = |{ <LW_DATA>-ANLN1  ALPHA = IN }|.
    <LW_DATA>-KOSTL  = |{ <LW_DATA>-KOSTL  ALPHA = IN }|.
    <LW_DATA>-KOSTLV = |{ <LW_DATA>-KOSTLV ALPHA = IN }|.

* Company code
    LV_COMPANYCODE = <LW_DATA>-BUKRS.
    LV_ASSET = <LW_DATA>-ANLN1.

    IF <LW_DATA>-ZCHG_ANLZ EQ 'X'.

* Cost center
      LS_TIMEDEPENDENTDATA-COSTCENTER = <LW_DATA>-KOSTL.
      LS_TIMEDEPENDENTDATAX-COSTCENTER = 'X'.

* Cost center responsible for asset
      LS_TIMEDEPENDENTDATA-RESP_CCTR = <LW_DATA>-KOSTLV.
      LS_TIMEDEPENDENTDATAX-RESP_CCTR = 'X'.

      "有效期起始日期
      LS_TIMEDEPENDENTDATA-FROM_DATE = <LW_DATA>-ADATU."有效期起始日期
      LS_TIMEDEPENDENTDATAX-FROM_DATE = 'X'.

      "资产停用
      LS_TIMEDEPENDENTDATA-SHUTDOWN = <LW_DATA>-XSTIL."资产停用
      LS_TIMEDEPENDENTDATAX-SHUTDOWN = 'X'.
    ENDIF.

    IF  <LW_DATA>-ZCHG_ANLU EQ 'X'.
      CLEAR LS_ANLU.
      LS_ANLU-COMP_CODE       = <LW_DATA>-BUKRS.
      LS_ANLU-ASSETMAINO       = <LW_DATA>-ANLN1.
      LS_ANLU-ZSTATUS         = <LW_DATA>-ZSTATUS. "资产状态
      LS_EXTENSIONIN-STRUCTURE = 'BAPI_TE_ANLU'.
      LS_EXTENSIONIN-VALUEPART1 = LS_ANLU.
      APPEND LS_EXTENSIONIN TO LT_EXTENSIONIN.
    ENDIF.

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


    CALL FUNCTION 'BAPI_FIXEDASSET_CHANGE'
      EXPORTING
        COMPANYCODE          = LV_COMPANYCODE
        ASSET                = LV_ASSET
        SUBNUMBER            = LV_SUBNUMBER
        GROUPASSET           = LV_GROUPASSET
        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
        RETURN               = LS_RETURN
      TABLES
        DEPRECIATIONAREAS    = LT_DEPRECIATIONAREAS
        DEPRECIATIONAREASX   = LT_DEPRECIATIONAREASX
        INVESTMENT_SUPPORT   = LT_INVESTMENT_SUPPORT
        EXTENSIONIN          = LT_EXTENSIONIN.
    IF SY-SUBRC EQ 0.
      IF LS_RETURN-TYPE EQ 'S'.
        CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
          EXPORTING
            WAIT = 'X'.

        CALL FUNCTION 'MESSAGE_TEXT_BUILD'
          EXPORTING
            MSGID               = LS_RETURN-ID
            MSGNR               = LS_RETURN-NUMBER
            MSGV1               = LS_RETURN-MESSAGE_V1
            MSGV2               = LS_RETURN-MESSAGE_V2
            MSGV3               = LS_RETURN-MESSAGE_V3
            MSGV4               = LS_RETURN-MESSAGE_V4
          IMPORTING
            MESSAGE_TEXT_OUTPUT = <LW_DATA>-MESSAGE.

        <LW_DATA>-ICON = ICON_GREEN_LIGHT.

      ELSE.
        CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.

        CALL FUNCTION 'MESSAGE_TEXT_BUILD'
          EXPORTING
            MSGID               = LS_RETURN-ID
            MSGNR               = LS_RETURN-NUMBER
            MSGV1               = LS_RETURN-MESSAGE_V1
            MSGV2               = LS_RETURN-MESSAGE_V2
            MSGV3               = LS_RETURN-MESSAGE_V3
            MSGV4               = LS_RETURN-MESSAGE_V4
          IMPORTING
            MESSAGE_TEXT_OUTPUT = <LW_DATA>-MESSAGE.

        <LW_DATA>-ICON = ICON_RED_LIGHT.

      ENDIF.

    ELSE.
      <LW_DATA>-ICON = ICON_RED_LIGHT.
      <LW_DATA>-MESSAGE = '调拨失败,未传入数据'.

    ENDIF.

  ENDLOOP.

OVER…

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值