cancel
Showing results for 
Search instead for 
Did you mean: 

EDI customer specific mappings

Former Member
0 Kudos

Hello Experts,

I am having a scenario where the old legacy system is planned to be replaced by PI (7.11)-Seeburger.

Now the old system based out of Gentran had around 100 maps pertaining to their 100 customers for distribution of their Invoices and ASN.

Hence wanted to find out how best can be achievable using PI Seeburger. We thought of following options

1] Create 100 mappings in PI and have conditional interface determination based on the customer. But in this we will have to hard-code customer DUNS number into interface determination conditions

2] Create one base mapping in PI and another in ABAP mappings with customer format maintained in the Z-tables of PI ABAP stack and ABAP mappings filtering the same. This would lead to complex ABAP mappings program.

3] Create one mapping in PI and write conditions in Seeburger BIC mappings. Again writing so many conditions in BIC mappings.

Anyone worked in such scenario, please let me know the best suitable solution in this case based on your experience. Thanks in advance.

Regards

Rajeev

Accepted Solutions (1)

Accepted Solutions (1)

ABHISHEK_MISHRA
Explorer
0 Kudos

Hi,

If you are have Seeburger then that would be the best tool to use it, You can track the all condition in Seeburger monitoring tool seperatelly and create single are create most general map in PI, better go for two or three general map ...

In future also scalibilty would be much easier.

If you dont have seeburger then go for second option where you can create RFC look up or JDBC look up at mapping for

selecting the Receiver dynamically.

Former Member
0 Kudos

Hi Abhishek,

We do have a Seeburger tool but I thought, writing a separate BIC mapping/mappings would be an additional code maintainence.

Again, we are not limiting to the three options mentioned. If anyone had successfully implemented such scenario please let me know.

Regards

Rajeev

Former Member
0 Kudos

Hi Rajeev,

If it is for 2-4 customers then by giving conditions in the mapping and develop one mapping is ok but if we have more customers then it is very difficult.

In one of my previous project we supposed to do one mapping but later we realize and developed single map for every interface.

Ex: Suppose Few customers using 4010 EDI version and other customers using 3050 version, after some time one customer migrated the EDI version from 3050 to 4010, Now again we need to add the conditions for existing map and again we need to do the testing for all custoer instead of current customer.

Debugging also very difficult because many conditions are there in a single map.

Performance also effects because for every field we can mention the condition (if custoemr is A then execute .. steps else ...)

Regards,

Venkata Ramesh

Former Member
0 Kudos

Hi Venkata,

You are right. Even we have a similar scenario where few of the customers are having 4010 version while the others are having 3050.

However have u explored the possibility of creating 100 maps in Seeburger tool?

Regards

Rajeev

Former Member
0 Kudos

Hi,

No need to generate 100 maps in seeburger.

One mapping is enough for every version with every signal.

For example we have 4010 version and we are using 850 and 810 signals with 4010 and 10-number of customers are using 4010 version with 850 and 810 signals. At this time you can generate only 2 mappings, 4010 version 850 map and 4010 version 810 map.

Regards,

Venkata Ramesh

Former Member
0 Kudos

Actually I meant 100 Seeburger maps instead of 100 PI maps. Say one general PI map to convert SHPMNT to 856 with all the fields and qualifiers required and then the maps in Seeburger one per customer.

Regards

Rajeev

Former Member
0 Kudos

Rajeev,

One X2E map for one version with one signal and create 100 maps in PI.

We can create 100 Seeburger maps but that is not advisable. Because if we have done any change in mapping logic every time we need to generate SDA file and deploy in PI server.

Better option is create 100 PI mappings.

Regards,

Venkata Ramesh

Former Member
0 Kudos

Thanks Venkata.

So our configuration would like

One Receiver say EDIReceiver

100 interface determinations for 100 maps with conditions based on the partners

Multiple Receiver agreements based on the versions required each having comm channel with X2E mapping for the version required.

Regards

Rajeev

prateek
Active Contributor
0 Kudos

>> One Receiver say EDIReceiver

This is recommended. But then your EDIReceiver system should be able to send invoices to all the 100 customers based on the data in EDI file.

>>100 interface determinations for 100 maps with conditions based on the partners

If you have option/resource/time to functionally check the details for each of these customer individually, it is recommended to group them based on some business rule. Creating 100 maps blindly will make many redundant mappings. Try to make small groups of 4-5 mappings based on business requirement and reduce the number of maps. When thinking about changes to customer specific mappings, always think two ways.

e.g. If you have separate maps for 100 customers and lets say they belong to same region. In future, if due to any legal requirement change, any change is required in the maps, it would be tedious and not so good design to change all the maps. Therefore, as I said group them based on business/functional logic.

>>Multiple Receiver agreements based on the versions required each having comm channel with X2E mapping for the version required.

Note that these standard X2E and E2X mappings are part of Seeburger BIC license. If you already have purchased BIC, your estimation for this part should be minimal.

Regards,

Prateek Raj Srivastava

Former Member
0 Kudos

Hello Prateek,

We had already checked the possibility of creating groups but unfortunately none of the customers had a format in common.

What I am trying to explore is to create one generic mapping in PI to convert INVOICE and SHPMNT IDOC to a generic 810 and 856 message containing all the segments and qualifiers required by all the customers and then to create a filter in Seeburger BIC mappings.

Either we can create one Seeburger BIC mapping with all the conditions or to create 100 child maps per customers in Seeburger and one parent map to call the respective one based on the customer DUNS number. Actually just wanted to understand if anyone had done such thing in BIC mappings.

I hope with this design, it would be easier to incorporate changes in future.

Thanks and Regards

Rajeev

Edited by: Rajeev Patkie on Dec 7, 2011 10:52 AM

prateek
Active Contributor
0 Kudos

>>Either we can create one Seeburger BIC mapping with all the conditions

Do you have conditions based on values in payload or on different separators for different customers. In later case, you can't accommodate all separators in one mapping. A BIC mapping usually have static separator. In former case, instead of adding the condition in BIC mapping, why don't you accommodate the condition in PI mapping for that field? This way you have possibility to maintain the conditions externally in form of Z tables.

Regards,

Prateek Raj Srivastava

Former Member
0 Kudos

Hi,

Group your customers based on the EDI format and version

1. Create a master map IDOC to EDI format and version. At the end of the map the EDI file should have all the information needed.

2. Create one-to-one (EDI to EDI) mappings per customers in which you filter out information not needed and/or apply custom logic, qualifiers.

This has the advantage of having the complexities of the map in a single place and give you the flexibility to handle specific customer requirements easily.

Regards,

Horia

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi Rajeev,

Instead of creating 100 mappings create generic mapping which suits the requirement and if any conditions to be given,give it in mapping itself.or group the invoices into country specific and prepare separate mappings for each country. So your mappings will be reduced.

Former Member
0 Kudos

Hi Rajeev,

Creating one mapping for every interface is the best approach (first option: create 100 maps).

It takes bit time but performance wise and debugging wise this is the best approach.

Regards,

Venkata Ramesh

Former Member
0 Kudos

Hi Ventaka,

Actually that would be our last option as writing 100 maps would be cumbersome in development phase because mapping SHPMNT IDOC to 856 message is not that simple that we can copy the mappings. Hence wanted to find out whether any easier option available.

Regards

Rajeev

Former Member
0 Kudos

Rajeev,

You can follow the other options also but those are not that much simple. These will also takes lot of time to add the conditions for every customer.

When you are debugging that is very difficult to debug ue to lot of conditions.

Suppose one customer is migrating the EDI version then you need to change the conditions in the mapping or X2E mapping so there is a chance to do the mistake to other customers.

According to my experience better option is create map for every interface.

In one of my previous project we supposed to use your 2nd option, this is good if we have 2-3 mappings but if the customers are more then its became very complex.

Regards,

Venkata Ramesh