Showing posts with label PS. Show all posts
Showing posts with label PS. Show all posts

FM for delete Project using BAPI BAPI_BUS2001_DELETE


CALL FUNCTION 'BAPI_PS_INITIALIZATION'.

  
CALL FUNCTION 'BAPI_BUS2001_DELETE'
    
EXPORTING
      I_PROJECT_DEFINITION 
G_F_PROJECT_DEF
    
TABLES
      ET_RETURN            
P_G_T_RETURN.

  
CLEAR G_F_ERROR.
  
LOOP AT P_G_T_RETURN INTO G_R_RETURN.
    
IF G_R_RETURN-TYPE CA G_C_AEX."Error Type A E or X .
      G_F_ERROR 
G_C_X.
    
ENDIF.
  
ENDLOOP.
* Error handling / end processing
  
IF G_F_ERROR IS INITIAL.

*-- Post changes
    
REFRESH :L_T_RETURN2.
    
CALL FUNCTION 'BAPI_PS_PRECOMMIT'
      
TABLES
        ET_RETURN 
L_T_RETURN2.
*-- Check for errors
    
CLEAR G_R_RETURN.
    
LOOP AT L_T_RETURN2 INTO G_R_RETURN.  "
      
IF G_R_RETURN-TYPE CA G_C_AEX.
        G_F_ERROR 
G_C_X.
      
ENDIF.
    
ENDLOOP.
    
APPEND LINES OF L_T_RETURN2 TO P_G_T_RETURN.
*-- Everything ok
    
IF G_F_ERROR IS INITIAL.
      
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
        
EXPORTING
          
WAIT G_C_X.
      
COMMIT WORK.







    
ELSE.
      
REFRESH:L_T_RETURN2.
      
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
      
REFRESH L_T_RETURN2.
      
CALL FUNCTION 'BAPI_PS_PRECOMMIT'
        
TABLES
          ET_RETURN 
L_T_RETURN2.
      
APPEND LINES OF L_T_RETURN2 TO P_G_T_RETURN.
      
REFRESH L_T_RETURN2.
      
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
    
ENDIF.
* Error occured
  
ELSE.
    
REFRESH:L_T_RETURN2.
    
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
    
REFRESH L_T_RETURN2.
    
CALL FUNCTION 'BAPI_PS_PRECOMMIT'
      
TABLES
        ET_RETURN 
L_T_RETURN2.
    
APPEND LINES OF L_T_RETURN2 TO P_G_T_RETURN.
    
REFRESH L_T_RETURN2.
    
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
  
ENDIF.





Delete multiple WBS for a project ID

* Initialization of BAPIs
  CALL FUNCTION 'BAPI_PS_INITIALIZATION'.

  CALL FUNCTION 'BAPI_BUS2054_DELETE_MULTI'
    EXPORTING
      I_PROJECT_DEFINITION  = G_F_PROJECT_DEF
    TABLES
      IT_DELETE_WBS_ELEMENT = P_G_T_DELETE_WBS  (All WBS which needs to be Deleted)
      ET_RETURN             = P_G_T_RETURN.

  CLEAR G_F_ERROR.
  LOOP AT P_G_T_RETURN INTO G_R_RETURN.
    IF G_R_RETURN-TYPE CA G_C_AEX."Error Type A E or X
      G_F_ERROR = G_C_X.
    ENDIF.
  ENDLOOP.

* Error handling / end processing
  IF G_F_ERROR IS INITIAL.

*-- Post changes
    REFRESH L_T_RETURN2.
    CALL FUNCTION 'BAPI_PS_PRECOMMIT'
      TABLES
        ET_RETURN = L_T_RETURN2.
*-- Check for errors
    LOOP AT L_T_RETURN2 INTO G_R_RETURN.  "
      IF G_R_RETURN-TYPE CA G_C_AEX.
        G_F_ERROR = G_C_X.
      ENDIF.
    ENDLOOP.
    APPEND LINES OF L_T_RETURN2 TO P_G_T_RETURN.
*-- Everything ok
    IF G_F_ERROR IS INITIAL.
      CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
        EXPORTING
          WAIT = G_C_X.
      COMMIT WORK.
    ELSE.
      CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
      REFRESH L_T_RETURN2.
      CALL FUNCTION 'BAPI_PS_PRECOMMIT'
        TABLES
          ET_RETURN = L_T_RETURN2.
      APPEND LINES OF L_T_RETURN2 TO P_G_T_RETURN.
      REFRESH L_T_RETURN2.
      CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
    ENDIF.
* Error occured
  ELSE.
    CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
    REFRESH L_T_RETURN2.
    CALL FUNCTION 'BAPI_PS_PRECOMMIT'
      TABLES
        ET_RETURN = L_T_RETURN2.
    APPEND LINES OF L_T_RETURN2 TO P_G_T_RETURN.
    REFRESH L_T_RETURN2.
    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
  ENDIF.

Cost planning CJ9ECP using BDC


As there is no save button found with cj20n tcode

SET PARAMETER ID 'PRO' FIELD  Project Def   (PRO - WBS)
    SET PARAMETER ID 'KRT' FIELD 'PS06'.
    SET PARAMETER ID 'PSP' FIELD ''.
DATA OPT TYPE CTU_PARAMS.
  OPT-DISMODE = G_C_E. "Display errors
  OPT-DEFSIZE = G_C_X. "Default screen size

  CLEAR L_S_BDCDATA.
  L_S_BDCDATA-PROGRAM  = 'RECP_PS'.
  L_S_BDCDATA-DYNPRO   = '0100'.
  L_S_BDCDATA-DYNBEGIN = G_C_X.
  APPEND L_S_BDCDATA TO L_T_BDCDATA.

  CLEAR L_S_BDCDATA.
  L_S_BDCDATA-FNAM = 'BDC_OKCODE'.
  L_S_BDCDATA-FVAL = '/EUCCOST'.
  APPEND L_S_BDCDATA TO L_T_BDCDATA.
  CLEAR L_S_BDCDATA.

  CLEAR L_S_BDCDATA.
  L_S_BDCDATA-PROGRAM  = 'SAPLCK_ECP_GUI'.
  L_S_BDCDATA-DYNPRO   = '0300'.
  L_S_BDCDATA-DYNBEGIN = G_C_X.
  APPEND L_S_BDCDATA TO L_T_BDCDATA.

  CLEAR L_S_BDCDATA.
  L_S_BDCDATA-FNAM = 'BDC_OKCODE'.
  L_S_BDCDATA-FVAL = '=SELECT'.
  APPEND L_S_BDCDATA TO L_T_BDCDATA.
  CLEAR L_S_BDCDATA.

*Easy cost Plan Tcode CJ9ECP
  CALL TRANSACTION 'CJ9ECP' USING L_T_BDCDATA OPTIONS FROM OPT MESSAGES INTO L_T_MESSAGE.
  READ TABLE L_T_MESSAGE WITH KEY MSGTYP = G_C_I TRANSPORTING NO FIELDS.
  IF SY-SUBRC  = 0.
    MESSAGE I082(KPN) .
Endif

For more information

Easy cost plan CJ9ECP












go to change easy cost plan