Integration Advisor – support for multi-value Qualification in MIGs
I am happy to share with you that we added multi-value qualification as new feature. In this blog post I want to give you a short overview of this new feature and how to use it.
Qualification feature for MIGs
Message Implementation Guidelines (in short MIGs) in Integration Advisor allow you to specify in detail the messages that you want to exchange with your Business Partner or you want to use within your company for A2A integration.
Integration Advisor offers the so called Qualification feature. Qualification means to explicitly model the precise semantic meaning of a generic node in a message structure. In doing so, you have the following key benefits:
- More precise specification / documentation (e.g. in communication with your B2B Partner)
- Simplified and extended payload validation at runtime
- Significantly simplified mapping implementation (save up to 30-50% of otherwise required mapping functions)
You can find a very good introduction to the qualification concept in this blog: Link
Earlier qualification feature only allowed to define a qualified node based on one qualifier value. You always needed separate qualified nodes for different qualifier values.
New feature: multi-value qualification
It is now possible to assign multiple qualifier values to the same qualified node. The semantic meaning would be as follows: The qualified node applies if one of the qualifier values is present (OR-combination).
You can use multi-value qualification if
- all qualifier values have a comparable semantic meaning for you,
- the qualified node has the same properties for all qualifier values
- and in your Mapping Guideline (MAG) you want to map the qualified node to/from the same node of the other message structure (for all qualifier values).
If you need to distinguish different qualifier values (e.g. to map the qualified node differently for the qualifier values) you should continue to create separate qualified nodes.
The example in the first screenshot shows a MIG for Edifact ORDERS.
Here the second DTM segment is used to send a transmission date and is qualified by two qualifier values:
- 137 = Document/message date/time
- 243 = Transmission date/time of document.
By this you specify that your business partner will either send qualifier value 137 or 243.
Background might be that orders can originate from different systems (using different qualifier values) within your business partners organization and your partner does not wish to change his existing implementation.
Let us consider the second screenshot to highlight a few more details about DTM qualification in this example:
- The MIG specifies that altogether two dates (segments DTM) are expected on header level.
- One DTM is for a business-oriented order date:
- It has cardinality [1..1] – it is expected exactly once.
- Qualifier value 4 (= Order date/time) must be used.
- The actual date/time field 2380 has a length of 8 – only a date is expected here.
- The other DTM is for a transmission date (similar to a postmark):
- It has cardinality [1..1] – it is also expected exactly once.
- You can either use qualifier value 137 or 243 – but one of them must be used.
- The actual date/time field 2380 has a length of 14 – here a date plus a time is expected.
To summarize the example: by using multi-value qualification you can specify that the second DTM segment is valid for both qualifier values 137 and 243 – at runtime either one or the other value can be used.
Qualification with “No Value” option
There are situations where the qualifier node is optional and therefore your message payload might not contain a qualifier value. To cover such situations, you can use the “No Value” option – here the special sign “∅” is shown instead of a qualifier value.
You can use this “No Value” option either alone or in combination with other qualifier values. In below screenshot you see the “Create Qualifier” Dialog. In this example the user wants to create an additional qualified DTM segment with the qualifier value 10 plus the special case ∅.
The semantic meaning would be as follows: this qualified DTM segment applies if either the qualifier node 2005 has the value 10 or the node 2005 is missing in the message payload. So in a way it is like a default handling – if the payload does not contain a value for node 2005 we assume that it shall be treated in the same way as qualifier value 10 is handled.
Note: Earlier this option was called “Empty Value” but is now renamed to “No Value”. With this renaming we try to express the intended semantics more precisely: it shall be used for situations where the qualifier value is missing in the message payload.
To use Qualification is one of the key features of Integration Advisor and helps you to simplify and improve your Message Implementation Guidelines (MIG). With our new feature increment it is now possible to assign multiple qualifier values to the same qualified node. This helps you to use the qualification feature in a more flexible way.