Skip to Content
0

I need to perform message splitting in pi 7.4 0..n ?

Oct 18, 2016 at 10:24 AM

282

avatar image

I've done some reading around this subject and understand that I have to use 0..n message occurences in the dt/mt's for the source message. I understand that I would use two operation mappings but I'm not sure about how it all fits together to split the data depending on the data presented in a given source field. I've been able to duplicate the message in config by Using receiver determination - xpath expression on the 'status field', so if the source field has a N it should go to receiver a and C it should goto receiver B, I however seem to get duplicated messages with no data split, presumably I'm missing some steps in my MM / OM and not being able to find a step by step guide for 7.31 > thought I'd ask here.

10 |10000 characters needed characters left characters exceeded
Former Member

Hi George,

It's better if you can come up with your exact requirement. There are multiple ways around actually. If you elaborate your exact requirement then it will be better to provide you optimal solution.

Thanks,

Apu

0
* Please Login or Register to Answer, Follow or Comment.

5 Answers

avatar image
Former Member Oct 18, 2016 at 10:39 AM
0

Hi George,

  • You can create two separate mappings, one for receiver C and another for receiver B then do the mapping according to your requirement.
  • In the receiver determination you can maintain the conditions for both receivers.

Regards,

Praveen.

Share
10 |10000 characters needed characters left characters exceeded
George Applegate Oct 18, 2016 at 10:49 AM
0

Hi Praveen,

I've created a mapping for the 'create' and a mapping for the 'change' messages. Theyre identical. I'm not sure if I need to put any special clauses or splitbyvalue functions in the mappings. Hence wondering if there was a guide to this process as its not in my bit400/460 documentation.

George

Show 1 Share
10 |10000 characters needed characters left characters exceeded
Former Member

Hi George,

Provide source and target payload then we can able to help you.

Regards,

Praveen.

0
George Applegate Oct 18, 2016 at 12:59 PM
0

Hi
The spec is

A subsidiary of our head office used to rely on a 3rd party pay / salary bureau and their contract is up, they want to bring salary onto SAP via a feed from the subsidiary's scheduling tool, which will give us hours worked, rates etc. The 'Employee Pay file' will be fed into ECC via Flat file with fcc.

The structure of data type is attached as: structure.png . For efficient processing of the data into the CAt2 bapi in ECC, the data must be split by the field 'status' this indicated whether the file is a NEW create or a CHANGE. Once into separate create/change files the data within these files the data must be split out by employee number (so a file per employee ) before being passed via proxy > ecc.

I have created the source data type & message type, Service Interface and a Create & change data type, message type and service interface, with message mappings for both and operation mappings tying the operation mapping to the service interface. In the config I have a Config Scenario with receiver determination rule that would filter (x path expression) on the 'status' field so that anything with a N would go to one Comm component and anything with a 'C' in the status field, would go to the Change communication component. When running this interface, the message doesn't get split by data type, it gets duplicated. So I must be missing some specific mapping settings of which I am not sure how to create and operation mapping settings I don't know how to make..I hope this clears it up.


structure.png (18.7 kB)
Share
10 |10000 characters needed characters left characters exceeded
avatar image
Former Member Oct 19, 2016 at 07:35 AM
0

Hi George,

Though its routed the duplicate of message without split to both the mapping, but in mapping you can create or suppress the target node depending upon the status value and which will give you the splitted output.

example:

For NEW message mapping you can add condition If status is N then it will populate target root node.

same logic is for Change mapping based on status value C.

Thanks

Sagarika

Share
10 |10000 characters needed characters left characters exceeded
George Applegate Oct 25, 2016 at 09:39 AM
0

split-1.png

I've mapped it as to a link ive found on the subject:

http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/90dcc6f4-0829-2d10-b0b2-c892473f1571?overridelayout=true

But I don't seem to be getting any results when testing in the mapping:

results.png

I've mapped the fields below the H node to each other, bar the status which ive used to do the split.

Can any one point me in the right direction?


split-1.png (69.0 kB)
results.png (45.0 kB)
Share
10 |10000 characters needed characters left characters exceeded