Hello everyone,
I have to create project definition and 2 wbs, I use function BAPI_PROJECT_MAINTAI but I have the error:
"WBS element 0033.3332.01.R already exists" but that wbs it's created.
This is my code.
data: I_WBS_ELEMENT_TABLE type BAPI_WBS_ELEMENT occurs 0 with header line, I_WBS_ELEMENT_TABLE_UPDATE type BAPI_WBS_ELEMENT_UPDATE occurs 0 with header line, I_PROJECT_DEFINITION like BAPI_PROJECT_DEFINITION, I_PROJECT_DEFINITION_UPD like BAPI_PROJECT_DEFINITION_UP, I_METHOD_PROJECT type BAPI_METHOD_PROJECT occurs 0 with header line, E_MESSAGE_TABLE like BAPI_METH_MESSAGE occurs 0 with header line, RETURN type BAPIRETURN1, lv_index LIKE bapi_method_project-refnumber. lv_index = 1. I_METHOD_PROJECT-OBJECTTYPE = 'ProjectDefinition'. I_METHOD_PROJECT-METHOD = 'Create'. I_METHOD_PROJECT-OBJECTKEY = '0033.3332'. I_METHOD_PROJECT-REFNUMBER = lv_index. append I_METHOD_PROJECT. lv_index = lv_index + 1. I_METHOD_PROJECT-OBJECTTYPE = 'WBS-Element'. I_METHOD_PROJECT-METHOD = 'Create'. I_METHOD_PROJECT-OBJECTKEY = '0033.3332.01'. I_METHOD_PROJECT-REFNUMBER = lv_index. append I_METHOD_PROJECT. lv_index = lv_index + 1. clear I_METHOD_PROJECT. I_METHOD_PROJECT-OBJECTTYPE = 'WBS-Element'. I_METHOD_PROJECT-METHOD = 'Create'. I_METHOD_PROJECT-OBJECTKEY = '0033.3332.01.R'. I_METHOD_PROJECT-REFNUMBER = lv_index. append I_METHOD_PROJECT. clear I_METHOD_PROJECT. I_METHOD_PROJECT-OBJECTTYPE = space. I_METHOD_PROJECT-METHOD = 'Save'. I_METHOD_PROJECT-OBJECTKEY = space. I_METHOD_PROJECT-REFNUMBER = space. append I_METHOD_PROJECT. I_PROJECT_DEFINITION-PROJECT_DEFINITION = '0033.3332'. I_PROJECT_DEFINITION-DESCRIPTION = 'Training project'. I_PROJECT_DEFINITION-PROJECT_PROFILE = 'ZAF0001'. I_PROJECT_DEFINITION-COMP_CODE = '0033'. I_PROJECT_DEFINITION-RESPONSIBLE_NO = 1. I_PROJECT_DEFINITION-APPLICANT_NO = 1. I_PROJECT_DEFINITION-PLANT = '033A'. I_WBS_ELEMENT_TABLE-PROJECT_DEFINITION = '0033.3332'. I_WBS_ELEMENT_TABLE-WBS_ELEMENT = '0033.3332.01'. I_WBS_ELEMENT_TABLE-DESCRIPTION = 'WBS 1'. I_WBS_ELEMENT_TABLE-RESPONSIBLE_NO = 1. I_WBS_ELEMENT_TABLE-APPLICANT_NO = 1. I_WBS_ELEMENT_TABLE-COMP_CODE = '0033'. I_WBS_ELEMENT_TABLE-PROFIT_CTR = '0033A99999'. I_WBS_ELEMENT_TABLE-PLANT = '033A'. append i_wbs_element_table. clear I_WBS_ELEMENT_TABLE. I_WBS_ELEMENT_TABLE-PROJECT_DEFINITION = '0033.3332'. I_WBS_ELEMENT_TABLE-WBS_ELEMENT = '0033.3332.01.R'. I_WBS_ELEMENT_TABLE-DESCRIPTION = 'WBS 2'. I_WBS_ELEMENT_TABLE-RESPONSIBLE_NO = 1. I_WBS_ELEMENT_TABLE-APPLICANT_NO = 1. I_WBS_ELEMENT_TABLE-COMP_CODE = '0033'. I_WBS_ELEMENT_TABLE-PROFIT_CTR = '0033A99999'. I_WBS_ELEMENT_TABLE-PLANT = '033A'. append i_wbs_element_table. PERFORM fill_update_flags USING 'BAPI_PROJECT_DEFINITION_UP' CHANGING I_PROJECT_DEFINITION_UPD. PERFORM fill_update_flags USING 'BAPI_WBS_ELEMENT_UPDATE' CHANGING I_WBS_ELEMENT_TABLE_UPDATE. append I_WBS_ELEMENT_TABLE_UPDATE. append I_WBS_ELEMENT_TABLE_UPDATE. CALL FUNCTION 'BAPI_PROJECT_MAINTAIN' EXPORTING I_PROJECT_DEFINITION = I_PROJECT_DEFINITION I_PROJECT_DEFINITION_UPD = I_PROJECT_DEFINITION_UPD TABLES I_METHOD_PROJECT = I_METHOD_PROJECT I_WBS_ELEMENT_TABLE_UPDATE = I_WBS_ELEMENT_TABLE_UPDATE[] I_WBS_ELEMENT_TABLE = I_WBS_ELEMENT_TABLE[] E_MESSAGE_TABLE = E_MESSAGE_TABLE . write: / 'Finish'. *&---------------------------------------------------------------------* *& Form FILL_UPDATE_FLAGS *&---------------------------------------------------------------------* FORM fill_update_flags USING value(p_ddic_name) CHANGING p_struc_upd. DATA: lt_dd03l LIKE dd03l OCCURS 0, ls_dd03l LIKE dd03l. DATA: s(40), c(40), sc(80) TYPE c. FIELD-SYMBOLS: <s>, <c>, <sc> TYPE ANY. TRANSLATE p_ddic_name TO UPPER CASE. SELECT * FROM dd03l INTO TABLE lt_dd03l WHERE tabname = p_ddic_name. s = 'P_STRUC_UPD'. ASSIGN (s) TO <s>. LOOP AT lt_dd03l INTO ls_dd03l. ASSIGN ls_dd03l-fieldname TO <c>. ASSIGN COMPONENT <c> OF STRUCTURE <s> TO <sc>. <sc> = 'X'. ENDLOOP. ENDFORM. " FILL_UPDATE_FLAGS
Please help me!
Thank you!
Edited by: kishan P on Sep 10, 2010 9:37 AM