02-15-2006 1:47 PM
Does anybody know what's the difference between the two?
Regards,
02-15-2006 1:54 PM
Hi Lin,
The BAPI executes a COMMIT WORK command. It is required for transactions developed externally to the R/3 System that change data in the R/3 System via BAPI calls.
When you call BAPIs in your program that change data in the R/3 System, afterwards you must call this method to write the changes to the database.
Essentially, they do the same.. the BAPI is like a wapaper to facilitate COMMIT WORK via external calls..
Regards,
Suresh Datti
02-15-2006 1:57 PM
The BAPI is intended to be executed by calls from external systems. In the end, it does a simple COMMIT WORK.
The COMMIT WORK is intended for internal calls.
The BAPI is a "wrapper" function module for COMMIT WORK.
Reward points accordingly.
02-15-2006 2:18 PM
Hi Suresh
>When you call BAPIs in your program that change data in >the R/3 System, afterwards you must call this method to >write the changes to the database
But there are some BAPI FMs themselves executed the commit
work command.It to say BAPIs had same purpose as an LUW or transaction....
rREGARDS
lI
02-15-2006 1:59 PM
Hi,
BAPI_TRANSACTION_COMMIT and COMMIT work both are same.
if you see in side the FM BAPI_TRANSACTION_COMMIT, you can see the commit work statement.
there is no difference.
Both can be used. no diff/.
regards
vijay
02-15-2006 2:21 PM
Vijay,
I do not believe that your answer is completely true.
The BAPI concept was built by SAP for the specific intention of external systems calling into and using SAP business objects. The BAPI_TRANSACTION_COMMIT is a Remoted Enabled Function Module (RFC).
It is available for use inside of SAP programs AND programs OUTSIDE of SAP (for example, a VB program that creates sales orders in R/3). The VB program MUST call the BAPI to commit the order to the R/3. The VB program can not "naturally" execute a COMMIT WORK stmnt in SAP.
I believe that there is a difference, and the difference is quite large.
When writing ABAP only, there is no difference... agreed. When writing complex solutions with external tools, there is a big difference.
02-15-2006 2:31 PM
Hi John,
i agree with you,
in SAP environment both are same.
but when you are working outside SAP environment commit work cannot be called explicitly, so for that purpose we have <b>BAPI_TRANSACTION_COMMIT</b>, for explicit commit work. Apart from this i don't see any difference.
regards
vijay
02-15-2006 2:14 PM
Hi Lin,
1. Practically No difference.
2. The only ADDITIONAL facility,
(which is much required,
to diagnose BAPI execution)
is the RETURN parameter,
which the BAPI populates and returns.
3. So,
we can still use simple COMMIT WORK,
but this BAPi is recommended,
so that we get the RETURN status
and other message to DIAGNOSE.
regards,
amit m.
02-15-2006 3:30 PM
the function BAPI_TRANSACTION_COMMIT calls the function
'BUFFER_REFRESH_ALL' which clears the internal memory tables.
The BAPIs register the necessary delete function modules in the table GT_DELETEFUNCTIONS.
If you don´t use the function BAPI_TRANSACTION_COMMIT you can get problem with the internal memory tables of the function groups.
02-15-2006 3:35 PM
Lin,
Has your question been answered thoroughly?
If so, please award points accoridngly.
If not, please clarify the outstanding area(s).
02-16-2006 3:40 PM
Hi everyone,
Reference by sap online help,
1)there are two kinds of bapis:synchronous and asynchronous;
2)there are two kinds of bapi transaction model,one is with commit,another is without commit,
who can tell me what concrete difference ?
ths
Best regrads