cancel
Showing results for 
Search instead for 
Did you mean: 

Is BDC outdated? What is BAPI? LSMW?

Former Member
0 Kudos

Hi,

I was speaking with one of our ABAP programmers here and he said that BDC is outdated and no longer supported by SAP and that they rarely use SHDB. He said that they use BAPI to call transactions from programs. Is this the case? Can someone please provide some example code that uses BAPI? Also, what is LSMW?

Also, can someone provide example code for a selection screen? He also said they use selection screens to program the gui's and rarely program each object or data element.

thanks,

Kevin

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

No, BDC is not oudated. It is still in use.

LSMW is a type of BDC which can be used for Master Data upload.

BAPI is also similar to it but only some transactions can be used with it. Check in SM37 for the BAPI's and u will find what BAPI can be used. Selection screen is normal one which a normal program uses. This data might be used to select data and pass into BAPI for updations.

For those which are not supported by BAPI, normal BDC needs to be used which is done using SHDB.

Hope this clears U.

Pl. reward the points.

Answers (7)

Answers (7)

Former Member
0 Kudos

Hi Kevin,

As many have already mentioned here, BDC is not out of date. However, you may want to consider that in comparison to BAPIs, BDC is an "expensive" operation.

BDC basically simulates a user screen session, and therefore consumes the same type of resources a real user would on the server. An equivalent BAPI call, however, does not carry the same type of overhead.

If you are looking to carry out large volumes of transactions, it would be worthwhile to consider using newer alternatives to BDC.

Just something to consider,

- Suresh

Former Member
0 Kudos

Hi Kevin,

BDC's are not outdated. this is still using in some Projects.

LSMW is same as BDC's. in BDC's you have to write the coding in the report. but in the LSMW no need to write coding. just u have to map the fields. so, it is very useful. when you are creating new BDC, its better to use LSMW. so that you can avoid the coding.

BAPI's are similar to Function Module.

using BAPI's you can upload the Data like BDC. but you have to find the correct BAPI name to upload data.

if you didn't find the BAPI then using BDC you can upload the data.

i hope it will clear.

if u think this is useful for u please reward the points.

Regards,

KBS REDDY

Former Member
0 Kudos

Hi kevin,

bdc: Batch Data Communication is not outdated. BDC is used to transfer bulk data from legacy systems to r/3 systems.

LSMW: Legacy System Migration Workbench is one of the techniques used to transfer bulk data. In lsmw we record how a record should be transfered.during the recording we manually do the steps involved in the transfer of the record.then when we run the recording the system transfers all the data from the legacy system to the r/3 system.

BAPI :Business Application Programming Interface.BAPI is used as an interface between r/3 systems and legacy systems.

How BAPI works: A BAPI has import and export parameters.A legacy system sends and data like an Accountid as import information, in BAPI we program what to do with the Accountid. BAPI fetches the account holders name and sends it as an export parameter to the legacy system. the legacy system consumes the information given by BAPI.

Reward useful answers.

former_member188685
Active Contributor
0 Kudos

I think Nothing will be Outdated ...

vijay

former_member181962
Active Contributor
0 Kudos

Hi Kevin,

The following are the demo programs for the selection screens.

DEMO_AT_SELECTION_SCREEN Demonstration of the Basic Form of AT SELECTION-SCREEN

DEMO_AT_SELECTION_SCREEN_PBO Demonstration for PBO of a Selection Screen

DEMO_CALL_SELECTION_SCREEN Calling User-Defined Selection Screens

DEMO_SELECTION_SCREEN_BASIC Functions of Parameters

DEMO_SELECTION_SCREEN_EVENTS Selection Screen Events

DEMO_SELECTION_SCREEN_F1 F1 Help on the Selection Screen

DEMO_SELECTION_SCREEN_F4 F4 Help on the Selection Screen

DEMO_SELECTION_SCREEN_LDB_1 Demonstration for Selection Screen of a Logical Database

DEMO_SELECTION_SCREEN_LDB_2 Demonstration for Selection Screen of a Logical Database

Find them in se38 and run them.

Regards,

ravi

Former Member
0 Kudos

Hi,

To my knowledge BDCs are still there and not outdated. But its not possible to write BDCs for SAP Enjoy transactions. In such case we use BAPIs. Still there are transactions which dont have corresponding BAPIs.

Iam not clear with second part of your question.

Regards,

Ramesh.

former_member181962
Active Contributor
0 Kudos

Hi Kevin,

BAPI is a special type of function module which has a business purpose attached to it.

Eg: we have bapi's for sales order craetion, purchase order creation, change , etc.

We have a whole list of bapi's for specific purposes.

BDC's have some limitations like we cannot do BDCs for SAP Enjoy transactions like me21n etc.

For data transfer using BAPI's we need to fill the bapi structures instead of the bdc structures and call the bapi in the abap program.

LSMW is a one place workbench where we can do all the migration activity.(Legacy System Migration Workbench).

It is a step by step wizard for data transfer.

It supports Direct iput, BDC and BAPI's as well.

LSMW is independent of the method used(BDC or BAPI.)

Hope this answers some of your questions.

Sample code for bapi call.

  • BAPI to create sales order

<b> CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'

EXPORTING

  • SALESDOCUMENTIN =

ORDER_HEADER_IN = l_order_header

  • ORDER_HEADER_INX =

  • SENDER =

  • BINARY_RELATIONSHIPTYPE =

  • INT_NUMBER_ASSIGNMENT =

  • BEHAVE_WHEN_ERROR =

  • LOGIC_SWITCH =

  • TESTRUN =

  • CONVERT = ' '

IMPORTING

SALESDOCUMENT = l_salesdocument

TABLES

RETURN = it_return

ORDER_ITEMS_IN = it_order_items

  • ORDER_ITEMS_INX =

ORDER_PARTNERS = it_order_partners

ORDER_SCHEDULES_IN = it_order_schdl

  • ORDER_SCHEDULES_INX =

ORDER_CONDITIONS_IN = it_order_conditions

  • ORDER_CONDITIONS_INX =

  • ORDER_CFGS_REF =

  • ORDER_CFGS_INST =

  • ORDER_CFGS_PART_OF =

  • ORDER_CFGS_VALUE =

  • ORDER_CFGS_BLOB =

  • ORDER_CFGS_VK =

  • ORDER_CFGS_REFINST =

  • ORDER_CCARD =

  • ORDER_TEXT =

  • ORDER_KEYS =

  • EXTENSIONIN =

  • PARTNERADDRESSES =

.

if not l_salesdocument is initial.

  • order successfully created

message i001(00) with text-001 l_salesdocument.

endif.

Make sure that you fill the parameters that are being passed to the bapi before the call.</b>

Regards,

Ravi