Diffrence between RFC & BAPI

hi good morning all ,
please tell me the exact diffrence between RFC & BAPI  .
thanks in advance .
regards ,
srinivas

Hi,
1)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 ( ) and Remove ( ) The BAPI Add adds a
subobject to an existing object inst! ance and the BAPI and
Remove removes a subobject from an object instance. These BAPIs
are instance methods.
2) No it is not possible to connect SAP to Non-SAP systems to retrieve data
using RFC alone. RFC can acces the SAP from outside only through BAPI and
same is for vice versa access.
3) Each Bapi Object has Interface, Key Fields, Attributes,Methods and
Events.
Bapi Function Modules can be attached to these Bapi objects .Function module
has a single bound functionality while a BAPI object can contain many
functionalities
Rgds
Yogesh

Similar Messages

  • What is the diffrence between BAPI and RFC and business object

    Hi Experts,
    Can anybody tel me what is the diffrence between RFC and BAPI , and also what is ther relation with business object?
    Thanx in advance.
    Nilesh Hiwale

    Hi,
    BAPI's are associated with Business Objects and also they are RFC enabled.
    But RFC's are the FM's which can be called from external systems, those FM's can be used in many places based on the applications..
    Check these Links
    whats the difference between BAPI and RFC??
    Diff. Between BAPI and RFC
    Regards
    Kiran

  • Diff... between  ALE, IDOC, RFC, BAPI, BADI --- Not clear and clarify

    Hi All
        I am learning XI and the difference between " ALE, IDOC, RFC, BAPI, BADI "
        Not clear and when to use what and how in point of XI ?
       Pl..clarify me
    Adv..thanks and points
    --- Rakesh Behera

    Hi
    This will expalin you every thing ...pl..go through
    The interface concept of the classic R/3 is based on two different strategies: Remote Function Calls (RFC) and data exchange through IDoc message documents. RFC makes direct and synchronous calls of a program in the remote system. If the caller is an external program it will call an RFC-enabled function in R/3 and if the calling program is the R/3 system it will call an RFC-function in another R/3-system or it will call a non-R/3 program through a gateway-proxy (usually rfcexec.exe). 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.
    IDocs are text encoded documents with a rigid structure that are used to exchange data between R/3 and a foreign system. Instead of calling a program in the destination system directly, the data is first packed into an IDoc and then sent to the receiving system, where it is analyzed and properly processed. Therefore an IDoc data exchange is always an asynchronous process. The significant difference between simple RFC-calls and IDoc data exchange is the fact, that every action performed on IDocs are protocolled by R/3 and IDocs can be reprocessed if an error occurred in one of the message steps.
    While IDocs have to be understood as a data exchange protocol, EDI and ALE are typical use cases for IDocs. R/3 uses IDocs for both EDI and ALE to deliver data to the receiving system. ALE is basically the scheduling mechanism that defines when and between which partners and what kind of data will be exchanged on a regular or event triggered basis. Such a set-up is called an ALE-scenario.
    The philosophical difference between EDI and ALE can be pinned as follows: If we send data to an external partner, we generally speak of EDI, while ALE is a mechanism to reliable replicate data between trusting systems to store a redundant copy of the IDoc data. The difference is made clear, when we think of a purchase order that is sent as an IDoc. If we send the purchase order to a supplier then the supplier will store the purchase order as a sales order. However, if we send the purchase order via ALE to another R/3 system, then the receiving system will store the purchase order also as a purchase order.
    I hope this will help you to understand the difference bet..those
    regards
    --- prasad

  • Unable to differentiate between RFC and BAPI

    Hi guys,
        Nowadays I am studying the above concepts:BAPI and RFC.  But I am confused by the two.
    So far I learnt that the two are both techniques used to realize communication between SAP and external
    systems,and frequently via Remote-enabled Function.  
       My confusion is the distinctions between the two. Would you please do me a favor? Tks

    Hi   Alex,
    Just check it out these answers.
    Remote Function Call :
    RFC is an SAP interface protocol. Based on CPI-C, it considerably simplifies the programming of communication processes between systems.
    RFCs enable you to call and execute predefined functions in a remote system - or even in the same system.
    RFCs manage the communication process, parameter transfer and error handling.
    http://help.sap.com/saphelp_47x200/helpdata/en/22/042860488911d189490000e829fbbd/frameset.htm.
    BAPI
    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.
    another points,
    BAPI is object oriented. It is placed under Business objects as methods.
    RFC is just a Function module or a call.
    RFC: is just a FM that can be called from remote system too(destination defined in transaction SM59).
    BAPI: Business Application Programming Interface
    A BAPI is a method of a business object defined in the Business Object Repository (BOR). For example, in the BOR, you can find a business object called SalesOrder, which conceptually represents a sales order in the system. A business object typically has several methods that can be used to read, create, modify a particular instance of the business object, or list instances of the business object matching certain selection criteria. These methods are BAPIs.
    Technically, a BAPI is implemented using a RFM. But, unlike the non-BAPI RFMs, a BAPI is usually well documented, has nicer parameter names, and is supported by SAP for several SAP software releases. You can browse Business objects and BAPIs in the SAP system using transaction BAPI.
    Thanks
    Eshwar
    *Rewards if useful*

  • 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

  • Differences between rfc and ale/idoc.

    hi ..
           will u please send the differences between rfc and ale/idoc's.

    Hi,
    Please reward with points if helpful................
    ALE is SAP proprietary technology that enables data communications between two or more SAP R/3 systems and/or R/3 and external systems. There are three layers in ALE system: application services, distribution services, and communication services.
    For communication services, ALE performs a Remote Function Call (RFC) using the port definition and RFC destination specified by the customer model. RFC is used to communicate between applications of 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. The RFC calls a function to be executed in a remote system.
    Means of creating and operating distributed applications.
    The purpose of Application Line Enabling is to guarantee a distributed, but integrated, R/3 installation. This involves business-controlled message exchange with consistent data across loosely linked SAP applications.
    Application integration is achieved not via a central database, but via synchronous and asynchronous communication.
    Application Link Enabling comprises the following three layers:
    application services
    distribution services
    communication services
    Two Development Models
         Distribution using BAPIs
         Distribution using Message type
    The programming model "Distribution using message types" contains the definitions of message types and IDoc types and the ABAP code for processing inbound and outbound IDocs.
    Defining message types and IDoc types:
    If you want to create message type enhancements for master data distribution, you also have to create a new message type for each enhancement.
    The ALE interface does not allow you to create different segment data for different IDoc types for the same message type.
    Writing ABAP code:
             Outbound Processing
               Inbound Processing
    You can find information on other ALE functions under:
                                   Master Data Distribution
                                  Communicating with Non-R/3 Systems
    1. The Remote Function Call facility allows you to call an R/3 Function module on a “remote” machine.
    2.  To communicate between two R/3 Systems and also with an External System.  External Application program also can call these function module for integration.
    3. RFC or sRFC  - Synchronous RFC
                     aRFC - Asynchronous RFC
                      tRFC - Transactional RFC
                      qRFC - Queued RFC (I.e. Serialization of tRFC)
    Types of RFC Call
    Synchronous
    CALL FUNCTION Func Destination Dest
    CALL FUNCTION func DESTINATION 'NONE' ...
    CALL FUNCTION func DESTINATION ’BACK' ...
    Asynchronous
    CALL FUNCTION func … STARTING NEW TASK taskname
    PERFORMING form ON END OF TASK
    RECEIVE RESULTS FROM FUNCTION func
    Thanks
    sivaparvathi

  • Scenario File to RFC (BAPI): BAPI not executed successful

    Hi Dear Friends!
    At execution of asynchronous Scenario File to RFC (BAPI BAPI_ACC_DOCUMENT_POST)
    I have the following error in RWB Communication Channel (RFC receiver):
    - Error: 2007-07-25 11:08:25 EEST: Message processed for interface BAPI_ACC_DOCUMENT_POST:
    com.sap.aii.af.rfc.afcommunication.RfcAFWException: error while processing message
    to remote system:com.sap.aii.af.rfc.core.client.RfcClientBapiException:
    BAPI not executed successful
    Simultaniously <b>Test Configuration</b> was executed successfully. And mapping is good.
    But I don't any message in <b>target system</b> in <b>sxmb_moni</b> (formed by BAPI).
    In <b>XI system</b> I see in <b>sxmb_moni</b>:
    <Trace level="1" type="T">--start sender interface action determination</Trace>
      <Trace level="1" type="T">select interface mi_sender*</Trace>
      <Trace level="1" type="T">select interface namespace urn:file:to:bapi</Trace>
      <Trace level="1" type="T">no interface found</Trace>
      <Trace level="1" type="T">--start receiver interface action determination</Trace>
      <Trace level="1" type="T">Loop 0000000001</Trace>
      <Trace level="1" type="T">select interface *</Trace>
      <Trace level="1" type="T">select interface namespace</Trace>
      <Trace level="1" type="T">no interface found</Trace>
      <Trace level="1" type="T">--no sender or receiver interface definition found</Trace>
    Please help me understand my error.
    With the best regards,
    Natalia Maslova

    Hi, Dear Friends! Thanks for support!
    My settings of
    Connection between systems:
    DX7 01 (client 001) - XI Integration Server and DE2 13 (client 200) - target system.
    Phisically both systems are in one server: 10.20.30.24 (srv24)
    Business system DE2_200 has Communication Channel: cc_bapi_r, its settings (in Integration Builder Configuration):
    Adapter Type: RFC
    Receiver
    Transport Protocol: RFC
    Message Protocol: RFC (RFC XML)
    Adapter Engine: Integration Server
    RFC Client Parameter:
    RFC Server Type: SAP System
    Application Server: 10.20.30.24
    System Number: 13
    Authentication Mode: Use Logon Data for SAP System
    Logon User: n_maslova
    Logon Password: *******=*******
    Logon Language: EN
    Logon Client: 200
    Maximum Connections: 1
    x Advanced Mode
    x Send 'Confirm Transaction'
    x Commit Handling for Single BAPI Calls
    x BAPI Advances Mode
    Successful RETURN-TYPE Values: 0
    As I understand these settings are the settings of RFC-destination for target system DE2 13 (200) from XI (DX7 01 001).
    In SLD, Business system DE2_200 is defined as:
    Integration:
    Role: Application System
    Related Integration Server: DX7_001
    Technical System: DE2 on srv24
    Client: 200 of DE2
    Logical System Name: DE1CLNT200
    In target system DE2 13 (200) with the help of transaction sm59 I created
    RFC-destination DX7_001 of type H:
    Technical setting parameters:
    Target Host: 10.20.30.24
    Prefix Path: /sap/xi/engine/?type=entry
    Service Number: 8001
    Registration and Safe:
    SSL: Non active.
    SSL: client certificate: DFAULT SSL-client
    Enter to system:
    Language: EN
    Client: 001
    User: PIAPPLUSER
    Status PW: saved
    Password: ********
    After that in this system DE2 13 (200) with the help of transaction sxmb_adm I set in Integration Engine -> Configuration -> Configurate Integration Engine
    (Change Global Configuration Data):
    Role of Business System: Application System
    Related Integr. Server: dest://DX7_001
    Best regards,
    Natalia

  • Difference rfc & bapi

    hallow
    What is difference btween rfc function and bapi?
    Regards

    hi
    <b>RFC</b>
    A remote function call is a call to a function module running in a system different from the caller's. The remote function can also be called from within the same system (as a remote call).
    RFC consists of two interfaces : A calling interface for ABAP Programs and a calling interface for Non-SAP programs.
    The RFC Interface takes care of :-
    - Converting all parameter data to the representation needed in the remote system
    Calling the communication routines needed to talk to the remote system.
    Handling communications errors, and notifying the caller, if desired ( using EXCEPTIONS paramater of the CALL FUNCTION).
    <b>BAPI</b>
    BAPIs are standardized programming interfaces (methods) enabling external applications to access business processes and data in the R/3 System.
    BAPIs provide stable and standardized methods to achieve seamless integration between the R/3 System and external applications, legacy systems and add-ons.
    BAPIs are defined in the BOR(Business object repository) as methods of SAP business object types that carry out specific business functions.
    BAPIs are implemented as RFC-enabled function modules and are created in the Function Builder of the ABAP Workbench.
    <b>The most critical difference btwn BAPI and FM is that BAPI can be wrapped in Business objects whereas RFC cant.</b>
    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.
    <b>Check these Links out</b>
    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
    <b>Refer following SDN threads:</b>
    Diff. Between BAPI and RFC
    Re: BAPI and RFC
    <b>reward points for useful ans</b>
    Regards
    Vivek

  • 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

  • RFC, BAPI Library

    Maybe somebody knows where I can find RFC, BAPI Library to download. I want to build interface between SAP R/3 and external application.

    Hi,
    You mean general documentation on RFC and BAPI or concerning a specific xApps ?
    What about the BAPI Transaction ?
    Best regards,
    Guillaume

  • RFC/BAPI Call

    Hi,
    I have a basic query regarding RFC and BAPI call.
    I wanted to know whether a BAPI/RFC in a SAP system can be called from any other application system or it can be called from only SAP system. Also, what are the sytem/network requirements for such a setting.
    Thanks,
    Puneet

    hi,
    Remote Function Call:
    RFC is an SAP interface protocol. Based on CPI-C, it considerably simplifies the programming of communication processes between systems.
    RFCs enable you to call and execute predefined functions in a remote system - or even in the same system.
    RFCs manage the communication process, parameter transfer and error handling.
    http://help.sap.com/saphelp_47x200/helpdata/en/22/042860488911d189490000e829fbbd/frameset.htm.
    BAPI
    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.
    Ravi.

  • RFCs, BAPI, USEREXIT

    Hallo Friends,
    Can someone provide me with example code(s)  that use the following?
    User exit
    RFCs
    BAPI
    Please make explainatory comments to key command lines !
    I would appreciate if the following information could be provided too:
    Aim of project
    Project description
    Description of what the above (User exit, Rfcs, Bapi) does in the code.
    Purpose of use
    etc etc
    Why do I need these Infos?
    I need it to prepare myself for a coming interview.
    Please reply to my e-mail:
    [email protected]
    Thanks for the reply and good points will be awarded.
    Blacky.

    Hi
    what is BAPI?
    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
    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
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCMIDAPII/CABFAAPIINTRO.pdf
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/CABFABAPIREF/CABFABAPIPG.pdf
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCFESDE8/BCFESDE8.pdf
    http://www.planetsap.com/Bapi_main_page.htm
    http://www.topxml.com/sap/sap_idoc_xml.asp
    http://www.sapdevelopment.co.uk/
    http://www.sapdevelopment.co.uk/java/jco/bapi_jco.pdf
    Also refer to the following links..
    www.sappoint.com/abap/bapiintro.pdf
    www.sap-img.com/bapi.htm
    www.sap-img.com/abap/bapi-conventions.htm
    www.planetsap.com/Bapi_main_page.htm
    www.sapgenie.com/abap/bapi/index.htm
    Checkout !!
    http://searchsap.techtarget.com/originalContent/0,289142,sid21_gci948835,00.html
    http://techrepublic.com.com/5100-6329-1051160.html#
    http://www.sap-img.com/bapi.htm
    http://www.sap-img.com/abap/bapi-conventions.htm
    http://www.sappoint.com/abap/bapiintro.pdf
    u can check the below the material also
    Example Code
    U need to give the step_nr, item_nr, cond_count and cond_type so the correct conditon will be updated. If no condition exists for the given parameters, a new condition will be created.
    U can find these parameters for a particular condition type in table KONV.
    *& Form saveTransactionJOCR
    text
    --> p1 text
    <-- p2 text
    FORM saveTransactionJOCR .
    data: salesdocument like BAPIVBELN-VBELN,
    order_header_inx like bapisdh1x,
    order_header_in like bapisdh1,
    return type standard table of bapiret2 with header line,
    conditions_in type standard table of bapicond with header line,
    conditions_inx type standard table of bapicondx with header line,
    logic_switch like BAPISDLS,
    step_nr like conditions_in-cond_st_no,
    item_nr like conditions_in-itm_number,
    cond_count like conditions_in-cond_count,
    cond_type like conditions_in-cond_type.
    salesdocument = wa_order_information-VBELN.
    LOGIC_SWITCH-COND_HANDL = 'X'.
    order_header_inx-updateflag = 'U'.
    conditions
    clear conditions_in[].
    clear conditions_inx[].
    clear: step_nr,
    item_nr,
    cond_count,
    cond_type.
    step_nr = '710'.
    item_nr = '000000'.
    cond_count = '01'.
    cond_type = 'ZCP2'.
    CONDITIONS_IN-ITM_NUMBER = item_nr.
    conditions_in-cond_st_no = step_nr.
    CONDITIONS_IN-COND_COUNT = cond_count.
    CONDITIONS_IN-COND_TYPE = cond_type.
    CONDITIONS_IN-COND_VALUE = 666.
    CONDITIONS_IN-CURRENCY = 'EUR'.
    append conditions_in.
    CONDITIONS_INX-ITM_NUMBER = item_nr.
    conditions_inx-cond_st_no = step_nr.
    CONDITIONS_INX-COND_COUNT = cond_count.
    CONDITIONS_INX-COND_TYPE = cond_type.
    CONDITIONS_INX-UPDATEFLAG = 'U'.
    CONDITIONS_INX-COND_VALUE = 'X'.
    CONDITIONS_INX-CURRENCY = 'X'.
    append conditions_inx.
    CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
    EXPORTING
    SALESDOCUMENT = salesdocument
    ORDER_HEADER_IN = order_header_in
    ORDER_HEADER_INX = order_header_inx
    LOGIC_SWITCH = logic_switch
    TABLES
    RETURN = return
    CONDITIONS_IN = conditions_in
    CONDITIONS_INX = conditions_inx
    if return-type ne 'E'.
    commit work and wait.
    endif.
    ENDFORM. " saveTransactionJOCR
    Bdc to 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.
    Bapi to VB(Visual Basic)
    Long back I had used the following flow structure to acheive the same.
    Report -> SM59 RFC destination -> COM4ABAP -> VB.exe
    my report uses the rfc destination to create a COM session with com4abap. com4abap calls the vb.exe and manages the flow of data between sap and vb exe.
    You need to have com4abap.exe
    If com4abap is installed you will find it in sapgui installatin directory , C:\Program Files\SAPpc\sapgui\RFCSDK\com4abap.
    else refer OSS note 419822 for installation of com4abap
    after making the settings in com4abap to point to the vb program and setting up rfc destination in sm59 to point to com4abap session , you can use the following function modules to call the vb code.
    for setting up com4abap and rfc destination please refer to the documentation for com4abap.
    Invoke NEW DCOM session
    call function 'BEGIN_COM_SESSION'
    exporting
    service_dest = service_dest "(this will be a RFC destination created in SM59)
    importing
    worker_dest = worker_dest
    exceptions
    connect_to_dcom_service_failed = 1
    connect_to_dcom_worker_failed = 2
    others = 3.
    call function 'create_com_instance' destination worker_dest
    exporting
    clsid = g_c_clsid
    typelib = g_c_typelib
    importing
    instid = g_f_oid
    exceptions
    communication_failure = 1 message g_f_msg
    system_failure = 2 message g_f_msg
    invalid_instance_id = 3
    others = 4.
    call function 'com_invoke' destination worker_dest
    exporting
    %instid = g_f_oid
    %method = 'UpdatePDF'
    sntemp = g_v_const_filent
    snsysid = sy-sysid
    snflag = 'N'
    tables
    rssaptable = g_t_pdfdetail1
    %return = g_t_pdfdetail1 "t_test
    exceptions
    communication_failure = 1 message g_f_msg
    system_failure = 2 message g_f_msg
    invalid_instance_id = 3
    others = 4.
    then close the com session , using
    FM delete_com_instance
    FM END_COM_SESSION
    RFC
    RFC (Remote Function Call) is similar to the general SAP fun module: except that in the attributes you click the radio button: RFC enabled;
    and you will be passing an Import parameter DESTINATION to it.
    Other code and usage will be similar to any fun module;
    Have a look at any fun module in SE37 to understand better about the different components of Fun modules;
    Refer this link:
    http://help.sap.com/saphelp_nw04/helpdata/en/22/042518488911d189490000e829fbbd/frameset.htm
    User exits
    User exits (Function module exits) are exits developed by SAP. The exit is implementerd as a call to a function module. The code for the function module is written by the developer. You are not writing the code directly in the function module, but in the include that is implemented in the function module.
    The naming standard of function modules for functionmodule exits is:
    EXIT_<program name><3 digit suffix>
    The call to a functionmodule exit is implemented as:
    CALL CUSTOMER.-FUNCTION <3 digit suffix>
    To find a Exit.
    Goto Transaction -- Find The Package
    SMOD >f4>Use the Package here to Find the Exits In the Package.
    Else if you Want to search by Application Area wise ,
    There is one more tab to find the Exits in the Respective Application Area.
    Implementing the Exit-- CMOD Create ProjectsAssgn your Component .
    Now Run ur Transaction to Check if it Triggers.
    Thats it..
    Suppose you need to find out all the user exits related to a tcode.
    1. Execute the Tcode.
    2. Open the SAP program.
    3. Get the Development Class.
    4. Execute Tcode SE84.
    5. Open the Node 'Envir. -> Exit Techniques -> 'Customer Exits -> Enhancements'
    6. Enter the Development class and execute.
    Check out this thread..
    The specified item was not found.
    1. Type the transaction : system->status-> <PROG. NAME>
    2 open SE37 , type EXIT<PROG NAME> and press F4 to get the list of function exits available.
    3. Open CMOD utilities->SAP enhancements
    EDIT->All selections
    4.type the function module name obtained in step 2, in fields 'component name' in 'additional selections' block. and execute.
    5. The displayed list contains the enhancements names for the transaction You were looking for.
    6. Create a project in CMOD and the code in default include->activate.
    http://www.erpgenie.com/sap/abap/code/abap26.htm
    which gives the list of exits for a tcode
    http://help.sap.com/saphelp_nw04/helpdata/en/bf/ec079f5db911d295ae0000e82de14a/frameset.htm
    For information on Exits, check these links
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sapgenie.com/abap/code/abap26.htm
    http://www.sap-img.com/abap/what-is-user-exits.htm
    http://wiki.ittoolbox.com/index.php/HOWTO:Implement_a_screen_exit_to_a_standard_SAP_transaction
    http://www.easymarketplace.de/userexit.php
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sappoint.com/abap/userexit.pdfUser-Exit
    http://www.planetsap.com/userexit_main_page.htm
    User-Exits
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sap-img.com/ab038.htm
    http://www.planetsap.com/userexit_main_page.htm
    http://www.sap-basis-abap.com/sapab013.htm
    http://sap.ittoolbox.com/documents/popular-q-and-a/user-exits-for-the-transaction-code-migo-3283
    These links will help you to learn more on user exits.
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/frameset.htm
    http://www.planetsap.com/userexit_main_page.htm
    http://www.allsaplinks.com/user_exit.html
    www.sap-img.com/abap/what-is-user-exits.htm
    Also please check these threads for more details about user exits.
    Re: Screen exit
    user exit and customer exit
    user exit
    1. Document on UserExits in FI/CO
    http://www.ficoexpertonline.com/downloads/User%20ExitsWPedit.doc
    2. Finding User Exits...
    http://sap.ionelburlacu.ro/abap/sap2/Other_Useful_Tips.html#Finding_User_Exits
    3. List of all User Exits...
    http://www.planetsap.com/userexit_main_page.htm
    Reward points if useful
    Regards
    Anji

  • Difference between RFC adapter and a proxy

    Can any one tell me the technical difference between RFC adapter and a proxy?
    reg

    There are advantages / disadvantages for RFC / Proxies / Idocs. So if I am in your position depending upon the requirement I will choose one. Some of the differences are:
    RFC and Proxy:
    RFC/BAPI has its own overhead of function call.
    Proxies communicate with the XI server by means of native SOAP calls over HTTP .RFC does not, so you have to convert from SOAP to RFC calls and vice versa. So XML conversion is required.
    ABAP Proxies uses Webservice and Http Protocols.
    If you use ABAP Proxy , you can reduce the overhead calling the function again and again.
    Proxy and Idoc:
    IDOC : After recieving the strucutred data It processes it using a Function Module associated with it.
    Proxy : Proxy is a structure where there is no processing function module associated. You need to explicitly write the Business Logic/Call the subroutines here
    This is my absolutely my view. Another guy has his own response. So first go through your requirements and then you can decide for what to go.
    Also go through this urls which may help you:
    /people/michal.krawczyk2/blog/2006/04/19/xi-rfc-or-abap-proxy-abap-proxies-with-attachments
    RFC VS PROXY
    /people/ravikumar.allampallam/blog/2005/08/14/choose-the-right-adapter-to-integrate-with-sap-systems
    Re: IDOC and RFC
    Re: Proxy Vs IDOC
    Thanks
    Rodrigo

  • Can Anybody explain me the difference between  a Bapi and a webservice?

    Can Anybody explain me the difference between  a Bapi and a webservice?

    Hi Anil,
    <b>BAPI</b>
    BAPI is a library of functions that are released to the public
    as an interface into an existing SAP system from an external
    system.A BAPI function is a function module that
    can be called remotely using the RFC technology
    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 you 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. It is not possible to connect SAP to Non-SAP systems to retrieve data using RFC alone. RFC can acces the SAP from outside only through BAPI and same is for vice versa access.
    <b>Webservice</b>
    In simpler terms, WebService is an application on the Web/Internet. Wheneever Service is requested by the user, it provides the service (i.e Request/Response)
    A web service is a collection of protocols and standards used for exchanging data between applications or systems
    In SAP world, we can expose an application into the Webservice. For e.g We can expose ABAP programs into Webservice.
    XI uses SOAP adapter to communicate with webservices see below...why only soap adpater???
    -> Some remote clients or Web services providers are only able to communicate by means of SOAP messages
    ->SOAP adapter enables you to exchange SOAP message between remote clients and Web Service Servers and the Integration Server.
    -> The SOAP Adapter provides a runtime environment that includes various SOAP components for the processing of SOAP message.
    -> You use the SOAP adapter to connect such systems to the Integration Server directly
    -> The SOAP adapter uses a helper class to instantiate and control these SOAP components
    ->The SOAP adapter receives a msg from the remote client or Web service provider, converts the SOAP protocol into XI msg protocol and then sends the msg to the Integration Server to be processed further.
    Basically  RFCs BAPI are all SAP oriented, Webservices are language / environement independent. So, all one has to do is publish a Webservice and any external system by providing the data in the correct format, can get the approopriate response back.
    see these links to know more abt webservices..
    http://www.webservices.org/
    http://www.w3.org/2002/ws/
    regards
    biplab

  • Diffrence between the ALE , EDI , LSMW

    HI
          what is diffrence between the ALE , EDI , LSMW
    regards
    shivaji

    Pls go through the links
    http://expertanswercenter.techtarget.com/eac/knowledgebaseAnswer/0,295199,sid63_gci983331,00.html
    http://help.sap.com/saphelp_nw2004s/helpdata/en/6f/1bd5bea85b11d6b28500508b5d5211/content.htm
    http://eai.ittoolbox.com/groups/technical-functional/seebeyond-l/ale-vs-edi-format-when-sending-idocs-to-sap-via-trfc-1709320
    LSMW - Using a BAPI
    Reward if it helps.

Maybe you are looking for

  • It's already the third time that i post the same question, please help me!

    I am writing a simple guestbook that is able to insert and fetch text and image from database and display them. There is a html that forms the parameters to this servlet, some text information such as "name", "address" and one picture. Insertion and

  • MacBook Pro Hard drive is making weird noises and slow

    its important that you understand what has led to these issues. I first was witing an essay on my MacBook. Whole thing dies, screen freezes and entire thing crashes. i have no choice but to force it off by holding the power button... Then the fun beg

  • GLT0 TABLE DOUBT - URGENT

    hi exports i want to take gl account balance GLT0 table? but i've some field month wise like HSL01 (apr), HSL02(may), HSL03(jun) like wise? i want to take credit, debit and balance how can i take wht is the prog. i want to take month wise ? how? my p

  • How to get vanilla firefox in ubuntu

    I am trying to build Selenium from sources but some of my tests are failing and the Owner of the project commented the following: I'd also suggest running the tests with Xvfb / Xvnc and '''making sure that you have a vanilla Firefox (as opposed to Ic

  • Can't move selection

    How do I move or alter the shape of a selection? For example, after using the circle or rectangular selection tool, I would just want to move or nudge the selection - the 'marching ants' - over a little bit. Whenever I try to do this with the move to