cancel
Showing results for 
Search instead for 
Did you mean: 

File Splitting using BPM/Mapping

Former Member
0 Kudos

Hi,

My requirement is to split a file and send it to diff. receivers. The file should be splitted based on company codes.

For Ex: 3 company codes apear in the Input file:a1,b1 and c1.

So when a1 and b1 comes it should split the file and go to receiver1, if c1 comes it should split the file and go to receiver2.

Kindly help me in this.

Thanks,

Sree

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

If you use Multi-mapping without BPM (Enhanced Interface Determination) then you will face problem while doing the Receiver Agreement for different Receivers.

The reason is, when you add another Receiver in Receiver Determination then you have to use the same Interface Mapping which will contain 2 inbound interfaces (for multimapping min 2 inbound interfaces will be there).

So in this case for each Receiving System you have to create 2 receiver aggrements which you don't want, because you just want to send the file which belongs to comp code a1, b1 to Receiver1 and another to Receiver2. So this means you can't just create 1 RA for each Receiver.

So what you can do is, just create two separate message mapping & interface mappings in IR. And in ID just create 1 Receiver Determination and add both the Receivers. Now use the conditions using X-Path to route the message to Receivers based on your comp codes only.

Since you want to split the file based on comp code, therefore while creating your mapping put conditions on parent node and check if comp code is present then only create particular mapping.

Regards,

Sarvesh

Former Member
0 Kudos

Hi Sarvesh,

That was a helpful answer...So now i have one more doubt...What if in Future the Input Files comes with company codes z1,x1,v1 instead of a1,b1,c1.

Then if i am handling the File Splitting in the Mapping, again i need to change the condition in the Mapping each time diferrent company codes comes right?

Kindly suggest a solution for this...

Thanks,

Sree

Former Member
0 Kudos

If you do conditional Interface determination then the mappings will be executed only when conditions are ture against interface mapping in the Interface Determination. So you have to just make sure when particular mapping(s) will be created then you don't put any comp code based condition. By this way whenever in future your comp codes get changed then you have to just change the conditions in Interface Determination.

Note: Make sure when mappings are created they are as per comp code.

Answers (3)

Answers (3)

former_member200962
Active Contributor
0 Kudos

Why use a BPM....if not wrong this requirement can even be done using Multi-mapping and using Enhanced Interface Determination.

Former Member
0 Kudos

Without using ccBPM, you can add multiple receivers in the 'Receiver Determination' in the Integration Directory.

In the 'Condition' field of each Receiver, specify the Company code field from the source as the Left Operand, and the Constant value in the Right Operand.

You might need to use the multi-message functionality (ie. 1 : N).

Regards,

Glenn

Former Member
0 Kudos

Hi,

Is it 1 file that should be split into 3 different files like

Input

Root
  Line
    CompanyCode = a1
  Line
    CompanyCode = b1
  Line
    CompanyCode = c1

Output receiver1

Root
  Line
    CompanyCode = a1

Root
  Line
    CompanyCode = b1

Output receiver2

Root
  Line
    CompanyCode = c1