BAPI & BDC ?

what is the difference between BAPI & BDC ?

Hi
<b>BAPI</b>
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.
Check these Links out
http://searchsap.techtarget.com/ateQuestionNResponse/0,289625,sid21_cid558752_tax293481,00.html
http://www.sap-img.com/abap/interview-question-on-bapi-rfc-abap-objects-tables.htm
http://www.sap-img.com/fu033.htm
http://www.sap-img.com/abap/ale-bapi.htm
Refer following SDN threads:
Diff. Between BAPI and RFC
Re: BAPI and RFC
<b>
BDC:</b>
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
BATCH INPUT METHOD:
This method is also called as ‘CLASSICAL METHOD’.
Features:
Asynchronous processing.
Synchronous Processing in database update.
Transfer data for more than one transaction.
Batch input processing log will be generated.
During processing, no transaction is started until the previous transaction has been written to the database.
CALL TRANSACTION METHOD :
This is another method to transfer data from the legacy system.
Features:
Synchronous processing. The system performs a database commit immediately before and after the CALL TRANSACTION USING statement.
Updating the database can be either synchronous or asynchronous. The program specifies the update type.
Transfer data for a single transaction.
Transfers data for a sequence of dialog screens.
No batch input processing log is generated.
For BDC:
http://myweb.dal.ca/hchinni/sap/bdc_home.htm
https://www.sdn.sap.com/irj/sdn/wiki?path=/display/home/bdc&
http://www.sap-img.com/abap/learning-bdc-programming.htm
http://www.sapdevelopment.co.uk/bdc/bdchome.htm
http://www.sap-img.com/abap/difference-between-batch-input-and-call-transaction-in-bdc.htm
http://help.sap.com/saphelp_47x200/helpdata/en/69/c250684ba111d189750000e8322d00/frameset.htm
http://www.sap-img.com/abap/learning-bdc-
http://www.sapbrain.com/TUTORIALS/TECHNICAL/BDC_tutorial.html

Similar Messages

  • BAPI, BDC ,ALE

    Hi
    Can any one tell me the difficulties faced while working with BAPI BDC ALE .
    Bharathi

    HI Bharathi,
    U have wrongly posted the thread in BI area. If u need any answers then post it in ABAP area.
    Bhaskar

  • Diffenece B/n BAPI & BDC

    Hi Gurus,
    Could any body give me the Exact Diffenece B/n BAPI & BDC
    Regards
    Vijaya

    Hi Vijaya,
    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 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.
    Reward points, if useful.
    Regards,
    Nitin.

  • BAPI/ BDC in program

    Hi All,
            I am using a 2 BAPI's and 3 BDC's in a program. I need all these BAPI and BDC's update the tanscations in a single bundled task?  that is if any of BAPI or BDC failed the sucessful BAPI/BDC should be rolled back. How can I make it happen?  Any sample code will be helpful
      All Suggestion will be rewarded.

    Hi,
    This requirement can make the program a complex one. But you can give a try.
    Use BDC session method. At end, check whether all the BAPI's and BDC's are successfull or not, if successful write some code to process all the sessions else don't process all the sessions.
    Hope this helps.
    Thanks,
    Srinivasa

  • MR22 Mass Material BAPI/BDC

    Hi Guru!
    Need some help.
    My problem is to start MR22 with mass Materials and Amounts using also field KONGR-Revaluation Reasn.
    1. I Was trying BDC, but it can be used maximum wtih 9 materials. When i try to put f.e. 13 materials, call transaction return me an error MSGID = 00, MSGNR = 349, MSGV1 = CKI_MR22_0250-MATNR, MSGV2 = (10)
    2. Can't use  BAPI_M_REVAL_CREATEPRICECHANGE and export parameter KONGR-Revaluation Reasn.
    Thank you!
    Regards,
    Artiyom.

    Partially solved.
    1. For BDC was helpful thread How can we scroll the table control in bdc. Is there any process.
        But in my case : The key is to use PageDown. It has its own code:  bdcdata_wa-fval = '=DOWN'.
    2. But I still have no idea what BAPI to use for this procedure.

  • BAPI/BDC to see FBL5N output

    Hi experts,
    The requirement is to display the FBL5N output in my report by passing fields : "customer account" and "open key date" of clearing item.
    As you see, the field "open at key date" doesn't have a parameter id so I cannot use CALL TRANSACTION AND SKIP FIRST SCREEN.
    I tried to use BDC, but I only want to see the output.  Cannot skip first screen in BDC ?
    Any suggestions ?  Or is there a BAPI for FBL5N ?  Looking forward to your replies.
    Thanks in advance.
    Regards,
    Kevin

    Resolved.  Using Submit SUBMIT RFITEMAR WITH ......   .

  • Bapi Bdc Combination to create customer

    Dear all,
    I want to create a customer master from external system. What are the standard bapis are there  they re not suitable for my requirement. I approach it in the following way. I did a bdc for xd01 and trying to call it from a rfc fm which i prepared.  But the data that i passes from this fm is not reaching my bdc program. If any body have a good idea on this please share your idea with me .
    1) I created an import parameter in this i created a structure.
    2) the same structure i declare with the same name in bdc report(se38).
    The code in the fm is in this way
    DATA:
        t_cust TYPE zcust_table .(this is the structure name  in my fm import tab)
    EXPORT t_cust TO MEMORY ID 'TABLE'.
    SUBMIT ZBDC_CUSTOMER AND RETURN.
    3) 
    DATA :BEGIN OF zcust OCCURS 100 .
          INCLUDE STRUCTURE zcust_table.
    DATA:END OF ZCUST.
    START-OF-SELECTION.
    IMPORT t_cust  FROM MEMORY ID 'TABLE'.(Thi is my decalration in se38 bdc program.)
    when i executed my fm  the value that given in fm is not reaching my table which i declared in bdc program.
    Regards,
    Madhu.

    Hi,
    Populate all the customer details address details and personal details in KNA1 structure.
    Populate Company code details in KNB1 structure.
    Populate Sales area details in KNVV structure.
    Populate dunning data in KNB5 table.
    Populate Tax data in KNVI table
    In all the structures other than customer number we have to fill all the primary key fields.
    Call the SD_CUSTOMER_MAINTAIN_ALL function module to create customer as below.
    Create Customer in SAP
            CALL FUNCTION 'SD_CUSTOMER_MAINTAIN_ALL'
              EXPORTING
                i_kna1                  = fs_kna1
                i_knb1                  = fs_knb1
                i_knvv                  = fs_knvv
                i_bapiaddr1             = fs_add1
                i_bapiaddr2             = fs_add2
                pi_postflag             = c_true
              IMPORTING
                e_kunnr                 = w_kunnr
              TABLES
                t_xknb5                 = t_knb5
                t_xknvi                 = t_knvi
              EXCEPTIONS
                client_error            = 1
                kna1_incomplete         = 2
                knb1_incomplete         = 3
                knb5_incomplete         = 4
                knvv_incomplete         = 5
                kunnr_not_unique        = 6
                sales_area_not_unique   = 7
                sales_area_not_valid    = 8
                insert_update_conflict  = 9
                number_assignment_error = 10
                number_not_in_range     = 11
                number_range_not_extern = 12
                number_range_not_intern = 13
                account_group_not_valid = 14
                parnr_invalid           = 15
                bank_address_invalid    = 16
                tax_data_not_valid      = 17
                no_authority            = 18
                company_code_not_unique = 19
                dunning_data_not_valid  = 20
                knb1_reference_invalid  = 21
                cam_error               = 22
                OTHERS                  = 23.
    Check sysubrc to know the error .
    Please let me know if you need any further details.
    Regards
    Madhu

  • BAPI /BDC for contract data VA41

    hi all,
        We have a requirement. We have Contract data in legacy system, and need to migrate that into SAP (VA41). Should i use BAPI or BDC for this.
    If i have to use BAPI, Please let me know the BAPI name.
    Regards,
    Kavitha

    Hi Kavitha,
                   May be this thread provides you some help.
    Have a look.
    Link:[Thread|Re: Creating Contracts using BAPI_CONTRACT_CREATEFROMDATA;
    Have a best day ahead.

  • How to hire new employee (BAPI, BDC, IDoc/ALE...???)

    Dear ladies and gentlemen,
    I was asked to create an interface that would "hire employee" and I failed to find nice function module that would do that.
    Could you, please, share your ideas/experience about how to solve this?
    Best regards
    Momkic
    Message marked as a qustion in order to award the points.
    Momkic

    Hi
    Transaction code <b>"PA40"</b> is OK to handle "Actions" about the personnel for isolated entries.
    However if you want to use BDC for bulk data transfer, then use <b>"PA30"</b> to record your transaction and build your BDC data. That's because handling <b>"PA40"</b> screen is somehow less suitable since it depends on customizations and is out of screen if there are too much action types.
    To trigger an action through <b>"PA30"</b> is achieved by entering "<b>0000"</b> to the infotype field and the <b>action type value ("massn")</b> for the subtype field and pressing  <b>"Create"</b> button. This will be better for BDC.
    <b><u>About the BAPI:</u></b>
    I didn't try before but you may use the Business Object <b>"HRMasterDataReplica"</b>. It has one class method as <b>"SaveReplicaMultiple"</b> which has an import parameter <b>"EmployeePersonnelAction"</b> for the infotype 0000, <b>"EmployeeOrgAssignment</b>" for the infotype 0001 and
    <b>"EmployeePersonalData</b>" for the infotype 0002.
    In addition to standard BAPI parameters, at least these three parameters must be filled to create an employee. To trigger other actions you can use the one for "0000".
    I would like to learn whether you tried this and achieved. <i>However, it will be the most classical way to use BDC</i>.
    *--Serdar

  • BAPI/ BDC for repartnering of customers in SAP

    HI Gurus!
    Our MDM goes through a tedious data clean-up process when moving one ship-to partner from one sold-to partner to a new sold-to partner.
    They are required to delete the ship-to partner from current sold-to location in all sales organizations.  Then partner the sold-to information for each sales organization.
    If the ship-to location has a business location ID.  Expire the current role and change the operator to the new Sold-to. 
    So I need to create a program to accomplish the above steps to will improve data integrity and reduce the number of accounts to manage.
    So i need to develop a program that can re-partner ship-to locations from one ship-to partner from one sold-to partner to a new sold-to partner.  Produce an exception log for any bill-to, payer, customer contact information that has moved but could possibly be incorrect.  Create a new role in the Business Location ID.
    Using an ALV only allowing user to move records that can be transferred:
    u2022     Only allow ship-to transfer for non-marked for deletion records. 
    u2022     Only allow transfer of ship-to records that are currently partnered to sold-to. 
    u2022     Do not allow transfer of ship-to records that have different sold-to/bill-to/payer accounts.  These will need to be move manually. 
    u2022     Only allow change if the valid Operator number is the same customer number as the sold-to or the re-partnered sold-to.
    So I was just wondering if there is any BAPI  that can be used for it or dow e go by BDC or if there is a way to do this in a better manner.
    COuld anyone please help me assist in as how to approch the program and go forward please.
    Thanks
    Aarav

    Which "partnering" are you talking about?
    The whole idea about a BAPI is that you create the transaction and calling context yourself, then you can use the stable interface of the BAPI for the core business logic below it (also remotely, and consistantly beyond release boundaries and the user's influence).
    I can understand that Rob and many others are starting to complain about your obscure and unclear questions.
    Also, if you close another thread with a "." then I will delete your boss's user ID on SDN... (just joking - please close threads properly. The comment field is not mandatory).
    Cheers,
    Julius

  • Lsmw, bapi, bdc- session, bdc-calltransaction

    Hi Experts,
       Can you please tell me which method should be used to upload data
    1. lsmw
    2. bapi
    3. bdc-session
    4. bdc-calltransaction
      which method should be used when?, why?, advantages?
    I know the process of doing all this but my question is which method should be followed and when, what will be the advantages and disadvantages.
    points will be rewarded.
    Thank you.
    regards,
    Admir.

    hi,
    To decide which method shukld use, we have to understand the differences first.
    for 10000 records i will go for session method
    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
    Session method is to populate the data by filling BDC structure
    and keep as session to process from SM37 to post in appropriate Transaction.
    Call transaction method is to post the data directly into the Transaction from an Executable program.
    Session method SAP defined Function modules.
    Regards,
    Reshma

  • Need simple ABAP OO reports, BAPI's and BDC upload using flat file.

    Hello experts,
    I am currently practicing ABAP and I would like to request some example codes for ABAP Objects, BAPIs, BDC's, etc.
    Thanks!

    hi viray,
    check these...
    BAPI'S..
    http://help.sap.com/saphelp_47x200/helpdata/en/e0/9eb2370f9cbe68e10000009b38f8cf/frameset.htm
    http://help.sap.com/saphelp_47x200/helpdata/en/3e/ecf226942511d2ad4b080009b0fb56/frameset.htm
    http://www.sapgenie.com/abap/bapi/index.htm
    Abap Objects
    http://www.sapgenie.com/abap/OO/index.htm
    http://sap.ittoolbox.com/documents/industry-articles/introducing-abap-objects-982
    http://help.sap.com/saphelp_nw04/helpdata/en/ce/b518b6513611d194a50000e8353423/content.htm
    bdc's...
    http://www.sappoint.com/abap/bdcconcept.pdf
    http://wiki.ittoolbox.com/index.php/Topic:ABAP_-_BDC
    http://www.sap-img.com/bdc.htm
    hope these help,
    do reward if it helps,
    priya.
    Message was edited by: Priya

  • PROGRAM WITH BAPI and BDC's

    Hi All,
    I am using a 2 BAPI's and 3 BDC's in a program. I need all these BAPI and BDC's update the tanscations in a single bundled task? that is if any of BAPI or BDC failed the sucessful BAPI/BDC should be rolled back. How can I make it happen? Any sample code will be helpful
    All Suggestion will be rewarded.

    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

  • ABAP BDC & BAPI

    hi,
    why BAPI is required instead of BDC and what secenario we will use BAPI and BDC?
    Thanks in advance.

    Hi Baskar,
    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. 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 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>

  • DI vs LSMW vs BDC vs Bapi

    can anyone provide some clarification reagrding DI i.e. Direct Input method ....We use DI if there is no alternate is available i.e. No BAPI, BDC, LSMW..? what preferences and priorities for LSMW, BAPI, BDC, DI..

    Hi
    check the link
    http://www.geekinterview.com/question_details/33450
    Regards,
    Stock

Maybe you are looking for

  • Multiple instances of VBAI

    I know that we can now acquire from multiple cameras in VBAI (thanks!).  However, I feel that doing so leads to very complex inspection sequences.  It does not look like VBAI has fully embraced parallelism for things other than FTP transfer.  What do

  • Upgrade from 10.1.5 before Tiger?

    I have an eMac and don't know much about computers. I was told to get the MSOS X 10.4. Do I need to upgrade something before attempting to install? I can't event get the install information to come up on the desktop. Thanks, scottingham eMac   Mac OS

  • Required application context reporting is not available

    I've just installed HPM 11.1.1.1 (product: ESSBASE/foundation/planning/Financial reporting) and I'm now testing Financial Reporting. I created a financial report as indicated in http://oraclebizint.wordpress.com/2008/06/07/hyperion-financial-reportin

  • How to increse max limit 100 for an assignment block

    Hi, In the accounts overview, we have an assignment block for service contracts. A particular BP has more than 100 contracts. but this assignment block displays only 100 contracts. Need to increase this limit. Kindly suggest a solution. Let me know i

  • Create RFC connection during an Ecatt

    hey guys can anyone send me a document or explain me the steps to create an RFC connection when we create an ECatt in parent and child clients .