‎2011 Sep 06 10:08 AM
Hi,
I am using BAPI BAPI_BUS2054_CREATE_MULTI for creating WBS Elements.
We have 18 custom fields at WBS element level.
I am trying to populate the data for those 18 custom fields through EXTENSIONIN table parameter.
I am passing BAPI_TE_WBS_ELEMENT to the structure name & values to VALUEPART1. But after the BAPI call,
its not creating any error or saving the data for WBS Element.
Note: i am passing WBS Element at starting position i.e., 0(24) . My custom fields starts from 25(3) position onwards.
Below is the code how i am populating the data to the EXTENSIONIN tables.
data: lwa_extin TYPE bapiparex.
MOVE 'BAPI_TE_WBS_ELEMENT' TO lwa_extin-structure.
lwa_extin-valuepart1+0(24) = wa_data-posid.
lwa_extin-valuepart1+25(3) = '1'.
lwa_extin-valuepart1+28(4) = 'BSUB'.
lwa_extin-valuepart1+32(4) = 'CONT'.
lwa_extin-valuepart1+36(3) = '132'.
lwa_extin-valuepart1+39(6) = 'AUTH'.
lwa_extin-valuepart1+45(6) = '301'.
lwa_extin-valuepart1+51(26) = '1'.
lwa_extin-valuepart1+77(5) = '1'.
lwa_extin-valuepart1+82(21) = '1'.
lwa_extin-valuepart1+103(11) = '1'.
lwa_extin-valuepart1+114(15) = 'IL'.
lwa_extin-valuepart1+129(50) = '1'.
lwa_extin-valuepart1+179(50) = '1'.
lwa_extin-valuepart1+229(11) = '1'.
lwa_extin-valuepart2+0(10) = 'C'.
lwa_extin-valuepart2+10(8) = sy-datum.
lwa_extin-valuepart2+18(8) = sy-datum.
lwa_extin-valuepart2+26(4) = '1'.
APPEND lwa_extin TO li_extin.
CALL FUNCTION 'BAPI_BUS2054_CREATE_MULTI'
EXPORTING
i_project_definition = lwa_pspid
TABLES
it_wbs_element = li_wbsele_data
et_return = li_return
extensionin = li_extin
extensionout = li_extout.
Can any one help me about this issue.
Regards,
Kris.
‎2011 Sep 06 10:17 AM
Hi,
Are you using 'BAPI_TRANSACTION_COMMIT' after BAPI call?
If not then try to use as below,
data: lwa_extin TYPE bapiparex.
MOVE 'BAPI_TE_WBS_ELEMENT' TO lwa_extin-structure.
lwa_extin-valuepart1+0(24) = wa_data-posid.
lwa_extin-valuepart1+25(3) = '1'.
lwa_extin-valuepart1+28(4) = 'BSUB'.
lwa_extin-valuepart1+32(4) = 'CONT'.
lwa_extin-valuepart1+36(3) = '132'.
lwa_extin-valuepart1+39(6) = 'AUTH'.
lwa_extin-valuepart1+45(6) = '301'.
lwa_extin-valuepart1+51(26) = '1'.
lwa_extin-valuepart1+77(5) = '1'.
lwa_extin-valuepart1+82(21) = '1'.
lwa_extin-valuepart1+103(11) = '1'.
lwa_extin-valuepart1+114(15) = 'IL'.
lwa_extin-valuepart1+129(50) = '1'.
lwa_extin-valuepart1+179(50) = '1'.
lwa_extin-valuepart1+229(11) = '1'.
lwa_extin-valuepart2+0(10) = 'C'.
lwa_extin-valuepart2+10(8) = sy-datum.
lwa_extin-valuepart2+18(8) = sy-datum.
lwa_extin-valuepart2+26(4) = '1'.
APPEND lwa_extin TO li_extin.
CALL FUNCTION 'BAPI_BUS2054_CREATE_MULTI'
EXPORTING
i_project_definition = lwa_pspid
TABLES
it_wbs_element = li_wbsele_data
et_return = li_return
extensionin = li_extin
extensionout = li_extout.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X'.
‎2011 Sep 06 11:00 AM
Hi,
I am using BAPI_TRANSACTION_COMMIT after the BAPI call.
Its creating the WBS Element also, but only issue is it is not updating the custom fields values.
Kris.
‎2012 Jun 21 2:14 PM
‎2012 Jun 22 2:13 AM
Hi Kris
Have you implemented a BADI to process the extension structure within the BAPI?
The BADIs are mentioned in the function module documentation for the BAPI.
Regards
Glen