通过函数修改CJ30或者CJ32的预算


REPORT ZMAT_TEST_ALV.
tables: prps.

     DATA: lt_bpak TYPE STANDARD TABLE OF bpak WITH HEADER LINE.
     DATA:lt_bpak_n TYPE STANDARD TABLE OF bpak WITH HEADER LINE.
     DATA: lt_retturn TYPE STANDARD TABLE OF bapiret2 WITH HEADER LINE.
     DATA: l_wtjhr like bpak-wert.
*select-options l_pspnr for prps-pspnr.
    PARAMETER: l_pspnr like prps-pspnr.
    PARAMETER: l_bpwert like bpak-wert.
    PARAMETER: P_vorga LIKE BPIN-VORGA.

start-of-selection.
    clear: l_wtjhr.

    SELECT SINGLE objnr INTO lt_bpak-e_objnr FROM prps WHERE pspnr = l_pspnr.
    IF sy-subrc EQ 0.
      lt_bpak-e_vorga = 'KBFR'.
      lt_bpak-twaer = 'RMB'.
      lt_bpak-wert = l_bpwert.
      lt_bpak-S_GJAHR = '2010'.    " add year to change data belong this year
      lt_bpak-E_GJAHR = '2010'.    "if not add ; change total budget

      APPEND lt_bpak.

      MOVE-CORRESPONDING lt_bpak TO lt_bpak_n.

      lt_bpak_n-wert = l_bpwert.

      APPEND lt_bpak_n.
    ENDIF.
    CLEAR: lt_bpak,lt_bpak_n.

*i_delta_amounts这个参数等于'X'的话,就是追加,等于'',就是修改
*i_rollup_data这个参数等于'X'的话,就会自动往上层的WBS上加预算,等于'',就不会自动加
*一定要先修改顶层WBS,再一层一层往下修改,不然的话,检查上层预算不够,就会报错

    CALL FUNCTION 'KBPP_EXTERN_UPDATE_CO'
   EXPORTING
*     i_budget_activity            = 'KBUD'
      i_budget_activity            = P_vorga  "cj30 using KBUD; cj32 using KBFR
*     i_budget_activ_sup_ret       = 'X'
     I_COMMIT_DATA                = 'X'
     i_delta_amounts              = 'X'
     i_rollup_data                = 'X'
*    I_CHECK_PLAN_DATA            = 'X'
     i_application                = 'P'
*    i_commit_all                 = 'X'
* IMPORTING
*   E_ERRORS_FOUND               =
   TABLES
     it_bpak                      = lt_bpak[]
     it_return                    = lt_retturn[]
  EXCEPTIONS
    no_update                    = 1
    OTHERS                       = 2
            .

  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值