8/31/13
Difference between lsmw,bdc & bapi | SCN Getting Started New sletters
Welcome, Guest
Store
Search the Community
Products
Services &
About SCN
s
Industries
Training & Education
Partnership
Developer Center
Lines of Business
University Alliances
Events & Webinars
Innovation
Activity
Communications
Actions
Brow se
7 Replies Latest reply: Nov 20, 2007 12:22 PM by Gavin Richardson
0
Share
Tw eet
0
Like
0
vino kumar
Nov 20, 2007 11:25 AM
Difference between lsmw,bdc & bapi This question is Assumed Answered. Hi, What is the exact difference between BDC,LSMW and BAPI and why we are going for LSMW ,BAPI, if BDC is suitable or viceversa (for ing legacy data). kindly expecting replies
Helpful Answers by ANONYMOUS ANONYMOUS, Nehru NehruPandidurai
3934 View s
Average Rating (0 ratings)
nagaraj kumar nishtala Nov 20, 2007 11:30 AM (in response to vino kumar) Re: Difference between lsmw,bdc & bapi Hi, Check the below links http://www.geekinterview.com/question_details/33450 http://www.allinterview.com/showanswers/1646.html Reward if helpful. Regards, Nagaraj
Like (0)
Manish Kumar Nov 20, 2007 11:32 AM (in response to vino kumar) Re: Difference between lsmw,bdc & bapi Hi Satish, Difference between BDC and BAPI
BDC is traditional way of coding the transactions for ing the legacy data, Sap is changing all transactions to Object oriented programming. Since BAPI is Object based and s 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
scn.sap.com/thread/640283
1/9
8/31/13
Difference between lsmw,bdc & bapi | SCN 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 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 , 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 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 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 data into database tables using 2 ways 1. foreground means that interaction is there for each and every record. 2. back ground no 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. BAPI 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 ing data into R/3 and so it is not bi-directional. BDC works on the principle of simulating 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.
scn.sap.com/thread/640283
2/9
8/31/13
Difference between lsmw,bdc & bapi | SCN 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 those upgradations where as bapi's will . Difference between LSMW and BDC difference between LSMW and BDC Re: BDC calltransaction method - Urgent Reward points if this helps. Manish
Like (0)
Guest Nov 20, 2007 11:34 AM (in response to vino kumar)
Helpful Answer Re: Difference between lsmw,bdc & bapi Hi main diff LSMW offers different technique for migrating data: Direct input, BAPI, Idoc, Batch input recording. While BDC basically uses batch input sessions and CALL TRANSACTION method. Limit on number of records which can be ed in one session of BDC (999 records). No such limit in LSMW. LSMW is more to do with configuration while BDC involves programming. Rward if suefull
Like (0)
Satish Panakala Nov 20, 2007 11:37 AM (in response to vino kumar) Re: Difference between lsmw,bdc & bapi Hi Satish, BDC: About Data Transfer In R/3 System When a company decides to implement the SAP R/3 to manage business-critical data, it usually does not start from a no-data situation. Normally, a SAP R/3 project comes into replace or complement existing application. In the process of replacing current applications and transferring application data, two situations might occur: • The first is when application data to be replaced is transferred at once, and only once. • The second situation is to transfer data periodically from external systems to SAP and vice versa. • There is a period of time when information has to be transferred from existing application, to SAP R/3, and often this process will be repetitive. The SAP system offers two primary methods for transferring data into SAP systems. From non-SAP systems or legacy system. These two methods are collectively called “batch input” or “batch data
scn.sap.com/thread/640283
3/9
8/31/13
Difference between lsmw,bdc & bapi | SCN communication”. 1. SESSION METHOD 2. CALL TRANSACTION 3. DIRECT INPUT Advantages offered by BATCH INPUT method: 1. Can process large data volumes in batch. 2. Can be planned and submitted in the background. 3. No manual interaction is required when data is transferred. 4. Data integrity is maintained as whatever data is transferred to the table is through transaction. Hence batch input data is submitted to all the checks and validations. To implement one of the ed data transfers, you must often write the program that exports the data from your non-SAP system. This program, known as a “data transfer” program must map the data from the external system into the data structure required by the SAP batch input program. The batch input program must build all of the input to execute the SAP transaction. Two main steps are required: • To build an internal table containing every screen and every field to be filled in during the execution of an SAP transaction. • To the table to SAP for processing. Prerequisite for Data Transfer Program Writing a Data Transfer Program involves following prerequisites: Analyzing data from local file Analyzing transaction Analyzing transaction involves following steps: • The transaction code, if you do not already know it. • Which fields require input i.e., mandatory. • Which fields can you allow to default to standard values. • The names, types, and lengths of the fields that are used by a transaction. • Screen number and Name of module pool program behind a particular transaction. LSMW: This one is the most complete document for the same http://sapabap.iespana.es/sapabap/manuales/pdf/lsmw.pdf http://service.sap.com/lsmw. http://****************/Tutorials/LSMW/LSMWMainPage.htm Here is a step by step guide on LSMW http://sapabap.iespana.es/sapabap/manuales/pdf/lsmw.pdf http://myweb.dal.ca/hchinni/sap/lsmw_home.htm http://www.sap-img.com/sap-data-migration.htm http://www.sapgenie.com/saptech/lsmw.htm http://sapabap.iespana.es/sapabap/manuales/pdf/lsmw.pdf http://www.sap.info/public/INT/int/glossary/int/glossaryletter/Word17643ed1d6d658821_glossary/L#Word-17643ed1d6d658821_glossary BAPI BAPI-step by step procedure http://www.sapgenie.com/abap/bapi/example.htm list of all BAPI's http://www.planetsap.com/LIST_ALL_BAPIs.htm Reward Points for help ful answers Regards, Satish
Like (0)
Guest Nov 20, 2007 11:38 AM (in response to vino kumar)
Re: Difference between lsmw,bdc & bapi Hi
scn.sap.com/thread/640283
4/9
8/31/13
Difference between lsmw,bdc & bapi | SCN main diff LSMW offers different technique for migrating data: Direct input, BAPI, Idoc, Batch input recording. While BDC basically uses batch input sessions and CALL TRANSACTION method. Limit on number of records which can be ed in one session of BDC (999 records). No such limit in LSMW. LSMW is more to do with configuration while BDC involves programming. Significance of data migration Data migration comes in the end of R/3 implementation. To start with Data Migration first configuration should be fully completed Data migration is about 20% to 40% oft the total implementation expenses. Basic Principles of LSM workbench:- Most of the functions should reside in R/3. No collection of individual programs on different platforms. The quality and consistence of the data imported into R/3 should be more important than speed and performance of data migration. Existing knowledge and coding should be used. The developed ”mapping" and rules should be reusable and thus be used repeatedly in projects. Features:- Integrated in R/3 and thus independent of individual platforms The import technique to be used in an individual case, depends on the on the availability of standard input programs
business object as well as
Data consistency due to standard import techniques: Batch input Direct input BAPIs (Business Application Programming Interfaces) IDocs (Intermediate Documents) Structured way of working, because you have to finish every step before starting the next step Pre-requisites for LSMW Make sure that SAP customizing is finished. Run the relevant transaction in the SAP system manually with test data from the legacy system and see which fields must be filled. There may be required fields that do not correspond to data fields in the legacy system. In such a case, one should better assign a fixed value or establish an optional field for data transfer. Map the fields in advance in written form: Assign the source fields to the target fields. Determine the form in which non-SAP data will be transferred into the SAP system (e.g. via "Move" or according to a rule). Preferred methods of input are described in order of preference: IDOC’s Advantages: Fast to load, easy processing, low programming for standard IDOC’s Disadvantages: Good knowledge of IDOC processing required, time consuming if changes have to be made to a created IDOC 2. BAPI’s Advantages: Fast to load, easy processing, logical interface for functional/end based on the business processes involved. Disadvantages: Not always complete with all input fields of a transaction 3. Standard/Direct Input Advantages: Well tested method, Fast to load, easy processing. Disadvantages: No enjoy transactions, not always complete with all input fields of a transaction. 4. Batch Input Advantages: Easy modifiable, all fields are available, easy re-processing. Disadvantages: Comparatively slow, to use new screens or tabs a new recording has to be created, not easily usable for enjoy transactions, dependant on settings, difference in foreground and
scn.sap.com/thread/640283
5/9
8/31/13
Difference between lsmw,bdc & bapi | SCN background processing may occur. Reward if usefull
Like (0)
Nehru NehruPandidurai Nov 20, 2007 12:03 PM (in response to vino kumar) Helpful Answer Re: Difference between lsmw,bdc & bapi hi, Main diff between LSMW , BDC and BAPI. when we will use LSMW means minimum of data we want to uplode we will go for LSMW. this is for function concultent work why because here there is no coding so thats y easily the will e the data form lecacy system to sap system. When we will go for BDC while we have used in customer Exit in our tcode so that time we want go for bdc otherwise we will go for bapi why because in BAPI is standard Function module so if we r using BAPI which t code having the Enchansment we can't the data. In BAPI we will transfer the data from no sap( like java...) to sap . In BDC we can't. regards, S.Nehru.
Like (0)
Gavin Richardson Nov 20, 2007 12:22 PM (in response to vino kumar) Re: Difference between lsmw,bdc & bapi Hi there, We used LSMW for ing some legacy data and it was a NIGHTMARE! The next time we ed some data we used a program along the lines of this: [there are no exceptions or validation in this version - but it should get you started... just copy and past then use an excel sheet with the correct no. of columns and with the CORRECT DATA types in the excel sheet and you'll see how easy it is :)] COPY INTO NEW PROGRAM VIA SE80 ____________________________________________ REPORT ZGAVAMEXBTU1. TABLES: BSEG, BKPF, COBL, RF05A, INVFO, ACGL_ITEM. TYPES: BEGIN OF ttab , Lower line level detail to read - declare here - used to concatenate other details into (details being itab-trvl_dest itab-trvl_dept itab-trvl_sname) LongText type ACGL_ITEM-KONTO_TXT, col 001 in xcel file *************** NEED TO CHECK WHETHER THIS IS REQUIRED ************************************** *InvoiceText type ACGL_ITEM-KONTO_TXT, col 003 in xcel file - where traveller is going to trvl_dest(6) type c, col 004 in xcel file - travellers departure date - used in concatenation of LongText so format unimportant trvl_dept(8) type c, col 005 in xcel file - who is travelling trvl_sname(13) type c, col 008 in xcel file
scn.sap.com/thread/640283
6/9
8/31/13
Difference between lsmw,bdc & bapi | SCN CostCentre type ACGL_ITEM-KOSTL, col 009 in xcel file - cost charged - could be debot or credit AmountInLocCurr type ACGL_ITEM-WRBTR, ???????????????????? ???????????????????? ???????????????????? ???????????????????? col 011 in xcel file - used in "if statements" - I HAVE NO IDEA WHAT THE HECK THIS IS ref_no(20) type c, END OF ttab. DATA: Pre-Entry Screen Level Invoice Detail to declare are caprutred at selection screen CoCode Type BKPF-BUKRS value '9000', Top Level invoice detail to declare VendorCode type INVFO-ACCNT value '4234', CurrencyCode type INVFO-WAERS value 'GBP', To concatente 'Amex Travel of invoice date ' with pinvdat (value given in selection screen) TopText type INVFO-SGTXT, This MAY have to be summed from other amount details Amount type INVFO-WRBTR, lower lovel declarations GLacc type ACGL_ITEM-HKONT value '741020', line level details to be assigned with 'S' or 'H' based on whether amount is -ve or +ve values D_C type ACGL_ITEM-SHKZG, *other things that were declared in original spec but not used here... yet! LineNo type n. DATA: itab TYPE TABLE OF ttab WITH HEADER LINE, SEP(1) VALUE '-'. Data: counter type i value 1. *********************************************************************** SELECTION SCREEN DEFINITION *********************************************************************** SELECTION-SCREEN : BEGIN OF BLOCK b1 WITH FRAME TITLE GTEST. PARAMETER : p_bukrs LIKE t001-bukrs OBLIGATORY DEFAULT '9000', p_budat LIKE bkpf-budat OBLIGATORY DEFAULT sy-datum, pinvDat like INVFO-BLDAT OBLIGATORY DEFAULT '20070901', p_file LIKE rlgrap-filename OBLIGATORY DEFAULT 'C:\Documents and Settings\grichar1\Desktop\AMEX TRAVEL NEW3.xls', p_batch LIKE apqi-groupid OBLIGATORY Default 'TEST1'. SELECTION-SCREEN SKIP 1. PARAMETER : p_test AS CHECKBOX DEFAULT 'X'. SELECTION-SCREEN : END OF BLOCK b1. *********************************************************************** End of SELECTION SCREEN DEFINITION *********************************************************************** TOP-OF-PAGE. concatenate 'Amex Travel Invoice ' pinvdat into TopText separated by SEP. WRITE: / 'Customer: ', VendorCode, / 'Invoice date: ', pinvDat, / 'Posting date: ', p_budat, / 'Text: ', TopText. ULINE. Write: / 'Need to know what to put for ***********************', / 'Reference:', / 'Currency: DO WE NEED THIS FILLED IN AT TOP LEVEL'. AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file. CALL FUNCTION 'KD_GET_FILENAME_ON_F4' EXPORTING static = 'X'
scn.sap.com/thread/640283
7/9
8/31/13
Difference between lsmw,bdc & bapi | SCN CHANGING file_name = p_file. START-OF-SELECTION. CLEAR itab. REFRESH itab. PERFORM _data. LOOP AT itab. concatenate itab-trvl_dest itab-trvl_dept itab-trvl_sname into itab-LongText separated by SEP. if no invoice number - skips line - prevent extra lines at the bottom being inputted if itab-trvl_dept <> ''. determines whether line is credit(H) or debit(S) IF itab-AmountInLocCurr > '0'. D_C = 'S'. ELSE. D_C = 'H'. ENDIF. WRITE:/(3) 'ROW' color COL_TOTAL INTENSIFIED, (5) Counter color COL_TOTAL INTENSIFIED, (6) GLacc color COL_NEGATIVE, (30) itab-LongText color COL_Normal, (2) D_C color COL_NEGATIVE, (8) itab-AmountInLocCurr color col_key, (6) CoCode color COL_NEGATIVE INTENSIFIED, (10) itab-costCentre color COL_TOTAL INTENSIFIED. else. ENDIF. Add 1 to counter. ENDLOOP. ---FORM _data
*
---........
*
---FORM _data. DATA: file TYPE rlgrap-filename. DATA: xcel TYPE TABLE OF alsmex_tabline WITH HEADER LINE. file = p_file. CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE' EXPORTING filename = file i_begin_col = '1' i_begin_row = '4' i_end_col = '20' i_end_row = '500' TABLES intern = xcel EXCEPTIONS inconsistent_parameters = 1 _ole =2 OTHERS = 3. LOOP AT xcel. CASE xcel-col. WHEN '0001'. itab-InvoiceText = xcel-value. WHEN '0003'. itab-trvl_dest = xcel-value. WHEN '0004'. itab-trvl_dept = xcel-value. WHEN '0005'.
scn.sap.com/thread/640283
8/9
8/31/13
Difference between lsmw,bdc & bapi | SCN itab-trvl_sname = xcel-value. WHEN '0008'. itab-CostCentre = xcel-value. WHEN '0009'. itab-AmountInLocCurr = xcel-value. WHEN '0009'. itab-ref_no = xcel-value. ENDCASE. AT END OF row. LineNo = xcel-row. APPEND itab. CLEAR itab. ENDAT. ENDLOOP. ENDFORM. ____________________________________________ Excel data needs to look a bit like this [Top 2 rows blank - row 3 headings - other rows data] TRVL_INVNO TICKET_NO 91539 China 900080138 -30 91539 China 900080138
47
TRVLR_DEST TRVLR_DEPT TRVLR_SNAME 17092007 ATKINSON/JANE 258333302 593000 17092007 ATKINSON/JANE
TRVLR_INIT
CUST_REF
TRVL_REF
CHRG_BAL
MIS_REF
REF_NO
258333302 594000
________________________________________________ Just name the excel file as per code. Have fun!
If you can't get it to work just give me a shout.
Kind Regards, Gavin
Like (0)
Share
Site Index Privacy
0
Tw eet
Us of Use
scn.sap.com/thread/640283
0
Like
0
SAP Help Portal Legal Disclosure
Copyright
Follow SCN
9/9