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

Similar Messages

  • Question about RFC adapter

    Hi,
    There is this little concept about RFC adapter
    I would like a liitle clarifiaction about..
    Here it goes..
    Let's just say I have made an RFC in R/3.
    The same I have imported In xi.
    now when we say RFC ...By definition
    it is a remote enabled function module.
    We import the "interface" of the Same in Xi
    So if I make changes in the BODY of the RFC in
    R/3... do i need to reimport it in XI.
    Besides when XI's reciver RFC adapter is using the
    Rfc's interface to make changes in R/3
    is it using a Copy of this RFC created in R/3
    I would like to intercep at the point it's doing so...
    tried putting a break point in the body of rfc.
    Another question is regarding RFC sender adapter
    Program ID..tcp Ip protocol.
    Conceptually How does this connectivity takes place
    I tried and it worked ...
    I dunno How to explain this connectivity taking place
    just on the basis of PROGRAM ID...
    Kindly Help

    Hi Deepak,
    +
    >>We import the "interface" of the Same in Xi.So if I make changes in the BODY of the RFC in R/3... do i need to reimport it in XI.+
    Yes you have to.
    >>Another question is regarding RFC sender adapter.Program ID..tcp Ip protocol.Conceptually How does this connectivity takes place I tried and it worked ...I dunno How to explain this connectivity taking place just on the basis of PROGRAM ID...
    ·An RFC server program registers itself under a program ID to an SAP gateway (not for a specific SAP system).
    ·If an RFC call is passed on from any SAP system to this SAP gateway with the option “Connection with a registered program” (with the same program ID), the connection takes place with the corresponding JCo server program.
    http://help.sap.com/saphelp_nw04/helpdata/en/09/c88442a07b0e53e10000000a155106/content.htm
    Hope this will clarify your doubts.
    Regards
    Suraj

  • I need  information  about  oops  concept  programming  in abap

    Hi  ,
    I need  information  about  oops  concept  programming  in abap
    Thanks,
    Asha

    Of course, the best place to start is help.sap.com.
    http://help.sap.com/saphelp_nw2004s/helpdata/en/ce/b518b6513611d194a50000e8353423/frameset.htm
    There are a couple good books out there as well.  You can get them at www.amazon.com
    Regards,
    Rich Heilman

  • Where can I go to read about the concept of set-up and use of Key Chain to automatically insert required passwords at internet sites?

    Where can I go to read about the concept and use of Key Chain to automatically insert required passwords at internet websites? I may or may not want to use Key Chain after I understand it.

    Key Chain basics

  • About RFCs

    Hi all,
            I want to know more about RFCs. What is the diff between transactional async and sync RFCs. Can u tell me vividly so that it can help me in real time.
            Also can u send me some good docs on RFCs in my mail id [email protected]
            Pls experts help me on RFCs and explain me vividly.
            I will reward points.
    With regards,
        Abir.

    Hai Abhir
    Sending system side(SEND--800)
    Create function module by using Tcode SE37 or SE80
    goto attributes select remote function
    activate
    Receiving system side(RECE--000)
    goto Tcode SM59
    here select the R/3 Connections-->click on Create Button
    give RFC Desstination : TESTRFC
         Connection Type  : 3 for Connecting two systems
         Description      : Some meaningful Description
    Press enter
    give Target system Name : SEND
              Language      : EN
              Client        : 800
              user Name     : sapuser
              Password      : xxxxxx
    save this connections & click on test connections(f8)
                          & Remote logon(f7)---> it will open a session
                            with client 800 that is your sending system
                            then only your RFC is correct
    create a report in SE38 Tcode
    data : c1 type i.
    data : itab like mara occurs 0 with header line.
    call function 'ZRFCFM' destination 'TESTRFC' --->Function Module 'ZRFCFM' your just create at Sending system
         exporting
         importing
         exceptions.
    Here are the steps.
    SM59 Transaction is used for Connection Establishment with Destination.
    When you establish a connection to a client through a destination, the HTTP connection must first be entered in transaction SM59.
    There are two types of HTTP connection in transaction SM59: Call transaction SM59 to display the different RFC destinations.
    The HTTP connection to the external server (connection type G) and the HTTP connection to the R/3 system (connection type H) are different only in their logon procedures. Their technical settings are the same. To display the technical settings, double-click a connection.
    You can choose from three tabs. Under Technical Settings, you can specify the following:
    ・ Target Host: The host to which you want to connect.
    Note that if you are using HTTPS as a protocol, you have to specify the full host name (with domain).
    ・ Service No.: Here, you specify the port. The destination host must of course be configured in such a way that the specified port “understands” the corresponding protocol (HTTP or HTTPS). See Parameterizing the ICM and the ICM Server Cache.
    ・ Path Prefix: At the time when the connection to this destination is initiated, the system inserts this sub-path before ~request_uri.
    ・ HTTP Proxy Options: Here, you can configure a proxy for HTTP connections: You can determine the proxy host and service, as well as users and passwords for the HTTP connection.
    The tab page Logon/Security will be different depending on whether you have selected a HTTP connection to an external server (connection type G) or a HTTP connection to an R/3 system (connection type H).
    HTTP Connection to an External Server (Connection Type G)
    Choose the connection you want to use. You can choose from the following logon procedures:
    ・ No Logon: The server program does not request a user or password.
    ・ Basic Authentication: The server program requests a user and password. Basic Authentication is a standard HTTP method for authenticating users. When a user logs on to the target system, he or she provides a user ID and password as authentication. This information is then sent in a header variable as a Base 64-encoded string to the server, through the HTTP connection.
    ・ SSL Client Certificate: If you use client certificates for authentication, the client authentication is performed through the Secure Sockets Layer (SSL) protocol. In this case, you must also select the SSL Client PSE of the SAP Web AS that contains the relevant certificate for the authentication. The target system must handle the issuer of the SAP Web AS client certificate as a trusted system.
    Under Logon/Security, you can also activate SSL to ensure that HTTPS is the protocol used (if you select SSL, make sure that the correct port is entered under Technical Settings). In the security transaction STRUST you can determine which type of SSL client is used. (Getting Started with the Trust Manager, Trust Manager).
    The field Authorization for Destination has been implemented as an additional level of protection. We recommend that you specify a user and password for the RFC destination.
    HTTP Connection to an R/3 System (Connection Type H)
    Here, you can specify more settings for authentication in the target system.
    The settings under Technical Settings and Special Options are the same as for connection type G. Under Logon/Security, the connection type H has additional logon procedures. As with external servers, you can activate and deactivate SSL and specify an authorization.
    Because the target system is an SAP system, you can set the client and language for the logon as well as the user name and password. If you check Current User, you have to specify the password.
    The following authentication procedures are available: Basic Authentication, SAP Standard, and SAP Trusted System, and SSL Client Certificate.
    ・ HTTP Basic Authentication: Logon with user and password
    ・ SAP Standard: This procedure uses an RFC logon procedure. The RFC Single Sign-On (SSO) procedure is valid within the one system. The same SAP user (client, language, and user name) is used for logon.
    ・ SAP Trusted System: Trusted RFC logon to a different SAP system (see Trusted System: Maintaining Trust Relationships Between SAP Systems)).
    ・ SSL Client Certificate: The SSL protocol enables you to use client certificates for the logon.
    Type G/H (SM59)
    Timeout:
    When sending a HTTP request, you can use this parameter to specify the maximum response time for the connection.
    HTTP Setting:
    You can use the HTTP version to specify the protocol version of the HTTP request (HTTP 1.0 or 1.1).
    Compression:
    You can use this option to activate the gzip compression for the request body. This can only be activated in HTTP Version 1.1.
    Compressed Response:
    In the standard setting, the SAP Web Application Server sends the Accept Encoding field as a header field with the value gzip, if the application server can handle this compression. This notifies the partner that the caller can handle gzip decompression, and that the partner can send compressed data. If you want to prevent a compressed response being sent, choose the option No.
    HTTP Cookie:
    You can use this option to control the way received cookies are handled.
    You can specify the following for cookies:
    ・ Accept them automatically
    ・ Reject them automatically
    ・ Accept or reject them in a prompt
    ・ Use a handler for the event IF_HTTP_CLIENT~EVENTKIND_HANDLE_COOKIE to process the cookies in the program.
    ・ In the next section, you can read about the parallelization of requests.
    Check this thread
    Re: SM59
    Thanks & regards
    Sreenivasulu P

  • About RFC's

    Hi Experts,
         I want to know more about RFC's .
         How to work on RFC's
         Examples on RFC's
         Doc's on RFC's
    Please let me know all these
    Regards
    khanna

    Hi ,
    <b>RFC:</b>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.
    <b>Synchronous RFC:</b>
    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.
    <b><b>Transactional RFC (tRFC) and Queued RFC (qRFC</b>).</b> tRFC is used mainly to transfer ALE Intermediate Documents (IDocs).
    <b>Transactional RFC:</b>
    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.
    <b>Queued RFC:</b>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
    Regards,
    Bhanu

  • How SCCM works internally, about design concepts and working principal of ConfigMgr?

    Hi Guys,
    Could you please recommend me any sort of data or link which explians
    how SCCM works internally, about design concepts and working principal of ConfigMgr.
    I have gone through many sites and videos but they only talk about how to work on SCCM with features however they do not talk about
    how SCCM works\inner working of ConfigMgr.
    Thanks very much in Advance!
    Regards,
    Chandan

    Not really sure what you're looking for here. Not much is explicitly published on the internals and most of what is "known" is anecdotal or based on reverse engineering by the community.There are specific things that have been documented fairly
    well, but those are scattered among various blogs. We can potentially address direct questions here in the forums or point you to that info, but there's not much to really direct you to as a single source because it doesn't really exist in general.
    Jason | http://blog.configmgrftw.com | @jasonsandys

  • About SOA concept

    Hi All,
    I would like know more about SOA concept, I found some resources from the internet, I just know about that is a service based concept, but i don't know any different between service based and traditional based process, How the SOA can improve business process, how to apply this process into daily operation, Thanks!

    Hi !!
    have a look on the given link for more details
    Leveraging Service Oriented Architecture (SOA)
    for Business Model Innovation
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/408c5726-ef5b-2910-26a9-9d5b58075700
    Enterprise Architecture – IT meets Business
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/403fd993-56d9-2910-eaa4-9c52bcd1b82d
    /people/david.burdett/blog/2007/09/25/delivering-business-value-through-a-comprehensive-standards-based-approach-to-enterprise-soa--part-4
    /people/david.burdett/blog/2007/09/24/delivering-business-value-through-a-comprehensive-standards-based-approach-to-enterprise-soa--part-3
    Business process Trends
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/300935e1-cc6e-2910-3b8d-ea8fdf976f85
    ENTERPRISE SOA AND BUSINESS PROCESS
    PLATFORM FAQS
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/3071ab59-8faa-2910-cd81-da9e20b629ed
    Regards
    Abhishek

  • About RFC and BAPI

    Hello Masters,
                 What Makes the exact difference between RFC and BAPIs. Both can perfom same thing. BAPI uses the RFCs only. Then how can it justify?
    Thank you

    RFC:
    RFC --- > Function module and general will be used to make call to function
    sending the function (XI has RFC adapter)
    BAPI:
    BAPI ---> Other version of RFC (Objected oriented) mostly we will use for Sync
    calls (Mostly in XI using proxies we will call BAPI's)
    Refer these links for more details:
    http://sapabap.iespana.es/sapabap/sap/faq/ale_idocs_bapi.htm
    http://www.sap-img.com/fu033.htm
    BAPI Vs IDOC - in detail
    http://searchsap.techtarget.com/tip/1,289483,sid21_gci824860,00.html
    /thread/127699 [original link is broken]
    IDOC,RFC,BAPI
    Re: When and Why we use BAPI, RFC and IDOC.. in XI
    Diff... between  ALE, IDOC, RFC, BAPI, BADI --- Not clear and clarify
    idoc and bapi
    Difference among  IDOCS,BAPI,RFC?
    http://searchsap.techtarget.com/ateQuestionNResponse/0,289625,sid21_cid558752_tax293481,00.html
    Differences Between RFC & BAPIS
    RFC Vs BAPI
    For more details:
    refer this thread.
    What are idocs, BAPI, RFC?
    BAPI is nothing but the Business process programing interface which are standard and stable and these are store in the business object repository.
    Standardized programming interface that enables external applications to access business processes and data in an SAP System
    RFC is the remote function call which is used to call the function remotely which may be in same system or ather system
    its also used communication between SAP systems , between SAP systems ,external systems.
    idoc and bapi
    Difference among  IDOCS,BAPI,RFC?
    http://searchsap.techtarget.com/ateQuestionNResponse/0,289625,sid21_cid558752_tax293481,00.html
    Differences Between RFC & BAPIS
    RFC Vs BAPI
    http://www.sap-img.com/abap/ale-bapi.htm
    RFC means remote function call,
    these are the function modules which can help u to access across the sap and from sap to third party front end,
    BAPI means Business application programing interface which is the RFC enable function module and uses in OOPS concept.
    RFC ,IDoc and BAPI
    ALE/ IDOC
    http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
    http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
    http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
    http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
    http://www.sapgenie.com/sapedi/index.htm
    http://www.sappoint.com/abap/ale.pdf
    http://www.sappoint.com/abap/ale2.pdf
    http://www.sapgenie.com/sapedi/idoc_abap.htm
    http://help.sap.com/saphelp_erp2005/helpdata/en/0b/2a60bb507d11d18ee90000e8366fc2/frameset.htm
    http://help.sap.com/saphelp_erp2005/helpdata/en/78/217da751ce11d189570000e829fbbd/frameset.htm
    http://www.allsaplinks.com/idoc_sample.html
    http://www.sappoint.com/abap.html
    http://www.sap-img.com/abap/interview-question-on-bapi-rfc-abap-objects-tables.htm
    This is a short description of BAPI and RFC
    BAPI stands for Business Application Programming Interface. It is a library of functions that are released to the public as an interface into an existing SAP system from an external system.
    RFC is the protocol used to call functions in an R/3 system by a caller external to R/3 or to call programs external to R/3 from an R/3 system.

  • 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

  • Points and discussion about the concepts behind making a 2D game

    Hi all. I'm currently trying my hand at a 2D RPG style game. I have a few questions open for discussion, however, regarding the general points of implementation behind it.
    1. Tiles vs static background argument aside, am I right in the thinking the best way of implementing movement across a big background map is actually to move the background and other sprites in relation to the player, giving the illusion of player movement although he in fact never moves from the center of the screen? Is there a way of actually creating a large map, populating it with sprites, and then moving the player across it and panning the screen after him?
    2. Collision detection. If we go with the idea of moving everything in relation to the player rather than the player himself, woudln't this mean a large amount of calculations when collision detection occurs. Example, u want the player to stop moving when he hits a brick wall so you have to tell every entity sprite to stop moving in response to key presses (because remember, pressing up moves everything else up, not the player character).
    3. Isometric. Is the easiest way of implementing an isometric style game just to develop isometric graphics and sprites?
    4. Tiles. I've been doing a lot of reading into tiles but I'm not sure what's a better implementation: a tile system which consists of the entire background and things like houses split into tiles or a simple big background which can be scrolled around and is populated by house sprites which are all moved in relation to the player and their collision detections done individually. Tiles certainly seem like a nice innovation but I feel like the graphics suffer as a consequence and u end up with a 8bit NES looking game!
    I'm just getting to grips with the concepts behind a lot of game design and all of this are some interesting points which I thought would be insightful to discuss. Opinions please!
    Cheers.

    Everything I'm about to say is based off of a tile-based Maze game I made.
    1. Using a big background map is a bit lazy if you ask me, but graphically it would be easier to create a nice-looking game. You also have to think about memory. Let's say you manage to get an 800x600 background image at the size of 200kb with JPEG compression. That 200kb jpg image you use as a background is not 200kb when loaded into memory. I dont remember exactly how much bigger it gets in memory, so this next statement is probably wrong. But I heard that: 4bytes per pixel for the ARGB data, and there are 800x600 (480,000) pixels. That's 480000*4 (1920000) bytes if that statement is right. But it's probably wrong, so hopefully Abuse or someone will correct it :)
    2. Move EVERYTHING up? I think you're a little mixed up. When the background (and all objects with it) is scrolled, their actual X,Y data is not changed. It is simply drawn according to the scroll offset. The only thing that is being calclulated for movement is the character/scroll offset. Think of it as a camera. The entire world is not moving, just the location of where you're viewing it. Quick example:
    You have a Tree who's location is (10,10). If the scroll offset is (0,0), then that Tree will be drawn at (10,10). But let's say your character moves up 5 pixels. You say you want him centered, so the scroll offset also moves up 5 pixels, making the offset (0,-5). When it's time to draw again, that Tree can't be at the same place it was, because the character moved. If the character moved up, the Tree would appear as if it moved DOWN. So you'd draw it like:
    g.drawImage(tree.getImage(),tree.x-scrollOffsetX,tree.y-scrollOffsetY,null);With that math, the Tree is actually drawn at (10,15), which is lower than before the character moved. You don't actually loop through all of your objects and change each and every X and Y value, you just change the global scroll offset
    Speaking of collision detection, this is where TileMaps have a large advantage. In a TileMap, you don't have to check through each and every object in the world for collision. You can just grab the 4 surrounding tiles (north,west,east,south) from the Tile array. This means there are only 4 collision detections no matter where the character is in any situation on the map.
    If you used an image for background instead of tiles, you'd have to check each object in the world for collision because it's harder to tell how close it is to the character. One thing you could do is just grab all of the object currently visible on screen and check their collision, but, depending on where you are on the map, this could easily cause an inconsistent frame rate (you could be in a field of grass that has no collision or a forest of 50 trees each screen- LOTS of collision!).
    3. I dont got much to say about isometric :P
    4. an 8bit NES game, eh? That is the common misconception that you have to use images that are the same size of the tiles. Have you seen the game "The Legend of Zelda: Four Swords"? That's a tile-based game, but on several occasions you see trees that are 10 times bigger than the 20x20 tiles. They mixed it up, they used a TileMap for the basic ground, and put good looking large images on top. The large images (such as a large tree) uses 4 or 5 "base" tiles that are used for collision. That way the character will only collide with the bottom-half of the tree, giving the appearance of going "behind" the tree when the Y value is above the middle line of the tree. This is far away from looking like an 8bit NES game :)
    I hope that was more helpful than it was confusing, but I tend to babble, so.. anyway. Hope it helps :o

  • Question about the concept of RMI reverse calls.

    Hello guys.
    I'd appreciate if someone could clarify something to me. As far as I understand , RMI reverse call in concept, is the mean thought witch a server can remotely call a method belonging to the client.
    I've done that like this: the client called a method from to the server(classic rmi) , method that had the particularity to received as a parameter an instance of a serialized .class belonging to client. Through that received remote object it seems the server can call specific methods belonging to the client .class.
    I'm not sure it's the correct way to do reverse calls, but what puzzles me is that shouldn't the server be able to call a client method without first needing to receive that instance of the client's .class and implicitly being dependent on that client initial call (maybe to get that .class in a different way)?

    I'm not sure it's the correct way to do reverse callsIt's not. If the object passed to the server is serializable, the server can call methods on it, but they will execute at the server.
    The object you pass to the server must be an exported remote object. Then the server callbacks will execute at the client.
    but what puzzles me is that shouldn't the server be able to call a client method without first needing to receive that instance of the client's .classNo, why?
    and implicitly being dependent on that client initial call (maybe to get that .class in a different way)?When you get the exported remote object part right, the remote method via which the client passes the callback to the server will declare the callback as a remote interface, not as the implementing class at the client.

  • Doubt about RFC Destination in FILE to IDOC Async scenario

    hi
    In FILE-XI-IDOC Async Scenario we are creating RFC Destination in R/3 and XI.
    For Asyn we don't want response But We are Creating RFC Destination in R/3 also.
    Any specific reason.
    Thanks in advance.

    First you need to have a clear understading of how the idoc adapters works.
    In xi we create rfc destination and specify that in the port maintenance on the idoc adapter so that we can establish a connection to the sender / receiver system which contains the IDOC METADATA (IDX2) that is required by the idoc adapter to convert the native idoc into idoc xml format.
    In R/3 as sender we create rfc destination so that when the idoc has to be transported to the xi system first it will be sent to trfc port that rfc desination that  u define the trfc port contains that the target system address(IP) and logon parameters req.So idoc can be sent to the desired destination.
    In R/3 as a receiver to facilitate communication we define rfc dest, partner profile and specify the inbound parameters so that idoc can be posted.
    Hope this answers your ques.
    cheers
    *Raj*
    *POINTS IF SATISFIED WITH ANSWER.

  • About RFC Adapter

    hi
    Expert's
    when i am configure sender RFC ADAPTER i am facing problem so plz help me
    in comm channel
    Rfc:server parameters
    application server gatway: it host name of sender system(sap abap)
    application server service: it..........................?
    wher can i get the host name of sap system
    and server service?
    RFC:MATAATA REPOSITROY PARAMETERS:
    APPLICATION SEVER NAME:
    SYSTEM NO:
    Thanks&regards
    upendra

    Hi,
    >>APPLICATION SEVER NAME:
    login to your SAP system, you can find frm system - status or when you login to ur SAP system, you can find at the right corner(tool bar)
    >>SYSTEM NO:
    usually it is "00"
    Regards

  • Hi,about rfc

    The receiver RFC adapter can also process messages with quality of service Exactly Once In Order (EOIO). They are mapped to transactional RFC calls (tRFC).
    the sentence above appears in the rfc adapter section of online help.
    i was confused for it..
    i think always eoio uses  qRFC
    why is it mapped to tRFC.
    Message was edited by:
            joy zheng

    The statement given in help.sap is correct and confusing
    According to SAP Note 730870 - Q 9
    <i>Messages with exactly once in order (EOIO) were not supported till and including SP10. With SP11 a XI EOIO-messages will result in a normal tRFC call. If a tRFC is send to a SAP-system it will be executed directly (in other words synchronous) plus the tRFC exactly once handling. The order of the messages belonging to one EOIO-queue will be guaranteed by the Adapter Framework messaging layer.</i>
    Regards,
    Prateek

Maybe you are looking for

  • Question on schedule jobs

    Hi, i created two varients of the job as shown belo. 1) DECLARE   X NUMBER; BEGIN   SYS.DBMS_JOB.SUBMIT     ( job       => X - job name as 'X'      ,what      => 'DEL_EMPLOYEE_TABLE;' - ITS A STORED PROCEDURE      ,next_date => to_date('19/05/2009 01

  • ICal Printing notes in Monthly view

    Upon my recommendation a friend became a switcher from Windows to Mac. (Outlook to iCal) He wants to print a Monthly calendar with his appointments along with the notes that are associated with it. He can not figure it out. I have never printed from

  • How to install OS X Lion?

    After downloading OS X Lion, I can't install it.  Macintosh HD and Bootcamp appear, but the system won't let me click on ether.  Solution?

  • SAP query for SPRO table

    HI experts, Im about to create a Sap query using SQVI tcode. I want to have listing of certain master data created in customizing(SPRO) like the catalogs and list of code groups and task codes in Service Notification. What is the best data source or

  • Oracle Apex 4.0: Changing #WELCOME_USER# at Navigation Bar

    Hi, In my case, I am logging into the system using user_id. However, as it is a numerical id, in navigation bar it is showing as "Welcome 1". I am using database authentication for login. I have a table where mapping of user_id & user name exists. I