cancel
Showing results for 
Search instead for 
Did you mean: 

File Adapter with Dynamic routing????

Former Member
0 Kudos

Hi

I need to send a csv file and determine the receiver at runtime. Does anybody know if this is possible?

What I would actually need is a field that, after reading the csv file into the payload, I could still use in order to conduct a dynamic receiver determination. Is this in anyway possible, anybody got an idea???

Thanks for your help,

Nana

Accepted Solutions (0)

Answers (4)

Answers (4)

Former Member
0 Kudos

Hi,

XI does not understand anything but xml. So, even if you are sending a csv file and you want the target file to be a csv file, you will have to convert it first into xml and then reconvert it back to csv at the target end.

You will have to use content conversion provided in the reciever and sender file adapters.

After this, you could check the value of a particular field and depending on that, send it to the required destination using <b>receiver determination</b>

Regards,

Smitha.

Former Member
0 Kudos

Ok, I know that I can do a mapping in the receiver destination as well with using dynamic receiver destination, however this is not what I am asking.

I need to read a CSV file and then send it to something (differs between email, webservice and maybe ftp) on the other side. The other side needs to receive an CSV file. Currently the only option I see is to read the CSV-File into xml, make a receiverdetermination based on the content, convert it back to csv and then send it as attachment.

I would prefer to send the csv file as an attachment and circumvent the conversion into xml, however here I see the problem that I have nothing in order to base my receiver determination on.

I know that the file adapter allows to give information on into the XI-message header, does anybody know if I could use this information in order to conduct a mapping?

Former Member
0 Kudos

Hi Nana,

I know it is a long time since your last post to this issue, but do you still remember the solution you found (just in case there was a solution at all)

I have to determine the receiver by the UNSTRUCTURED content of the payload, too.

Regards

Ralph

Message was edited by:

Ralph Nitschke

Former Member
0 Kudos

Nana, You can specify a condition in your receiver determination against each receiver Business System. This condition , you can configure in such a way that it checks a particular field in your payload and then if it is satisfied, then it will be routed to that specific receiver system. Is this what you are looking at ?

Regards

Saravana

Former Member
0 Kudos

Hi,

Refer to this weblog for dynamic receiverd etermination.

/people/venkataramanan.parameswaran/blog/2006/03/17/illustration-of-enhanced-receiver-determination--sp16

/people/shabarish.vijayakumar/blog/2005/08/03/xpath-to-show-the-path-multiple-receivers

Thanks,

Prateek

bhavesh_kantilal
Active Contributor
0 Kudos

Hi Nana,

COnditional Receiver Determination is possible.

While doing your Receiver Determination, you can give mutiple Receivers, and also spoecify condition on which the receivers are to be choosen.

But,the conditional receiver detrmination can be done only on the source message. the reason being that the sequence of steps executed is

receiver determination--> interface determination --> interface mapping.

This implies that as receiver determination occurs before the mapping, conditional receiver determination can be done only on the source. Also, the source fields can be easily accessed using XPATH in the condition field.

Thread

Blog,

/people/shabarish.vijayakumar/blog/2005/08/03/xpath-to-show-the-path-multiple-receivers

Regards,

Bhavesh

Former Member
0 Kudos

Ok, however the problem is that, when sending a csv as attachment, I won't have any structure (XPath-objekt) that I could use for the mapping....

I now about the conditional as well as the dynamic receiver determination. However I need a field in order to check the condition in both ways.

When sending a file as such, I wont have any field, or do I miss something?

bhavesh_kantilal
Active Contributor
0 Kudos

Hi Nana,

Even before the Integration Engine, <b>content conversion would have been performed by the Sender File Adapter.</b> this would ve converted your file into a valid XML structure and this can be used for conditional receiver determination.

or is it that i hacve understood your scenario wrong??

Regards,

Bhavesh

Former Member
0 Kudos

Content conversion is not an option as I need to send the file as an csv.

The process looks as such:

goes in - determines receiver - goes out

CSV-Datei -> dependent on ??? -> CSV Datei

Anybody got an idea???

Former Member
0 Kudos

Nana, To process a CSV file , you have to configure Content conversion in the file adapters,

if not it expects an XML file, by default.

Are you using the "Additional attchments" option to add your CSV file as an attchment to the XI message ?

If so , you may have to write a module processor to open the attachment and get the data required for routing the message.

If not, there are a few technical context objects available by default in the XI message headers ,

i beleieve can be used in routing. see if it helps

http://help.sap.com/saphelp_nw04/helpdata/en/6e/ff0bf75772457b863ef5d99bc92404/content.htm

Regards

Saravana

moorthy
Active Contributor
0 Kudos

Hi Nana,

Just go thru following link-

/people/shabarish.vijayakumar/blog/2006/04/03/xi-in-the-role-of-a-ftp

Hope this helps

Regards,

Moorthy