You are on page 1of 7

Differences between various technologies in SAP

 Bapi and Badi

BAPI BADI
BAPI is an interface which helps BADI is used to enhance R/3 For customer
the extenal world to communicate Needs.
with R/3 via OOPS Programming.

BAPI is technology of aplication Business Add-Ins are a new SAP


interface. enhancement technique based on ABAP
Objects.

 BADI and Customer-exit

BADI Customer-exit

Business Add-Ins are a new SAP CUSTOMER EXITS(enhancements) are


enhancement technique based on FUNCTIONS so they are called using CALL
ABAP Objects. FUNCTION (or more exactly CALL CUSTOMER
FUNCTION
Badi’s allow for a multi-level customer exits assumes a two-level
system landscape (SAP, partner, infrastructure (SAP and customer solutions)
and customer solutions, as well as
country versions, industry
solutions, and the like). Business
Add-Ins can be created at each
level within such a system
infrastructure
Some BADI can have multiple Customer-exit implemented in one project
independent implementations cannot be implemented in other.
which is much better for software
deployment as several developers
can implement the same BADI
independently.

 Batch Data Communication methods

Call Transaction method Classical or session method


In this method, the ABAP/4 In this method, ABAP/4 program read the
program uses the call transaction external data that is to be entered to the SAP
<T-code > using <bdc_tab> mode system and stores the data in the batch input
<mode> update <update > session.
method. When the prgm has finished creating the
session, we can run the session thro the TC
SM35. This method involves FM like
BDC_OPEN,BDC_INSERT,BDC_CLOSE

In ‘Call Transaction’, the Whereas in Batch Input Sessions, the ABAP


transactions are triggered at the program creates a session with all the
time of processing itself and so the transactional data, and this session can be
ABAP program must do the error viewed, scheduled and processed (using
handling. Transaction SM35) at a later time. The latter
technique has a built-in error processing
mechanism too.
Synchronous Processing Asynchronous Processing

We can update the database both Synchronous Database update.


synchronously and During processing, no transaction is
asynchronously. We can specify started until the previous transaction has
the mode in the program. been written to the database.

No batch input processing log Detailed Log will be generated for all the
sessions

While execution it starts from the While executing it wont start from the first. It
first. will start from the place where it ends with
error.

Faster than session method Not as fast as call transaction method


 IDOCs and BAPIs

IDOC BAPI
IDocs are text encoded documents BAPIs are a subset of the RFC-enabled
with a rigid structure that are used function modules, especially designed as
to exchange data between R/3 and Application Programming Interface (API) to
a foreign system the SAP business object, or in other words:
are function modules officially released by
SAP to be called from external programs.
Idocs are processed asynchronously BAPIs are called synchronously and (usually)
and no information whatsoever is return information
returned to the client,

Idocs – by using tRFC – support whereas for BAPIs the client code needs to
guaranteed delivery do the appropriate error handling.

With asynchronous links the sub- Problems with synchronous links occur if the
process on the client can be finished communication line or the server is
even if the communication line or temporarily not available. If this happens,
the server is not available. In this the sub-process on the client can not be
case the message is stored in the finished (otherwise there would be data
database and the communication inconsistencies).
can be done later
The disadvantage of asynchronous Synchronous links have the advantage that
links is that the sub-process on the the sub-process on the server can return
server can not return information to values to the sub-process on the client that
the calling sub-process on the has started the link.
client. A special way for sending
information back to the client is
required. In addition, a special error
handling mechanism is required to
handle errors on the receiving side.

IDOCs may BAPIs are not totally immune to upgrades


be more changable from release to
release.

IDOCs are poorly BAPIs are reasonably well documented


documented
 ALE and EDI

ALE EDI
SAP has provided ALE (Application EDI is described as the interchange of
Link Enabling) to distribute structured data according to agreed
applications across several SAP message standards between computer
systems and also between SAP and systems, by electronic means. (Electronic
external systems. Data Interchange) EDI in other words is a
set of computer interchange standards for
business documents such as invoices, bills,
and purchase orders. EDI(electronic data
interchange) is used send data to an
external partner.
For eg : if we send the purchase For eg :If we send the purchase order to a
order via ALE to another R/3 system, supplier then the supplier will store the
then the receiving system will store purchase order as a sales order.
the purchase order also as a
purchase order.

 User-exits and Customer-exits

User-exits(modifications) Customer-exits(enhancements)
USER EXITS are FORMS and are CUSTOMER EXITS are FUNCTIONS so they
called by SAP standard programs are called using CALL FUNCTION (or more
using PERFORM. exactly CALL CUSTOMER FUNCTION).

Inside the form (user exit) you can Inside a function (customer exit) you can
read and change almost any global only acces your
data from host program. import/export/changing/tables parameters.

User exits are more flexible because Customer exits are more restrictive but you
you have more information to use in are sure any change you can make to any
your code but on the other hand , it parameters will never lead to inconsistency
is very easy to manipulate
erroneously global data and lead the
standard program to a dump or even
to make database inconsistent.
User-exit doesn’t have any In customer-exit we have function-module
classification. exit , screen exit , menu exit

Basically designed For SD module Are available for MM,SD,FI,HR…..Basically


designed for all modules.

User-exits can be written only using No need of access key


access-key

With user-exits the code , the Customer-exits are not wiped during
developer has written will not be upgradation
there for next version unless
modification assistance tool is used
 Alv-grid and Alv-list

Alv-grid Alv-list

When the report is run in When the report is run in background only
background you cannot see the grid the list comes out in the spool
in the spool

to have an editable grid you have to you can make the list editable easily just
create it using objects flagging the field edit in fieldcat table

 SAP Script and Smartforms

SAP Script SmartForm


Scripts are client-dependent Smart-forms are client independent

Multiple page formats are not possible Multiple page formats are possible in
in SAPScripts smartforms

It is not possible to have scripts It is possible to have a smartform without


without main window a main window.

Labels can be created in scripts Labels cannot be created in smartforms.

Scripts doesn’t generate function Smartforms generates a function module


module when activetd when activated.

Scripts are poor in performance Smartforms are faster in performance

We cannot have background logos We can have both foreground and


background logos
 BDC and LSMW

LSMW BDC
lsmw is basically for standard sap BDC is basically for customized
application applications
in lsmw mapping is take care by sap in bdc we have to give mapping concept
exlicitly

You might also like