cancel
Showing results for 
Search instead for 
Did you mean: 

Message split for file to proxy scenario

KarthikBangeraM
Active Participant
0 Kudos

Hi Experts,

We have a scenario in out project to be developed in PI7.11-

File to Proxy

The incoming file from Workday (xml and not flat file) will have expense details of each employee. The requirement is to split the xml file into separate messages, one for each employee and then perform the mapping and sending it across via a proxy to SAP.

Now, since we don't have an involvement of Adapter engine at the receiver end being proxy, is it possible to split the messages without using BPM.

Looking forward for some suggestions on the approach which can be followed for achieving this requirement?

Regards,

Karthik

Accepted Solutions (1)

Accepted Solutions (1)

former_member182412
Active Contributor
0 Kudos

Hi Karthik,

Yes if you dont have the option of XI 3.0 message protocol in SOAP adapter then it is not possible to use message split for XI adapter.

Why dont you send the entire payload to proxy and in the proxy why dont you update one by one?

Regards,

Praveen.

KarthikBangeraM
Active Participant
0 Kudos

Hi Praveen,

Thanks for your suggestion, I'll check with my ABAP team if they are ok with handling large number of employees as in case if there are any errors for a single employee, as pointed out by Eng, all the employees would have to be re-sent.

Regards,

Karthik

former_member182412
Active Contributor
0 Kudos

Hi Karthi,

What is your PI version and SP level and Patch level??

Regards,

Praveen.

Answers (2)

Answers (2)

JaySchwendemann
Active Contributor
0 Kudos

Why won't you have an Adapter Engine involved?

See here for multi mapping on PI 7.1 http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/90dcc6f4-0829-2d10-b0b2-c892473f1...

Does this help? Maybe I missed some point, though 🙂

Cheers

Jens

former_member182412
Active Contributor
0 Kudos

Hi Jens,

Message split happens at adapter engine level and the XI adapter does not reside on adapter engine and his current PI version is not supporting soap adapter with XI 3.0 to be able to connect to ABAP proxy via SOAP adapter instead of XI adapter.

Check this blog restrictions section.


  • Messages that result from the split in a mapping-based message split are sent using one AE. So only adapters running on the AE are supported. In particular, this means that target IDOC message splits are not supported since the IDOC adapter is not part of the AE.

Regards,

Praveen.

JaySchwendemann
Active Contributor
0 Kudos

Great, you live and learn . Thanks for pointing this out.

Cheers

Jens

manoj_khavatkopp
Active Contributor
0 Kudos

Hi Praveen,

thanks for the point was not aware of this however the link explains that :

A mapping-based message split will ultimately produce n individual messages, but not until it reaches the Adapter Engine (AE). 

but i can see in the screenshot in the link that under the request message mapping (which is executed in IE) has n number of payloads still the next pipeline step is not executed i.e before calling the receiver adapter (AE). doesn't this mean in IE only we have n number of payloads .

Can you please throw some light on this.

Br,

Manoj

engswee
Active Contributor
0 Kudos

Hi all

I no longer have access to a 7.11 system to fully verify but here are my two cents anyway.

1. Message splitting on AE

As far as I can remember, the restriction on message splitting on the Adapter Engine was on XI 3.0 and PI 7.0. ABAP based adapters like IDoc and XI cannot accept messages split using the multi-mapping technique, which then necessitated workarounds such as editing the IDocs XSD to unbounded.

From PI 7.11 onwards, this restriction is no longer valid, I'm very sure of this at least for the IDoc adapter. We no longer need the workaround, and just by changing occurrence to unbounded for a target IDoc in MM/OM would suffice. I can't remember if this restriction was lifted for the ABAP-based XI adapter as well.

Note: I'm not sure where PI 7.1 is with regards to this.

2. XI 3.0 on SOAP adapter

This is available as of PI 7.11. Refer section 2.3 of the following document. This was to allow for ICO-based scenarios (which was introduced in 7.11) for proxy interfaces.

So my suggestion for this is:-

i) Go for message based mapping split (multi-mapping) with receiver XI adapter first

ii) If XI adapter does not work, change to SOAP adapter with XI 3.0

In general, I think it's preferable to perform the split for each employee, rather than sending the whole bunch into the proxy. This allows for easier error handling - if any employee processing fails in the proxy, only that particular message will fail. If the whole bunch is sent, if you want to reprocess a failed message, you need to implement logic to determine which employee processed successfully or not, before reprocessing it.

Regards

Eng Swee

Message was edited by: Eng Swee Yeoh

former_member182412
Active Contributor
0 Kudos

Hi Manoj,

Yes we can see n number payloads in IE itself but they are not separate messages( they dont have separate message ID's in IE) they all are part of one message which is called bulk message, From this bulk message adapter engine split them into multiple messages (each message got its own message ID's in adapter engine), example screen shot below.

Regards,

Praveen.

KarthikBangeraM
Active Participant
0 Kudos

Hi Eng,

Thanks for your suggestions as always. I'll be trying out the 2nd option of XI 3.0 on soap adapter and see if it works

Regards,

Karthik

former_member182004
Contributor
0 Kudos

Hi Karthik,

Have you tried reading the whole XML file and split it with a previous Message Mapping?

Do you have to send each meassge in a separate ABAP Proxy call?

Regards,

  Juan.