BAPI 'BAPI_BUS2054_CREATE_MULTI'
Hi,
Did anyone used the above BAPI for creating WBS elements?
I want to use above BAPI for converting Project/WBS and I am trying to map the Partner Tab fields(Sold-to party, bill-to party,...) on the WBS to the structure 'BAPI_BUS2054_NEW' but, not finding those fields.
Could someone help me with this?
Thanks for your help,
Ram.
I guess those are the fields to populate cost centers on WBS. I found a BAPI 'BAPI_BUS2001_PARTNER_CREATE_M' to create partners at Project level but, no luck finding one at WBS level.
Thanks anyway.
Regards,
Ram.
Similar Messages
-
Problem with bapi BAPI_BUS2054_CREATE_MULTI
I am trying to create multiple wbs elements for a given definition
using the bapi BAPI_BUS2054_CREATE_MULTI as per the documentation i have used BAPI_PS_INITIALIZATION
first to initialize,then followed by BAPI_BUS2054_CREATE_MULTI and ending with BAPI_PS_PRECOMMIT and BAPI_TRANSACTION_COMMIT
it says the definition is o.k but its giving error with wbs element.
that to enter all required fields.
could any body please tell what are all the required fields that i have to enter for it_wbs.Hi Aravind,
I am having same problem. Can you pelase explain me how you solved your issue.
Please help?
thanks,
Venkat. -
Error while Creating WBS element using BAPI 'BAPI_BUS2054_CREATE_MULTI'
Hi Expert,
I've a requirement to create WBS elements using BAPI. And I am using BAPIs in the following manner.
CALL FUNCTION 'BAPI_PS_INITIALIZATION'
CALL FUNCTION 'BAPI_BUS2054_CREATE_MULTI'
EXPORTING
i_project_definition = g_pdwbs
TABLES
it_wbs_element = it_wbs_element
et_return = it_return
EXTENSIONIN =
EXTENSIONOUT =
CALL FUNCTION 'BAPI_PS_PRECOMMIT'
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
When I do so I am getting the below errors. Please suggest.
"Individual check for creating the object WBS Element C-497082 required ".
"Individual check for creating the object WBS Element C-497082-0001 required".
Please suggest how to correct this error.
<REMOVED BY MODERATOR - REQUEST OR OFFER POINTS ARE FORBIDDEN>
Edited by: Alvaro Tejada Galindo on Aug 18, 2008 5:25 PMI am getting the same error, but I cannot figure it out how to detect it and fix it. Will you please share your solution?
Thanks, -
Regarding BAPI BAPI_BUS2054_CREATE_MULTI
Hi All,
I am using this BAPII BAPI_BUS2054_CREATE_MULTI to create the WBS structure automatically in PS for all the service material line items in the Individual contract and will assign the relevant WBS back to the contract line item.
When i am using this BAPI for first Contract no its working fine. When i am giving second contract no its throwing error message.
Please tell me how cdan i hadle it,
Reagrds
SubhaskarHave you called the FM in following orders.
BAPI_PS_INITIALIZATION
BAPI_BUS2054_CREATE_MULTI
BAPI_PS_PRECOMMIT
BAPI_TRANSACTION_COMMIT
Please read the documentation also for more details.
Nabheet -
BAPI's for creating of Project and WBS elements in SAP system.
Hi Guys,
I was able to use a Wrapper FM for creating the
We have a FM which combines 5 different BAPIs
FM/Wrapper: "Z_LEED_PROJ_WBSELEMT_CREATE"
1) BAPI_PS_INITIALIZATION
2) BAPI_BUS2001_CREATE
3) BAPI_BUS2054_CREATE_MULTI
4) BAPI_PS_PRECOMMIT
5) BAPI_TRANSACTION_COMMIT
Requirement: To automate the process of creation of Project and WBSE(Tasks) and create an entries in the PS tables based on the user inputs from the user interface in Visual Composer.
Basically user should be able to create the Projects and WBSE.
Issue: We were able to create the Project with the FM (BAPI_BUS2001_CREATE) but having the issue with the creation of WBSE(Tasks), the user will be entering the inputs for Project Definition, Project Profile and WBSE which are to be created in the UI.
The problem is we are not able to create the WBS elements using BAPI BAPI_BUS2054_CREATE_MULTI .i will send u the code below .Can anybody correct
CLEAR it_return.
CALL FUNCTION 'BAPI_BUS2054_CREATE_MULTI'
EXPORTING
I_PROJECT_DEFINITION = i_project_definition-project_definition
TABLES
IT_WBS_ELEMENT = it_wbs_element
ET_RETURN = it_return.
APPEND LINES OF it_return[] TO et_return[].
Thanks,
Gopi.Hi Ramiro,
This is the entire FM code which is below.
""Local Interface:
*" IMPORTING
*" VALUE(I_PROJECT_DEFINITION) LIKE BAPI_BUS2001_NEW STRUCTURE
*" BAPI_BUS2001_NEW
*" TABLES
*" IT_WBS_ELEMENT STRUCTURE BAPI_BUS2054_NEW
*" ET_RETURN STRUCTURE BAPIRET2 OPTIONAL
*" EXTENSIONIN STRUCTURE BAPIPAREX OPTIONAL
*" EXTENSIONOUT STRUCTURE BAPIPAREX OPTIONAL
DATA: it_return LIKE STANDARD TABLE OF BAPIRET2 WITH HEADER LINE,
v_error TYPE boolean VALUE IS INITIAL.
CLEAR: et_return, it_return.
CALL FUNCTION 'BAPI_PS_INITIALIZATION'.
Do checks for creating project definition
CALL FUNCTION 'BAPI_BUS2001_CREATE'
EXPORTING
I_PROJECT_DEFINITION = i_project_definition
TABLES
ET_RETURN = it_return.
APPEND LINES OF it_return[] TO et_return[].
LOOP AT it_return.
IF it_return-type CA 'EAX'.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
v_error = 'X'.
EXIT.
ENDIF.
ENDLOOP.
IF v_error = 'X'.
EXIT.
ENDIF.
Do checks for creating WBS elements
CLEAR it_return.
CALL FUNCTION 'BAPI_BUS2054_CREATE_MULTI'
EXPORTING
I_PROJECT_DEFINITION = i_project_definition-project_definition
TABLES
IT_WBS_ELEMENT = it_wbs_element
ET_RETURN = it_return.
APPEND LINES OF it_return[] TO et_return[].
LOOP AT it_return.
IF it_return-type CA 'EAX'.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
v_error = 'X'.
EXIT.
ENDIF.
ENDLOOP.
IF v_error = 'X'.
EXIT.
ENDIF.
CALL FUNCTION 'BAPI_PS_PRECOMMIT'
TABLES
ET_RETURN = it_return.
APPEND LINES OF it_return[] TO et_return[].
LOOP AT it_return.
IF it_return-type CA 'EAX'.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
v_error = 'X'.
EXIT.
ENDIF.
ENDLOOP.
IF v_error = 'X'.
EXIT.
ENDIF.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X'.
ENDFUNCTION.
can u please look at the code and let me know the changes?
Thanks,
Gopi. -
How to use [BAPI_BUS2054_CREATE_MULTI]?
Dear experts:
can anyone tell me how to use [BAPI_BUS2054_CREATE_MULTI] this function..when i used , the wbs is still not created, although the message tells me create sucessfully.
below is my step:
first: CALL FUNCTION 'BAPI_PS_INITIALIZATION'.
second: CALL FUNCTION 'BAPI_BUS2054_CREATE_MULTI'
when there is sucess message, i use [ CALL FUNCTION 'BAPI_PS_PRECOMMIT'
] instead of commit work else CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'..
can anyone help me to workout this issue.
monsonHi,
You can use BAPI_BUS2054_SET_STATUS in a list of WBS elements to revoke a system status and a user status respectively, as well as to set a system status and a user status respectively.
When you use BAPI BAPI_BUS2054_CREATE_MULTI , it should be called with these BAPIs and this order only.
1. BAPI_PS_INITIALIZATION "Initilize
2. BAPI_BUS2054_CREATE_MULTI ( to create WBS )
3. BAPI_BUS2054_SET_STATUS "Release WBS ( only if you want to REL )
4. BAPI_PS_PRECOMMIT "Precommit
5. BAPI_TRANSACTION_COMMIT "Commit
Reward If Helpfull,
Naresh -
WBS Element Creation Using BAPI
Friends,
While creating the WBS element using the bapi,
BAPI_BUS2054_CREATE_MULTI I'm getting an error in Return parameter of bapi.the error is
"Individual check for creating the object WBS Element CRA.011 required"
FYI: CRA.011 is nothing but the WBS element which i'm trying to create.
Pls help me in this. Advise me what are the mandatory fields to be passed in the it_wbs_element table of bapi.
Thanks.Hi Karthikeya,
I think the project profile which you are using has a different mask and the WBS element you are passing is different to the BAPI.
Are you able to create manually from CJ01 using the same WBS element?
Create a project manually and it will give the list of the mandatory fields set in the config. Using that list populate the BAPI struture accordingly.
Hope this helps.
Thanks
Lakshman. -
BAPI_BUS2054_CREATE_MULTI - Populating custom fields
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.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'. -
BAPI_BUS2054_CREATE_MULTI Mandatory I/P values?
Hi Guys,
can anybodytell me what are the mandatory I/P paramters to be populated for Creation of WBS elements for the BAPI BAPI_BUS2054_CREATE_MULTI?
Thanks,
Gopi.Hi Ravi,
I have an problem with the BAPI.
I want to create a WBS Element in an existing Project and have to consider the level of the wbs element (2, 3, 4).
I always receive the message that the hierarchy could not be build for the current PSP Element.
Project Definiton = WA300 and the current structure is:
WA300
--> WA300 Level 1
--> W-A300-AG Level 2
--> W-A300-AG-AG Level 3
The WBS-Element Structure is filled like this (for example):
ls_wbs_element-wbs_element = 'WA300AI'.
ls_wbs_element-description = 'Description of to be created psp element'.
ls_wbs_element-wbs_up = 'WA300'.
So the new structure should be like that:
WA300
--> WA300 Level 1
--> W-A300-AG Level 2
--> W-A300-AG-AG Level 3
--> W-A300-AI Level 2
In the return structure I get the message :
ID: CNIF_PI
NUM: 074
Can anyone help me?
When call the BAPI and the element wbs_element-wbs_up is initial and wbs_left is initial, it works but the bapi tries to create the element as Level 1 and thats not allowed in our own validation.
Thank you very much
Thomas -
BAPI_BUS2054_CREATE_MULTI - error CNIF_PI - 076
Hi,
I'm using BAPI BAPI_BUS2054_CREATE_MULTI to create new WBS elements and sudenly it has started to trow me errors CNIF_PI(076) and CNIF_PI(074).
Can anyone help me?
thanks
JurajI found where the error was ... the wbs_up attribute was filled with an incorrect value.
thanks -
BAPI_BUS2054_CREATE_MULTI customer fields
Hello, I'm having trouble using bapi BAPI_BUS2054_CREATE_MULTI.
I added some customer fields in EXTENSIONIN but I keep getting the error messages CJ726 and CJ 727 for those fields, they are not availabke for input.
After debug I found that this error is generated in th FM CJCK_PRPS_FIELD_ATTR_INIT, where for the customer fields they have to start by Z, Y, USR. USE or '/'.
But this is not the clients case. Is there anyway to validate these fields?
I might add that in this SAP system, some of these customer fields are obligatory, (it's a Public Administration system, so it has an add-on for this).Hi,
Looking at the Code, it looks like you will need to modify the standard SAP code in the FM to accomodate the fieldnames as per the requirement.
IF i_fieldname(3) = 'USR' OR
i_fieldname(3) = 'USE' OR
i_fieldname(1) = '/' OR
i_fieldname(1) = 'Z' OR
i_fieldname(1) = 'Y'.
Thanks and Regards,
Varshal Kachole -
Run bapi_bus2054_create_multi in background
Hi,
I'm able to run this BAPI bapi_bus2054_create_multi in foreground but unable to run in background while creating a session.
Can anyone let me know how I can run this bapi in background.
Regards,
Yahyahello you
you could create your own program (zprogram) calling the following sequence
Call BAPI_PS_INITIALIZATION
Call BAPI_BUS2054_CREATE_MULTI
Call BAPI_PS_PRECOMMIT
Call BAPI_TRANSACTION_COMMIT
and the run the Zprogram in the background ?
Ger -
Clarification on 'BAPI_BUS2054_CREATE_MULTI'
Hi Frnds,
I need some clarification in Bapi 'BAPI_BUS2054_CREATE_MULTI' :
1. Whether BAPI_PROJECT_MAINTAIN can be used to create a WBS Elemnt in CJ02 with Custom fields Value ?If Yes, then How can we do?
2. I know 'BAPI_BUS2054_CREATE_MULTI' can be used to change the WBS Element.My Doubt is whether we can create a Project and WBS Element with this Bapi? .If Yes, then How can we do?.
3. I want to upload the Custom field in Transaction CJ02.? How Can I do. Give me an Example?
4. I heard that, to use the BAPI 'BAPI_BUS2054_CREATE_MULTI' SAP Note 637345 should be apllied. Whether this is true ?
Please clarify my Doubts .
Thanks in Advance.Anand,
FU BAPI_BUS2054_CREATE_MULTI
Short Text
Create WBS Elements Using BAPI
Functionality
WBS elements can be created for a project with BAPI "BAPI_BUS2054_CREATE_MULTI". To do this, parameter "I_PROJECT_DEFINITION" must contain the project definition for which the WBS elements are to be created. The individual WBS elements with all required values must be entered in table "IT_WBS_ELEMENT_TABLE".
The WBS elements are created next to each other, in the same sequence as in table "IT_WBS_ELEMENT_TABLE". A WBS element under which the new WBS elements are to be created can be specified in parameter "I_WBS_UP". A WBS element that is to be located directly to the left of the new WBS elements can be specified with parameter "I_WBS_LEFT". If "I_WBS_LEFT" is not specified, the new WBS elements are added on the left-hand side. If I_WBS_UP is also not specified, the new WBS elements are added on the left and on the first level.
Before anything is created, the following is checked:
Is another project already being processed in the LUW (Logical Unit of Work)?
Can the project be locked?
If one check was not successful, nothing is created. Otherwise, each WBS element is changed individually in "IT_WBS_ELEMENT_TABLE", although the following is checked first:
Is the data consistent?
If all checks were succussful, the individual WBS element is created in the document tables. Afterwards, the hierarchy is updated, that is the new elements are added in the appropriate place as described above. If an error occurs while this is being carried out, the new elements are created on the right-hand side, on the first level, and an error message is generated in the return table. An error can occur if the WBS element in I_WBS_UP and I_WBS_LEFT does not exist in the specified project, or I_WBS_UP is not directly above I_WBS_LEFT if both are specified, or because an inconsistency occurs in the hierarchy for another reason.
As soon as a LUW (Logical Unit of Work) is completed with BAPI BAPI_PS_PRECOMMIT and COMMIT WORK, the WBS elements are finally changed.
Only one project or WBS element from a project can be processed at a time in a LUW.
The return parameter RETURN displays first an error or success message that shows whether the WBS elements could be created. The first message variable contains the object type, the second contains the object ID, and the fourth contains the GUID (if it could be read). All related messages that were generated during processing are listed underneath the error or success messages. The parameters of the individual messages are filled with the object ID.
Notes
1. Definition "Processing Unit"
In the following, the term "processing unit" refers to a series of related processing steps.
The first step in a processing unit is initialization, which is done by calling the BAPI BAPI_PS_INITIALIZATION.
Afterwards, the individual BAPIs listed below can be used several times, if required.
The processing unit ends when the final precommit (call BAPI BAPI_PS_PRECOMMIT) is executed with a subsequent COMMIT WORK (for example, the statement COMMIT WORK, the BAPI "BAPI_TRANSACTION_COMMIT" or the BapiService.TransactionCommit method).
After the final COMMIT WORK, the next initialization opens a new processing unit via the BAPI "BAPI_PS_INITIALIZATION".
In principal, the following applies to each individual processing unit.
2. Creation of a Processing Unit
Each processing unit must be initialized by calling the BAPI "BAPI_PS_INITIALIZATION" once.
Afterwards, the following individual BAPIs can be used within a processing unit - they can also be used more than once, taking into account the "One-Project-Principle" explained below. This also means that an object created in the current processing unit by a CREATE-BAPI can be changed by a CHANGE-BAPI or STATUS-BAPI.
Except for the BAPIs explicitly named below, you can only call up BAPIs that execute GET methods or READ methods only. In particular, the BAPIs for confirming a network may not be used with the individual BAPIs named below!
Business Object ProjectDefinitionPI
BAPI Method
BAPI_BUS2001_CREATE ProjectDefinitionPI.CreateSingle
BAPI_BUS2001_CHANGE ProjectDefinitionPI.Change
BAPI_BUS2001_DELETE ProjectDefinitionPI.Delete
BAPI_BUS2001_SET_STATUS ProjectDefinitionPI.SetStatus
BAPI_BUS2001_PARTNER_CREATE_M ProjectDefinitionPI.PartnerCreateMultiple
BAPI_BUS2001_PARTNER_CHANGE_M ProjectDefinitionPI.PartnerChangeMultiple
BAPI_BUS2001_PARTNER_REMOVE_M ProjectDefinitionPI.PartnerRemoveMultiple
Business Object WBSPI
BAPI Method
BAPI_BUS2054_CREATE_MULTI WBSPI.CreateMultiple
BAPI_BUS2054_CHANGE_MULTI WBSPI.ChangeMultiple
BAPI_BUS2054_DELETE_MULTI WBSPI.DeleteMultiple
BAPI_BUS2001_SET_STATUS WBSPI.SetStatus
Business Object NetworkPI
BAPI Method
BAPI_BUS2002_CREATE NetworkPI.CreateFromData
BAPI_BUS2002_CHANGE NetworkPI.Change
BAPI_BUS2002_DELETE NetworkPI.Delete
BAPI_BUS2002_ACT_CREATE_MULTI NetworkPI.ActCreateMultiple
BAPI_BUS2002_ACT_CHANGE_MULTI NetworkPI.ActChangeMultiple
BAPI_BUS2002_ACT_DELETE_MULTI NetworkPI.ActDeleteMultiple
BAPI_BUS2002_ACTELEM_CREATE_M NetworkPI.ActElemCreateMultiple
BAPI_BUS2002_ACTELEM_CHANGE_M NetworkPI.ActElemChangeMultiple
BAPI_BUS2002_ACTELEM_DELETE_M NetworkPI.ActElemDeleteMultiple
BAPI_BUS2002_SET_STATUS NetworkPI.SetStatus
The processing unit must be finished by calling the BAPIs BAPI_PS_PRECOMMIT and BAPI_TRANSACTION_COMMIT (in that order).
3. One-Project Principle
For technical reasons, only the project definition and the WBS elements of one project can be processed in a processing unit.
More than one project is used, for example, if
You create or change more than one project
You have changed a project and want to change a network to which WBS elements from a different project are assigned
You want to change various networks to which WBS elements from different projects are assigned
You create or change a WBS assignment in a network so that a WBS element from a second project is used
WBS elements from different projects are already assigned to a network (note: this type of network cannot be processed with the network BAPIs named above).
If you define a report for calling BAPIs, this means that:
The report may use a maximum of one project per processing unit. The individual BAPI calls must be distributed between more than one processing unit, which use a maximum of one project per processing unit.
4. All-Or-Nothing Principle
If an error occurs in a processing unit in an individual BAPI or in the BAPI "BAPI_PS_PRECOMMIT" (that is, the return table ET_RETURN contains at least one message of the type "E" (error), "A" (abnormal end) or "X" (exit), posting is not possible.
If an error occurs in an individual BAPI and despite this you call the BAPI "BAPI_PS_PRECOMMIT", message CNIF_PI 056 is issued with message type I (information).
If an error occurs in an individual BAPI or in the BAPI "BAPI_PS_PRECOMMIT", but despite this you execute a COMMIT WORK, the program that is currently in process is terminated and message CNIF_PI 056 is issued with message type X.
This is to ensure data consistency for all objects created, changed, and/or deleted in the processing unit.
Note that the processing unit to which this happens can no longer be successfully closed and therefore, no new processing unit can be started.
However, you can set the current processing unit back to an initialized status by using a rollback work (for example, statement ROLLBACK WORK, the BAPI "BAPI_TRANSACTION_ROLLBACK" or the method BapiService.TransactionRollback). Technically speaking, this means that the previous LUW is terminated and a new LUW is started in the current processing unit.
Note that in this case, the current processing unit does not have to be re-initialized.
Also note that the rollback also takes place according to the "all-or-nothing" principle, that therefore all individual BAPIs carried out up to the rollback are discarded. After a rollback, you can, therefore, no longer refer to an object that was previously created in the current processing unit using a CREATE-BAPI.
However, you can close the processing unit again after a rollback, using a PRECOMMIT and COMMIT WORK, as long as all individual BAPIs, and the precommit carried out after the rollback, finish without errors.
You can carry out several rollbacks in a processing unit (technically: start a new LUW several times).
5. Procedure in the Case of Errors
As soon as an error occurs in an individual BAPI or in the BAPI "BAPI_PS_PRECOMMIT", you have the following options:
Exit the report or the program that calls the BAPIs, the PRECOMMIT and the COMMIT WORK.
Execute a rollback in the current processing unit.
6. Rules for Posting
After you have successfully called the individual BAPIs of a processing unit, you must call the PRECOMMIT "BAPI_PS_PRECOMMIT".
If the PRECOMMIT is also successful, the COMMIT WORK must take place directly afterwards.
In particular, note that after the PRECOMMIT, you cannot call other individual BAPIs again in the current processing unit.
It is also not permitted to call the PRECOMMIT more than once in a processing unit.
7. Recommendation "COMMIT WORK AND WAIT"
If an object created in a processing unit is to be used in a subsequent processing unit (for example, as an account assignment object in a G/L account posting) it is recommended to call the commit work with the supplement "AND WAIT" or to set the parameters for the BAPI "BAPI_TRANSACTION_COMMIT" accordingly.
8. Field Selection
The field selection is a tool for influencing the user interface (that is, for the dialog). In the BAPIs, the settings from the field selection (for example, fields that are not ready for input or required-entry) are not taken into account.
9. Using a date in the BAPI interface
The BAPI must be provided with the date in the internal format YYYYMMDD (year month day). No special characters may be used.
As a BAPI must work independent of user, the date cannot and should not be converted to the date format specified in the user-specific settings.
10. Customer Enhancements of the BAPIs
For the BAPIs used to create and change project definitions, WBS elements, networks, activities, and activity elements, you can automatically fill the fields of the tables PROJ, PRPS, AUFK, and AFVU that have been defined for customer enhancements in the standard system.
For this purpose, help structures that contain the respective key fields, as well as the CI include of the table are supplied. The BAPIs contain the parameter ExtensionIN in which the enhancement fields can be entered and also provide BAdIs in which the entered values can be checked and, if required, processed further.
CI Include Help Structure Key
CI_PROJ BAPI_TE_PROJECT_DEFINITION PROJECT_DEFINITION
CI_PRPS BAPI_TE_WBS_ELEMENT WBS_ELEMENT
CI_AUFK BAPI_TE_NETWORK NETWORK
CI_AFVU BAPI_TE_NETWORK_ACTIVITY NETWORK ACTIVITY
CI_AFVU BAPI_TE_NETWORK_ACT_ELEMENT NETWORK ACTIVITY ELEMENT
Procedure for Filling Standard Enhancements
Before you call the BAPI for each object that is to be created or changed, for which you want to enter customer-specific table enhancement fields, add a data record to the container ExtensionIn:
STRUCTURE: Name of the corresponding help structure
VALUEPART1: Key of the object + start of the data part
VALUEPART2-4: If required, the continuation of the data part
VALUPART1 to VALUPART4 are therefore filled consecutively, first with the keys that identify the table rows and then with the values of the customer-specific fields. By structuring the container in this way, it is possible to transfer its content with one MOVE command to the structure of the BAPI table extension.
Note that when objects are changed, all fields of the enhancements are overwritten (as opposed to the standard fields, where only those fields for which the respective update indicator is set are changed). Therefore, even if you only want to change one field, all the fields that you transfer in ExtensionIn must be filled.
Checks and Further Processing
Using the methods ...CREATE_EXIT1 or. ...CHANGE_EXIT1 of the BAdI BAPIEXT_BUS2001, BAPIEXT_BUS2002, and BAPIEXT_BUS2054, you can check the entered values (and/or carry out other checks).
In the BAdI's second method, you can program that the data transferred to the BAPI is processed further (if you only want to transfer the fields of the CI includes, no more action is required here).
For more information, refer to the SAP Library under Cross-Application Components -> Business Framework Architecture -> Enhancements, Modifications ... -> Customer Enhancement and Modification of BAPIs -> Customer Enhancement of BAPIs (CA-BFA).
Further information
For more information, refer to the SAP Library under Project System -> Structures -> Project System Interfaces -> PS-EPS Interface to External Project Management Systems.
Parameters
I_PROJECT_DEFINITION
IT_WBS_ELEMENT
ET_RETURN
EXTENSIONIN
EXTENSIONOUT
Exceptions
Function Group
CJ2054 -
BAPI for settlement rules in WBS Elements
Hi,
Is there any standard bapi, method, or whatever... to create / modify settlement rules for WBS Elements?.
Rgds,
JoseLook at BAPI/FM of FG CJ2054
BAPI_BUS2054_CHANGE_MULTI Change WBS Elements by BAPI
BAPI_BUS2054_CREATE_MULTI Create WBS Elements by BAPI
BAPI_BUS2054_DELETE_MULTI Delete WBS Elements by BAPI
BAPI_BUS2054_GET_GUID_FROM_KEY Read the GUIDs Using the WBS Keys
BAPI_BUS2054_GET_KEY_FROM_GUID Read the WBS Keys Using the GUIDs
CJ2054_CHANGE
CJ2054_CREATE
CJ2054_DELETE
CJ2054_WBSELEMENT_CHANGE_STRU
MAP2I_BAPI_BUS2054_CHG_TO_PRPS
MAP2I_BAPI_BUS2054_NEW_TO_PRPS
MAP2I_BAPI_BUS2054_UPD_TO_PRPS
Regards -
Is there any BAPI for Upload Documents of WBS elements?
Hi Guys,
Can anbody tell me is there any BAPI for Uploading Documents of WBS elements ?
Thanks,
Gopi.hi
check these BAPI
Change WBS Elements Using BAPI
BAPI_BUS2054_CHANGE_MULTI
Create WBS Elements Using BAPI
BAPI_BUS2054_CREATE_MULTI
Delete WBS Elements Using BAPI
BAPI_BUS2054_DELETE_MULTI
Detail Data for WBS Elements
BAPI_BUS2054_GETDATA
Reading the GUIDs using the WBS Key
BAPI_BUS2054_GET_GUID_FROM_KEY
Reading the WBS Key using the GUIDs
BAPI_BUS2054_GET_KEY_FROM_GUID
Check Existence of a WBS Element
BAPI_PROJECT_EXISTENCECHECK
Element
thnks
sitaram
Maybe you are looking for
-
Can't verify Face Time on my MacBook
I try to login to FT on my Macbook, which I have used successfully in the past, but now it asks to verify. When I follow the procedure, I keep getting this message: If this is a new Apple ID, you do not need to create another one. To use this Apple I
-
BW ability to work with data from VT03N transaction in R/3
Hello, It was requested that I create in BW a way to query the data from the VT03N screen in R/3. How would I do this in terms of setting up or using a datasource extracting and modeling? What we really want to get is ship volume, carriers used, ear
-
Where can I get window os 2003 for unity 5.0(1) for MCS7835I1 platform?
Dear All, I didn't receive any DVD on window os 2003 for unity 5.0(1) for MCS7835I1 platform for my purchase. I only have got the IP Telephony OS 2003.1.1 which stated in the document that it is not for Unity. So I tried to open case to TAC but they
-
Flash chart error: scroller position should be positive and integer
Hi I am periodically getting this error when running a flash chart. It seems to be related to the amount of data that I am using. Any Idea whats causing it and how to resolve it Keith
-
Can only see the first page of books downloaded on Nook using Overdrive, how do I fix?
Can only see the first page of each chapter of downloaded books on my Nook, how do I fix?