Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Looking for function module to get current budget in PS

Former Member
0 Likes
4,316

I am on a development project, and I am looking for a function module or BAPI or a class that returns the current budget for a given project. In other words, I'd like to find something that more-or-less replicates the functionality of CJ30 in code -- pass in a WBS, return a current budget amount. Even as I type this, I realize how crazy this sounds.

Does such a thing exist or am I going to have to write my own function module from scratch? I've searched our system with all the search strings I can think of but cannot find any BAPIs, function modules, or classes that do what I need.

ECC6

Netweaver 7.0

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,776

This was how I solved it. I made my own BAPI.

FUNCTION z_get_budget.
*"----------------------------------------------------------------------
*"*"Local Interface:
*"  IMPORTING
*"     VALUE(Z_WBS) TYPE  PRPS-POSID
*"  EXPORTING
*"     VALUE(Z_BUDGET) TYPE  BPGE-WTGES
*"     VALUE(Z_ERROR) TYPE  I
*"----------------------------------------------------------------------

  DATA: it_rpsco TYPE TABLE OF rpsco,
        wa_rpsco TYPE rpsco,
        my_pspnr TYPE fmdt_any,
        my_objnr TYPE prps-objnr,
        sum_budget type rpsco-wlp00.

  DATA: my_wbs TYPE fmdt_any.
  MOVE z_wbs TO my_wbs.
* Convert the WBS element name to an object number
  CALL FUNCTION 'CONVERSION_EXIT_ABPSP_INPUT'
    EXPORTING

      input     = my_wbs
    IMPORTING
      output    = my_objnr
    EXCEPTIONS
      not_found = 1
      OTHERS    = 2.
  IF sy-subrc <> 0.
    MOVE sy-subrc TO z_error.
  ELSE.
*  MOVE my_pspnr TO my_objnr.
    CONCATENATE 'PR' my_objnr INTO my_objnr.
    SELECT * FROM rpsco INTO TABLE it_rpsco WHERE objnr = my_objnr
        AND wrttp = '41'.
      clear sum_budget.
    LOOP AT it_rpsco INTO wa_rpsco.
      sum_budget = wa_rpsco-wlp00 + sum_budget.

*      EXIT.
    ENDLOOP.
MOVE sum_budget TO z_budget.
    move 0 to z_error.
  ENDIF.


ENDFUNCTION.

This was how I solved it. I made my own BAPI.

FUNCTION z_get_budget.
*"----------------------------------------------------------------------
*"*"Local Interface:
*"  IMPORTING
*"     VALUE(Z_WBS) TYPE  PRPS-POSID
*"  EXPORTING
*"     VALUE(Z_BUDGET) TYPE  BPGE-WTGES
*"     VALUE(Z_ERROR) TYPE  I
*"----------------------------------------------------------------------

  DATA: it_rpsco TYPE TABLE OF rpsco,
        wa_rpsco TYPE rpsco,
        my_pspnr TYPE fmdt_any,
        my_objnr TYPE prps-objnr,
        sum_budget type rpsco-wlp00.

  DATA: my_wbs TYPE fmdt_any.
  MOVE z_wbs TO my_wbs.
* Convert the WBS element name to an object number
  CALL FUNCTION 'CONVERSION_EXIT_ABPSP_INPUT'
    EXPORTING

      input     = my_wbs
    IMPORTING
      output    = my_objnr
    EXCEPTIONS
      not_found = 1
      OTHERS    = 2.
  IF sy-subrc <> 0.
    MOVE sy-subrc TO z_error.
  ELSE.
*  MOVE my_pspnr TO my_objnr.
    CONCATENATE 'PR' my_objnr INTO my_objnr.
    SELECT * FROM rpsco INTO TABLE it_rpsco WHERE objnr = my_objnr
        AND wrttp = '41'.
      clear sum_budget.
    LOOP AT it_rpsco INTO wa_rpsco.
      sum_budget = wa_rpsco-wlp00 + sum_budget.

*      EXIT.
    ENDLOOP.
MOVE sum_budget TO z_budget.
    move 0 to z_error.
  ENDIF.


ENDFUNCTION.

1 REPLY 1
Read only

Former Member
0 Likes
1,777

This was how I solved it. I made my own BAPI.

FUNCTION z_get_budget.
*"----------------------------------------------------------------------
*"*"Local Interface:
*"  IMPORTING
*"     VALUE(Z_WBS) TYPE  PRPS-POSID
*"  EXPORTING
*"     VALUE(Z_BUDGET) TYPE  BPGE-WTGES
*"     VALUE(Z_ERROR) TYPE  I
*"----------------------------------------------------------------------

  DATA: it_rpsco TYPE TABLE OF rpsco,
        wa_rpsco TYPE rpsco,
        my_pspnr TYPE fmdt_any,
        my_objnr TYPE prps-objnr,
        sum_budget type rpsco-wlp00.

  DATA: my_wbs TYPE fmdt_any.
  MOVE z_wbs TO my_wbs.
* Convert the WBS element name to an object number
  CALL FUNCTION 'CONVERSION_EXIT_ABPSP_INPUT'
    EXPORTING

      input     = my_wbs
    IMPORTING
      output    = my_objnr
    EXCEPTIONS
      not_found = 1
      OTHERS    = 2.
  IF sy-subrc <> 0.
    MOVE sy-subrc TO z_error.
  ELSE.
*  MOVE my_pspnr TO my_objnr.
    CONCATENATE 'PR' my_objnr INTO my_objnr.
    SELECT * FROM rpsco INTO TABLE it_rpsco WHERE objnr = my_objnr
        AND wrttp = '41'.
      clear sum_budget.
    LOOP AT it_rpsco INTO wa_rpsco.
      sum_budget = wa_rpsco-wlp00 + sum_budget.

*      EXIT.
    ENDLOOP.
MOVE sum_budget TO z_budget.
    move 0 to z_error.
  ENDIF.


ENDFUNCTION.