固定资产修改 利用BAPI 修改 增强字段 BAPI_FIXEDASSET_CHANGE

对固定资产做了屏幕曾强

 然后写了个RFC来带实现往增强字段写入数据。代码如下:

  DATA: companycode LIKE  bapi1022_1-comp_code,
        asset       LIKE  bapi1022_1-assetmaino,
        subnumber   LIKE  bapi1022_1-assetsubno.

  DATA :generaldata        LIKE  bapi1022_feglg001,
        generaldatax       LIKE  bapi1022_feglg001x,
        timedependentdata  LIKE  bapi1022_feglg003,
        timedependentdatax LIKE  bapi1022_feglg003x,
        return             LIKE  bapiret2,
        allocations        LIKE   bapi1022_feglg004,

        allocationsx       LIKE   bapi1022_feglg004x.


  DATA :  lt_extensionin TYPE STANDARD TABLE OF  bapiparex,
          ls_extensionin TYPE  bapiparex.
  DATA: ls_anlu  TYPE bapi_te_anlu.
  CLEAR: companycode,asset ,subnumber,generaldata,generaldatax,
  timedependentdata,timedependentdatax,return.


      IF   i_zanla-sernr IS NOT INITIAL.
        generaldata-serial_no = i_zanla-sernr.
        generaldatax-serial_no = 'X'.
      ENDIF.
      IF   i_zanla-invnr IS NOT INITIAL.
        generaldata-invent_no = i_zanla-invnr.
        generaldatax-invent_no = 'X'.


      ENDIF.

      IF  i_zanla-sernr  IS NOT INITIAL.
        generaldata-serial_no  =    i_zanla-sernr .
        generaldatax-serial_no  =  'X'.
      ENDIF.

      IF i_zanla-kostl IS NOT INITIAL.


        timedependentdata-costcenter = i_zanla-kostl.
        timedependentdata-bus_area = i_zanla-gsber.
        timedependentdatax-bus_area = 'X'.
        timedependentdatax-costcenter = 'X'.
        timedependentdatax-from_date  = 'X'.
        timedependentdata-from_date  = sy-datum.
      ENDIF.

      IF  i_zanla-ord41  IS NOT INITIAL.
        allocations-evalgroup1  =  i_zanla-ord41.
        allocationsx-evalgroup1  =  'X'.
      ENDIF.



      CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
        EXPORTING
          input  = i_zanla-bukrs
        IMPORTING
          output = i_zanla-bukrs.
      CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
        EXPORTING
          input  = i_zanla-anln2
        IMPORTING
          output = i_zanla-anln2.

 CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
        EXPORTING
          input  = i_zanla-anln1
        IMPORTING
          output = i_zanla-anln1.


      "增强字段传值
      CLEAR ls_anlu.
      ls_anlu-comp_code       = i_zanla-bukrs . "公司
      ls_anlu-ASSETMAINO  =    i_zanla-ANLN1 .
     " ls_anlu-ASSETSUBNO  =   i_zanla-ANLN2.
      ls_anlu-ZEMPLOYEE_ID = i_zanla-ZEMPLOYEE_ID .
      ls_anlu-ZMAC_ID = i_zanla-ZMAC_ID .
      ls_anlu-ZDISCK_ID = i_zanla-ZDISCK_ID .
      "ls_anlu-zasset_status         = '在用'. "资产状态
      ls_extensionin-structure = 'BAPI_TE_ANLU'.

      ls_extensionin-valuepart1 = ls_anlu.
      APPEND ls_extensionin TO lt_extensionin.



      CALL FUNCTION 'BAPI_FIXEDASSET_CHANGE'
        EXPORTING
          companycode        = i_zanla-bukrs
          asset              = i_zanla-anln1
          subnumber          = i_zanla-anln2
*         GROUPASSET         =
          generaldata        = generaldata
          generaldatax       = generaldatax
*         INVENTORY          =
*         INVENTORYX         =
*         POSTINGINFORMATION =
*         POSTINGINFORMATIONX        =
          timedependentdata  = timedependentdata
          timedependentdatax = timedependentdatax
          allocations        = allocations
          allocationsx       = allocationsx
*         ORIGIN             =
*         ORIGINX            =
*         INVESTACCTASSIGNMNT        =
*         INVESTACCTASSIGNMNTX       =
*         NETWORTHVALUATION  =
*         NETWORTHVALUATIONX =
*         REALESTATE         =
*         REALESTATEX        =
*         INSURANCE          =
*         INSURANCEX         =
*         LEASING            =
*         LEASINGX           =
        IMPORTING
          return             = return
        TABLES
*         DEPRECIATIONAREAS  =
*         DEPRECIATIONAREASX =
*         INVESTMENT_SUPPORT =
          extensionin        = lt_extensionin.
      IF  return-type = '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 out_message-message.
        out_message-msgtyp = 'E'.

      ELSE.
        out_message-msgtyp = 'S'.
        CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
          EXPORTING
            wait = 'X'
*       IMPORTING
*           RETURN        =
          .
        MESSAGE ID return-id TYPE return-type NUMBER return-number
         WITH return-message_v1  return-message_v2  return-message_v3
    return-message_v4 INTO out_message-message.
      ENDIF.

      APPEND  out_message TO t_message.

我用上面这段代码发现修改不了增强字段里的内容  后来debug跟踪才发现。原来需要修改一处用户增强出入口才可以。

EXIT_SAPL1022_001    ZXAISU05

添加代码如下:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值