cancel
Showing results for 
Search instead for 
Did you mean: 

Splitting an Incoming message

Former Member
0 Kudos

Hello,

I have a scenario, where the incoming message is coming from a non-sap system via webservice

i need to spilt the message based on the number of unique supplier present in the message and push the message into SAP so a Purchase Order can be created, which can be multiple.

I know BPM can split the message, i have no clue about BPM

For example the message

Item Quantity Catergory Supplier

Laptop 100 CAT1 Supplier1

Laptop 100 CAT1 Supplier2

Laptop 100 CAT1 Supplier3

Desktop 100 CAT1 Supplier1

Desktop 100 CAT1 Supplier2

So now, the PO created in SAP must

PO no:1000

Item Quantity Catergory Supplier

Laptop 100 CAT1 Supplier1

Desktop 100 CAT1 Supplier1

PO no: 1001

Item Quantity Catergory Supplier

Laptop 100 CAT1 Supplier2

Desktop 100 CAT1 Supplier2

PO no: 1003

Item Quantity Catergory Supplier

Laptop 100 CAT1 Supplier3

regards,

Abhishek

Accepted Solutions (1)

Accepted Solutions (1)

PriyankaAnagani
Active Contributor
0 Kudos

Hi,

Change the occurrence of Idoc to 1...unbounded and apply the below logic ..you'll get multiple purchaseOrders

supplier>removecontext>sort>splitByValueChange>collapseContext-->targetIDOc

formatByExample-->TargetItem

formatByExample:

input1:resultOfSortBykey

input2:supplier>removecontext>sort>splitByValueChange>collapseContext-->splitByEachValue

SortByKey:

input1:supplier-->removecontext

input2:Item-->removecontext

apply the same logic for all the fields...

Regards,

Priyanka

Former Member
0 Kudos

Hello,

Would explain, input1 and input2, in the formatByExample and SortByKey.

regards,

Abhishek

PriyankaAnagani
Active Contributor
0 Kudos

Hi,

>>>>Would explain, input1 and input2, in the formatByExample and SortByKey

Sort by key will sort the items according to the key i.e. supplier and format by example will arrage these items according to the context specified in input2 of formatByExample.

Regards,

Priyanka

Answers (3)

Answers (3)

Former Member
0 Kudos

Hi Abhishek,

Here no need of BPM.

In message mapping change the receiver message (ORDERS Idoc in your case) type occurance from 0..unbound to 0..1 in signature tab.

And do the mapping for that (receiver side occurance changed node) field, map from source side recordset (0..unbound) node (no.of units supplier field in your case) to this target node.

Then for every record you can get one separate file at target side.

Regards,

Venkata Ramesh

rajasekhar_reddy14
Active Contributor
0 Kudos

This is very simple requirement, you dont required BPM, change the IDoc segment occurance to 1 unbounded, then you have to build mapping logic to sort and create multiple IDoc's.

Regards,

Raj

Former Member
0 Kudos

Hello,

Thank you for the information.

any weblog or document explaining the same would be appreciated.

regards,

Abhishek

Former Member
0 Kudos

Hi,

please refer below blog,

i hope this will helpful.

regards,

ganesh.

Former Member
0 Kudos

Hi,

with ou bpm you can achieve your requirement.

1. You need to provide occurance of the field to be 1..Unbounded.

2. Do the mapping according to the requirement.

3. In the Receiver Determination, you need to select " Extended" in the Type of Receeiver determination.

If your version is 7.1 and above, you can also try using enhanced interface determination. Please go through the below link

http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/90dcc6f4-0829-2d10-b0b2-c892473f1...

4. Value mapping function in message mapping.

regards,

ganesh.

Edited by: ganesh.nijampudi on Nov 30, 2011 5:29 AM