This page shows you some examples of locations in the application where metadata can be used.
Changing value assigned to a system metadata in drag and drop transformation
See details in Using or changing metadata.
Using metadata to customize messages and file names
You can use system or user defined metadata in your output gateways and email notification configuration. The metadata values can be used to name output files sent through output gateways or as part of a notification email subject and or body. The metadata used may even be different for success or failure messages as shown in the figures below.
System metatada are referenced using syntax {com_babelway_messaging_context_***}. A list of available system metadata with returned variables and examples is available in the System Metadata appendix.
User defined metadata are referenced using syntax {your_metadata} where your_metadata is the name of the user defined metadata you want to reference to as illustrated in the following example, where the earlier user defined metadata is used as a name for the file sent as email attachment.
Concatenate values from a loop in a metadata
If you want to concatenate multiples values from a loop in a single metadata such as a message reference or a user defined metadata, you have 2 options:
1. Use a full custom xpath:
Do not map any loop.
Create an Xpath custom expression such as:
string-join (YOUR_XPATH, 'YOUR_SEPARATOR')
Where YOUR_XPATH is the path to all the elements you want to concat such as:
/ediroot/interchange/group/transaction/loop/segment[@Id='NAD' and element[@Id='NAD01'] = 'BY']/element[@Id='NAD02']/subelement[@Sequence='1']
or
/csv/line/field1
Or drag a repeated element (such as the above mentioned line) on the custom function. All field1 elements under the repeated element will be concatenated and separated by the given separator.
$arg1/field1
YOUR_SEPARATOR is the separator between two elements of the list such as ' - ' for example.
2. Use the functions get-metadata and set-metadata
Map the loops to the output metadata
-
Create an Xpath custom expression with the following expression:
metadata-util:put($MSG,'com_babelway_messaging_context_message_reference', bfn:concat ('YOUR_PREFIX', 'YOUR_SEPARATOR', 'YOUR_SUFFIX', metadata-util:get($MSG, 'com_babelway_messaging_context_message_reference'), $arg1))
Where
YOUR_PREFIX is the prefix added at the beginning of the result, e.g.: ' here is the list of value: '
YOUR_SEPARATOR is the separator added between the different elements, e.g.: ' – '
YOUR_SUFFIX is the suffix added at the end of the result e.g.: [i ' '[/i]
Drop the value of the element to the expression (= $arg1 )
Map the expression to the metadata