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: nateeanesI 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
VasuHello 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 sHi 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,
StevenHi 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.
RegardsHi,
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 pleaseIt 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 -
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 MSurendra,
<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 -
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 Advancehi 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
-
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
-
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.