Difference between tRFC and RFC

Hi Experts,
Can any one help me in details to differentiate tRFC from RFC in their application perspective.
And also let me know the role of ALE and BAPI in both the connection log.ie,Where we have to use ALE and BAPI.
Regards
Kumar

Hi,
RFC = Remote Function Call and TRFC = Transactional Remote Function Call
Transactional RFC and Queued RFC are variants of the Remote Function Call that make the data transfer between different SAP R/3 systems more reliable and more secure.
Transactional RFC 
http://help.sap.com/saphelp_nw04/helpdata/en/8b/ceea3b31aac554e10000000a114084/content.htm
RFC Help link
http://help.sap.com/saphelp_nw04/helpdata/en/b0/eae2a889e711d2956500a0c94260a5/frameset.htm
Refer BAPI & ALE
what is difference between BAPI and ALE
Re: ALE & BAPI communication
Re: bapi-ale interface
/Srinivas

Similar Messages

  • 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 BAPI And RFC in ABAP

    Hi,
    i want to know difference between BAPI and RFC in SAP,
    can we call SAP GUI screen from NON SAP System Using BAPI.
    Reg,
    Hariharan

    Hi Ravishankar,
    The difference is not importat while you understand the concept.
    I think, RFC is the protocol for calling functions from external systems in R/3.
    I understand like BAPI a series of complet functions that SAP offers you for use and model a business use.
    But if I need program a function that can be called for external system i would call it RFC_NAME, because is a unique function that makes a single task.
    In other words, the difference i think is about work idea more than another thing.
    RFC
    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).
    BAPI
    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.
    The most critical difference btwn BAPI and FM is that BAPI can be wrapped in Business objects whereas RFC cant.
    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.
    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
    Hope this resolves your query.
    Reward all the helpful answers.
    Regards

  • Difference between idoc and rfc

    what is the difference between idoc and rfc? when and where it is used? when there is idoc, why rfc vice versa?

    IDoc (for intermediate document) is a standard data structure for electronic data interchange (EDI) between application programs written for the popular SAP business system or between an SAP application and an external program. IDocs serve as the vehicle for data transfer in SAP's Application Link Enabling (ALE) system. 
    IDocs are used for asynchronous transactions:  Each IDoc generated exists as a self-contained text file that can then be transmitted to the requesting workstation without connecting to the central database. 
    Another SAP mechanism, the Business Application Programming Interface (BAPI) is used for synchronous transactions. 
    A large enterprise's networked computing environment is likely to connect many geographically distributed computers to the main database. These computers are likely to use different hardware and/or operating system platforms. An IDoc encapsulates data so that it can be exchanged between different systems without conversion from one format to another. 
    IDoc types define different categories of data, such as purchase orders or invoices, which may then be broken down into more specific categories called message types. Greater specificity means that an IDoc type is capable of storing only the data required for a particular transaction, which increases efficiency and decreases resource demands. 
    An IDoc can be generated at any point in a transaction process. For example, during a shipping transaction process, an IDoc may be generated that includes the data fields required to print a shipping manifest. After a user performs an SAP transaction, one or more IDocs are generated in the sending database and passed to the ALE communication layer. The communication
    layer performs a Remote Function Call (RFC), using the port definition and RFC destination specified by the customer model. 
    The IDoc is transmitted to the receiver, which may be an R/3, R/2, or some external system
    RFC
    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.
    note:reward points if solution found helpfull.....
    regards
    chandrakanth.k

  • Difference between Webservice and RFC

    Dear Experts,
    We have an application to implement where the application will be called from other NON SAP technology. We got two solutions one is developing RFC's and calling it from other NON SAP Technology OR developing Webservice. Could any one please suggest us to which way do we need to choose?
    Regards,
    Gopinath A.

    That's more or less up to you. In a nutshell: RFC is a known SAP technology for communication between SAP and (NON) SAP systems (both ways, inbound and outbound). Communication is set up quite easily (check SCN for that, work for Basis Administrator).
    From an RFC, you can get to a WebService within a few clicks. RFC is basis of a webservice, which is based on known (internet) standards.
    You decide, together with NON-SAP system (can it consume or provide RFC requests, or webservices for that matter) and basis administrators.
    You can find a lot of info in SCN on both methods about architecture etc. This should help you decide.

  • Difference between TRFC and QRFC

    Dear all,
    i understand that TRFC functions as EO and QRFC functions as EOIO.
    but can anyone of u pls make me understand there significance with a practical example :
    1. in terms of XI
    2. without XI when we say that one R3 is connected to other with say TRFC or QRFC
    pl help

    Hi! Tarang,
    I just adding few points in this forum...Actually your question and some of the answers given are different .Some of them are deviating the topic.
    According to my knowledge and as per SAP documentations also I am adding these points. Correct me if I am wrong.
    At first QRFC , TRFC are different from the BE, EO and EOIO because trfc are message protocols and BE , EO and EOIO are nothing but Quality of Services (QOS).
    You can check this in the below URL::
    http://help.sap.com/saphelp_nw70/helpdata/EN/0d/5ab43b274a960de10000000a114084/frameset.htm
    QOS is one of the property of TRFC's.
    1) See Got o SMQ1 an SMQ2 what you will found:: ?
    QRFC Monitor Outbound Queue and QRFC Monitor Inbound Queue. both Queues QRFC s common.ok its a simple thing.
    2) Also lets take IDOC Adapter for IDOC whether it may be File to IDOC or IDOC to File Scenario where you will monitor the IDOC in SM58 also right ? why because this TRFC's are mainly for communicating with one SAP system to another SAP System. IDOC is mainly sending data via TRFC ports. That is why you ill monitor the IDOC if data doesn't reached means in Transaction COde:: SM58.
    3) QRFC Outbound and QRFC Inbound is mainly for communicating with SAP System and Non SAP Systems. Okay you can get this information in the below further explination and link.
    Note::qRFC communication is an extended form of tRFC communication. It adds a serialization concept to the transactional concept of tRFC.
    http://help.sap.com/saphelp_nw70/helpdata/EN/3b/befa40badbf46fe10000000a1550b0/frameset.htm
    Some applications use qRFC with outbound queue to improve system performance and not for serialization. If this is the case, you can switch automatically from the qRFC LUW with outbound queue to the tRFC LUW to avoid a hanging queue if a SYSTEM_FAILURE occurs
    Note:: To cancel a background job if tRFC errors occur use program RSARFCEX to restart tRFC.
    First What is the purpose of RFC:: ?All types of applications are instructed to communicate with other applications. This communication may take place within an SAP system, with another SAP system, or with an application from a remote external system. An interface that can be used for dealing with this task is the Remote Function Call (RFC).  RFCs can be used to start applications in remote systems, and to execute particular functions.
    There are 3 types of communications::
    Communication within an SAP system or with a remote system can take place using Remote Function Call (RFC). This enables the following scenarios:
    ·      a)  Communication between two independent SAP systems
           b)  Communication between a calling SAP system and an external receiving system
           c)  Communication between a calling external SAP system and an SAP system as the receiving
                system
    Features of the Three Communication TypesTo help you decide which communication types you need to implement according to your system landscape and your requirements, the advantages of the three types of communication are explained below:
    ... 1)      tRFC
    Suitable only for independent function module calls; the sequence of the calls is not preserved
    ·   2)   qRFC with outbound queue
    Function modules in a queue are guaranteed to be processed only once and in sequence (serialization). Also suitable for communication with non-SAP servers.
    ·   3)     qRFC with inbound queue
    The function modules created in the outbound queue are transferred from the outbound queue to the inbound queue; the sequence of the function modules is preserved. An inbound scheduler processes the inbound queues in accordance with the specified resources. Both the client and the server system must be SAP systems. One work process is used for each inbound queue.
    http://help.sap.com/saphelp_nw70/helpdata/EN/3b/befa40badbf46fe10000000a1550b0/frameset.htm
    http://help.sap.com/saphelp_nw70/helpdata/EN/e7/555e3c0f51a830e10000000a114084/content.htm
    XI point of View...
    Basically Once the TRFC or QRFC is funtion is over XI will place the Message into the Adapter engine queues based on the Comminication channel configuration.
    Suppose if it is and EO then XI ill place the message in any  Queue based on the free and priority and if configuration is done as per EOIO then XI ill place all the messages in the Same queue name so that it ill processes in order one after another and if the above message fails and remaining all other messages will be in the queue and doesnt process untill the failed mesages gets removed
    But in case of  EO it may be places in any queue and if one message fails then another message of same interface may processed sucessfully based on another queue order.
    I hope it wil be helpful to you...
    Regards::
    Amar Srinivas Eli

  • 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

  • Difference betrween BAPI and RFC

    Hi All
              Can anyone tell me the difference between BAPI and RFC.
    I am unable to find it out ,except one,ie  BAPI is based on object oriented concept .
    please justify your answers with real scenerios.

    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.
    Difference Between BAPI and RFC
    What is the main difference between BAPI and RFC and difference between BAPI and BDC?
    BAPI is used only when it is available for the particular transaction like Delivery Sales order. but BDC can be used for any
    transaction which have screen and fields.
    BAPI is directly updated the database instead BDC run through the screen flow.
    So BAPI can't handle all the flow logic checking and enhancement put by programmer to faciliate the user requirement.
    Difference between BAPI and BDC:
    BAPI is a higher end usage for tranfering the data from SAP to non-SAP and vice-versa. for ex: if we are using VB application,where in that we want to connect to SAP and retireve the data,and then change and update the data in SAP for that purpose we can use that.
    Apart from that, we can also use it for Uploading/Downloading the data from SAP to Non-SAP like BDC, provided we have an existing BAPI for that.
    BAPI function modules will also do all the checks required for data integrity like Transactions for BDC.
    There is one more advantage using BAPI instead of BDC. When we go for upgradation, there might be pozzibility to change the screen elements for transactions depending on the requirement. In that case,our BDC pgm may or may not work (depending on the screen changes they have made). Unless and until we prepare new BDC we cant use the old BDC pgm. But in BAPI, SAP promises that they are going to keep the old BAPI and for new functionality they will provide an upgraded BAPI. Until we write a new BAPI pgm, we can use the exisitng BAPI pgm.
    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.
    RFC is the protocol used by SAP for remote communication, that is, for communications between remote (independent) systems. RFC is used for communications between two independent SAP systems, or for communications between an SAP system and a non-SAP system, such as an external application. It can also be used for communications between modules on the same system. Using the RFC interfaces you can extend the functionality of R/3 applications from an external program.
    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 these threads
    What is the difference between RFC and BAPI?.
    whats difference between rfc and bapi?
    difference between rfc & bapi
    difference between RFC and BAPi
    Difference between BAPI and RFC?
    also chk this
    http://www.sap-img.com/abap/interview-question-on-bapi-rfc-abap-objects-tables.htm
    regards,
    srinivas
    <b>*reward for useful answers*</b>

  • Any body explain me the differrence between BAPI and RFC

    Hi gurues,
                   The main difference between rfc and bapi is calling the non sap system. Other than that what r the differrence . How sap modules works other machine without sap is installed.

    The difference is not importat while you understand the concept.
    I think, RFC is the protocol for calling functions from external systems in R/3.
    I understand like BAPI a series of complet functions that SAP offers you for use and model a business use.
    But if I need program a function that can be called for external system i would call it RFC_NAME, because is a unique function that makes a single task.
    In other words, the difference i think is about work idea more than another thing.
    RFC
    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).
    BAPI
    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.
    The most critical difference btwn BAPI and FM is that BAPI can be wrapped in Business objects whereas RFC cant.
    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.
    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
    difference between RFC and BAPI
    Re: Difference Between BAPI and RFC?
    Reward all the helpful answers.

  • Difference Between BAPI and RFM

    Dear Friends,
    I have seen a few thread explaining the difference between BAPI and RFM(Remote-enabled function Modules) from functional point of view. I know that there are cases when both are available in BOR. Both can be implement using Object Oriented Technology.
    Can any tell me how they differ from techincal point of view ? OR Are they same techinically ?
    Thanks in advance,
    Rajesh

    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.
    Regards
    Reshma

  • DIFFERENCE BETWEEN BAPI AND ALE

    HI
    COULD ANYBODY TEL ME
    DIFFERENCE BETWEEN BAPI AND ALE

    Hi Kalyan
    ALE is a SAP specific method how to distribute data from and to SAP. It uses the asynchronous calls based on IDOC structures.
    However in the distribution modell of ALE can also be used BAPIs. They will then automatically converted into IDOC structures. After creating the IDOCs they will be passed over to the receiver using the tRFC protocol.
    Wheras the BAPIs are using the sRFC protocol.
    fir more information please check this:
    http://www.sap-img.com/abap/ale-bapi.htm
    regards
    Srinivas

  • Difference between BAPI and IDocs

    hello all
    what is difference between BAPI and IDocs

    Hi,
    BAPI
    One of the big plusses for BAPIs is that the interface and function are not supposed to change.  This is a big plus when you do upgrades or hot packs because the transaction can change (format, required inputs etc) which means you then need to update the call transaction.
    Some of the BAPIs are better documented and easier to use than others. You usually need to perform the BAPI that actually does the COMMIT after you call your BAPI.
    The Program coding for calling a BAPI is usually cleaner than setting up the screen flow etc for the Call Transaction.
    You don't need to worry about special data circumstances interrupting the normal data flow of the screens and causing errors because of that.
    BAPIs probably have better performance since they don't do the screen flow processing.
    In general if the BAPI exists for the transaction you want to perform and you can figure out how to use it the BAPI is probably the best way to go.
    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.
    IDOC
    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.
    Regards,
    Bhaskar

  • MAIN DIFFERENCES BETWEEN PARALLEL AND SEQUENTAIL PRCESSING???

    HI PALS,
    I WANT THE COMPLETE DIFFERENCES BETWEEN PARALLEL AND SEQUENTIAL PROCESSING!
    IN THE CONTEXT OF RFC.

    Hi
    Parallel Processing
    To achieve a balanced distribution of the system load, you can use destination additions to execute function modules in parallel tasks in any application server or in a predefined application server group of an SAP system.
    Parallel-processing is implemented with a special variant of asynchonous RFC. Itu2019s important that you use only the correct variant for your own parallel processing applications: the CALL FUNCTION STARTING NEW TASK DESTINATION IN GROUP keyword. Using other variants of asynchronous RFC circumvents the built-in safeguards in the correct keyword, and can bring your system to its knees
    Details are discussed in the following subsections:
    ·        Prerequisites for Parallel Processing
    ·        Function Modules and ABAP Keywords for Parallel Processing
    ·        Managing Resources in Parallel Processing
    Prerequisites for Parallel Processing
    Before you implement parallel processing, make sure that your application and your SAP system meet these requirements:
    ·        Logically-independent units of work:
    The data processing task that is to be carried out in parallel must be logically independent of other instances of the task. That is, the task can be carried out without reference to other records from the same data set that are also being processed in parallel, and the task is not dependent upon the results of others of the parallel operations. For example, parallel processing is not suitable for data that must be sequentially processed or in which the processing of one data item is dependent upon the processing of another item of the data.
    By definition, there is no guarantee that data will be processed in a particular order in parallel processing or that a particular result will be available at a given point in processing. 
    ·        ABAP requirements:
    ¡        The function module that you call must be marked as externally callable. This attribute is specified in the Remote function call supported field in the function module definition (transaction SE37).
    ¡        The called function module may not include a function call to the destination u201CBACK.u201D
    ¡        The calling program should not change to a new internal session after making an asynchronous RFC call. That is, you should not use SUBMIT or CALL TRANSACTION in such a report after using CALL FUNCTION STARTING NEW TASK.  
    ¡        You cannot use the CALL FUNCTION STARTING NEW TASK DESTINATION IN GROUP keyword to start external programs. 
    ·        System resources: 
    In order to process tasks from parallel jobs, a server in your SAP system must have at least 3 dialog work processes. It must also meet the workload criteria of the parallel processing system: Dispatcher queue less than 10% full, at least one dialog work process free for processing tasks from the parallel job.
    Function Modules and ABAP Keywords for Parallel Processing
    You can implement parallel processing in your applications by using the following function modules and ABAP keywords:
    ·        SPBT_INITIALIZE: Optional function module. 
    Use to determine the availability of resources for parallel processing. 
    You can do the following:
    ¡        check that the parallel processing group that you have specified is correct.
    ¡        find out how many work processes are available so that you can more efficiently size the packets of data that are to be processed in your data.
    ·        CALL FUNCTION Remotefunction STARTING NEW TASK Taskname DESTINATION IN GROUP:
    With this ABAP statement, you are telling the SAP system to process function module calls in parallel. Typically, youu2019ll place this keyword in a loop in which you divide up the data that is to be processed into work packets. You can pass the data that is to be processed in the form of an internal table (EXPORT, TABLE arguments). The keyword implements parallel processing by dispatching asynchronous RFC calls to the servers that are available in the RFC server group specified for the processing.
    Note that your RFC calls with CALL FUNCTION are processed in work processes of type DIALOG. The DIALOG limit on processing of one dialog step (by default 300 seconds, system profile parameter rdisp/max_wprun_time) applies to these RFC calls. Keep this limit in mind when you divide up data for parallel processing calls. 
    ·        SPBT_GET_PP_DESTINATION: Optional function module. 
    Call immediately after the CALL FUNCTION keyword to get the name of the server on which the parallel processing task will be run. 
    ·        SPBT_DO_NOT_USE_SERVER: Optional function module. 
    Excludes a particular server from further use for processing parallel processing tasks. Use in conjunction with SPBT_GET_PP_DESTINATION if you determine that a particular server is not available for parallel processing (for example, COMMUNICATION FAILURE exception if a server becomes unavailable).
    ·        WAIT: ABAP keyword
    WAIT UNTIL
    Required if you wish to wait for all of the asynchronous parallel tasks created with CALL FUNCTION to return. This is normally a requirement for orderly background processing. May be used only if the CALL FUNCTION includes the PERFORMING ON RETURN addition.
    ·        RECEIVE: ABAP keyword
    RECEIVE RESULTS FROM FUNCTION Remotefunction
    Required if you wish to receive the results of the processing of an asynchronous RFC. RECEIVE retrieves IMPORT and TABLE parameters as well as messages and return codes.
    Managing Resources in Parallel Processing
    You use the following destination additions to perform parallel execution of function modules (asynchronous calls) in the SAP system:
    In a predefined group of application servers:
    CALL FUNCTION Remotefunction STARTING NEW TASK Taskname
    DESTINATION IN GROUP Groupname
    In all currently available and active application servers:
    CALL FUNCTION Remotefunction STARTING NEW TASK Taskname
    DESTINATION IN GROUP DEFAULT
    Sequential Processing
    In the following cases, the system chooses sequential (non-parallel) processing:
    ●      In table RSADMIN, entry QUERY_MAX_WP_DIAG has value (column value) 1.
    ●      The entire query consists of one sub-access only.
    ●      The query is running in a batch process.
    ●      The query was started from the query monitor (transaction RSRT) using various debug options (for example, SQL query display, execution plan display). See, Dividing a MultiProvider Query into Sub-Queries.
    ●      The query requests non-cumulative key figures.
    ●      Insufficient dialog processes are available when the query is executed. These are required for parallel processing.
    ●      The query is configured for non-parallel processing.
    ●      You want to save the result of the query in a file or a table.
    In Release SAP NetWeaver 7.0, the system can efficiently manage the large intermediate results produced by parallel processing. In previous releases, the system terminated when it reached a particular intermediate result size and proceeded to read data sequentially. This is no longer the case. Therefore, the RSADMIN parameter that was used in previous releases for reading a MultiProvider sequentially is no longer used.
    Reward If Helpfull,
    Naresh

  • Difference between CAF and GP?

    Dear All,
    Can any one explain me what is the difference between CAF and GP? what is the difference between the CAF application and webdynpro application? In which senario we will go for CAF development and in which senarion we will go for GP application. Can we deploy the CAF/GP application in Enterprise Portal?
    Thanks in advance
    With Regards,
    Balachander

    Composite Application Framework consist of two parts
    1. CAF Core
    2. CAF GP (Guided Procedure).
    CAF core is used to model the the services. Composite Application Framework (CAF Core) service-oriented architecture and the standardized object access allow for uniform treatment of business processes as servicesand business objects independent of the underlying system. CAF Core integrates the elements of all the SAP NetWeaver integration layers to facilitate the creation of new business solutions across people, information, processes and application object repositories. Composite Application Framework Core (CAF Core) is an environment for building andrunning packaged composite applications (PCAs) such as SAP Collaborative Cross Applications (xApps).CAF Core supports the development of new business solutions across people, information, and processes by unifying elements from all layers of the SAP NetWeaver technology platform.
                                   CAF Core is a comprehensive environment, which includes programming abstractions, a
    programming model, metadata, and tools to support the development and deployment of
    composite applications based on Enterprise Services Architecture (ESA). This environment
    allows developers to build applications, which leverage the whole SAP NetWeaver stack
    without the need to feed low-level APIs. This way, they can focus on implementing the
    business logic of a composite application. SAP CAF comes with predefined generic patterns
    for reuse in different development projects.
    CAF Core consists of the following main elements:
    • Composite Application Services perspective, which includes a tool for modeling entity,
    application, and external services
    • Configurable user interface components
    • CAF Core administrative tool
    • CAF Core and SAP Business Information Warehouse (SAP BW) integration.
    CAF GP (Guided Procedure) : CAF GP is used for process or orcastration. Anything you want to integrate with GP you will firat go through Callable Object. For Each Callable Object has one Action. So callable Object and Action are mapped with 1:1. On the top of Actions you need to create Block and on the top of Block you will Create Process.
    Difference between the CAF application and webdynpro application: CAF application CAF Core) is used for modeling services. The services may be local in respect of CAF or remote (like RFC, BAPI, Web Service). But Web Dynpro application is used to develop the UI (User Interface). You can Line your CAF application with Web Dynpro Applicationa and ultimatelly you can expose the web dynpro application as a Callable Object which will be integrategrated with Guiged Procedure. Another ways for developing your UI using VC(Visual Composer), CAF UI Pattern.
    If you need more details let me know.
    Thanks and Regards
    Chandan

  • What is the fundamental difference between classful and classless routing?

    Hello to all,
    After reading several RFCs, guides and HOWTOs I am confused by an apparently trivial question - what is the basic, fundamental difference between classful and classless routing?
    I am well aware that - said in a very primitive way - the classful routing does not make use of netmasks and instead uses the address classes while the classless routing utilizes the netmasks and does not evaluate the address classes.
    However, already in 1985 the RFC 950 (Internet Standard Subnetting Procedure) stated that the networks can be further subnetted using the network mask. Since then the routers are expected to use network masks in the routing decision process in the precise way they use it nowadays. However, if the routers use network masks they are doing the classless routing, aren't they? Where is then the difference if we used to describe the 80's way of routing as a classful routing? Or was it already the classless routing? The RFCs about CIDR came gradually only in 1992 and 1993.
    If somebody could give me an insight into the key difference between classful and classless routing (and perhaps into the Internet history, how was the real routing done then) I would be most grateful.
    Thank you a lot!
    Regards,
    Peter

    Hello Mohammed,
    I am afraid we still have not understood each other ;) I am not looking for the algorithms used to select the best path. I am well aware of them, both Ford-Bellman and Dijkstra, and about their internals. By the way, these algorithms do not have any influence whether the routing is classful or classless because they deal with metrics, not with masks. For example, a classless EIGRP internally uses a distance-vector algorithm, not a SPF algorithm.
    I will try to explain once more what is my problem... There are two terms commonly used but badly defined: the classless routing and classful routing. Originally, I have thought that the classful routing works as follows:
    - The routing table consists only of classful destination networks (major nets), metrics and respective gateways. No network masks are stored in the table because we are classful, that is, we use exclusively the route classes and all entries in the routing table are already classful.
    - When routing a packet, the router looks at its destination IP address and determines the major net of this IP address (that is, the classful network that this IP address belongs to). Then it looks up the corresponding entry in the routing table and sends the packet to the respective gateway.
    I thought that the classful routing works in this way. I won't describe the classless routing - both of us know how do the today's routers select the next hop.
    However, in the RFCs 917 and 950 which were published in 1985, long ago before the term 'classless routing' was coined, the network mask was already defined and it was stated how the routers should work with it.
    Now I am confused. The terms classless addresses and classless routing were defined sometime in 1990's, therefore I assume that the routing before the invention of classless IP assignment can be in fact described as classful. In other words, I thought that the routing that was commonly used in 1980's did not use netmasks and can be described as classful because the notion of classlessness came first in 1990's. But now I see that netmasks were defined in 1985.
    Now where am I wrong? Do I understand the classful routing properly as I described it? Is it correct to talk about routing in that era as classful although the netmasks were already in use? Or was it already the classless routing?
    Basically I am trying to understand what was called the classful routing if the classless routing is said to be something different.
    Mohammed, I am most grateful to you for your patience and suggestions! Thank you indeed.
    Regards,
    Peter

Maybe you are looking for

  • SRM MDM catalog items not checking back to EBP ("500 Internal Server Error")

    Hi All, We are having an issue, ONLY with our PRODUCTION environment. When we create a Shopping Cart and select items from an Internal catalogue, we cannot check the items back into SRM without the system throwing the "500 Internal Server Error" mess

  • Invoking BPEL Process as a Web Service via AJAX / JavaScript

    So, I am able to invoke the BPEL process using the console with a nice XML SOAP fragment. If I take the same fragment and try to invoke the process using JavaScript, I get a NullPointerException: <2007-04-03 08:31:24,433> <DEBUG> <default.collaxa.cub

  • Check Invoice Duplication

    Dear all, In our SAP system, there are several companys. I would like to check the invoice duplication between companys with criteria Vendor and Reference Field. I have set the Check Duplication Invoices setting by the following path: SPRO-> Material

  • Automatic packing for sales document

    Hi all, i have created a sales order with BAPI BAPI_SALESORDER_CREATEFROMDAT2. Is there a BAPI or a FM that generate automatic packing for the items in the sales document. I want something like VA02, extras | packing proposal, Automatic packing. Rega

  • Group expansion error

    there seems to be a group expansion issue for the users moved from OCS to Lync. the OCS users are unaffected  ! The error is as follows. Test-CsGroupExpansion : There is no test user assigned for [southlync.contoso.com]. Verify test user configuratio