Showing posts with label project. Show all posts
Showing posts with label project. Show all posts

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.