SAP 爱好者,记录一些知识点吧
分类:
2010-06-24 17:14:27
该函数的应用在PS 里面很是常见,本需求是根据CJ40里面的版本算,来修改预算。
LOOP AT it_prps.
CLEAR it_bpak.
REFRESH it_bpak[].
it_bpak-e_objnr = it_prps-objnr.
it_bpak-e_vorga = 'KBUD'.
it_bpak-twaer = 'RMB'.
it_bpak-wert = it_prps-wtges.
APPEND it_bpak.
CALL FUNCTION 'KBPP_EXTERN_UPDATE_CO'
EXPORTING
i_budget_activity = 'KBUD'
* I_BUDGET_ACTIV_SUP_RET = ' '
* I_COMMIT_DATA = ' '
i_delta_amounts = ' '
i_rollup_data = ' '
* I_CHECK_PLAN_DATA = 'X'
* I_APPLICATION =
i_commit_all = 'X'
* IMPORTING
* E_ERRORS_FOUND =
TABLES
it_bpak = it_bpak[]
it_return = it_return
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:对于预算增加的一定要将wbs 排序,先修改顶层WBS,再一层一层往下修改,否则会提示:总预算少于已分配的预算,但是如果我们的预算减少了呢, 这个要求有点变态,但是客户一定要也没有办法, 那么就现将已有的预算清零,这个时候切记,也要将WBS排序,不过是从最底层的开始清零。 然后又开始反过来排序后,开始分配预算。
2. i_rollup_data在这里为空,不然的话也会提示你 :总预算少于已分配的预算。
3.必须一条一条的做,我试图在清零的时候,一次导入到IT_BPAK 结果显示也是不成功的。
4.参考notes:(bD16aCZjPTAwMQ==)/bc/bsp/spn/sapnotes/index2.htm?numm=625613
如果这个函数各位还有问题,欢迎留言探讨