Differences between  BDC , LSMW, BAPI,CATT

Hi ABAP Gurus,
Just I have completed my ABAP course. Could you please explain the differences between BDC(Session and Call Transaction),LSMW,CATT and BAPI. Their advantages & limitions.
Thanks in advance.
Chandra Mohan

BDC techniques used in programs:
1) Building a BDC table and calling a transaction,
2) Building a session and a set of BDC scenarios and keeping the session available in SM35,
3) Building a session and lauching the transaction right after closing the session.
BDC using Call Transaction
LSMW:
The Data Transfer Workbench (or DX Workbench, transaction SXDA) is an integrated SAP tool that supports data transfer and analysis. It does not have the built-in features for mapping for source structures to target structures, but it will allow you to integrate Legacy System Migration Workbench (LSMW) objects as processing tasks within a run definition. The DX workbench has many features for creating test data and performing data migrations - for example, logging of data migration runs. However, if you need to map or convert data, you should use the LSMW. Or, you can integrate your LSMW objects as task within a more user-friendly data migration run, in which the LSMW project steps "Read data", "Convert data," and "Start IDoc processing" are automated and use the features of both tools. If you donot need logging and automated data migration runs, you can perform your data migration without the DX Workbench.
BDC:
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.
BDC using Call transaction involves calling an SAP transaction in back ground from within the ABAP
program. The process involves building an Internal BDC table containing the screen information needed to
execute the required transaction and then passing this to the Call transaction command (See code example).
The full procedure for creating a BDC program is as follows:
What is the difference between batch input and call transaction in BDC?
Session method.
1) synchronous processing.
2) can tranfer large amount of data.
3) processing is slower.
4) error log is created
5) data is not updated until session is processed.
Call transaction.
1) asynchronous processing
2) can transfer small amount of data
3) processing is faster.
4) errors need to be handled explicitly
5) data is updated automatically
BATINPUT/DIRECT INPUT
A: Batch-inputs can not be used to fill the "delivery due list" screen because it is not a dynpro. This is a standard SAP report. A SAP report (check with "System -> Status") may be called using SUBMIT sentence with the appropriate options . It is preferred to call a report than create a Batch-input program.
GO THROUGH THIS LINK
http://www.guidancetech.com/people/holland/sap/abap/zzsni001.htm
BAPI - Some times the transaction screens changes, in those cases the BDC's fail as they purely refer to the screen elements. BAPI's provide a more consistent way to make entries in SAP systems without referencing the screen elements but still adhering to the underlying business logic, so the data entry is syntactically and semantically correct.
You can check the below links also
Re: Differences between LSMW and BDC
BDC  AND BAPI

Similar Messages

  • How to handle Table control in BDC? Difference between BDC & LSMW?

    Hi
    How to handle Table control in BDC? Difference between BDC & LSMW?
    Regards,
    Raghu

    Hi ,
    the diff b/w normal BDC and with table control is that with table control u can enter as many lineitems as u want..so during recording if u r entering 3 line items..then the program will show (1), (2) and (3) with that.
    chane that fixed no to variable.
    check that sample code.
    in this for new customer...any no of items can be entered.
    LOOP AT t_cusdata.
        REFRESH t_bdcdata.
        ON CHANGE OF t_cusdata-kunnr.
    initial screen.
          PERFORM bdc_dynpro      USING 'SAPMV10A' '0100'.
          PERFORM bdc_field       USING 'BDC_CURSOR'
                                  'MV10A-VTWEG'.
          PERFORM bdc_field       USING 'BDC_OKCODE'
                                  '/00'.
          PERFORM bdc_field       USING 'MV10A-KUNNR'
                                  t_cusdata-kunnr.
          PERFORM bdc_field      USING 'MV10A-VKORG'
                                  t_cusdata-vkorg.     "'HCL'.
          PERFORM bdc_field       USING 'MV10A-VTWEG'
                                  t_cusdata-vtweg.     "'HL'.
          DATA: fnam(20) TYPE c,
                fnam1(20) TYPE c,
                idx(2) TYPE c.
          MOVE 1 TO idx.
          LOOP AT t_matdata WHERE kunnr = t_cusdata-kunnr.
            PERFORM bdc_dynpro      USING 'SAPMV10A' '0200'.
            CONCATENATE 'MV10A-KDMAT(' idx ')' INTO fnam.
            PERFORM bdc_field       USING 'BDC_CURSOR'
                                          fnam.
            PERFORM bdc_field       USING 'BDC_OKCODE'
                                           '/00'.
            CONCATENATE 'MV10A-MATNR(' idx ')' INTO fnam1.
            PERFORM bdc_field       USING fnam1
                                          t_matdata-matnr.      "'FIN50'.
            PERFORM bdc_field       USING fnam
                                          t_matdata-kdmat.  "'ABCD'.
            idx = idx + 1.
          ENDLOOP.
          PERFORM bdc_dynpro      USING 'SAPMV10A' '0200'.
          PERFORM bdc_field       USING 'BDC_CURSOR'
                                  'MV10A-MATNR(01)'.
          PERFORM bdc_field       USING 'BDC_OKCODE'
                                  '=SICH'.
          CALL TRANSACTION 'VD51' USING t_bdcdata MODE 'A' .
                                        UPDATE 'S' MESSAGES INTO t_err_mes.
    Regards,
    Sonika

  • Bdc,lsmw,bapi

    hello all,
    please tell me about difference between bdc , lsmw, bapi
    Moderator Message: Search for available information before posting.
    Edited by: kishan P on Dec 28, 2010 4:32 PM

    Hi Karthik,
    All the 3 can be used for the same purpose.
    BDC - was the first provided by SAP for mass data entry in to SAP Database with Screen checks
    LSMW - Originated as a 3rd party tool with many more functionalities and ease of use
    BAPI - Some times the transaction screens changes, in those cases the BDC's fail as they purely refer to the screen elements. BAPI's provide a more consistent way to make entries in SAP systems without referencing the screen elements but still adhering to the underlying business logic, so the data entry is syntactically and semantically correct.
    Hope this helps.
    Regards,
    Gaurav

  • Differences between BDC and LSMW

    Hello SAP Gurus,
    Kindly let me know the various differences between BDC and LSMW.
    Also, please tell me the STEPS of the CUT-OVER PLANNING (Shifting of Data from the Legacy System to the SAP System). Here, the "Data" means which data? Please explain in details.
    Looking for your early feedback.
    Regards,
    Kaushik.

    Hi,
    BDC- It is Batch data communication. Its used for data conversion from legacy system to SAP system. Only technical people can do it. Tcode is SHDB.
    LSMW- It is legacy system migration workbench. Its also used for data conversion from legacy system to SAP system. But it is role of functional consultant. 
    There are 14 steps in LSMW. As soon as you complete the one step, automatically it will go to next step.
    In general you can use LSMW. But if you want to transfer more than 40,000 data, then it is not possible in LSMW. That time you can take help of BDC.
    Cutover strategy depends upon how the organizations design their data load strategies. Normally, you decide the sequence of Data loads for Configuration  settings, Master data, Transaction data which follows whom and then you make a copy of the system as a  Production system a day before and after checking the successful data loads, you go-live 100% or partial again  depending upon organizational setup and policies.
    Cutover planning is highly site specific. There's no thumb rule. The stock data as on the date of going live should be correctly entered. But stock being a highly dynamic quantity, the strategy for loading should be crystal clear. Then you have to load all the back dated transaction on the stock. Some stock comes into your plant/storage location as return and some stock is actually delivered to your customer through sales orders of various kinds. 
    Please refer this link,
    [PP Cut over activity|http://www.sap-img.com/production/pp-questions-answers.htm]
    Regards,
    R.Brahmankar

  • Difference among bdc,rfc,bapi

    hi,
    differences among BDC,RFC,BAPI
    When  do we go  for BDC?
    when do we go for RFC?
    when do we go for BAPI?
    devi.

    HI,
    When do we go for 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.
    when do we go for RFC?
    Purpose
    Communication between applications in different systems in the SAP environment includes connections between SAP systems as well as between SAP systems and non-SAP systems. Remote Function Call (RFC) is the standard SAP interface for communication between SAP systems. RFC calls a function to be executed in a remote system.
    http://help.sap.com/saphelp_nw04/helpdata/en/6f/1bd5b6a85b11d6b28500508b5d5211/content.htm
    when do we go for BAPI?
    http://help.sap.com/saphelp_nw04/helpdata/en/e0/9eb2370f9cbe68e10000009b38f8cf/frameset.htm
    Regards
    VIjay

  • Diffrent between BDC and BAPI

    Gurus..
    Please let know what is the diffrent between BAPI and BDC development?
    thanks

    Hi
    BDC:
    Batch Data Communication (BDC) is the process of transferring data from one SAP System to another SAP system or from a non-SAP system to SAP System.
    Features :
    BDC is an automatic procedure.
    This method is used to transfer large amount of data that is available in electronic medium.
    BDC can be used primarily when installing the SAP system and when transferring data from a legacy system (external system).
    BDC uses normal transaction codes to transfer data.
    Types of BDC :
    CLASSICAL BATCH INPUT (Session Method)
    CALL TRANSACTION
    BAPI stands for Business API(Application Program Interface).
    A BAPI is remotely enabled function module ie it can be invoked from remote programs like standalone JAVA programs, web interface etc..
    You can make your function module remotely enabled in attributes of Function module but
    A BAPI are standard SAP function modules provided by SAP for remote access. Also they are part of Businees Objest Repository(BOR).
    BAPI are RFC enabled function modules. the difference between RFc and BAPI are business objects. You create business objects and those are then registered in your BOR (Business Object Repository) which can be accessed outside the SAP system by using some other applications (Non-SAP) such as VB or JAVA. in this case u only specify the business object and its method from external system in BAPI there is no direct system call. while RFC are direct system call Some BAPIs provide basic functions and can be used for most SAP business object types. These BAPIs should be implemented the same for all business object types. Standardized BAPIs are easier to use and prevent users having to deal with a number of different BAPIs. Whenever possible, a standardized BAPI must be used in preference to an individual BAPI.
    The following standardized BAPIs are provided:
    Reading instances of SAP business objects
    GetList ( ) With the BAPI GetList you can select a range of object key values, for example, company codes and material numbers.
    The BAPI GetList() is a class method.
    GetDetail() With the BAPI GetDetail() the details of an instance of a business object type are retrieved and returned to the calling program. The instance is identified via its key. The BAPI GetDetail() is an instance method. BAPIs that can create, change or delete instances of a business object type
    The following BAPIs of the same object type have to be programmed so that they can be called several times within one transaction. For example, if, after sales order 1 has been created, a second sales order 2 is created in the same transaction, the second BAPI call must not affect the consistency of the sales order 2. After completing the transaction with a COMMIT WORK, both the orders are saved consistently in the database.
    Create( ) and CreateFromData! ( )
    The BAPIs Create() and CreateFromData() create an instance of an SAP business object type, for example, a purchase order. These BAPIs are class methods.
    Change( )
    The BAPI Change() changes an existing instance of an SAP business object type, for example, a purchase order. The BAPI Change () is an instance method.
    Delete( ) and Undelete( ) The BAPI Delete() deletes an instance of an SAP business object type from the database or sets a deletion flag.
    The BAPI Undelete() removes a deletion flag. These BAPIs are instance methods.
    Cancel ( ) Unlike the BAPI Delete(), the BAPI Cancel() cancels an instance of a business object type. The instance to be cancelled remains in the database and an additional instance is created and this is the one that is actually canceled. The Cancel() BAPI is an instance method.
    Add<subobject> ( ) and Remove<subobject> ( ) The BAPI Add<subobject> adds a subobject to an existing object inst! ance and the BAPI and Remove<subobject> removes a subobject from an object instance. These BAPIs are instance methods.
    BAPI-step by step
    http://www.sapgenie.com/abap/bapi/example.htm
    just refer to the link below
    http://www.sapmaterial.com/?gclid=CN322K28t4sCFQ-WbgodSGbK2g
    list of all bapis
    http://www.planetsap.com/LIST_ALL_BAPIs.htm
    for BAPI's
    http://www.sappoint.com/abap/bapiintro.pdf
    http://www.sappoint.com/abap/bapiprg.pdf
    http://www.sappoint.com/abap/bapiactx.pdf
    http://www.sappoint.com/abap/bapilst.pdf
    http://www.sappoint.com/abap/bapiexer.pdf
    http://service.sap.com/ale
    http://service.sap.com/bapi
    Regards
    Anji

  • Diffrence between BDC and BAPI's

    Hi all
    can any one tell me when to go with BDC and when to BAPI
    rewards are expected

    Hai Sai
    Check the following Differences B/W BDC and BAPI
    The steps to be followed are :
    1. Find out the relevant BAPI (BAPI_SALESORDER_CHANGE for VA02).
    [for VA01 use BAPI_SALESORDER_CREATEFROMDAT2]
    2. Create a Z program and call the BAPi (same as a Funtion module call).
    2. Now, if you see this BAPi, it has
    -> Importing structures.
    eg: SALESDOCUMENT: this will take the Sales order header data as input.
    -> Tables parameters:
    eg: ORDER_ITEM_IN: this will take the line item data as input.
    Note :
    Only specify fields that should be changed
    Select these fields by entering an X in the checkboxes
    Enter a U in the UPDATEFLAG field
    Always specify key fields when changing the data, including in the checkboxes
    The configuration is an exception here. If this needs to be changed, you need to complete it again fully.
    Maintain quantities and dates in the schedule line data
    Possible UPDATEFLAGS:
    U = change
    D = delete
    I = add
    Example
    1. Delete the whole order
    2. Delete order items
    3. Change the order
    4. Change the configuration
    Notes
    1. Minimum entry:
    You must enter the order number in the SALESDOCUMENT structure.
    You must always enter key fields for changes.
    You must always specify the update indicator in the ORDER_HEADER_INX.
    2. Commit control:
    The BAPI does not run a database Commit, which means that the application must trigger the Commit so that the changes are read to the database. To do this, use the BAPI_TRANSACTION_COMMIT BAPI.
    For further details... refer to the Function Module documentation for the BAPi.
    Regards
    Sreeni

  • Difference between uploading data using BDC,CATT

    Dear experts,
    what is the difference between uploading the data using BDC and CATT tool?
    is it only the coding or something else.
    and can you explain the situations where we prefer to upload the data using CATT tool.
    thanks in advance.

    Check this thread -
    Differences between  BDC , LSMW, BAPI,CATT
    Regards,
    Amit

  • Difference among BDC eCATT and LSMW

    Hi guys,
       May I have your attention please?
       I encounter difficulities regarding the relation among the above Data Transfer Tools.
       So far,I have learned a little about these tools, and done some data batch input from
    local drive.I find the three tools can deal with the same thing. So my question is what
    distinction exists among them since they are similar so much?
      Thank you

    Refer these links might be useful -
    Differences between  BDC , LSMW, BAPI,CATT
    LSMW Vs BDC
    Difference between BDC and LSMW
    Regards,
    Amit
    Reward all helpful replies.

  • Difference Between LSMW & BDC

    Dear Gurus,
    What is the difference between BDC & LSMW?  Is there any program in which LSMW is used?
    Thanks in advance.

    Hi,
      LSMW : LSMW (Legacy system migration workbench) is a data migration tool thats provided by sap to transfer data into SAP in a predetermined format.[LSMW|http://help.sap.com/saphelp_nw70/helpdata/en/87/f3ae74e68111d1b3ff006094b944c8/frameset.htm].
      BDC: BDC(Batch Data Communication) is  a technique developed by SAP to transfer data.It works by simulating teh user input on transactional screen[BDC|http://help.sap.com/saphelp_nw73/helpdata/en/fa/097008543b11d1898e0000e8322d00/frameset.htm].
    Thanks
    Narasimhan

  • LSMW Difference between 4.7 and ECC 6.0

    Hi Experts,
    can anyone point out the difference between the LSMW objects/options available in 4.7 and ECC 6.0. We have developed lot of objects in 4.7 thru BDC, IDOC, Report & Bapi's, like to know whether these will be affected and if so what is to be noted during upgrade.
    Also like to know what addtional objects or features are avaialble in ECC 6.0 LSMW?

    Do not double post the same question:
    https://forums.sdn.sap.com/profile.jspa?userID=3984345
    Markus

  • Difference in BDC & CATT

    am working on IS-U/CCS.
    pl tell me whats the difference between BDC and CATT ? +- points.
    tia.

    hi Sudeep,
    BDC(Batch Data Communication) and ECATT(Computer Aided Testing tool), both serve the purpose of Data Migration, CATT is a tool to achieve the above and BDC is programming part to achieve the same, The advantage of BDC is we(ABAP programmers) can develop custom programs to upload the transaction data mainly(we can also upload master data). CATT is a preconfigured tool to achieve data migration, generally used by Functional conultants, u can make use of one more tool LSMW(Legacy System Migration Workbench) to achieve the same.
    Regards:-
    Santosh
    Message was edited by: santosh D

  • In LSMW, what is diff between LSMW-BAPI and LSMW-IDOC

    hello all
    In LSMW, what is diff between LSMW-BAPI and LSMW-IDOC

    Hi Swamy,
    The differences between IDoc and BAPI are as follows: 
    IDOC
    IDocs are text encoded documents with a rigid structure that are used to exchange data between R/3 and a foreign system.
    Idocs are processed asynchronously and no information whatsoever is returned to the client.
    The target system need not be always online. The IDOC would be created and would send the IDOC once the target system is available (tRFC concept). Hence supports guaranteed delivery.
    With asynchronous links the sub-process on the client can be finished even if the communication line or the server is not available. In this case the message is stored in the database and the communication can be done later.
    The disadvantage of asynchronous links is that the sub-process on the server cannot return information to the calling sub-process on the 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 be more changeable from release to release.
    IDOCs  are poorly documented.
    BAPI
    BAPIs are a subset of the RFC-enabled function modules, especially designed as Application Programming Interface (API) to the SAP business object, or in other words: are function modules officially released by SAP to be called from external programs.
    BAPIs are called synchronously and (usually) return information.
    For BAPIs the client code needs to do the appropriate error handling.
    Problems with synchronous links occur if the communication line or the server is temporarily not available. If this happens, the sub-process on the client cannot be finished (otherwise there would be data inconsistencies).
    Synchronous links have the advantage that the sub-process on the server can return values to the sub-process on the client that has started the link.
    BAPIs are not totally immune to upgrades.
    BAPIs are reasonably well documented.
    Reward points if useful.
    Best Regards,
    Sekhar

  • Difference between BAPI and RFC?

    Difference between BAPI and RFC?
    also where to use BAPI and where to use RFC?

    Hi,
    BAPI are RFC enabled function modules. the difference between RFc and BAPI are business objects. You create business objects and those are then registered in your BOR (Business Object Repository) which can be accessed outside the SAP system by using some other applications (Non-SAP) such as VB or JAVA. in this case u only specify the business object and its method from external system in BAPI there is no direct system call. while RFC are direct system call Some BAPIs provide basic functions and can be used for most SAP business object types. These BAPIs should be implemented the same for all business object types. Standardized BAPIs are easier to use and prevent users having to deal with a number of different BAPIs. Whenever possible, a standardized BAPI must be used in preference to an individual BAPI.
    The following standardized BAPIs are provided:
    Reading instances of SAP business objects
    GetList ( )  With the BAPI GetList you can select a range of object key values, for example, company codes and material numbers.
    The BAPI GetList() is a class method.
    GetDetail()  With the BAPI GetDetail() the details of an instance of a business object type are retrieved and returned to the calling program. The instance is identified via its key. The BAPI GetDetail() is an instance method.  BAPIs that can create, change or delete instances of a business object type
    The following BAPIs of the same object type have to be programmed so that they can be called several times within one transaction. For example, if, after sales order 1 has been created, a second sales order 2 is created in the same transaction, the second BAPI call must not affect the consistency of the sales order 2. After completing the transaction with a COMMIT WORK, both the orders are saved consistently in the database.
    Create( ) and CreateFromData! ( ) 
    The BAPIs Create() and CreateFromData() create an instance of an SAP business object type, for example, a purchase order. These BAPIs are class methods. 
    Change( ) 
    The BAPI Change() changes an existing instance of an SAP business object type, for example, a purchase order. The BAPI Change () is an instance method. 
    Delete( ) and Undelete( )  The BAPI Delete() deletes an instance of an SAP business object type from the database or sets a deletion flag.
    The BAPI Undelete() removes a deletion flag. These BAPIs are instance methods.
    Cancel ( )  Unlike the BAPI Delete(), the BAPI Cancel() cancels an instance of a business object type. The instance to be cancelled remains in the database and an additional instance is created and this is the one that is actually canceled. The Cancel() BAPI is an instance method. 
    Add<subobject> ( ) and Remove<subobject> ( )  The BAPI Add<subobject> adds a subobject to an existing object inst! ance and the BAPI and Remove<subobject> removes a subobject from an object instance. These BAPIs are instance methods.
    Regards,
    Prakash

  • Difference between Retail Bapi and Normal BAPi

    HI,
       could anyone of u let me know whats the difference between a normal bapi and RETAIL BAPI...
    I wanna use some RETAIL_BAPI in my Program..
    so please let me know if u guys have any idea??
    Is it a good idea to usea RETAIL BAPI? and alo please let me know its PROS and CONS.
    Thanks in ADVANCE
    TINA

    hi Tina,
    Check this out
    http://www.allsaplinks.com/bapi.html
    Regards,|
    Santosh

Maybe you are looking for

  • Iphone 5 freezes and crashes, won't let me into my calling or texting. How do I fix it?

    I have had my IPhone 5 16GB for just over a year now, and it's never had these problems before. Recently my phone started freezing when I went to kill apps, then it started freezing on all my apps, and after it freezes it restarts, but when it restar

  • Safari Freezes Downloads That are more than 150 mb ???

    Its been happening for 2 weeks, when i download a file bigger than 200 mb i downloads until 150- 180 and stops??...if anyone knows the answer to this problem please help! Thanks,

  • What is the harddrive's RPM on most recent macmini?

    I would like to get back into circulation having been away from computing for almost a year. I bought a "new" macmini in May'2005 and believe the speed of the HD is 45RPM. Was wondering if the newest mini has a faster HD. Thank you.

  • MIRO Held Document

    Dear All, One of our invoice is in held status. Meanwhile we have observed that there is price diffent in PO item so we made changes in the PO line item. Now when i want to post the held document, i could not able to see the changes made in the PO. H

  • Wake up: tons of hard disk activity

    When the computer is unattended and goes to sleep to save power, there is an insane disk activity during wake up, combined with tons of freezes, etc. I am not talking about the deep sleep / hibernation where data gets saved to the disk; I'm talking a