Rfc CONCEPT

Hi,
Can we built trusted relationship between two systems with different client.
Regards,
Pranshu

I assume that you are referring to "RFC Trusted System".
In that case I'd recommend to take a look on SAP Note 128447.
That is
https://service.sap.com/sap/support/notes/128447
if the Client is not the same you see in the trusted system in RFC menu trusting system an error. "authorization failed". (this was confusing)
You have to create in the Trusting system the authorization object S_RFCACL with the client information for the calling System. You verify the settings with the function module AUTHORITY_CHECK_TRUSTED_SYSTEM.
Once you created the trusted system in the Trusting system. You have to create a NEW RFC connection in the Trusted System for example <SID>_TRUST mark the trusted system and current user with the Client# information. Once saved, try to logon by the "Remote Logon" button. If this works, then you created successfully the trust relationship.
Regards
Vasu

Similar Messages

  • About rfc concept

    hi gurus,
    Can any body explain me about the rfc concept.
    Thanks.

    Hi Rangamma,
    Check this info.
    These are the types of RFC
    Asynchronous RFC (aRFC)
    Synchronous RFC (sRFC)
    Transactional RFC (tRFC)
    Queued RFC (qRFC)
    Parallel RFC (pRFC)
    Asynchronous RFC :
    This is used when you need to increase the performance of ABAP program by having system call more than one function module in parallel than forcing the program to wait for results .
    Transactional RFC
    This let you group one or more function module call together o tRFC LUW and ensure that fucnction module within LUW is called once . In contrast to aRFC and sRFC the tRFC belonging to tRFC LUW are executed in order .
    tRFC is always used if a function is executed as a Logical Unit of Work (LUW). Within a LUW, all calls are
    1.Executed in the order in which they are called
    2.Executed in the same program context in the target system
    3.Run as a single transaction: they are either committed or rolled back as a unit.
    Implementation of tRFC is recommended if you want to guarantee that the transactional order of the calls is preserved
    Asynchronous remote function calls (aRFCs) are similar to transactional RFCs, in that the user does not have to wait for their completion before continuing the calling dialog. There are three characteristics, however, that distinguish asynchronous RFCs from transactional RFCs:
    • When the caller starts an asynchronous RFC, the called server must be available to accept the request.
    The parameters of asynchronous RFCs are not logged to the database, but sent directly to the server.
    • Asynchronous RFCs allow the user to carry on an interactive dialog with the remote system.
    • The calling program can receive results from the asynchronous RFC.
    You can use asynchronous remote function calls whenever you need to establish communication with a remote system, but do not want to wait for the function’s result before continuing processing. Asynchronous RFCs can also be sent to the same system. In this case, the system opens a new session (or window). You can then switch back and for between the calling dialog and the called session
    RECEIVE RESULTS FROM FUNCTION Remotefunction is used within a FORM routine to receive the results of an asynchronous remote function call. The following receiving parameters are available:
    IMPORTING
    TABLES
    EXCEPTIONS
    The addition KEEPING TASK prevents an asynchronous connection from being closed after receiving the results of the processing. The relevant remote context (roll area) is kept for re-use until the caller terminates the connection.
    Transactional RFC (tRFC) and Queued RFC (qRFC).
    tRFC is used mainly to transfer ALE Intermediate Documents (IDocs).
    Transactional RFC:
    If an error occurs during a synchronous remote function call, the system cannot tell at what point the error occurred (most crucially, whether the function module was actually processed in R/3 before the operation failed). Restarting a failed call is therefore a dangerous thing to do, since you risk duplicating a completed function call.
    To alleviate this problem, you can use transactional RFC, which guarantees that each function call you issue will only be executed once, even if you submit it repeatedly to the R/3 System. The system implements this safeguard by assigning a unique transaction ID (TID) to each transaction that you submit. When you attempt to process the transaction, the system checks whether that TID has already been processed. If it has, the transaction is ignored.
    Disadvantages of tRFC
    - tRFC processes all LUWs independent of one another. Due to the amount of activated tRFC processes, this procedure can reduce performance significantly in both the send and the target systems.
    - In addition, the sequence of LUWs defined in the application cannot be kept. Therefore, there is no guarantee that the transactions are executed in the sequence dictated by the application. The only guarantee is that all LUWs are transferred sooner or later.
    Queued RFC:
    When you use transactional RFC, you cannot guarantee the order in which the function calls will be processed in the system (it is quite possible that one call might overtake another). For cases where you need to specify a particular processing order, you can use queued RFC, which is an extension of transactional RFC. In qRFC, you place each function call in a logical queue. A function call cannot be executed until all of its predecessors in the queue have been processed. Queued RFC calls are processed asynchronously
    Therefore, Queued RFC is better than Transactional RFC.
    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.
    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.
    Synchronous RFC:
    The first version of RFC is synchronous RFC (sRFC). This type of RFC executes the function call based on synchronous communication, which means that the systems involved must both be available at the time the call is made.
    Transactional RFC (tRFC) and Queued RFC (qRFC). tRFC is used mainly to transfer ALE Intermediate Documents (IDocs).
    Transactional RFC:
    If an error occurs during a synchronous remote function call, the system cannot tell at what point the error occurred (most crucially, whether the function module was actually processed in R/3 before the operation failed). Restarting a failed call is therefore a dangerous thing to do, since you risk duplicating a completed function call.
    To alleviate this problem, you can use transactional RFC, which guarantees that each function call you issue will only be executed once, even if you submit it repeatedly to the R/3 System. The system implements this safeguard by assigning a unique transaction ID (TID) to each transaction that you submit. When you attempt to process the transaction, the system checks whether that TID has already been processed. If it has, the transaction is ignored.
    Queued RFC:
    When you use transactional RFC, you cannot guarantee the order in which the function calls will be processed in the system (it is quite possible that one call might overtake another). For cases where you need to specify a particular processing order, you can use queued RFC, which is an extension of transactional RFC. In qRFC, you place each function call in a logical queue. A function call cannot be executed until all of its predecessors in the queue have been processed. Queued RFC calls are processed asynchronously
    For more information on RFC, please go through the link.
    http://help.sap.com/saphelp_nw04/helpdata/en/6f/1bd5b6a85b11d6b28500508b5d5211/content.htm
    Have a look at this link.
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCFESDE2/BCFESDE2.pdf
    http://help.sap.com/saphelp_47x200/helpdata/en/22/042860488911d189490000e829fbbd/frameset.htm.
    Rewards some points if it is helpful.
    Rgds,
    P.Naganjana Reddy

  • RFC Concept in OOP

    Hi Gurus!
    I want to ask how are you accessing RFC destinations in OOP. Is there any concept for RFC calls with methods or are the 'normal' RFC function modules still up to date for this purpose in OOP, too?
    Thanks in advance for your replies.
    Best regards,
    Alfons
    PS: Have a nice weekend!

    Hi Alfons,
    you cant have methods of class as remote enabled . What you can do is you can create one Fn Module (Remote enabled ) in SE37 and call the methods of class here.
    And further you can create the RFC Destination using SM59 for the Fn Module .
    For eg you have two methods of class C as  M1 and M2
    then create Function Module F where you call methods like  :
    Call Method C=>M1
    Call Method C=>M2
    and define the RFC Destination for this Functional Module F in SM59.
    I hope this will help you , kindly rewards point accordingly
    Regards,
    Pranshu

  • RFC Adapter details

    hello everybody,
    i want to know in detail about the RFC Adapter.
    i have already gone through the docs in http://help.sap.com and basic RFC concepts. Now have to understand the architecture as well as the code.Hope somebody helps me out in this.
    Thanks,
    Pratik

    hey pratik...
    i hope u hav sap service id....
    not quite sure if u hav visitd this particular link...
    https://websmp202.sap-ag.de/~form/sapnet?_SHORTKEY=01100035870000463622&
    hope it helps...
    regards...
    vishal

  • Rfc authorisations

    hi could you please provide me info on rfc authorisations and different types of rfc connections

    Remote Function Call (RFC) is the central SAP technology for exchanging data between SAP systems. It comprises the RFC interface and the RFC protocol.Various RFC types can be used, depending on the type of data transfer required. These RFC types all have different quality of service properties:
    sRFC (synchronous RFC)
    aRFC (asynchronous RFC)
    tRFC (transactional RFC)
    qRFC (queued RFC)
    bgRFC (background RFC)
    The below link will give you more insight into RFC concept
    http://help.sap.com/saphelp_nw2004s/helpdata/en/45/0a385c7efd4574e10000000a114a6b/frameset.htm

  • Not able to import components into IR

    Dear all,
    I just installed ecc 6.0 in my home PC.
    installationall went perfect and its working fine.
    PROBLEM: I created a software Component in SLD.
    but when i got to Integration Repository and try to Import from SLD in Tools  its comming as " Unable to read software component versions from System Landscape Directory "sapserver:50100 "
    I dont know what is causing this problem!
    Please Help.
    Edited by: senthilprakash selvaraj on Jan 14, 2008 4:35 PM

    First your SWCV problem......
    Make sure the service users are present and all the necessary roels are there ( i mean all the service users PI* if not there for time being create them)
    Problem:
    1)I checked the gateway host & gateway Service both were not correct as u told. i changed the gateway host to: <hostname> and gateway sevice to "sapgw01".
    01 is this your instace number? sapgwXX ( XX is your instance number)
    2) Now its telling as unregistered Program ID when i test the connections in for SAPSLDAPI and LCRSAPRFC.
    you have to create the JCO connections in Visual amdin, for SAPSLDAPI and LCRSAPRFC
    then this will get registred as PID
    Please tell me how to give a registered Program ID.
    note: I checked for registered Program ID in "smgw" i am not able to find any Program ID, or in sm37 or sm38.
    ( Ex XI RFC sender adapter will take the PID which you have mentieond in the adapter and tries to ping to the R/3 to look for the same PID to get the RFC dest name to retrive the data from there.....
    This PID is not linked to any program or so only thing is the names of the PID in the rfc dest you create and RFC sender adaoter shhould be same.....
    when R/3 sends the data to external system i mean non SAP it usess RFC concept, for that it usess the TCPIP port...now the abaer in his program will send the data to the TCPIP port you have created...data comes and stops here untill external program calls to this RFC dest....when you create the RFC dest to send data to External system (NON sap) the external system should know that RFC destnation...it will detect the RFC dest using the PID....when you create the RFC dest and regirsted server program...r/3 will sotre this information like PID and RFCdest name.....rfc sender adpter will look for that PID which youmentined and look for the same PID in the R/3 and then it will take the rfc dest name and retrive the data.....
    the only conecpt of the PID is to able the 2 differnet system talk to each other using the common name....no program is required for this.....)
    ANOTHER PROBLEM
    1) I am using user id PISUPER for logging into IR ID and SLD
    But when i try to login with PISUPER in SAPLOGON its saying "Name or USerID doesnot EXIST".
    create it and check
    2)I am able to login to SAPLOGON via userid sapuser
    3)I went to tcode "su01" i tried to check the entry for "PISUPER"
    its telling the username doesnot exist?
    could this be creating the above mentioned probles in IR and SLD import.
    i think your post configuration steps you need to check once more...check are you able to import all the BS from SLD in ID also?
    for the IR i think the service user might be the issue

  • Problem in file to rfc scenario without using BPM concept

    hi ,
      I have configured the file to rfc scenatio and in that i have created a synchronous message interface .i have even aaded modules to my sender adapter .
    I have one sender aggrement , 2 receiver aggrement , 1 interface determination , and 1 receiver determination .
    the problem that i am facing is that i am able to perform the operations on r3 side succesfully but i am not getting the response back in xi .
    can any one pls help me in getting out of this problem .
    with regards
    Bhawarlal Choudhary

    Hi Amit ,
       My scenario is for creating the notification ( in plant maintenance) . every time i transmit a file a new notification nos is generated and even i am able to see it in SAP . in RWB when i check my communication channel i am not getting any response . The synchronous process seems to be working fine according to me do i need to even create a FRC communiation channel for sender as i have not done that .
    with regards
    Bhawarlal Choudhary

  • Concept of groups vs concept of roles

    Hi!
    I'm designing an LDAP structure mainly for authentication and authorization of users. I want to use the LDAP server for applications, intranet (different platforms like linux, NT, ...) and portals.
    I read the Admin guide about groups and roles and found, that there aren't that many reasons for using roles instead of groups. The only real difference is (as I understood) that when using roles, I don't have to search for the the groups a user is member of, because every user contains the nsrole attribute with all the roles he is member of.
    One big reason for not using roles is, that they are quite specific for iPlanet Directory Server. If one ever changes to another product (for example OpenLDAP) the roles concept may or may not be the same. When using groups I don't have that problem.
    (If my information about that is incorrect please conradict!)
    A mixture of groups and roles is a quite bad idea because if I put a group in a role, the "nsrole" attribute is added only to the group but not the the members of the group, so if I use roles, I should stick to them and should not use any groups.
    As I told at the beginning, I am planning an LDAP structure. I don't have any "real life LDAP-experience" so if your experience is different, please tell me.
    Thanks in advance for your opinion!
    Florian

    1. Why there could be a problem without scopes in
    groups. If I have two companies and each of them has
    a group "employees". Two companies would probably be
    separated in two different subtrees, so I just use a
    dynamic group, where I can specify a subtree where
    groupmembers can be located or I use static groups,
    where I define each entry.You see, you had to make a choice on which group type you could use - not because one was more convenient for defining members for the problem at hand, but because only one would work at all.
    One thing I did not mention about roles advantages: they all work the same way - if a new role type were invented, applications written to work with roles prior to the new role, would still work with that role type. Groups types are so different that forward compatibility is not possible - mostly because to even use groups, applications have to do all the work to do common things like, enumerate the group, enumerate the groups an entry belongs to, test for group membership etc.
    >
    2. The coding logic for group evaluation with dynamic
    and static groups and even mixtures of it is quite
    complicated, it is much easier to ask an entry for a
    roledn and thats it, but do most clients support
    roles? Probably not. But then roles have not been around as long. I don't have any hard data on how many apps use roles - you would be surprised how hard it is to get that data for a developer.
    As far as I know roles are not used in any
    other LDAP Server. Well, the Sun DS, and the Netscape DS (which admittedly were once the same thing) both support the same roles.
    So you can optimize an
    applications implementing a role based queries, but
    if you have a OpenLDAP environment you also need a
    possibility to use groups. Talk to the OpenLDAP people about that. I believe they (at one time at least) decided to support the Netscape slapi interface - roles have interface components in that api.
    I do understand what you are saying - there isn't an RFC, so other servers don't support roles. Well, I'm sorry, I never got around to it. To be perfectly frank, a lot of LDAP RFCs/Drafts merely describe some proprietary mechanism which other servers never adopt. Some even describe mechanisms that nobody has ever implemented.
    When it comes down to it, it is only you who can decide whether being able to move to OpenLDAP or some other server without any reimplimentation is an important consideration. Every server will have features not supported by others, and if your choice is to use only those that are commonly supported, then that is your choice.
    Roles will allow much less complex coding in order to use them and they are much faster than equivalent client side operations, but the price is non-comformance with other servers. But when that non-conformance simply boils down to entries which merely "describe" the groups without adding application level functionality - how much have you really lost? Well, until you need to change server vendor you have only gained, and then you'll need to put in the effort you saved ealier.
    On the other side, what
    application do support roles right now? (I really
    don't know)Apart from applications by vendors that also supply DS I don't know either - but support for features such as this need to come from customers of those products. It is surprisingly simple to add support for roles in a product (for most it will almost be free) - much simpler than for groups.

  • Automation of service ticket  creation using RFC

    Hello Friends,
    Here is our new requirement.
    In general, in HR team , a manager / employee will perform an action that triggers a workflow in ECC. Then they will call an agent in CRM to raise a service ticket for that. Our requirement is to automate this generation of service ticket when the manager/employee performs an action.  But sometimes CRM system will be down. so at that time we need to save the data and create the service ticket when the system becomes active.
    Approach:
    The workflow will have a method(custom enhancement) that updates a custom table in ECC.
    We(CRM) have to develop a RFC function module to read the data from ECC and update it in the custom table of CRM.
    we have to create a program to loop the data from custom table and create a service order/ticket by using a function module.
    As of now the process looked good.
    1. But we don't see any link between the record in the custom table and service ticket generated. we cannot compare the service ticket and from which record it generated?
    2. After using RFC we read the data into CRM custom table. How do we compare both the tables and delete the ECC table as soon as the CRM tables is updated?
    3. when the service ticket failed to generate we should update the field in the custom table (CRM), the number of failures
    Please help me .....Suggest me if there are any other approaches?

    For question 1 look at the attachments in oss note 940882 Frequently Asked Questions about ERMS
    a mailform can be used but is not required.
    For question #2, John Burton wrote an article in CRM expert a few years back that explains this concept well.  The email coming into the agent inbox doesn't create the ticket until processed but his article explains how it can and give and auto repsonse to the sender with the ticket number attached.

  • How to pass multiple selected values of a table to RFC

    Hi all,
    My scenerio is that user selects multiple rows and click a button. i want to pass a unique id of the row to rfc.
    means there are userid is unique in the table.
    i want to paas the userids of all the selected rows to rfc.
    Can any one help me to implement that??
    regards
    Anoop

    Hi
    In the context view the properties of the model node for which you have to pass the table data.
    In the properties you will find a property called Structure from where you can get the structure name..in my example scenario the structre name is
    Zdp_Str_Shopping_Cart
    After adding all the datas to the model node, finally add that instance to the root node....
    You want to pass only the selected data in the table right, for that refer the looping concept suggested by of Ayyapparaj KV
    Zdp_Str_Shopping_Cart shoppingCart;
    for(int i=0;i<wdContext.nodeChnIt_Shopping_Cart().size();i++)
                   shoppingCart = new Zdp_Str_Shopping_Cart();
                   shoppingCart.setEquipment_No(wdContext.nodeChnIt_Shopping_Cart().getChnIt_Shopping_CartElementAt(i).getEquipment_No());
                   shoppingCart.setIbase(wdContext.nodeChnIt_Shopping_Cart().getChnIt_Shopping_CartElementAt(i).getIbase());
                   shoppingCart.setKbetr(wdContext.nodeChnIt_Shopping_Cart().getChnIt_Shopping_CartElementAt(i).getKbetr());
                   shoppingCart.setMaktx(wdContext.nodeChnIt_Shopping_Cart().getChnIt_Shopping_CartElementAt(i).getMaktx());
                   shoppingCart.setMatnr(wdContext.nodeChnIt_Shopping_Cart().getChnIt_Shopping_CartElementAt(i).getMatnr());
                   shoppingCart.setQuantity(wdContext.nodeChnIt_Shopping_Cart().getChnIt_Shopping_CartElementAt(i).getQuantity());
                   shoppingCart.setSerial_No(wdContext.nodeChnIt_Shopping_Cart().getChnIt_Shopping_CartElementAt(i).getSerial_No());
                   shoppingCart.setUnit(wdContext.nodeChnIt_Shopping_Cart().getChnIt_Shopping_CartElementAt(i).getUnit());
                   shoppingCart.setUnit_Of_Wt(wdContext.nodeChnIt_Shopping_Cart().getChnIt_Shopping_CartElementAt(i).getUnit_Of_Wt());
                   shoppingCart.setWaers(wdContext.nodeChnIt_Shopping_Cart().getChnIt_Shopping_CartElementAt(i).getWaers());
                   shoppingCart.setWeight(wdContext.nodeChnIt_Shopping_Cart().getChnIt_Shopping_CartElementAt(i).getWeight());
                   createProductOrder.addIt_Shopping_Cart(shoppingCart);           
              wdContext.nodeZdp_Bapi_Create_Product_Order_Input().bind(createProductOrder);
    Let me know whether you got an idea and your problem get solved......
    Regards
    Chandran S

  • RFC destination with CIF application case !

    Hi,
    Can someone explain the difference between
    Assigning a logical system to a RFC destination  and
    u201CAssigning a logical system to a RFC destination with CIF Application case" (there are 4 of them in all as i see - AC, RL, RQ, DG, AC- refers to availability check)
    e.g I have 2 entries in the system landscape settings.
    1)     Logical system u2013 RFC destination
    2)     Logical system- application case AC u2013 RFC destination.
    Even if I remove the 2nd entry, the relevant APO ATP FMu2019s are called  (just a negative testing to see what goes wrong without application case) but am clueless about this concept of CIF application case. Why such a provision to begin with. The context help says. some transaction need to have synchrious RFC and hence the need but i see the same even without his entry.
    Regards,
    Loknath

    Hello Loknath,
    If I understand your query correctly,
    1.Assign logical system to RFC destination is OK for you.
    2.Assigning the RFC destination to a specific CIF application is used in the following case,
    You have a system/service user set up for communicating with the R/3 system thru CIF & this is assigned to the RFC destination assigned to the point no:1
    & for debugging purposed you need a dialogue user, so you may assign this dialogue user to a different RFC destination & assign it here in the customizing (Assign RFC to application cases) to the application Debugging..so that while the particulat application is called (Debugging...CIF cockpit...etc)the corresponding settings from the different RFC destinations will be used.
    I could not understand your query, where u relate some ATP stuffs with this CIF topic...
    Thanks,
    Mahesh

  • Sender JDBC to Receiver RFC scenario

    Hi All,
    I have to configure an scenario of sender JDBC to receiver RFC wherein SAP PI will be pulling data from third party database (Oracle).
    Since I am configuring such scenario of sender JDBC, I want help on every important key aspects/prerequisites of configuring sender JDBC adapter/channel. I want to understand about Database Connection, Processing Parameters, etc. details while configuring sender JDBC channel and their significance/relevance.
    Also I need guidelines about the source data structure (message type or external definition) to be used/created in ESR.
    How sender JDBC channel and receiver JDBC channel differs from each other?
    Please guide me on this.
    Thanks & Regards,
    Amit Patil

    Hi Amit,
    First of all you should read the sap.help documentation:
    Configuring the Sender JDBC Adapter - Advanced Adapter Engine - SAP Library
    Configuring the Receiver JDBC Adapter - Advanced Adapter Engine - SAP Library
    Later, you can read Rajs's blog to advance concepts and perfomance JDBC Receiver scenarios best practices part-1
    Finally, search the other blogs and documents in the SCN.
    How sender JDBC channel and receiver JDBC channel differs from each other?
    JDBC sender always does a poll to a DB table (with join some tables) in wich table you will need a field checkbox to mark the registers read, and the the receiver JDBC you can do a typical SQL construction like SELECT, INSERT, DELETE, etc. Both cases need the JDBC DB driver installed (check the SAP notes for this, also you can find some examples in the SCN:http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/8000cffc-6b92-2d10-3493-f2ac1399242f?quicklink=index&…  PI/XI: deploy a JMS/JDBC driver without JSPM? ).
    Regards.

  • 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

  • DB-LUW in ABAP-OO (Transaction-concept)

    Hi Experts,
    how can i use the transactionconcept in ABAP Object?
    In normal abap we use for example :
    CALL FUNCTION update_function1 IN UPDATE TASK
    CALL FUNCTION update_function2 IN UPDATE TASK
    commit work.
    Are there any possibilities to use such concept in ABAP OO?
    I have created some save-methods, which contains "insert" or "update" .
    I call this save methods one after another, in following form
    r_object->save_method1() .
    r_object->save_method2() .
    r_object->save_method3() .
    How can I realize the LUW concept here?
    Thanks in advance
    Cetoman

    Hello Naimesh,
    Methods don't support Update Module, RFC module
    Having said that, can we not wrap the method call inside an Update Module
    Cheers,
    Suhas

  • Exception error_message in rfc function module

    Hi all,
    I am getting a short dump Raise exception in my R/3 system when calling a RFC function module in R/3 for printing  a label in LOFTWARE. The error analysis shows the that exception condition 'Nlink exception' condition raised . The rfc destination is working fine  and also i have included the predefined exceptions system_failure and communication_failure and also I have used RFC_PING function module before calling teh rfc for printing . Yet it is giving short dump.
    I heard that if we include one more exception error_message with return code 99
    ie exceptions
        system_failure = 1
        communictaion_failure = 2
        error_message = 99. there will be no short dump.
    Can anyone explain me why the return code for exception error_message is not 3 but 99 and also what is the significance of this.
    Need your help.

    from dump no information is available also it last occured 5 days ago so refreshed from our system..
    I want to know what is the importance of the return code 99 here...
    can anyone clarify this concept and aslo genrally in rfc exception handling communication_failure and system_failure can handle all type of exceptions then why error_message exception is added with a return code of 99..

Maybe you are looking for

  • Unable to get delivery to split

    Hi all,   In the sales order, i have 3 line items where 2 items go to Plant 100 and  1 item go to Plant 200.  I need to create split delivery as the plants are different.  When i ran VL10A, it show me just one line for that order with the first item

  • Sms pc suite reading up to a certain date

    Hello all, I am struggling with a problem since many days, and hope you can help me. In my phone (n70)I have more than 2000 sms, all in the phone memory. While trying to backup my sms with pcsuite, I realized that pc suite reads and transfers only th

  • TypeError: Error #1009 A.S 3.0

    Sorry i am bad in English...In this case, I'm still new.I have this error "TypeError: Error #1009: Cannot access a property or method of a null object reference. at Monster/hurtPlayer() at flash.events::EventDispatcher/dispatchEventFunction() at flas

  • Windows to UNIX file download directory location

    Hello all, I have a page that displays the contents of a directory and allows the user to click and download a file. I developed it on Windows and now I need to temporarily get it running on Solaris 8. I deployed the war file and now I need to change

  • I am trying to find the area of a parking lot - is there an app for that?

    I am in construction & just got an iphone.  Is there an app that uses gps that would give me dimensions or area of a parking lot? Thanks,