Dear experts:
when i use ['BAPI_BUS2054_CREATE_MULTI'] to create the WBS, the message type occurs s, means the wbs has been created sucessfully. but when i use [BAPI_BUS2054_SET_STATUS] to get the status, it tell me that wbs is not exist, anyone can tell me why.thanks.
CALL FUNCTION 'BAPI_PS_INITIALIZATION'.
CALL FUNCTION 'BAPI_BUS2054_CREATE_MULTI'
EXPORTING
i_project_definition = l_project
TABLES
it_wbs_element = lt_wbs_table
et_return = lt_message
extensionin = lt_extensionin
extensionout = lt_extensionout.
ENDTRY.
LOOP AT lt_message WHERE type = 'E'
OR type = 'I'.
gt_log-messagetype = 'E'.
gt_log-zmenum = c_create_menum_error.
gt_log-zdate = sy-datum.
gt_log-ztime = sy-uzeit.
gt_log-zmessage = lt_message-message.
APPEND gt_log.
ENDLOOP.
IF sy-subrc = 0.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
ELSE.
gt_log-messagetype = 'S'.
gt_log-zmenum = c_create_menum_ok.
gt_log-zdate = sy-datum.
gt_log-ztime = sy-uzeit.
gt_log-zmessage = 'WBS created'.
APPEND gt_log.
CALL FUNCTION 'BAPI_PS_PRECOMMIT'.
CALL FUNCTION 'BAPI_PS_INITIALIZATION'.
CALL FUNCTION 'BAPI_BUS2054_SET_STATUS'
IMPORTING
RETURN =
TABLES
i_wbs_system_status = lt_system_satus
i_wbs_user_status = lt_user_satus
e_result = lt_message_status.
LOOP AT lt_message_status WHERE message_type = 'E'
OR message_type = 'I'.
gt_log-messagetype = 'E'.
gt_log-zmenum = c_create_menum_error.
gt_log-zdate = sy-datum.
gt_log-ztime = sy-uzeit.
gt_log-zmessage = lt_message_status-message_text.
APPEND gt_log.
ENDLOOP.
IF sy-subrc = 0.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
ELSE.
gt_log-messagetype = 'S'.
gt_log-zmenum = c_create_menum_ok.
gt_log-zdate = sy-datum.
gt_log-ztime = sy-uzeit.
gt_log-zmessage = 'WBS updated status'
APPEND gt_log.
CALL FUNCTION 'BAPI_PS_PRECOMMIT'.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
ENDIF.
ENDIF.
Monson