Skip to content

Element <template>

Purpose: Reusable AMA EDI template definition.

Why: Use it to name one project-owned EDI template before outputs select it.

Example

1
<template id="recpTpl" path="RECP.template.edi" edifactProfileRef="uoc3_comma"/>

Decision guide

Business value: Separates reusable message structure from output-specific filenames and variables.

  • Use when

    • One or more outputs render a stable project template.
  • Choose another approach when

    • The descriptor has no AMA output to render.
  • Prerequisites

    • Keep the template path in the project and reference an existing profile when needed.
  • Alternatives

    • Use output to instantiate a declared template as a message. (See: <output>)

Complete examples

Render profiled EDIFACT output and package its artifacts

Use the AMA family when partner-specific EDIFACT separators, templates, output names, side artifacts, and archive packaging must be modeled together.

ama-edifact-package/templates/order.template.edi
1
UNH+__message_id__+ORDERS:D:96A:UN'
ama-edifact-package/datamimic.xml
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
<setup rngSeed="42">
    <ama-generate defaultEdifactProfileRef="unoc3" variablePrefix="__" variableSuffix="__">
        <edifactProfiles>
            <profile id="unoc3" decimal="." data="+" comp=":" release="?" term="'"/>
        </edifactProfiles>
        <templates>
            <template id="order_template"
                      path="templates/order.template.edi"
                      edifactProfileRef="unoc3"
                      sourceScripted="True"/>
        </templates>
        <variable name="message_id" generator="IncrementGenerator"/>
        <output type="ORDERS" templateRef="order_template" filename="ORDERS___message_id__"/>
        <artifact type="edi_outputs" folder="edi"/>
        <artifact type="edifact_trace_csv" filename="ORDERS___message_id___trace.csv"/>
        <package type="zip" filename="ORDERS___message_id__.zip"/>
    </ama-generate>
</setup>

Rules and invalid combinations

No additional element-specific rules. Required attributes, types, and supported values are shown below.

Allowed parents / Allowed children

Allowed parents: ama-generate, else, else-if, if, templates, while

Allowed children:

None

Attributes

Show all 4 attributes

edifactProfileRef

Identifier of the EDIFACT separator profile used for this template.

optional; string; Default: null.

id

Unique identifier for this AMA template.

required; string.

path

Project-relative path to the AMA EDI template file.

required; string.

sourceScripted

Whether template source values are evaluated as scripts.

optional; boolean; Default: null.