Showing posts with label ps sap. Show all posts
Showing posts with label ps sap. Show all posts

Project and WBS related BAPI’s


BAPI_BUS2001_CREATE ProjectDefinitionPI.CreateSingle
BAPI_BUS2001_CHANGE ProjectDefinitionPI.Change
this project can change the project def fields which are marked in the table I_PROJECT_DEFINITION_UPD (BAPI_BUS2001_UPD)
BAPI_BUS2001_DELETE ProjectDefinitionPI.Delete
This bapi can delete project and wbs
BAPI_BUS2001_SET_STATUS ProjectDefinitionPI.SetStatus
This BAPI can be used to set and reset user status as well as syetm staus
BAPI_BUS2054_CREATE_MULTI WBSPI.CreateMultiple
This bapi can create multiple wbs for a project id
BAPI_BUS2054_CHANGE_MULTI WBSPI.ChangeMultiple
This bapi can change multiple WBS (work break down structure)
BAPI_BUS2054_DELETE_MULTI WBSPI.DeleteMultiple
This Bapi can delete a number of WBS for Project id
BAPI_BUS2001_SET_STATUS WBSPI.SetStatus
This BAPI can set reset user(SET_USER_STATUS) as well as system status(SET_SYSTEM_STATUS)

BAPI for posting cost into CJR2 “Resource cost post”

BAPI for posting cost into CJR2 “Resource cost post”

























At top (data declaration)


L_R_HEADER     TYPE BAPIPLNHDR,
  L_R_COOBJECT   TYPE  BAPIACIOBJ,
  L_T_COOBJECT   TYPE STANDARD TABLE OF BAPIACIOBJ,

*Post the effort into CJR2 Tcode
  CALL FUNCTION 'BAPI_COSTACTPLN_POSTACTINPUT'
    EXPORTING
      HEADERINFO     = L_R_HEADER header table that contain
*      delta          = g_c_x  "Add in the exiting value
    TABLES
      INDEXSTRUCTURE = L_T_INDEXSTR
      COOBJECT       = L_T_COOBJECT
      PERVALUE       = L_T_PERVALUE
      RETURN         = P_G_T_RETURN.

Header details

  L_R_HEADER-CO_AREA        = '0010'.   "Controlling area
  L_R_HEADER-FISC_YEAR      = P_L_F_YEAR. "Fiscal year
  L_R_HEADER-PERIOD_FROM    = '1'.
  L_R_HEADER-PERIOD_TO      = '12'.
  L_R_HEADER-VERSION        = '0'.     " Version
  L_R_HEADER-PLAN_CURRTYPE  = 'O'.     "'O'-Object currency

  L_R_COOBJECT-OBJECT_INDEX = '1'.  "Object index
  L_R_COOBJECT-WBS_ELEMENT  = Project ID or WBSID.
  APPEND L_R_COOBJECT TO L_T_COOBJECT.
  CLEAR L_R_COOBJECT.

Now populate the quantity field

  "For H1 Acty type
  READ TABLE P_L_T_INPUT INTO G_R_INPUT INDEX 1.
  IF SY-SUBRC = 0.
    L_R_INDEXSTR-OBJECT_INDEX  = '1'.
    L_R_INDEXSTR-VALUE_INDEX   = '1'.
    APPEND  L_R_INDEXSTR TO L_T_INDEXSTR.
    CLEAR   L_R_INDEXSTR.
    L_F_VAL_INDEX = '1'."value index
    L_F_ACT       = 'H1'."Activity type
    PERFORM FILL_QTY  USING G_R_INPUT     " Work area of internal table
                            P_L_F_COST    " Cost center
                            L_F_ACT       " Activity type
                            L_F_VAL_INDEX " value index
                            P_G_F_UNIT    " Unit
                 CHANGING   L_T_PERVALUE. " Qty values
  ENDIF.

  "For H2 Acty type
  READ TABLE P_L_T_INPUT INTO G_R_INPUT INDEX 2.
  IF SY-SUBRC = 0.
    L_R_INDEXSTR-OBJECT_INDEX  = '1'.
    L_R_INDEXSTR-VALUE_INDEX   = '2'.
    APPEND  L_R_INDEXSTR TO L_T_INDEXSTR.
    CLEAR   L_R_INDEXSTR.
    L_F_VAL_INDEX = '2'.      "value index
    L_F_ACT       = 'H2'."Activity type
    PERFORM FILL_QTY USING G_R_INPUT     Work area of internal table
                            P_L_F_COST    " Cost center
                            L_F_ACT       Activity type
                            L_F_VAL_INDEX  value index
                            P_G_F_UNIT    " Unit
                 CHANGING   L_T_PERVALUE. " Qty values
  ENDIF.

Same for other activity types……………….

  IF P_G_T_RETURN [] IS INITIAL.
    COMMIT WORK AND WAIT.
  Endif.