cancel
Showing results for 
Search instead for 
Did you mean: 

Problem in Idoc to File Scenario.

Former Member
0 Kudos

I am trying to send a Idoc from my backend R/3 system to XI which converts the idoc to a xml file and sends it to a file system.I am able to send the idoc and i am able to see the file in XI in monitor,but with a redflag,when i double clicked the message i see a red flag in Reciever Identification. I am pasting a part of the error message

<SAP:AdditionalText>if_http_client receive http_communication_failure</SAP:AdditionalText>

<SAP:ApplicationFaultMessage namespace="" />

<SAP:Stack>An error occurred when refreshing the XI runtime cache</SAP:Stack>

<SAP:Retry>M</SAP:Retry>

</SAP:Error>

Could someone tell me if there are any check points to check in my configurator or is there anyway i can trace thru my whole process to know where exactly is the process failing?

Thank you

Venkat

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

Make sure that all your objects in the IR and ID are activated in the change lists.

Regards,

Smitha.

Former Member
0 Kudos

Smitha-

That really helped,but i am getting an another type of error now. The error states.

<SAP:Code area="RCVR_DETERMINATION">NO_RECEIVER_CASE_ASYNC</SAP:Code>

<SAP:P1 />

<SAP:P2 />

<SAP:P3 />

<SAP:P4 />

<SAP:AdditionalText />

<SAP:ApplicationFaultMessage namespace="" />

<SAP:Stack>No receiver could be determined</SAP:Stack>

<SAP:Retry>M</SAP:Retry>

</SAP:Error>

Should have some conditions in my receiver determination?

And is there anyway i can trace thru my whole process to know where exactly is the process failing?

Thank you

Venkat

Former Member
0 Kudos

Hi,

Good to know it helped!

The second error, looks like something to do with your receiver determination.

Make sure that you have specified the correct sender service and the interface.

If you are using a BPM in your scenario, your sender will be this BPM service else it would be your SAP system. Your receiver service must be the file service.

Regards,

Smitha.

Answers (2)

Answers (2)

former_member91687
Active Contributor
0 Kudos

Hi Venkat,

The error says that no receiver could be determined, check in your receiver determination, if you have specified the right receiver with the right interface. The receiver would be your business system, and the interface would be the corresponding inbound interface and in the interface determination check if you have specified the right inbound interface.

There are quite a few checkpointa so as to trace your scenario. Lets say you have triggered the idoc using <b>WE19</b> succesfully, go to <b>SM58</b> to see if the idoc has been forwardes to the RFC port and has been sent successfully, if it has been sent succesfully you would not see an entry here(Transactional RFC), Next go to <b>SXMB_MONI</b>->monitor processes xml messsages-> look for your message here, select display there to see the pipleline steps of your message, you can double click to see the log, now go to transaction <b>WE05</b>, you can see the inbound/outbound data being passed here, and also any errors if any, if its an idoc to file scenario, go to your file system and check the direcory specified in the receiver comm channel if the file has been created. This way you can trace your entire scenario.

Regards,

Chandra

Former Member
0 Kudos

I deleted my whole scenario and this is what i have done.

I have a scenario where my R/3 system sends a IDoc and iam storing a xml file to the file system using file adapter on XI box itself(i will try ftp'ing later).

So i have my backend R/3(name R3E) system in SLD and i have created a dummy business system(name FileBS) just to reference the file system(i.e my XI box,but its has no technical details). In Integration repository i have imported the Idoc into imported objects and for the outbound XML file i have created a datatype,referenced it in message type and then referenced the message type in messageInterface(name of the interface is MyXmlOutFile).Then i have created another message interface with name myInboundOrdersXML,i have referenced the Idoc i imported,then i had a XML structured format of the Idoc(Do i need to do this?). Then i have created the map with source as myInboundOrderXML and target as MyXmlOutFile and mapped just two target fields. I saved my work and activated the change list.

Then in Configurator i have created a configuration scenario,i have two business systems in it,i.e. R3E(my backend r3) and FileBS(my dummy business system).Then for my FileBS business system i have created a communication channel with a file adapter.

Then while creating the <b>Receiver agreement</b>

Sender

1. I did not select any party

2. I selected my R3E business system.(my backend R/3)

Receiver

1. Did not select any Party

2. I selected FileBS business system.(My Dummy filesystem)

3. Then in interface i selected "MyXmlOutFile" , actually in the popup window i got after clicking the question mark there were no interfaces for my FileBS business system,then i select the radio button all on the top and i was able to select from my name space i created in Integration Repository.

And then i have attached the File Communication channel i have created.

In Interface Determination

Sender

1.No Party

2.In service i have selected my backend R3 which is R3E

3.And i have selected the interface myInboundOrderXML(Should i select the Imported IDOC directly?)

Receiver

1.No party

2.In Service i have selected my dummy BS i.e. FileBS

after saying create i had the window on the right which is asking me for inbound interface and inbound mapping.

    1. Here i have given myInboundOrdersXML(or should i select the Idoc directly which i have imported?) and i am unable to select any mapping program,,,

Can you tell me where i went wrong?

bhavesh_kantilal
Active Contributor
0 Kudos

Hi Venkat,

For excellent tutors for a idoc to file scenario drop me a file. It will answer all your questions

Regards,

bhavesh

Former Member
0 Kudos

Hi,

You are doing an idoc to file senario.

The r/3 system, is outbound and the file system is inbound.

1. When you created the interfaces, make sure that you specified the interface <i>myInboundOrderXML</i> as outbound asynchronous and the interface <i>MyXmlOutFile</i> as inbound asynchronous.

2. <i>Then i have created another message interface with name myInboundOrdersXML,i have referenced the Idoc i imported,then i had a XML structured format of the Idoc(Do i need to do this?)</i>

Yes! you need to do this. This is one of the ways to create a MInterface for the idoc.

3.<i> Then i have created the map with source as myInboundOrderXML and target as MyXmlOutFile and mapped just two target fields</i>

There might be siome fields in the idoc that might have to be mapped compulsorily.

After you have done the mapping, in the same editor, click on the <i>test</i>tab, and check if the mapping is successful.

4. <i>Then in Configurator i have created a configuration scenario,i have two business systems in it,i.e. R3E(my backend r3) and FileBS(my dummy business system).Then for my FileBS business system i have created a communication channel with a file adapter.</i>

ok. For your FileBS, you will have to create a communication channel with a receiver file adapter.

5. Next do the receiver determination(not receiver agreement)

<i>Sender

I did not select any party

I selected my R3E business system.(my backend R/3)</i>

You have to also specify the sender interface as <b>myInboundOrderXML</b>

<i>Receiver

1. Did not select any Party

2. I selected FileBS business system.(My Dummy filesystem)</i>

In the receiver determination,under configured receivers, specify the receiving service. <i>FileBS</i>

6. <i>Then in interface i selected "MyXmlOutFile" , actually in the popup window i got after clicking the question mark there were no interfaces for my FileBS business system,then i select the radio button all on the top and i was able to select from my name space i created in Integration Repository.</i>

In your interface determination you need to specify the sender service,interface, and the receiver service.

If you have done this, the pop up for the inbound interface will show the corresponding inbound interface. i.e, MyXmlOutFile and the namespace, will occur automatically.

Next select the IMapping.

7. You need to create a receiver agreement after this.

Make sure you activate all the objects after you are done with your configuration.

Hope this helps!!!

Regards,

Smitha

Former Member
0 Kudos

Hi

since u r getting error in receiver identifiaction just check whether u have created a reciever agreement.

and if u double click on ur message in SXMB_MONI u can see the flow of ur message and u can check where the error has occured.

regards

jithesh

Former Member
0 Kudos

Is it a receiver determination error or receiver agreement error?

FYI i do have a receiver agreement and receiver determination. Is it compulsary that i need to have condition for configured receivers in Receiver determination.

Below is the error message i received in the Moni,under

Receiver Grouping/Soap Header/Error

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>

- <!-- Receiver Grouping

-->

- <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">

<SAP:Category>XIServer</SAP:Category>

<SAP:Code area="RCVR_DETERMINATION">NO_RECEIVER_CASE_ASYNC</SAP:Code>

<SAP:P1 />

<SAP:P2 />

<SAP:P3 />

<SAP:P4 />

<SAP:AdditionalText />

<SAP:ApplicationFaultMessage namespace="" />

<SAP:Stack>No receiver could be determined</SAP:Stack>

<SAP:Retry>M</SAP:Retry>

</SAP:Error>

Also can someone tell me what are the chronological steps that happen in XI, i.e. what happens first when a message hits XI? like is the order going to be

Interface determination,reciever Determination,receiver agreement etc.

Thank you

Venkat

Former Member
0 Kudos

Hi,

There is no compulsion tat u need to have a conditional recievers in ur reciever determination.

when the message hits XI it checks for the receiver determintion to see which is the reciever service,then it checks the interface determination to see thro which interface it has sent the message and then the reciever agreement to see which communication chennel it has sent the message.

regrads

jithesh

Former Member
0 Kudos

So don't you think the error i am getting is with the receiver determination? Any ideas why it would have failed.Sorry to ask these questions,but i am very new to XI and this is my first scenario.

Thank you

Venkat

bhavesh_kantilal
Active Contributor
0 Kudos

Hi Venkat,

<i>like is the order going to be

Interface determination,reciever Determination,receiver agreement etc.</i>

the order is <b>RECEIVER DETERMINATION -- INTERFACE DETERMINATION -- INTEFACE MAPPING-- RECEIVER AGREEMENT.</b>

As for your error,I would suggest you check the Receiver Agreement, receiver determination of your file and check that they are correct.

http://help.sap.com/saphelp_nw04/helpdata/en/42/ed364cf8593eebe10000000a1553f7/content.htm

Bhavesh

Former Member
0 Kudos

Hi,

It must be an error in the determination, since moni, tells that specifically.

Are you using a BPM?

XI, first looks for a receiver, hence it is receiver detemination first.

After this the interface determination.

Then the receiver agreement.

Regards,

Smitha.

Former Member
0 Kudos

Hi,

lookin at the error u get jsut chk ur receiver determination whether u have specified the sender and reciever service properly and in ur interface determination jus chk whether u hav specified the required inbound interface .

regards

jithesh