Asynchronous XI- RFC and RFC- XI scenario - strange problem

Hello XI-Xperts,
I've come to really strange problem, which I would like to share with you and possibly get an explanation.
I have an asynchronous scenario with ending XI->RFC. The RFC function in R/3 has got an optional parameter called SENDER, which when is filled, the another asynchronous RFC->XI scenario should be started. (via ABAP code <i>CALL FUNCTION 'Z_XI_RETURN' DESTINATION gc_xi_destination</i> ... etc.)
Now, the direction XI->RFC is configured properly, but the way back NO(!). Anyway I thought that it wouldn't make me a trouble, because those two scenarios are IMHO absolutelly separated. So I'd presume that the the data should come to R/3 without problem, it should be processed, and in case the parameter SENDER is filled the R/3 would establish the RFC connection and the "return data" should go back in different XI thread.
Well I would think like that but the situation is different:
When the parameter SENDER is empty, all goes OK and I can see in Runtime Workbench Message Monitoring - Adapter engine - Detail - Audit log only "successes". But when SENDER is filled with a value and R/3 does CALL FUNCTION with DESTINATION to a <i>non-existing Sender agreement</i>, the R/3 apparently doesn't send a acknowledgement to Adapter Engine of first thread XI->RFC. Intstead of that there are three messages in audit log:
<i>MP: exception caught with cause com.sap.aii.af.ra.ms.api.RecoverableException: error while processing message to remote system:com.sap.aii.af.rfc.core.client.RfcClientException: JCO.Exception while calling Z_FIDATA_INPUT in remote system (RfcClient[IS2RFC_SAP_BG]):com.sap.mw.jco.JCO$Exception: (104) RFC_ERROR_SYSTEM_FAILURE: senderAgreement not found: lookup of binding via CPA-cache failed for AdapterType RFC, AdapterNS http://sap.com/xi/XI/System, di: com.sap.aii.af.rfc.afcommunication.RfcAFWException: error while processing message to remote system:com.sap.aii.af.rfc.core.client.RfcClientException: JCO.Exception w
</i>
Basically I understand what is happening on the background, but I really can't go over my persuation that in case of the ASYNCHRONOUS SCENARIO this should not happen.
Or is the RFC call (I mean XI->RFC) "pseudo-synchronous" even in asynchronous scenario ? I mean that Adapter engine waits for the result of RFC everytime ... ?!
Thank you
Tomas

Hello again guys,
so I've understood it on the end. My ABAP code didn't contain EXCEPTION part of CALL FUNCTION statement.
<i>CALL FUNCTION 'Z_XI_RETURN'
    DESTINATION gc_xi_destination
    EXPORTING
      <PARS>
    <b>EXCEPTIONS
      communication_failure = 1
      system_failure        = 2.</b></i>
Without it the RFC short-dumped and AE correctly tried to call it 1+3 times. The thing, that the problem was connected to XI related topic, tricked me. Well it's smart, I must admit on the end
Reward points for interest.
THX Tomas

Similar Messages

  • Computer slower and a few other strange problems since upgrading to SL

    Hi all,
    About a month ago, I upgraded my mid-2009 MBP to SL. I'm now on 10.6.1. Ever since the upgrade, my computer's been somewhat slower than it was when I ran Leopard (although many people I know say their machines are faster). I did restart several times at one point, and that seemed to speed it up, although it still experiences delays I didn't have before. I've also had a bunch of strange issues:
    1) Safari is most noticeably slow, especially when using something like Top Sites on Safari 4. I alleviated this problem somewhat by setting new tabs to open a blank window rather than Top Sites, but even so, Safari is generally slower, gives me 'pinwheels' often, and also is less stable.
    2) The other day, I restarted to find that all fonts except system fonts had been mysteriously deactivated. As a designer, I rely heavily on my many fonts, which I manage using Linotype FontExplorer.
    3) Today, I opened my computer up after having it sleeping in a backpack, and it had turned off. It was not out of battery; it had just turned off for no apparent reason.
    4) Judging by Activity Monitor, RAM is being used somewhat more heavily by the system, contrary to the advertisements of a 'lighter' footprint for SL as compared to Leopard. However, according to Activity Monitor (which I check frequently), the processor does not appear to be getting taxed any more heavily than under Leopard, which makes the sluggishness more inexplicable.
    5) Yesterday, I could not get my computer to recognize my Time Machine backup disc. After restarting, it worked, but this is a pain.
    I appreciate any advice I can get. Does anyone else have similar problems or solutions? Or is the general consensus that these are SL bugs that Apple will work out by about 10.6.4 or so?
    Thanks,
    Nathan
    Message was edited by: nateeanes

    I began this thread awhile ago, but the essence of it is that I had a number of strange problems, although mostly my computer was just slower, when upgrading from Leo to SL.
    I've now wiped my HD and re-installed SL. It seems faster, although there are still a few issues:
    1) iWork (Pages, Numbers) has very weird coloring. All the text looks light blue and/or cyan, and I can't fix it.
    2) Although initially Safari worked great, lately it's been going back to its habits of being slow and showing strange things like chopping up the 'Top Sites' view, i.e. rendering it in an off way.
    3) Adobe CS3 will not install properly. I get them loaded up, but when I try to launch a program, I get an error that says "licensing for this product has stopped working". I cannot get to the 'activate' page, even though I uninstalled and deactivated CS3.
    In the interest of full disclosure, I did restore my home account after clean installing SL-- maybe I should have brought the files over folder by folder rather than bringing back my whole home folder with its settings? I wonder if I accidentally brought over Adobe's FLEXnet folder too.
    Also, does anyone know if Adobe CS3 can cause these problems with Safari and other programs? It just seems that the whole machine was slower after installing CS3, even though I wasn't running the programs.
    Any help is appreciated.
    Nate

  • Worked in 1.2 and 1.3 but strange problem in 1.4

    While connecting to https url through web browser with 1.2 and 1.3 java plugin every thing seems to work perfectly. But I get these errors with 1.4 plugin.
    I get the error while doing these steps are happening
    1) type the https url on the browser and try to connect
    2) I get java security warning dialog saying "Do you want accept this certificate from <some number> for the purpose of exchaning the encrypted information.
    And it has "Grant this session" "Deny", "Grant Always", "View Certificate".
    As soon as I hit the "Grant this session" I get the following error on java console.
    java.lang.StringIndexOutOfBoundsException: String index out of range: -4
         at java.lang.String.substring(Unknown Source)
         at sun.plugin.security.CertificateHostnameVerifier.verify(Unknown Source)
         at sun.net.www.protocol.https.HttpsClient.b(DashoA6275)
         at sun.net.www.protocol.https.HttpsClient.afterConnect(DashoA6275)
         at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.setNewClient(DashoA6275)
         at sun.net.www.protocol.https.PluginDelegateHttpsURLConnection.superConnect(Unknown Source)
         at sun.net.www.protocol.https.PluginDelegateHttpsURLConnection.access$100(Unknown Source)
         at sun.net.www.protocol.https.PluginDelegateHttpsURLConnection$2.run(Unknown Source)
         at java.security.AccessController.doPrivileged(Native Method)
         at sun.net.www.protocol.https.PluginDelegateHttpsURLConnection.connect(Unknown Source)
         at sun.net.www.protocol.https.PluginDelegateHttpsURLConnection.getInputStream(Unknown Source)
         at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(DashoA6275)
    BTW: after that you get another sercurity dialog warning saying "server sercurity certificate does not match th epage that you trying to view."
    Do you want to proceed?. Once I say "Yes". It will continue to load the jar files and displays the applet. But I cannot do any thing on the applet.
    does anybody got this type of exception.

    goto control panel --> and click on the java plugin 1.4.0_01 icon
    there is a tab called Certificates, check whether your Signed applet certificate info is there.
    if by doing this way you are not able to get it solved, try giving
    "Grant Always" instead of Grant this Session.

  • External system point of view - BAPI and RFC difference

    Hi all,
    I have already searched forums and have seen many posts. But none of them are giving exact difference between BAPI and RFC.
    Please don't copy paste any previous posts which give differences in definitions and please explain me in simple terms the difference between RFC and BAPI from external system point of view.
    Can RFC be used to link SAP to Non-SAP system? If so, why BAPI?
    Difference between RFC and RFC Call?
    How exception handling is different?
    I know that BAPI is based on OOPS concept but if that is the only difference then from external system point of view they should the same.
    Regards
    Vasu

    Hello Vasu
    BAPIs implement the so-called "methods" of business objects (like sales order, customer, etc.). However, this OO-concept is just of semantic nature.
    I like to make the following equation: BAPI = Dialog (transaction) without dialog
    What does this mean? A BAPI executes the very same validations like in the corresponding dialog transaction.
    In order to understand the difference between a BAPI and another RFC enabled function module the following hierarchy may be useful:
    BAPI = RFC enabled => executes all validations like in dialog transaction
      --> RFC module => may execute similar function like BAPI but does NOT execute all validations
            --> calls local function modules => execute specific function
                                      but not as comprehensive as a BAPI function
                 --> may call internal function modules => modules that are intended to be used by SAP only
    Regards
      Uwe

  • Object cast - J2EE to ActionScript strange problem

    Hello,
    I am working in a project with multiple layers composed by Flash+Flex; BlazeDS; J2EE+Hibernate.
    I have some services to get all the data from database and I have a strange problem when I try to cast some objects from J2EE to ActionScript via BlazeDS Services. This is the structure that I have in my project:
    Oracle
    Table ServicePetitions (a table with all the data about a service petition)
    J2EE+Hibernate
    ServicePetition object (mapping object generated by hibernate)
    ServicePetitionId object (multiple key object generated by hibernate)
    ServiceServicePetitions object (the service to use in blazeDS)
    Flex 4 (All the objects generated by Flex Builder at the time of map the service)
    _Super_ServiceServicePetitions
    ServiceServicePetitions
    _Super_ServicePetitions
    _Super_ServicePetitionId
    _Super_ServicePetitionEntityMetadata
    _Super_ServicePetitionIdEntityMetadata
    ServicePetition
    ServicePetitionId
    Normally I call the service and later I try to get the data using a CallResponder object to make the assignation lastresult = ServicePetition; except when I use a datagrid that automaticly use the CallResponser.lastresult as dataprovider, without any assignation (important, always work!)
    The fact is that when I try to make the assignation all works alright, I get all the data, I can work with those data, all goes perfect, but...when I make the second call, the assignation (callresponder.lastresult = ServicePetition) does not assign anything.
    This is the code of the assignation:
        private var respPs:CallResponder;
        private var servPs:ServiceServicePetitions;
        private var objPs:ServicePetition;
        // Call
        public function AprobarPS(ter:String,idps:String,sec:int)
          servPs = new ServicioVPeticionesServicio();
          respPs = new CallResponder();
          respPs.addEventListener(ResultEvent.RESULT,getDatosPs);
          respPs.addEventListener(FaultEvent.FAULT,error);
          respPs.token = servPs.getPeticionServicio(ter,idps,sec);
        // Get the data
        private function getDatosPs(resultEvent:ResultEvent):void
          objPs = respPs.lastResult as VPeticionesServicio;
          switch (obj.petitionType) { // Here I have a null exception
    I make the debug with the blazeDS tools and all the responses and call statements is Ok, and the service return the data always, but Flex only works the first time per execution.
    If I assign all the data field by field from lastResult to ServicePetition all works properly always, the first call, the second call, etc., but if I want to make the assignment, object to object, only works 1 time.
    any ideas?
    best regards,
    thx!

    sorry, copy-paste problem...
    switch (objPs.petitionType)
    I have been researching and I think that I know where (maybe...) is the problem.
    The object to serialize have another object inside. Could be this the problem at the time to des-serialize the object? Also, the object is very big, have around 40 fields, could be also a problem ?
    thanks!

  • Strange problem with Domain Values

    Dear All,
      I encounter one strange problem with Domain Fixed Values.
    Background:
       We have a custom domain ( ZXREF2) created for custom data element(ZXREF2) which has replaced standard dataelement in BSEG for field XREF2. This domain has 12 Fixed values. The idea was to have F4 help for field "Reference Key2" in FBL5N/FBL01 tcodes. It is working fine with these 12 Fixed value, means, on F4 we could see all these 12 values and when selecting a line from F4 the entry got thru the screen validation ( plz note hat this validation is like checking the mandatory value so this is done even before PAI).
    Problem:
      The requirement was to add a new line to F4 values( tecnically, 13th record in domain ZXREF2). We added this line to domain and moved to Quality system. Its working fine in both Dev and Qality, but the strange problem occured after moving and testing in Production.
      In production, we could see all 13 lines in F4 help. <b>BUT</b>, after selecting the new one( 13th one), and after the value appears on screen field, when Enter is pressed, it gives error message "Enter Valid value".
       This error message also comes when we enter any value which is not there in F4. That means, system is able to recognize the new value in F4, but falied to validate that.
      We thought that, this might be the problem with Buffer, and request Client to re-start the system. Even after system restart, it still gives the same error message.
    Please note that, the error message is triggered even before PAI of the screen called. So noway( I already tried system debugging) we can debug this error message to findout the rootcause.
    Any quick help would be highly appriciated.
    Thanks and Regards,
    Prasad.

    Hello Max,
      I guess DB Utility ( SE14 ) is to be run only when there is a change at structure level, to make Runtime and Database objects in sync. Here, we just added a new line to existing domain, and this added a new row to the Database table DD07T/DD07L.
      Could you please expalin it more clearly if your view is different that what I just described. 
    Prasad.

  • HTTP and RFC related scenarios

    Hi
    Can you give HTTP and RFC related scenario links ?
    Urgent pls
    Thanks,
    Message was edited by:
            s s

    Hi s s,
    see the below links, they will help u.
    HTTP to RFC
    /people/community.user/blog/2006/12/12/http-to-rfc--a-starter-kit
    http://expertanswercenter.techtarget.com/eac/knowledgebaseAnswer/0,295199,sid63_gci983752,00.html
    http://help.sap.com/saphelp_nw04/helpdata/en/f6/e002416225f023e10000000a155106/frameset.htm
    http://help.sap.com/saphelp_nw04s/helpdata/en/f6/daea401675752ae10000000a155106/frameset.htm
    Is it possible to use the RFC sender adapter for asynchronous calls?    Async call
    <a href="http://File to RFC using BPM-Starter Kit: By Arpit Seth">File to RFC using BPM-Starter Kit: By Arpit Seth</a>
    regards
    sreeni

  • ALE/IDOC and RFC/BAPI Integration Scenarios with SAP DS for ESA v3

    Hi,
    we are planning two PoCs of Integration Plattforms. One of our major requirement set is SAP Integration into our existing SOA.
    Because we also have R/3 4.7 Systems in production, we are planning to test ALE/IDOC and RFC/BAPI Integration scenarios with these Integration Plattforms.
    My question is:
    We are looking for are smart solution to get a SAP Test Environment, where we can test ALE/IDOC und RFC/BAPI Integration scenarios.
    It is possible to do this with SAP DS for ESA v3 or shall we better use IDES for that purpose?
    Best regards,
    Steven

    Hi Abhishek,
      This is our scenario. We are doing an integration of SAP HR r/3 system with the CRM system. We need housing information details of the employees which we have in custom infotype 9310 in SAP HR system and we need those details in the CRM system. So am planning out for an ALE/IDOC approach for the integration and gonna  maintain the 9310 details in a custom table. In the CRM system, we gonna build a BOL layer for accessing the 9310 details. Also i'm preparing a HLD for this process. I wanna read and go through few same HLD's before i submit my proposal to my client. Please suggest me and help me out.
    Thanks in advance.
    Regards,
    Arunmozhi.

  • How to use IDOC and RFC adapter in 1 scenario?

    We have AAA field and BBB field and we want to send AAA field to receiver sap system using IDOC adapter and BBB field to receiver sap system using RFC adapter. But how to use IDOC and RFC adapter in 1 scenario and how to map and  what are the design and configuration objects we require to create?

    To achieve this you have to use
    Two Interface Determinations
    Two Communication Channels (IDOC & RFC)
    & Two Receiver Aggrements.
    Use the Enhanced Interface determination and give your conditions there. Based on you condition your interface mapping will be triggered and data will be sent to IDOC & RFC respectively.

  • RFC Sender and RFC Receiver Sync Scenario . Help required.

    Hi,
    I need to make RFC Sender and RFC Receiver Sync Scenario.
    Any docs/links for it.
    Regards

    Hi,
    I have CRM (r/3) and DM (r/3)system.
    Data from differnent tables of CRM system needs to go to
    DM system different tables , data will be saved there and then return response back to CRM system.
    For this I have given one RFC for CRM system
    For this I have given one RFC for DM system
    So I have to make Sync Outbound Interface
    and Sync Inbound Interface.
    So I think so no BPM is required.I am correct?
    Adapter -- RFC Sender and RFC Receiver Adapter.
    Regards
    Edited by: Henry H on Jan 29, 2008 11:20 AM

  • IDOC and RFC/PROXY Scenarios

    Is there a way to practice IDOC or RFC Scenarios if you only have access to the XI System? So you have XI abap and Java but no R/3 System...
    Can someone tell me how I can practice IDOC and RFC scenarios please

    It is possible to practive IDOC & RFC scenarios with XI's abap stack as sender & receiver of IDOCs and RFCs with the "XI" in the middle....
    However, the problem might be the IDocs & RFCs might have to be created from scratch to test these out....
    If you have some IDOcs that you can use in XI abap stack, have the program that generates this IDOc and when(if) XI abap stack receives this, the processing module to process this IDoc...
    Similarly, the RFC FM has to be available on XI ABAP so that it can bhe invoked from the RFC interface..
    Thanks.
    Message was edited by:
            Renjith Andrews

  • XI and RFC adapter

    Hi
    The RFC Adapter configuration has been done successfully and the adapter starts up successfully.
    In our scenario, we attempt to receive an xml message from my local machine through a file adapter, and pass this along to the RFC Outbound adapter to execute a RFC on the CRM box. 
    The following error message is encountered in the XI monitoring tool.
    ==============================================================================================================
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--
    Inbound Message
      -->
    - <SAP:ErrorHeader xmlns:SAP="http://sap.com/exchange/MessageFormat">
      <SAP:Context />
      <SAP:Code p1="connection closed (no data)" p2="" p3="" p4="">RFC_ADAPTER.SYSTEM_FAILURE_OUTBOUND</SAP:Code>
      <SAP:Text language="EN">System error when calling the outbound RFC adapter (connection closed (no data))</SAP:Text>
      </SAP:ErrorHeader>
    ===================================================================================================
    I then stop the RFC adapter and attempt the scenario again.  I get the following error message in XI monitoring tool.
    ================================================================================================================
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--
    Inbound Message
      -->
    - <SAP:ErrorHeader xmlns:SAP="http://sap.com/exchange/MessageFormat">
      <SAP:Context />
      <SAP:Code p1="Exception in handleRequest of server Xmb2RfcService: java.lang.Exception: Bean n" p2="" p3="" p4="">RFC_ADAPTER.SYSTEM_FAILURE_OUTBOUND</SAP:Code>
      <SAP:Text language="EN">System error when calling the outbound RFC adapter (Exception in handleRequest of server Xmb2RfcService: java.lang.Exception: Bean n)</SAP:Text>
      </SAP:ErrorHeader>
    ==================================================================================================================

    Hi Eduardo ,
    Please check wether the following steps are done in BPM:
    1.Async Recieve
    A.Properties :
    Please set the following
    Message:Message 1
    Mode:asynchronous
    B.Container Data :
    Declare Message 1 as asynchronous abstract interface with message type of outbound interface(File Structure).
    2.Sync Send
    Pre-Requisite:
    Copy the inbound Syncronous Interface to Sync_interface_abstract by changing the direction in the message interface of Interface object in the Integration Repository.
    A.Properties
    Mode:Synchronous
    Request:Message 1
    Response:Message 2
    Syncronous Interface:Sync_interface_abstract
    Recievers From :Send Context
    B.Container Data:
    Message 2 should be declared as the asynchronous message interface with Response message type in inbound interface(Rec Syst Interface).
    3.Async send
    A.Properties:
    Mode:Asynchronous
    Message:Message 2
    Acknowledgment:None
    Recievers From :Send Context
    Integration directory has to be configured to send data forth and back to BPM.
    1.Send MESSAGE From Outbound interface to BPM.
    OutBound and Abstract Interface needs to be mapped in the interface determination and Abstract interface has to be binded to Business Process Name in the repository.
    Outbound->Your OutBound Interface(File Interface)
    Abstract->Message 1
    Reciever Service-> Your Business Process Name
    2.Send MESSAGE From  BPM to Inbound interface.
    Abstract and Inbound interface needs to be mapped in the interface determination and Abstract Interface has to be binded to the Receiver Service/Business System.
    Abstract->Message 1
    Inbound->Your Inbound Interface(RFC)
    Reciever Service-> RFC SYSTEM(SAP)
    These are the general steps to follow for Async/sync pattern.
    Please let me know if all the steps are configured.

  • What is RFC and IDOC Adapters in XI  ?

    Hi,
    What is the RFC and IDOC Adapters in XI , in which scenarios we use this adapter , what is the advantages and disadvantages of RFC , IDOC ? can any help me out.
    Thanks & Regards
    Surendra M

    Surendra,
    <b>What is the RFC and IDOC Adapters in XI</b> :
    <b>IDOC:</b> Generaly standard IDOCs are used to update the data in R/3 or to extarct the data from R/3.
    <b>RFC:</b> Are generally used for synchronoue scenarios.
    <b>in which scenarios we use this adapter</b>
    For example you can use the IDOC <b>ORDERS05</b> to post the sales orders.
    Similarly you can use <b>BAPI_COMPANY_GETDETAILS</b> to fetch the company details.
    <b>what is the advantages and disadvantages of RFC , IDOC ?</b>
    <b>Advantages:</b> Both can be used for data retrival and posting. RFC can be used for synchronus purpose but IDOCs are always asynchronous.
    <b>Disadvangages:</b> If you are using custome made RFC/IDOC then you have to import the RFC/IDOC into XI every time when you make any small changes in the structure.
    Also go through this blog to choose the right adapter to integrate with SAP systems.
    /people/ravikumar.allampallam/blog/2005/08/14/choose-the-right-adapter-to-integrate-with-sap-systems
    Regards,
    Sarvesh

  • Regarding rfc and idoc sender

    hi
       can any one provide me with some scenarios having
    idoc and rfc as senders.

    Hi
    To Configure the RFC to FILE scenario ,Proceed as Follows
    a.       Create an RFC Destination to XI in transaction code  (SM59)
    b.       Create new destination of type T (TCP/IP)
    c.       Make sure you select Registered Server Program option before writing your program ID
    d.       Write you program ID (remember it's case-sensitive)
    e.       In the gateway host and gateway service write the values of your Application system - business system (not the XI server)
                 Step2:Repository
    1)       From the Integration Builder page, select “Integration Repository”. This will launch the Java Web Start Application. Log with the User id and password from the  Integration Server
    2)       Choose Tools->Transfer from System Landscape Directory->Import Software Component Versions
             From the list of Software Component Versions, Choose your own software component version .Click Import.
    3)       On the left hand side frame ,software components will appear .Select your own software component. Open your own software component. Double click on this  software component. A screen will appear .Switch to display mode. After doing this first add  a namespace under Namespaces.
             The namespace is ur:rfctofile
    4)       Then choose the Radio Button ->Import of RFC AND IDOC interfaces from SAP systems permitted
             After this specify the connection parameters to the R/3 system:
    4.1)     System IS  :sapfox
    4.2)     Client IS :800
             Then Save it. The new namespace will be visible under software component version node in the left frame.
             Under the namespace node,  you will find the section Imported Objects. Right click on it and choose Import of sap objects. A wizard will display. In the wizard provide the following details.
    4.3)     Application server:172.25.5.7
    4.4)     System number: 00
    4.5)     User name:developer
    4.6)     Password: Password of Sap R/3 system.
             Then click continue .You will find IDOC and RFC node. Click on this node and select the   Idoc or Rfc which is to be imported from R/3. Click Finish to start the Import. Close the wizard. After doing this the   Rfc and  Idoc will be available into XI as Message types. So no need to create any Rfc or Idoc Structure. We need to create a structure for file only.
    5).      Under your namespace in the left frame, expand the node “Interface objects”. You will find a node “DATA TYPES”
    6)        Create new data types.
    6.1)      Right click on “Data types” and select “New”.
               Your  Data Type is. dt_file
              In the data type Editor ,Create a structure having Elements of type String  ,  integer,  Boolean , Float etc as per the requirement.
              Save the object.
    6.2)      The Import function for XSD  files enables you to upload message definitions from external sources. The object type “External Definition” is a container to make external definitions available in the Integration Repository.. While Importing the XSD files from “External Definition
              no need to create Data types. They are imported directly as Message types.
    6.3)      To do so, In the left hand frame  Under  ” Interface objects” Create a new object of type “External Definition” and give name to it.
              Select the following.
    6.3.1)    Category: XSD.
    6.3.2)    Messages: From All Available Global Elements.
    6.3.3)    File:
              Once the XSD is imported, click on “Message” tab , You should be able to see 2 messages(Request and Response)
    7).      Create a new Message  Type.
    7.1)     In the left hand frame under “Interface objects”, right click on the “Message types” and select new.
    7.2)     Give a suitable name to the Message type.(MT_ messagetype).
    7.3)     For the section “Data type used” you can go to input help (F4) or Search help provided and choose your data type (DT_datatype) from there.
             Save it.
    8).     Create a Message interface
    8.1)    In the left hand frame under “Interface objects”, right click on the “Message Interface” and select new and name(MI_ messageinterface) it
    8.2).   The interface Should be  Inbound  and mode should be Asynchronous  .It should reference your Message type(Use F4 or Search help).
            Save it.
    9) .    Create a graphical mapping  between the target document and the sender .
    9.1)    In the left hand frame ,expand “Mapping objects”. Right click on “Message mapping” and name it.You are now in a graphical editor.The Source message is on left, the Target message is on right.
    9.2)    As Source message select  your own  Message type.You can choose “Search  for Integration Object”.As a reminder you can find your Idoc or Rfc under Software Component-  >     Namespace->Imported Objects.
    9.3)    As Target Message you can choose your  Rfc .Choose “Search  for Integration Object”.
    9.4)    Now that we have defined the  Source and Target message, we can start defining the Mapping rules.
    9.5)    Map the fields of  Source document  to the equivalent fields in  Target document .This can be achieved easily by locating the field in Target document and then Drag and Drop the   Source fields to the respective Target Fields.
            Save It.
    9.6)    You can also Test your Mapping by selecting the 'Test Tab'.
    9.7)    Fill in the values in the Idoc fields and click 'Start Transformation'. On the right hand side you will see Target Document populated with the appropriate Values.
    10).     Create an Interface Mapping.
    10.1)   In the left hand Frame  expand “Mapping objects”. Right Click on “Interface Mapping” and  Name it. You are in a Interface Mapping Editor .Assign the following References.
    10.2)   Source interface : Your Outbound Interface (The Source document(Rfc) interface).You can Choose” Search  for Integration Object”.
    10.3)   Target interface:    Your Inbound Interface( The Target document interface).
            Then Select  'Read Interface' and Assign your  'Mapping Program' .
            Mapping Program: Your Message mapping.
            Then Save it.
    11.)    Finally , in the left hand frame ,go to your change list and Activate it
               STEP 3: Directory
    1)      From the Integration Builder page, select “Integration Directory”. This will launch the Java Web Start Application. Log with the User id and password from the  Integration Server.
            Create a Scenario Object
    2).     The First Step is to create a Scenario Object
            This will serve as container for all your configuration work. Create and save a scenario object
    3)      In the left hand frame you can see the created scenario object. Under that Object Expand the node “Service without Party” and right –click on “Business System”->Assign Business System
    4)      In the wizard , leave the party name blank and then select  your own Business System. Uncheck the box ”Create Communication Channel Automatically”.This service (business system) represents the legacy system and Sap R/3 which will be exchanging the data.
    5) .    Create a Communication Channel.
    6).     Expand your service and right click on “Communication Channel”. Name your Communication Channel
            Here we need to configure the adapter.
        Since the Sender is 'RFC', Specify the following Parameters
             For the adapter type , use the F4 help  and select RFC.
             Specify “Sender” since the adapter will be  sending messages to XI
             Specify the following parameters.
             Transport Protocol: RFC
             Message Protocol:   RFC(RFC XML )
             Adapter Engine: Integration Server
             Adapter status: Active
             RFC Server Parameter:
             Application Server(Gateway):172.25.5.7
             Application Server Service(Gateway Service): sapgw00
             Program Id: Id of Registered server program ( it is case sensititve)
             And the adapter is configured. Save it
              Since the Receiver  is File , Specify the following Parameters
    6.1       For the adapter type , use the F4 help  and select FILE.
    6.2       Specify “Receiver” since the adapter will be  sending XML files from XI to the  FTP server.
    6.3       Specify the following parameters.
              Transport Protocol: File Transport Protocol.(FTP)
              Message Protocol: File Content Conversion(since the xml files produce by XI need to be converted to text files)
              Adapter Engine: Integration Server
              For the File system access Parameters, enter the following
              Source Directory:Test
              File Name: Input.txt
    6.4       For the FTP Connection Parameters, Specify the Following
              Server:172.25.5.240
              Port: 21(by default)
              Data Connection: Passive
              Connection security: None
              Connection Mode:  Permanently
              Transfer Mode: Binary
    6.5       For Processing Parameters, Specify the following
              File construction mode: Add Time Stamp
              File Type: Binary
    6.6       For Content Conversion Parameters, Specify the Following
              RecordSet Structure:
              Adapter Status: Active
              The receiver file adapter is now configured. Save your Communication Channel.
               Create an Receiver Determination.
    7).       From the left frame Create a new “Receiver Determination” object. This is the main part of routing process, where you assign a receiver for your message.
    7.1)      Select your sender service and interface.
              Sender:
              Party:  blank
              Service:  Sender service(Business system)
              Interface : Sender interface
    7.2)      In the “Configured Receivers” area ,  choose the Service for the Target System.. Save your Receiver Determination
                Create an Interface Determination.
    7.3)       Next create an “Interface Determination” object. Now that we have defined a receiver of message  ,we need to assign an Inbound interface and an Interface mapping
    7.3.1)     In the Receiver Determination   you just created, have a look at the area “Configuration Overview for Receiver Determination”   at bottom of your screen and press Refresh  for that the Business system you assigned is displayed  in that area as well.
    7.3.2)     In the column “Receiver(Partner/Service)” open the details by clicking the node .The Entry “Not defined” shows you that there is no interface determination present.
               Right click on the Entry “Not defined” and select “ New specific”,  in order to create a new interface determination object
    7.3.3)     You are now in  the screen “Edit Interface Determination”. In the section “Configured Inbound Interfaces” select the Inbound Interface using F4 help Provided. You might need to choose ALL button for the interface to be shown.
               After choosing the Inbound Interface,  It is shown in the Interface Determination
    7.3.4)     A mapping has to be specified .Use the F4 help next to Inbound Interface to select your Interface Mapping.
    7.3.5)     When you are done ,  Save the Interface determination object.
    8.)         Create a Sender Agreement.
               In the left hand frame , right click on “Sender Agreement” ->New
    8.1)       Specify the following:
               Party: blank
               Service: Select your own Business system
               Interface: Outbound Interface
    8.2)       In the screen “Edit Service Agreement” use F4 help for the Sender Communication channel field .Select your Communication channel .Save and close
    9.)         Create a Receiver Agreement.
               Finally you will create a  'Receiver Agreement' .This will allow you to assign a Receiver Communication Channel to the receiver service/Interface you have chosen.
    9.1)       Go back to the main screen for your receiver determination. In the area “Configuration Overview for Receiver Determination” at the bottom of your screen click Refresh.
    9.2)       In the Column “Receiver Agreement(Communication Channel) “ right click and select “New Specific”.
               Specify the following:
               Party: blank
               Service: Select your own Business system
               Interface: Inbound Interface
    9.3)       In the screen ”Edit Receiver Agreement” for the field Receiver Communication Channel use  the input help F4 and select your communication channel. Save and Close it
               Your Configuration is complete. Activate the objects.
    To Configure the IDOC TO FILE SCENARIO,PROCEED AS FOLLOWS
    STEP 1:ALE SETTINGS TO POST IDOC OUT OF SAP R/3
    We need to do the following settings in XI
    1)   Create an RFC Destination to the Sending System in transaction code (SM59)
    a)   Choose create
    b)   Specify the name of the RFC destination
    c)   Select connection type as 3 and save
    d)   In the technical settings tab enter the details SAP SID/URL and system number#
    e)   Enter the Gateway host as same details above SID/URL
    f)   Gateway service is 3300+system number#
    g)   In the Logon /Security tab, enter the client user & Password details of Destination system
    h) Test the connection and remote logon.Both should be succesful
    2) Create Port Using Transaction Code  IDX1
    a)   Select create new button
    b)   Enter the port name as SAP+SID (The starting char should be SAP)
    c)   Enter the destination client
    d)   Enter the RFC Destination created in SAP R/3 towards other system
    e)   Save
    3) Load Meta Data for IDOC Using transaction Using Transaction (IDX2)
    a)  Create new
    b)  IDOC Message Type
    c)  Enter port created in IDX1
                        SETTINGS IN SAP R/3
         We need to do the following settings in R/3
         Logon to Sap R/3 System
    1)   Create an RFC Destination to XI in transaction code  (SM59)
    a)   Choose create
    b)   Specify the name of the RFC destination
    c)   Select connection type as 3 and save
    d)   In the technical settings tab enter the details SAP SID/URL and system number#
    e)   Enter the Gateway host as same details above SID/URL
    f)   Gateway service is 3300+system number#
    g)   In the Logon /Security tab, enter the client user & Password details of Destination system
    h)   Test the connection and remote logon.Both must be succesful
    2)   Create communication Port for Idoc processing Using Transaction(We21)
    a)   First Select Transactional RFC and then click create button
    b)   Enter the destination port name as SAP+SID (The starting char should be SAP)
    d)   Enter the RFC Destination created in SAP R/3 towards other system.
    e)   Save
    3)   Create Partner Profile with Outbound Parameters (WE20)
    a)   Create New
    b)   Create the Partner no. name as same the logical system name of the destination system
    c)   Select Partner type LS
    d)   Enter details for Type: US/USER, Agent, and Lang
         Then Save
    e)   Select Partner no. and LS which were create above
    f)   Now we have to give some Outbound Parameters.So click on ADD TO Create Outbound Parameter
    g)   Select Message type
    h)   Double click on Message Type and Then Enter the details  for Receiving port, Pack size=1 and Basic type
    I)   save
    4)   In Transaction SALE, Create Logical System
    a).  Go to Basic Settings-> First Define logical systems
         and then assign logical systems
    b)   Double click on Define the logical systems
    c)   Give data for your Logicaal System and Name
    d)   Now click on Save.Here one window may appear just click on Continue.Now the Logical System name is ready
    e)   Assign the logical system name to the client
    5)   Create Customer Distribution model in the transaction code BD64
    1)   Click on the Create modal View button and enter the short text, Technical name etc as shown below
    2)   Now select the created model view and click on Add message type button .A pop up box appears, enter Sending system, receiving system and message type
    3)   Save the Distribution model
        Generate Partner Profiles
    Click on Menu Item ‘Generate Partner Profiles’
        It leads to the next transaction where in the selection screen you have to provide Model view name, Partner System logical system and execute
        Then, you will be intimated about the partners, port creation, and outbound parameters creation
    4)   Distribute Customer Distribution Model
        In the menu item  GO to Edit->Modal View-> ‘Distribute’ to the destination client
        Popup window appears ,press Enter
    You will be intimated about the the Modal View Distributed
                 Step2:Repository
    1)       From the Integration Builder page, select “Integration Repository”. This will launch the Java Web Start Application. Log with the User id and password from the  Integration Server
    2)       Choose Tools->Transfer from System Landscape Directory->Import Software Component Versions
             From the list of Software Component Versions, Choose your own software component version .Click Import.
    3)       On the left hand side frame ,software components will appear .Select your own software component. Open your own software component. Double click on this  software component. A screen will appear .Switch to display mode. After doing this first add  a namespace under Namespaces.
             Your NameSpace is  urn:idoctofile
    4)       Then choose the Radio Button ->Import of RFC AND IDOC interfaces from SAP systems permitted
             After this specify the connection parameters to the R/3 system:
    4.1)     System  :sapfox
    4.2)     Client  :800
             Then Save it. The new namespace will be visible under software component version node in the left frame.
             Under the namespace node,  you will find the section Imported Objects. Right click on it and choose Import of sap objects. A wizard will display. In the wizard provide the following details.
    4.3)     Application server:172.25.5.7
    4.4)     System number:00
    4.5)     User name: developer
    4.6)     Password: Password of Sap R/3 system.
             Then click continue .You will find IDOC node. Click on this node and select the   Idoc  which is to be imported from R/3. Click Finish to start the Import. Close the wizard. After doing this the    Idoc will be available into XI as Message types. So no need to create any  Idoc Structure. We need to create a structure for file only.
    5).      Under your namespace in the left frame, expand the node “Interface objects”. You will find a node “DATA TYPES”
    6)        Create new data types.
    6.1)      Right click on “Data types” and select “New”.
               Your Data Type is :dt_file
              In the data type Editor ,Create a structure having Elements of type String  ,  integer,  Boolean , Float etc as per the requirement.
              Save the object.
    6.2)      The Import function for XSD  files enables you to upload message definitions from external sources. The object type “External Definition” is a container to make external definitions available in the Integration Repository.. While Importing the XSD files from “External Definition
              no need to create Data types. They are imported directly as Message types.
    6.3)      To do so, In the left hand frame  Under  ” Interface objects” Create a new object of type “External Definition” and give name to it.
              Select the following.
    6.3.1)    Category: XSD.
    6.3.2)    Messages: From All Available Global Elements.
    6.3.3)    File:
              Once the XSD is imported, click on “Message” tab , You should be able to see 2 messages(Request and Response)
    7).      Create a new Message  Type.
    7.1)     In the left hand frame under “Interface objects”, right click on the “Message types” and select new.
    7.2)     Give a suitable name to the Message type.(MT_ messagetype).
    7.3)     For the section “Data type used” you can go to input help (F4) or Search help provided and choose your data type (DT_datatype) from there.
             Save it.
    8).     Create a Message interface
    8.1)    In the left hand frame under “Interface objects”, right click on the “Message Interface” and select new and name(MI_ messageinterface) it
    8.2).   The interface Should be  Inbound  and mode should be Asynchronous  .It should reference your Message type(Use F4 or Search help).
            Save it.
    9) .    Create a graphical mapping  between the target document and the sender .
    9.1)    In the left hand frame ,expand “Mapping objects”. Right click on “Message mapping” and name it.You are now in a graphical editor.The Source message is on left, the Target message is on right.
    9.2)    As Source message select  your own Idoc .You can choose “Search  for Integration Object”.As a reminder you can find your Idoc or Rfc under Software Component-  >     Namespace->Imported Objects.
    9.3)    As Target Message you can choose your Message type  .Choose “Search  for Integration Object”.
    9.4)    Now that we have defined the  Source and Target message, we can start defining the Mapping rules.
    9.5)    Map the fields of  Source document  to the equivalent fields in  Target document .This can be achieved easily by locating the field in Target document and then Drag and Drop the   Source fields to the respective Target Fields.
            Save It.
    9.6)    You can also Test your Mapping by selecting the 'Test Tab'.
    9.7)    Fill in the values in the Idoc fields and click 'Start Transformation'. On the right hand side you will see Target Document populated with the appropriate Values.
    10).     Create an Interface Mapping.
    10.1)   In the left hand Frame  expand “Mapping objects”. Right Click on “Interface Mapping” and  Name it. You are in a Interface Mapping Editor .Assign the following References.
    10.2)   Source interface : Your Outbound Interface (The Source document(Idoc) interface).You can Choose” Search  for Integration Object”.
    10.3)   Target interface:    Your Inbound Interface( The Target document interface).
            Then Select  'Read Interface' and Assign your  'Mapping Program' .
            Mapping Program: Your Message mapping.
            Then Save it.
    11.)    Finally , in the left hand frame ,go to your change list and Activate it
               STEP 3: Directory
    1)      From the Integration Builder page, select “Integration Directory”. This will launch the Java Web Start Application. Log with the User id and password from the  Integration Server.
            Create a Scenario Object
    2).     The First Step is to create a Scenario Object
            This will serve as container for all your configuration work. Create and save a scenario object
    3)      In the left hand frame you can see the created scenario object. Under that Object Expand the node “Service without Party” and right –click on “Business System”->Assign Business System
    4)      In the wizard , leave the party name blank and then select  your own Business System. Uncheck the box ”Create Communication Channel Automatically”.This service (business system) represents the legacy system and Sap R/3 which will be exchanging the data.
    5) .    Create a Communication Channel.
    6).     Expand your service and right click on “Communication Channel”. Name your Communication Channel
            Here we need to configure the adapter.
         Since The Sender is IDOC , then there is no need of Sender communication channel and Sender Agreement.
              For the Receiver, Specify the following Parameters
    6.1       For the adapter type , use the F4 help  and select FILE.
    6.2       Specify “Receiver” since the adapter will be  sending XML files from XI to the  FTP server.
    6.3       Specify the following parameters.
              Transport Protocol: File Transport Protocol.(FTP)
              Message Protocol: File Content Conversion(since the xml file produce by XI need to be converted to text file)
              Adapter Engine: Integration Server
              For the File system access Parameters, enter the following
              Source Directory:Test
              File Name: Input.txt
    6.4       For the FTP Connection Parameters, Specify the Following
              Server: 172.25.5.240
              Port: 21(by default)
              Data Connection: Passive
              Connection security: None
              Connection Mode:  Permanently
              Transfer Mode: Binary
    6.5       For Processing Parameters, Specify the following
              File construction mode: Add Time Stamp
              File Type: Binary
    6.6       For Content Conversion Parameters, Specify the Following
              RecordSet Structure:
              Adapter Status: Active
              The receiver file adapter is now configured. Save your Communication Channel.
               Create an Receiver Determination.
    7).       From the left frame Create a new “Receiver Determination” object. This is the main part of routing process, where you assign a receiver for your message.
    7.1)      Select your sender service and interface.
              Sender:
              Party:  blank
              Service:  Sender service(Business system)
              Interface : Sender interface
    7.2)      In the “Configured Receivers” area ,  choose the Service for the Target System.. Save your Receiver Determination
                Create an Interface Determination.
    7.3)       Next create an “Interface Determination” object. Now that we have defined a receiver of message  ,we need to assign an Inbound interface and an Interface mapping
    7.3.1)     In the Receiver Determination   you just created, have a look at the area “Configuration Overview for Receiver Determination”   at bottom of your screen and press Refresh  for that the Business system you assigned is displayed  in that area as well.
    7.3.2)     In the column “Receiver(Partner/Service)” open the details by clicking the node .The Entry “Not defined” shows you that there is no interface determination present.
               Right click on the Entry “Not defined” and select “ New specific”,  in order to create a new interface determination object
    7.3.3)     You are now in  the screen “Edit Interface Determination”. In the section “Configured Inbound Interfaces” select the Inbound Interface using F4 help Provided. You might need to choose ALL button for the interface to be shown.
               After choosing the Inbound Interface,  It is shown in the Interface Determination
    7.3.4)     A mapping has to be specified .Use the F4 help next to Inbound Interface to select your Interface Mapping.
    7.3.5)     When you are done ,  Save the Interface determination object.
    8.)         Create a Sender Agreement.
               In the left hand frame , right click on “Sender Agreement” ->New
    8.1)       Specify the following:
               Party: blank
               Service: Select your own Business system
               Interface: Outbound Interface
    8.2)       In the screen “Edit Service Agreement” use F4 help for the Sender Communication channel field .Select your Communication channel .Save and close
    9.)         Create a Receiver Agreement.
               Finally you will create a  'Receiver Agreement' .This will allow you to assign a Receiver Communication Channel to the receiver service/Interface you have chosen.
    9.1)       Go back to the main screen for your receiver determination. In the area “Configuration Overview for Receiver Determination” at the bottom of your screen click Refresh.
    9.2)       In the Column “Receiver Agreement(Communication Channel) “ right click and select “New Specific”.
               Specify the following:
               Party: blank
               Service: Select your own Business system
               Interface: Inbound Interface
    9.3)       In the screen ”Edit Receiver Agreement” for the field Receiver Communication Channel use  the input help F4 and select your communication channel. Save and Close it
               Your Configuration is complete. Activate the objects.
    plz rewards points
    vikas

  • What is the difference between rfc and idoc

    hi,
       My name is rambabu.can anyone of u please tell me the main differences between idoc and rfc??
    Thanks in Advance

    hi Ramesh,
    Remote Function Calls (RFC) and data exchange through IDoc
    message documents. RFC makes direct and synchronous calls of a program in
    the remote system. If the caller is an external program it will call an
    RFC-enabled function in R/3 and if the calling program is the R/3 system
    it will call an RFC-function in another R/3-system or it will call a
    non-R/3 program through a gateway-proxy (usually rfcexec.exe). BAPIs are
    a subset of the RFC-enabled function modules, especially designed as
    Application Programming Interface (API) to the SAP business object, or in
    other words: are function modules officially released by SAP to be called
    from external programs.
    IDocs are text encoded documents with a rigid structure that are used to
    exchange data between R/3 and a foreign system. Instead of calling a
    program in the destination system directly, the data is first packed into
    an IDoc and then sent to the receiving system, where it is analyzed and
    properly processed. Therefore an IDoc data exchange is always an
    asynchronous process. The significant difference between simple RFC-calls
    and IDoc data exchange is the fact, that every action performed on IDocs
    are protocolled by R/3 and IDocs can be reprocessed if an error occurred
    in one of the message steps.
    While IDocs have to be understood as a data exchange protocol, EDI and ALE
    are typical use cases for IDocs. R/3 uses IDocs for both EDI and ALE to
    deliver data to the receiving system. ALE is basically the scheduling
    mechanism that defines when and between which partners and what kind of
    data will be exchanged on a regular or event triggered basis. Such a
    set-up is called an ALE-scenario.
    Regards
    Sreeram.G.Reddy

Maybe you are looking for

  • Printing problem in CR 9.2 on Vista

    Post Author: arullp CA Forum: Crystal Reports Hi,I have a problem with VB6 application using Crystal Report 9.2 ActiveXViewers and RDC deployed on Vista. The reports are displayed correctly on the ActivexViewer (CRViewer9), but when the user prints t

  • Graph flicker on one PC, but not another

    I am running LabVIEW 7.1. I am using the basic state machine architecture, with an Idle state that updates a graph on the front panel. This approach has worked fine for months, but on one particular PC the graph flickers while it is updated in the Id

  • Save Idoc to file

    Hi, are there any ways to save a Idoc to a file in a simple way? Thanks

  • Built-in LDAP Authentication Problem

    Hi All, I have used Built-in LDAP Authentication Method for my application authentication which works fine,but i need to have an database authentication as well in combination to LDAP one. I tried putting a database authentication function (Returning

  • My browser was Google and now it is Yahoo. I don't want yahoo. How do I change it back?

    When I put an address in the bar above I get a Yahoo window and I don't want a Yahoo window. I want Google.