TranslationperPartner - skilchen/bots GitHub Wiki
Partner specific translation
Explain by example
You receive edifact ORDERSD96AUNEAN008 from several partners. Partner 'retailer-abroad' fills the orders in a different way; the difference is so big that it is better to have a separate mapping script.
Configure this like:
- one grammar for incoming edifact ORDERSD96AUNEAN008 message. (It is a standard message, isn't it?)
- one grammar for the inhouse import format. (We definitely want one import for all orders!)
- note that the incoming edifact grammar uses QUERIES to determine the from-partner and to-partner before the translation.
- make the 2 mapping scripts:
- mapping script 'ordersedi2inhouse_for_retailerabroad.py' (specific for partner 'retailer-abroad').
- mapping script 'fixed-myinhouseorder' (for all other retailers).
- add 'retailer-abroad' to partners (via bots-monitor->Configuration->Partners & groups).
- Use 2 translations rules:
- edifact-ORDERSD96AUNEAN008 to fixed-myinhouseorder using mapping script ordersedi2inhouse.py
- edifact-ORDERSD96AUNEAN008 to fixed-myinhouseorder using mapping script ordersedi2inhouse_for_retailerabroad.py for from-partner 'retailer-abroad'
Often there are lots of similarities between the mappings - the 'many similar yet different mappings' problems. This can be handled in bots in a nice way.
Plugin
Plugin 'demo_partnerdependent' at the bots sourceforge site demonstrates partner specific translations.