4.12.1. Metadata usage

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.

System metadata used to customize notification emails

Figure 4.295. System metadata used to customize notification emails


System metadata used to customize file names

Figure 4.296. System metadata used to customize file names


User defined metatada are referenced using syntax {user-defined-property: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.

User defined metadata used to customize attachment name

Figure 4.297. User defined metadata used to customize attachment name


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