cancel
Showing results for 
Search instead for 
Did you mean: 

Urgent Suggestion on better apporach..!! Multi mappings or normal Mappigs.

Former Member
0 Kudos

Hi All,

<b>1)</b> My Client requirement is that they want all the PO's interfaces into one namespace ( <b>http:/xxx.com/PO</b> ).So that they can create all the PO's which belongs to different customers by different mappings under one namespace.The reason for this is in future if they want to add any new customer .Then it will be easy for them to do the same.

Can we do this by multi mapping?

or

Since the mappings are different for each customer.

Ex: for 3 customers(Colgate,Closeup,pepsodent)

So there will be three separate mappings i need to do.

<b>2)</b> But i suggested to create the namespace according to there customers like

<b> http:/xxx.com/colgate</b>

Under this we can create <b>PO,Invoice,REMDEV</b> etc for each customer... i think it will be a good method because it will be easy for the maintaince and support.

NOw i need to explain to my client which is the better approach and why??

I need to give the Pros and Cons on the two methods.. like there performance and If they want to add a new customer in future which will be the easy and better option.

Pls share some suggestions on this.

Its a bit urgent.

Thank you.

Regards

Seema.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

As far as i understand your question, you need to dynamically determine the mapping based on the Customer field sent in Source Message Type. So there cant be Multi-mapping implementation( Multi-mapping can be done when at Source message has to be mapped to all the target messages at a time)

So you need to have 3 Msg mappings.You can determine the required mapping at runtime by specifying conditions in Receiver Determination.

Regards

Arpil

  • Please award useful answers.

So that they can create all the PO's which belongs to different customers by different mappings under one namespace.The reason for this is in future if they want to add any new customer .Then it will be easy for them to do the same.

Former Member
0 Kudos

Hi Arpil & Chirag,

Thanks for your replys.

<i>you need to dynamically determine the mapping based on the Customer field sent in Source Message Type</i>

Yes this is my exact scenario.

You mean to say like Target system has

If Target system -- GX2-142 Perform mapping MM_142 and goto BS_GX2142

If Target system -- GX2-152 Perform mapping MM_142 and goto BS_GX2152

If Target system -- GX2-152 Perform mapping MM_142 and goto BS_GX2132

If we go like this..r u sure it will perform the exact mapping??

Im not sure.. bcoz i feel this is just for routing purpose...

Will the exact mapping will takes place if we do like this??

-Seema.

Former Member
0 Kudos

Hi Seema,

Can you please answer to my questions which i had asked as this will help me in giving the solution.

Thanks and Regards,

Chirag Gohil

Former Member
0 Kudos

<i>If Target system -- GX2-142 Perform mapping <b>MM_142</b> and goto BS_GX2142

If Target system -- <b>GX2-152</b> Perform mapping <b>MM_142</b> and goto BS_GX2152

If Target system -- <b>GX2-152</b> Perform mapping <b>MM_142</b> and goto BS_GX2132</i>

I guess you have 3 different mappings for three Targets....So i have marked them as bold. Is it like the below case:

I guess this is right for ur scenario.

If Target system -- GX2-142 Perform mapping MM_142 and goto BS_GX2142

If Target system -- GX2-152 Perform mapping MM_143 and goto BS_GX2152

If Target system -- GX2-153 Perform mapping MM_144 and goto BS_GX2132

Regards

Arpil

Former Member
0 Kudos

Hi chirag,

<i>R u using the same mapping for all the customers with the same functionality.</i>

No.. The mapping will be different for each customer.

<i>Does your input file contains any customer number from which you can identify this input file is belongs to which customer.</i>

Yes. There is one field called PLCODE .. from which we will come to know which customer and correct mapping has to execute and the output idoc has to reach to correct system.

Im thinking like in MM i can assign like by adding Msg types more times in Rx side of mapping

File --> MT1

--->MT2

--->MT3

By connecting the field PLCODE to Directly to Idoc node for each of the Msg types (MT1,MT2,MT3) and do the mappings according to there respective conditions.

and i will assign the condition to the field as

If Target system= GX2-142 Then map to node-------> MT1

If Target system= GX2-152 Then map to node-------> MT2

If Target system= GX2-132 Then map to node-------> MT3

Hope problem will solve.. wat do u say..??

- Seema.

Former Member
0 Kudos

Sorry Arpil .. I gave it wrongly.

Yes three different mappings

If Target system -- GX2-142 Perform mapping MM_142 and goto BS_GX2142

If Target system -- GX2-152 Perform mapping MM_152 and goto BS_GX2152

If Target system -- GX2-132 Perform mapping MM_132 and goto BS_GX2132

-Seema.

prabhu_s2
Active Contributor
0 Kudos

seema

say u r using an idoc for PO orders01. This idoc will be used by all 3 customers. In this case u can have one SCV and one name space. have a IP defined with a recv step that will recv the idoc. Using the switch with 3 braches (condition set based on some source field to distingush for which customer) u can route the message to approriate transformation step. Again in this case say u have 3 clients u wud req 3 mapping for the transformation step followed by a send step to route to approriate recvier

Former Member
0 Kudos

Hi Seema,

Your scenario is File to IDOC

You have file which is coming from different customer and from the file you will decide that belongs to which customer and your mapping will be executed.

Now does all the three mapping has the same functinality, I mean it uses the same mapping with the source and target fields.

Please let me know.

Thanks and regards,

Chirag Gohil

Former Member
0 Kudos

hi seema,

as your requirment you have to go foe BPM.

give three <b>Receiver Determaination</b> according to your condition , or use some<b> Corelation Logics</b>

hope this will help

regards

HONEY

Former Member
0 Kudos

HI All,

Its file to Idoc scenario.

I need to acheive it without using BPM..

I will be getting the files from the same path.

In the file, Say some field comes with value

"0898888kkk"

"0898888TTT"

"0898888XXX"

It will check if the last 3 characters are coming as

KKK then it has to goto GX2-142 system By using mapping MM-142

TTT then it has to goto GX2-132 system By using mapping MM-132

XXX then it has to goto GX2-152 system By using mapping MM-152

All these 3 mappings has the same structure both in Sender and target side,but conversion rules and transformations are different for each mapping.

-


Its like 1:N scenario.

I check the blog Multimaping w/o BPM.

/people/jin.shin/blog/2006/02/07/multi-mapping-without-bpm--yes-it146s-possible

Here they mention in the Restrictions section that it is not possible if the target side is Idoc.

-


Can anyone pls suggest how we can aciheve it w/o uising BPM.??

Is there any option apart from doing separate mappings for each one.??

Because my client is asking the reason like in future if they want to add the new customer which will use the same PO (structure and mapping with different Conversion rules).They dont want to sit and do the new development again either by copying or creating new one.

Is there any option to achieve this ??

Thanks to evyone for helping.

-seema.

former_member181962
Active Contributor
0 Kudos

Hi Reddy,

As long as the mapping rules and conversions are different, i would rather suggest different mappings though it would appear that it takes a lot of development time.

If you have to have a single mapping, then you would have to write conditional population of the target elements.

I am working in a similar type of requirement, where in i have multiple customers and they all have similar source and target structures to be mapped.

We have different mappings for each of the customer and whenever we have a new customer, we have a new mapping.

Even though you somehow manage to have a single big mapping, the maintenance would be a nightmare.(For example If you have to make certain target field mandatory(Which is optional for some other customer etc).

Regards,

Ravi kanth Talagana

Former Member
0 Kudos

Thanks Ravi.

I would discuss the same with my client again and will suggest for different mapping.

I think in these kind of scenarios, we will be having only 1sender CC and Many Receiving CC's . right?

Regards

Seema.

Former Member
0 Kudos

HI Seema,

The reason asking you the question is I have done the same scenario where in the file, I am receiving the different customer information and I was using the same mapping for all the customer.

Design part:

Now what I did is there is an element called SNDPRN in the IDOC control record segment.

I have used the fixed value and maintained the information in your case it will be

KKK= GX2-142 system

TTT =GX2-132 system

XXX =GX2-152 system

Configuration part:

In one configuration I have created the as many system per customers in ur case it will be three systems.

Three RX.IM (same mapping will be used for all the IM), SA(u can use one file channel) and RA(you can use one IDOC channel).

Now as soon as the SNDPRN value is populated based on the file info the corresponding configuration will executed in your scenario.

If you go by this then this will save ur time in creating a as many mappings for different customers also ur configuration will be inside the one scenario.

Thanks and Regards,

Chirag Gohil

former_member181962
Active Contributor
0 Kudos

Hi Reddy,

We can still have a single Receiveing Communication Channel only(Idoc adapter in your case).

One more reason why I would rather have different mappings is that, for example

you have to check for the value of a source element and populate that value in the idoc segment. and the value being checked on the source side is different for different customer.

for example

what we want is

if source->segment1->value1 = 'ABC', then map

source->Segment1->value2 to Idoc->e1edk01->value2.

But the value "ABC" may be different for each customer.

like for customer 2 you may have to do exactly the same thing, but for checking the value "DEF", like:

if source->segment1->value1 = 'DEF', then map

source->Segment1->value2 to Idoc->e1edk01->value2.

Just imagine the complexity of the mapping if you have a single mapping, wherein you may have to first check for the customer name for every field's mapping.

moreover, if you want to add a customer at a later point in time, if you do some mistake, then it may effect the existing customer's mapping.

Regards,

Ravi Kanth

Regards,

Ravi Kanth Talagana

Former Member
0 Kudos

Done.. I expllained the same and accepted.

Thanks Ravi for the suggestions.

Points rewarded.

Chirag,

GOing for separate mappings.Thank You for your response.

-Seema.

Message was edited by:

reddy seema

Answers (4)

Answers (4)

Former Member
0 Kudos

Hi

I would suggest you to create one Software Component Version.Underneath that one name space with the you interface.As you say that the interfaces are same.

Now you can go for Enhanced Receiver Determination.

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

Here you will create different CC for different receivers.Different mappings for different receivers.And one reciever Agreement to determine the receiver.

When a new receiver comes , create a CC, mapping etc for it in the same name space..

Thanks

Former Member
0 Kudos

Hi Seema,

R u using the same mapping for all the customers with the same functionality.

Does your input file contains any customer number from which you can identify this input file is belongs to which customer.

Pls give your inputs for the above question so that i can give you the solutions.

Thnx,

Chirag Gohil

Former Member
0 Kudos

Seema,

Yes, you can achieve this by creating the mappings under the same name space. If you want to add a new vendor you can directly add them under the same name space created.

Similarly, you can create different Business scenarios for different vendors under the same CS, so that you have a dedicated communication channel for each vendor. Let me know if this helps you.

Thanks,

Sudhir

Former Member
0 Kudos

Seema,

I would suggest you to go for different mappings for different vendors under the same name space.

You can create one data type and use them for all the vendors (In case you are mapping to the same BAPI or IDOC structure). This will reduce the burden of creating separate data types for different vendors.

Thanks,

Sudhir

Former Member
0 Kudos

Hi Sudhir,

Yes they are using the same Idoc structure.

What the solution they are expecting is when they collaborate with new vendor.They dont want to create another interface development.

Instead of that they are expecting an option where a slight changes in the existing interfaces will add the new vendor for them.

Pls suggest if you have idea to achieve on this.

Thank You.

Regards

Seema.

Former Member
0 Kudos

hi seema,

you can go for one Namespace , you can go for any no. of mapping for your vendors in one interface , you can add or delete any mapping which is required or not depands on you<b> ,if you want to chng vendor so just asssign this new mapping to your scenario in inteface mapping, no need to chng in ID part.</b>

hope this will help

regards

HONEY

Shabarish_Nair
Active Contributor
0 Kudos

<i>Can we do this by multi mapping?

or

Since the mappings are different for each customer.

Ex: for 3 customers(Colgate,Closeup,pepsodent)

So there will be three separate mappings i need to do.</i>

>>>

go for 3 different mappings.

<i>

NOw i need to explain to my client which is the better approach and why??</i>

>>>

my suggestion is make a SWCV . eg. SWCV_PO

and then under the same create different namespaces according to the customers

eg.

http:/xxx.com/colgate

http:/xxx.com/ge

etc.

Former Member
0 Kudos

Hi Vijay,

Thanks for your reply.I think thats a good approach.

One more point is since the structure is same for PO(orders.orders05) for all the customers.Cant i acheive it through Multi mapping instead of normal mapping??

1. Performance wise which one wil be good? Pls give me with reason.

2. Maintainence wise which one will be good? (I think normal mapping would be good i feel.)

Waiting for reply.

Thank You.

Regards

Seema.