Skip to Content

Original Budget posting (CJ30) using KBPP_EXTERN_UPDATE_CO


I've been trying to update the Original Budget (transaction CJ30) using the function module KBPP_EXTERN_UPDATE_CO in R/3 4.7. I have managed to get the Cost and Revenue Planning (CJ40/CJ42) data in successfully using this function module, but cannot get the Budget (activity KBUD) to work correctly.

Whichever way I order the WBS elements in the BPAK table, whether I commit all the records at once or singley, whether I have the I_CHECK_PLAN_DATA parameter on or off, I always end up with a bunch of "Overall budget less than distributed budget" errors.

Is anybody who has successfully updated the Original Budget using this function module able to give me some pointers (or even a snippet of code that works!) I have implemented all the OSS notes that I could find relating to this functional module, and as I said I've managed to get the Cost and Revenue Planning working perfectly. I have read and re-read note 625613 to see if I've missed anything, but I can't find any obvious errors.

Many thanks in advance,


Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

2 Answers

  • avatar image
    Former Member
    May 04, 2007 at 04:07 PM


    This FM has one parameter called <b>I_ROLLUP_DATE</b>. You have to pass a value 'X' here. For more information on this FM, check OSS note <b>625613</b>.

    There is one more issue with this FM is that, when you use this FM to create a budget for WBS element, it does not set status BUDG on WBS element. If you create a budget using transaction CJ30, it pu this status. This status is important bacuse it allow to accound assing the WBS to PO or incurr some actual cost. You will have to apply <b>OSS note 928243</b>.

    We are usign this FM and we had a issue with updating BUDG status. We wrote to SAP regarding where is a bug in the code for this and they created this OSS note 928243.

    Let me know if you have any question.



    Add comment
    10|10000 characters needed characters exceeded

    • Former Member


      I have the same problem with ROLL UP.

      In case without ROLL UP you should pass higher WBS first then lower in table BPAK.

      But i need ROLL UP to work...

      Here is my code and data content (with rollup):



      i_budget_activity = 'KBUD' " Original Budget

      i_delta_amounts = ' ' " Provide absolute values

      i_rollup_data = 'X' " Roll up at WBS hierarchy

      i_application = 'P' " Project

      i_commit_all = 'X' " Commit changes


      e_errors_found = l_errors " Errors found?


      it_bpak = lt_bpak[] " Values supplied

      it_return = lt_return[] " Messages returned


      no_update = 1

      OTHERS = 2

      lt_bpak content:


      PR00003596 20090113 280000.00 AUTOMATIC COPY CZK

      PR00003593 20090113 112000.00 AUTOMATIC COPY CZK


      I BP 743 11510000059001000 :

      I BQ 001 Overall budget less than distributed budget

      E BQ 002 - 11510-000059: 112 000,00 < 392 000,00 (CZK)

      In case with rollup it takes into account only first of two wbs's and during rollup of second it tries to put invalid value into higher level (value of second WBS) and fails.

  • avatar image
    Former Member
    Jul 23, 2009 at 02:09 PM

    Hi Andrew,

    We are trying to upload data to CJ42 using the same FM. But it is giving error that Version 0 does not exist. Could you pls share your code how you successfully updated CJ42 data.

    THanks in advance

    Raghu Kumar

    Add comment
    10|10000 characters needed characters exceeded