Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

What are the Pros and Cons of BDC?

Former Member

What are the Pros and Cons of BDC?

1 ACCEPTED SOLUTION

Former Member

Hi Koh,

Welcome to SDN.

May be the difference with other Data Migration tools will give you better understanding on the pros and cons of BDC.

Difference between LSMW and BDC

Difference between BDC and BAPI

BDC is traditional way of coding the transactions for uploading the legacy data, Sap is changing all transactions to Object oriented programming. Since BAPI is Object based and supports all the new transactions it is preffered over BDC. More over BAPI's process data faster than BDC.

BAPI is a SAP-supplied function module with a defined interface, which allows you to interact with various business objects. SAP guarantees the integrity of your database for anything updated using a BAPI. BDC is a method of driving screens programatically, for updating SAP data. BAPIs are generally faster than BDCs.

A BAPI is faster because it is updating the DB "directly". Whereas BDC with call

transaction goes through the whole screen sequence like any user would do, simply put, fills screens.

However - there is not always a BAPI for a particular transaction and not all functions that are performed by a transaction can be done by a BAPI. BDCs produce error sessions which can be processed by the user, while BAPIs don't.

First choose the BAPI ,if there is no BAPI go for BDC.

why BAPI first not BDC.

SAP comes up with Change in Version, so each and every time they will change the screens/number etc.

so you have to change your BDC programs accordingly.

and also Most of the Latest versions transactions are Enjoy Transaction. they will not support BDC's in Background.

But Using BAPI's No such disadvantages.

A BAPI is faster because it is updating the DB "directly" through ABAP code.

A BDC with call transaction goes through the whole screen sequence like any user would do, simply put, it is filling screens.

Actually it depends on your requirement but BAPI is more effective as it is standard function module to update SAP databases rather than BDC.

using bdc over bapi has advantages and also disadvantages

advantages:

1. using bdc we can upload data into database tables using 2 ways

1. foreground -


means that user interaction is there for each and every record.

2. back ground -


no user interaction and tasks are done automatically.

using these two options is one of the greatest advantage over bapi.

2. in bdc call transaction method we can control the display of screen resolution which is not possible with bapi's

3. bdc is generally used for transferring of large amount of data than bapi's

4.session method of bdc allows us to place data directly in application server and then finally transfered into sap database tables

disadvantages:

1.bdc is only used for sap to sap system data transferring

2. bapis's generally works more faster than bdc's

3. using bapis we can connect to remote systems and also to non sap systems.

if useful reward some points.

A BAPI is a method of a SAP Business Object.

enables SAP and third party applications to interact and integrate

with each other at the Business Object / Process level.

Check this link to know more about BAPI.

http://www.sapgenie.com/abap/bapi/example.htm

http://sappoint.com/abap/

Batch Data Communication (BDC) is the oldest batch interfacing technique that SAP provided since the early versions of R/3. BDC is not a

typical integration tool, in the sense that, it can be only be used for uploading data into R/3 and so it is not bi-directional.

BDC works on the principle of simulating user input for transactional screen, via an ABAP program. Typically the input comes in the form

of a flat file. The ABAP program reads this file and formats the input data screen by screen into an internal table (BDCDATA). The

transaction is then started using this internal table as the input and executed in the background.

In ‘Call Transaction’, the transactions are triggered at the time of processing itself and so the ABAP program must do the error handling.

It can also be used for real-time interfaces and custom error handling & logging features. .

To know more about BDC,

check the link.

http://sappoint.com/abap/

Main differences are...

In case of bdc data transfer takes place from flat file into sap system ie the file existing in sap system to sap sytem

where is bapi's r remotly enabled function modules which are assigned to some business objects n used to transfer the data between different business partners who are using different systems other than sap.

not only that...

when you plan to upgrade your system version then bdc willnot support those upgradations where as bapi's will support.

<b>Reward points if this helps.

Manish</b>

4 REPLIES 4

Former Member

Hi Koh,

Welcome to SDN.

May be the difference with other Data Migration tools will give you better understanding on the pros and cons of BDC.

Difference between LSMW and BDC

Difference between BDC and BAPI

BDC is traditional way of coding the transactions for uploading the legacy data, Sap is changing all transactions to Object oriented programming. Since BAPI is Object based and supports all the new transactions it is preffered over BDC. More over BAPI's process data faster than BDC.

BAPI is a SAP-supplied function module with a defined interface, which allows you to interact with various business objects. SAP guarantees the integrity of your database for anything updated using a BAPI. BDC is a method of driving screens programatically, for updating SAP data. BAPIs are generally faster than BDCs.

A BAPI is faster because it is updating the DB "directly". Whereas BDC with call

transaction goes through the whole screen sequence like any user would do, simply put, fills screens.

However - there is not always a BAPI for a particular transaction and not all functions that are performed by a transaction can be done by a BAPI. BDCs produce error sessions which can be processed by the user, while BAPIs don't.

First choose the BAPI ,if there is no BAPI go for BDC.

why BAPI first not BDC.

SAP comes up with Change in Version, so each and every time they will change the screens/number etc.

so you have to change your BDC programs accordingly.

and also Most of the Latest versions transactions are Enjoy Transaction. they will not support BDC's in Background.

But Using BAPI's No such disadvantages.

A BAPI is faster because it is updating the DB "directly" through ABAP code.

A BDC with call transaction goes through the whole screen sequence like any user would do, simply put, it is filling screens.

Actually it depends on your requirement but BAPI is more effective as it is standard function module to update SAP databases rather than BDC.

using bdc over bapi has advantages and also disadvantages

advantages:

1. using bdc we can upload data into database tables using 2 ways

1. foreground -


means that user interaction is there for each and every record.

2. back ground -


no user interaction and tasks are done automatically.

using these two options is one of the greatest advantage over bapi.

2. in bdc call transaction method we can control the display of screen resolution which is not possible with bapi's

3. bdc is generally used for transferring of large amount of data than bapi's

4.session method of bdc allows us to place data directly in application server and then finally transfered into sap database tables

disadvantages:

1.bdc is only used for sap to sap system data transferring

2. bapis's generally works more faster than bdc's

3. using bapis we can connect to remote systems and also to non sap systems.

if useful reward some points.

A BAPI is a method of a SAP Business Object.

enables SAP and third party applications to interact and integrate

with each other at the Business Object / Process level.

Check this link to know more about BAPI.

http://www.sapgenie.com/abap/bapi/example.htm

http://sappoint.com/abap/

Batch Data Communication (BDC) is the oldest batch interfacing technique that SAP provided since the early versions of R/3. BDC is not a

typical integration tool, in the sense that, it can be only be used for uploading data into R/3 and so it is not bi-directional.

BDC works on the principle of simulating user input for transactional screen, via an ABAP program. Typically the input comes in the form

of a flat file. The ABAP program reads this file and formats the input data screen by screen into an internal table (BDCDATA). The

transaction is then started using this internal table as the input and executed in the background.

In ‘Call Transaction’, the transactions are triggered at the time of processing itself and so the ABAP program must do the error handling.

It can also be used for real-time interfaces and custom error handling & logging features. .

To know more about BDC,

check the link.

http://sappoint.com/abap/

Main differences are...

In case of bdc data transfer takes place from flat file into sap system ie the file existing in sap system to sap sytem

where is bapi's r remotly enabled function modules which are assigned to some business objects n used to transfer the data between different business partners who are using different systems other than sap.

not only that...

when you plan to upgrade your system version then bdc willnot support those upgradations where as bapi's will support.

<b>Reward points if this helps.

Manish</b>

Former Member
0 Kudos

may i know how many type data migration program/methods are there and do you mind briefly describle them.. tks

0 Kudos

Hi,

Data can be migrated using the following methods

1.BDC

2.LSMW

3.BAPI

4.IDOCs

1.BDC

Batch Data Communication or BDC is a batch interfacing technique that SAP developed. It is mainly used for uploading data into the SAP R/3 system. BDC works by simulating the user input from transactional screen via an ABAP program.

The data input data file will come in the form of a flat file which the user save as file type txt file or prn file from the Microsoft Excel program. An Abaper will create a program to read the text file and upload into the SAP system.

Normally, the tcode SHDB will be used to record the transaction code the user used. After, the simulation, the Abaper can generate a sample program and modify from there. It makes the programming easier and faster.

u can check this out in the below links

http://www.sap-img.com/bdc.htm

http://www.sappoint.com/abap/bdcconcept.pdf

http://www.sap-img.com/bdc.htm

http://www.sapdevelopment.co.uk/bdc/updhome.htm

2. LSMW

This is a tool for data migration into SAP.

No ABAP effort are required for the SAP data migration. However, effort are required to map the data into the structure according to the pre-determined format as specified by the pre-written ABAP upload program of the LSMW.

The Legacy System Migration Workbench (LSMW) is a tool recommended by SAP that you can use to transfer data once only or periodically from legacy systems into an R/3 System.

More and more medium-sized firms are implementing SAP solutions, and many of them have their legacy data in desktop programs. In this case, the data is exported in a format that can be read by PC spreadsheet systems. As a result, the data transfer is mere child's play: Simply enter the field names in the first line of the table, and the LSM Workbench's import routine automatically generates the input file for your conversion program.

The LSM Workbench lets you check the data for migration against the current settings of your customizing. The check is performed after the data migration, but before the update in your database.

So although it was designed for uploading of legacy data it is not restricted to this use.

We use it for mass changes, i.e. uploading new/replacement data and it is great, but there are limits on its functionality, depending on the complexity of the transaction you are trying to replicate.

The SAP transaction code is 'LSMW' for SAP version 4.6x.

For those with the older SAP version (4.7 and below), the data migration programs might not have been pre-loaded.

You can download the LSMW at no cost from SAPNet under Services, SAP Methodology and Tools, category Tools.

If you are an existing SAP customer with an OSS ID, you can access the SAP Service Marketplace to download the LSWM for your Basis teams to install to your SAP system: http://service.sap.com/lsmw

The LSM Workbench carries out the following tasks:

Reads the transfer data from one or more files (for example, spreadsheets, sequential files etc.)

Converts the data from the source format into the target format

here r some links

http://www.sapbrain.com/TOOLS/LSMW/SAP_LSMW_steps_introduction.html

http://esnips.com/doc/8e732760-5548-44cc-a0bb-5982c9424f17/lsmw_sp.ppt

http://esnips.com/doc/f55fef40-fb82-4e89-9000-88316699c323/Data-Transfer-Using-LSMW.zip

http://esnips.com/doc/1cd73c19-4263-42a4-9d6f-ac5487b0ebcb/LSMW-with-Idocs.ppt

http://esnips.com/doc/ef04c89f-f3a2-473c-beee-6db5bb3dbb0e/LSMW-with-BAPI.ppt

http://esnips.com/doc/7582d072-6663-4388-803b-4b2b94d7f85e/LSMW.pdf

3.BAPI

A Business Application Programming Interface (BAPI) is a precisely defined interface providing access to processes and data in business application systems such as R/3.

BAPIs of SAP Business Object Types

BAPIs are defined as API methods of SAP business object types. These business object types and their BAPIs are described and stored in the Business Object Repository (BOR). A BAPI is implemented as a function module, that is stored and described in the Function Builder.

BAPIs of SAP Interface Types

As of Release 4.5A BAPIs can also describe interfaces, implemented outside the R/3 System that can be called in external systems by R/3 Systems. These BAPIs are known as BAPIs used for outbound processing. The target system is determined for the BAPI call in the distribution model of Application Link Enabling (ALE).

BAPIs used for outbound processing are defined in the Business Object Repository (BOR) as API methods of SAP Interface Types. Functions implemented outside the R/3 System can be standardized and made available as BAPIs. For further information see BAPIs Used For Outbound Processing.

Integration

BAPIs can be called within the R/3 System from external application systems and other programs. BAPIs are the communication standard for business applications. BAPI interface technology forms the basis for the following developments:

Connecting:

New R/3 components, for example, Advanced Planner and Optimizer (APO) and Business Information Warehouse (BW).

Non-SAP software

Legacy systems

Isolating components within the R/3 System in the context of Business Framework

Distributed R/3 scenarios with asynchronous connections using Application Link Enabling (ALE)

Connecting R/3 Systems to the Internet using Internet Application Components (IACs)

PC programs as frontends to the R/3 System, for example, Visual Basic (Microsoft) or Visual Age for Java (IBM).

Workflow applications that extend beyond system boundaries

Customers' and partners' own developments

here r some of the links.....

http://www.sapbapi.com/

http://help.sap.com/saphelp_nw04/helpdata/en/e0/9eb2370f9cbe68e10000009b38f8cf/frameset.htm

http://searchsap.techtarget.com/news/article/0,289142,sid21_gci948835,00.html

http://articles.techrepublic.com.com/5100-6329-1051160.html

http://sap.ittoolbox.com/topics/t.asp?t=303&p=323&h1=303&h2=322&h3=323

4.IDOC's

IDoc (for intermediate document) is a standard data structure for electronic data interchange (EDI) between application programs written for the popular SAP business system or between an SAP application and an external program. IDocs serve as the vehicle for data transfer in SAP's Application Link Enabling (ALE) system.

IDocs are used for asynchronous transactions: Each IDoc generated exists as a self-contained text file that can then be transmitted to the requesting workstation without connecting to the central database.

Another SAP mechanism, the Business Application Programming Interface (BAPI) is used for synchronous transactions.

A large enterprise's networked computing environment is likely to connect many geographically distributed computers to the main database. These computers are likely to use different hardware and/or operating system platforms. An IDoc encapsulates data so that it can be exchanged between different systems without conversion from one format to another.

IDoc types define different categories of data, such as purchase orders or invoices, which may then be broken down into more specific categories called message types. Greater specificity means that an IDoc type is capable of storing only the data required for a particular transaction, which increases efficiency and decreases resource demands.

An IDoc can be generated at any point in a transaction process. For example, during a shipping transaction process, an IDoc may be generated that includes the data fields required to print a shipping manifest. After a user performs an SAP transaction, one or more IDocs are generated in the sending database and passed to the ALE communication layer. The communication

layer performs a Remote Function Call (RFC), using the port definition and RFC destination specified by the customer model.

The IDoc is transmitted to the receiver, which may be an R/3, R/2, or some external system. *-- Ashok

Advantages of IDOC

IDoc is the data Format used by the SAP in data transfer using ALE /EDI methods. They provide more data security. An IDoc is an intermediate document used to send data in two ways, that is internal and the external point for you.

In BW, IDoc is a transfer mode, when you create a Infosource you can select the transfer mode as PSA or IDOC. Its the method provided for backward compatibility. In older version the hirerchies where loaded using IDOC transfer method. Now its possible with PSA but still that method is available to load the hierarchies.

An example in SD:

For creating sales documents (sales order) through IDOCS you will have to use the T code WE19. In that click basic type and enter order05(IDOC type) and select via message type then enter ORDERS(message type), click execute.

You will get to see many fields.here you have to enter the datas that you enter in the VA01 screen in order to create sales order. The datas such as material name, date, qty, P.O no etc. After entering all the datas, you click standard inbound the IDOC would be created by the system.You can see the created order by going in to VA03 screen.

Next time when you create the IDOC, in same tcode WE19 screen, click existing IDOC and enter the IDOC which you created in the above step and just change the P.O no.Sytem will create new sales order through new IDOC

Before doing all you need to maintain the partner profile in T code WE20. For this Discuss with EDI consultant.

here r some of the links for IDOCs.....

http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCSRVEDISC/CAEDISCAP_STC.pdf

http://help.sap.com/erp2005_ehp_03/helpdata/EN/1a/0e34f0539911d1898b0000e8322d00/frameset.htm

http://help.sap.com/search/search_overview.jsp

http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCSRVEDI/CAEDI.pdf

reward if helpful

raam

Former Member
0 Kudos

Sub Question