Show / Hide Table of Contents

    Output Data Extension

    When a method is executed, it generates output. This output can be enriched automatically with an Output Data Extension. E.g. when we have a list of orders in our application, but the customer information can be found in a different source, we can fetch the customer information from that source and merge it to the output from the first source.

    Use the following steps to configure an Input Data Extension on a method:

    1. Go to the method you want to create the extension on.
    2. Click the Execution tab.
    3. In case no extension is present, just click on the Add New Extension Sequence and a new extension is added alongside a new sequence group.

      Output Data Extensions Tab

    4. To add a new extension to a list of existing extensions, clicking on Add New Extension Sequence will add to extension in a new sequence group, clicking on Create Data Extension will add the data extension to the sequence group selected.

      Output Data Extensions Tab

    5. The first output extension sequence has an extra option Run Parallel With Main Method. When enabled, the main method execution is started in parallel with the first output extension sequence. This is beneficial in total method duration if the output extension is not reliant on the action of the main method. This option is enabled by default for new methods, methods created in older framework versions (< v5.0.0) will have it turned off.

    Configuring The Data Extension

    Settings

    In this section you configure the general settings of the selected data extension.

    Configure Data Extension Part 1

    • Object & Method
    • Process Conversion Scripts
    • Process Validation Scripts
    • Stop On Error
    • Conditions

    Choose the object and method you want to use for the selected data extension.

    Enable this to make use of the conversion scripts configured on the main and the extension method. When enabled, the result of any conversion scripts is used for comparing and extending the data.

    Enable this to make use of the validation scripts configured on the extension method. When enabled, the validation scripts on the fields of the extension method will be executed right before the extension itself.

    Enable this to stop executing any other configured data extensions on the main method when an error occurs on the selected data extension.

    Defines the starting conditions of the data extension. These conditions will be evaluated right before the execution of the extension itself. Context already merged from previous input extensions will be taken into account.

    All the global method context is taken into account when evaluating this condition set. Context records are ignored.

    Any configured conversion scripts are NOT executed on the values of the fields when conditions are evaluated.

    Execution Context

    This section is used to configure how the context is forwarded to the extension method.

    Configure Data Extension Part 2

    • Limit Context To Mapped Fields Only
    • Field Mappings

    Enable this to only forward context data contained in the fields you configure here. Other context set on other fields on the main method will be ignored and cannot be used in the extension method.

    Link one or more input fields of the main method to one or more input fields of the extension method.

    Note

    When Limit Context To Mapped Fields Only is disabled, fields with the same name are automatically mapped.

    Extension Output Handling

    In this section you configure what must be done with the output of the extension method.

    Configure Data Extension Part 3

    • Handling Type
    • Field Relations
    • Only Process Mapped Fields
    • Field Mappings
    • Selected Output Fields

    Define which handling type you want to use when processing the data of the extension method.

    Handling Type Description
    Extend Global Context Extend the current global context of the main method which will then be used for the next data extension(s). Field relations cannot be used and only the first extension record will be used for extending the global context.
    Main Join All main (context) records will be kept. Will match and extend the main (context) records with the extension records based on the defined field relations and mappings. Extension records without a match will be discarded.
    Inner Join Only main & extension (context) records which have a match based on the relations will be kept and extended based on the mappings. Main (context) records & extension records without a match will be discarded.
    Extension Join All extension records will be kept (can result in the creation of extra (context) records). Will match and extend the extension records with the main (context) records based on the defined field relations and mappings. Main (context) records without a match will be discarded.
    Outer Join All main (context) records and extension records will be kept (can result in the creation of extra (context) records). Those records which match based on the relations will be extended based on the mappings.
    Important

    When using the extension or outer join, you'll possibly return extension records without main record data. This could result in records without unique key values. Using such records in views and other parts of the framework can lead to unwanted behavior.

    When using a join handling type, you'll need to configure the relation between the main method and the extension method. This relation can be made by linking one or more fields with each other.

    Enable this to only extend the data in the field mappings you configure here. Data contained in other fields will never be overwritten.

    Link one or more output fields of the extension method to one or more output fields of the main method.

    One or more output fields of the extension method which will automatically be made available in the main method.

    Adding a selected output field will auto create an output field on the main method (which can be identified with a link icon).

    Removing a selected output field will also remove that linked field from the main method and therefor from all its views and context managers.

    Selected Output Fields

    It is now possible to automatically create output fields on the main method for output fields in an extension method.

    Such fields are called 'Selected Output Fields' and can be identified with a link icon link.

    Selected Output Fields

    When such a field is configured on a data extension and made available in the main method, the field can be configured the same way as a normal method field. It can be used in views, context managers, ...

    Note

    Besides the fact that these fields are automatically linked to the main method, they also behave in a special way.

    If a condition set is active on the data extension and the condition cannot be evaluated successfully, all selected output fields of that extension will not be available in the results and any linked view fields will be invisible in ADM's.

    Note

    If you already have a method field and you add a selected output field with the same name, nothing happens. The method field will not be linked to that selected output field and it will not be removed upon removing the selected output field.

    You can identify that a field is linked to a selected output field if it has a link icon link.

    Important

    If you remove a selected output field from the extension, the linked method field will also be removed.

    If you want to keep the field, create it as a normal method field (double-check the link icon).

    Handling Type Examples

    In this section you get a visual representation of each handling type. Suppose you have the following result set where the relation is defined on the Class Id of both tables.

    Hearthstone heroes

    Main Join

    Main join

    Inner Join

    Inner join

    Extension Join

    Extension join

    Outer Join

    Outer join

    Behavior with Context Records

    Context records within the Ometa Framework allows a method to be executed multiple times in one 'request'. This can save processing time because there is no need to connect additional framework clients, or start additional interface processes. However, keep in mind that context records, including possible extensions, are currently executed sequentially on the target interface.

    Currently context records are only used in:

    • Synchronizations
    • Sequential item functions
    • Custom DLL's

    The behavior when using context records with output extensions is as follows:

    • The context records are passed to the output extension method. If the interface script of the main method is executed with 5 context records, so is/are the output extension(s).
    • The records retrieved from the output extension for one context record, can only be used for that same context record in the main method.

    Examples

    See the table below for a few examples on how the data is mapped when using context records.

    • Output Extension without Field Relation
    • Output Extension with Field Relation

    In this example the main method is called with 2 context records. The original output are only the NameID and Amount fields for each context record. No field relation is configured.

    Output extensions do not map any data if there is no field relation. Configure a field relation to retrieve and map the output of the extension.

    Output data extension without field relation

    In this example the main method is called with 2 context records. The original output are only the NameID and Amount fields for each context record. Using an input extension, the FirstName and LastName are fetched before executing the main method.

    Because of the field relation on NameID, the results of the output extensions are each matched against the output of the main method. Both records from the first context record (NameID: 1 and NameID: 2) therefore find a match in the output extension data, and are therefore enriched with last name. No match for the last record (NameID: 4) is found and its FirstName and LastName will remain empty. All data from the matching record in the input extension, will override the input on the main method for that context record.

    Output data extension with field relation

    Keep in mind that the framework will only match within the context records. If in the example above the output extension of the first context records did return an entry with NameID : 4, it would still be unused.

    Back to top Copyright © OMETA
    Integrating systems ● Connecting people