The function module is used for transferring the budgeting and the cost-element-independent total costs planning to orders and projects as well as transferring the cost-element-independent total revenue planning to projects.
Business transaction.
The following business transactions are supported:
Budget:
-
- Original budget – KBUD
-
- Budget supplement – KBN0
-
- Budget return – KBR0
-
- Budget release – KBFR (only projects)
Overall plan:
-
- Overall planning – KSTP
-
- Total revenues – KSTR (only projects)
You can use function module KBPP_EXTERN_UPDATE_CO .
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
TYPES : BEGIN OF ty_aufk, objnr TYPE j_objnr, auart TYPE auart, END OF ty_aufk. DATA : lw_src TYPE ty_aufk, lw_tgt TYPE ty_aufk. DATA : lv_bprof_src TYPE bp_bprofil, lv_bprof_tgt TYPE bp_bprofil. SELECT SINGLE objnr auart INTO lw_src FROM aufk WHERE aufnr = lv_src_aufnr AND kokrs = '1000'. SELECT SINGLE objnr auart INTO lw_tgt FROM aufk WHERE aufnr = lv_tgt_aufnr AND kokrs = '1000'. SELECT SINGLE bprof INTO lv_bprof_src FROM t003o WHERE auart = lw_src-auart. SELECT SINGLE bprof INTO lv_bprof_tgt FROM t003o WHERE auart = lw_tgt-auart. lv_activity = 'KBN0'. CONDENSE ls_data-amount. MOVE ls_data-amount TO lv_wert. ls_bpak-wert = lv_wert / 100. ls_bpak-twaer = 'IDR'. "Receiver ls_bpak-e_gjahr = ls_data-tgt_year. ls_bpak-e_objnr = lw_tgt-objnr. ls_bpak-e_ges = 'X'. ls_bpak-e_wrttp = '41'. ls_bpak-e_profil = lv_bprof_tgt. * ls_Bpak-e_vorga = 'KBN0'. "Sender ls_bpak-s_gjahr = ls_data-src_year. ls_bpak-s_objnr = lw_src-objnr. ls_bpak-s_ges = 'X'. ls_bpak-s_wrttp = '41'. ls_bpak-s_profil = lv_bprof_src. * ls_Bpak-s_vorga = 'KBR0'. APPEND ls_bpak TO lt_bpak. CALL FUNCTION 'KBPP_EXTERN_UPDATE_CO' EXPORTING i_budget_activity = lv_activity i_delta_amounts = 'X' i_rollup_data = 'X' i_check_plan_data = 'X' i_application = 'O' i_commit_all = 'X' IMPORTING e_errors_found = lv_oax TABLES it_bpak = lt_bpak it_return = lt_bapi_return EXCEPTIONS no_update = 1 OTHERS = 2. IF lv_oax IS INITIAL. lw_mess-kode = '00'. lw_mess-mess = 'Successfully Transfer Budget'. CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'. ELSE. CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'. READ TABLE lt_bapi_return INTO wa_bapi_return WITH KEY type = 'E'. lw_mess-kode = '99'. lw_mess-mess = wa_bapi_return-message. ENDIF. |