General
Allowed values are used to convert a property value by using a look-up. The look-up can be entered statically or based on an external source.
The look-up values will be presented in the Lookup Values dialog.
The column "Name" contains the property values to be converted. The column "Value" contains the converted value.
External Source
The Allowed Values from External Source feature is used to import and maintain allowed values for properties using external files rather than entering them manually. Supported formats include JSON, CSV, Excel (.xlsx), and XML. This functionality improves consistency and reduces maintenance by allowing values to be sourced from external systems such as ERP exports or configuration files.
The look-up values may be updated by either a manual import or by a scheduled import job that automatically updates values at defined intervals.
Accessing the Feature
Navigate to Settings → Properties.
Select Article, Operation, Structure, or Change order.
Under the Values column, click the button for an existing or new property.
In the popup, choose External source.
Select the Source Type (JSON, CSV, Excel, XML) and desired Replace mode.
Configure import settings, upload a file to preview, and perform a one-time import or set up a scheduled import.
Replace Modes
| Mode | Behavior |
|---|---|
| Replace all | Clears all existing allowed values and substitutes imported values. |
| Replace none | Retains existing values and adds only new key/value pairs from the import. |
Manual vs. Scheduled Import
| Mode | Description |
|---|---|
| Manual import | Used when Scheduled Import is disabled. The user uploads a file and performs a single import. |
| Scheduled import | When enabled, the system reads the file path on a schedule and imports automatically. The scheduler checks every minute to determine whether an import should run. |
Note: All import settings must be configured before uploading a file.
JSON Import
Supported Formats
JSON imports support key–value mappings in multiple structural forms, including arrays, objects, and nested structures.
Example JSON
{
"data": {
"allowedValues": [
{ "origin": "article-1", "mappedValue": "art1" },
{ "origin": "article-2", "mappedValue": "art2" }
]
},
"lookupValues": [
{ "mappedValue": "art-no-1" },
{ "mappedValue": "art-no-2" }
],
"source1": ["article-1", "article-2"],
"values1": ["art-nr-1", "art-nr-2"],
"keyValueArray": [
{ "article-1": "articleNo1" },
{ "article-3": "articleNo2" }
]
}
Field Definitions
data.allowedValues — Array of
origin→mappedValuepairs.origin — External source value.
mappedValue — Internal normalized value.
lookupValues — Optional list for target-only lookups.
source1 / values1 — Plain arrays representing key/value pairs with matching index positions.
keyValueArray — Array of objects where each object contains a single key–value mapping.
Inputs
| Input | Description |
|---|---|
| JSON path to keys | Path to the list/object containing keys. |
| Key property | Property name inside an object representing the key (empty for plain arrays). |
| JSON path to values | Path to list/object containing values. |
| Value property | Property name holding the value (empty for plain arrays). |
Examples
Keys from
data.allowedValues[*].originJSON path:
data.allowedValuesKey property:
origin
Using plain arrays (
source1/values1):Leave Key/Value property empty.
Using object map (
keyValueArray):Leave Key/Value property empty.
CSV Import
Supported Formats
CSV files may contain headers or rely on column indexes.
Example With Header
rowId;artNo;descr;mappedArtNo;quant
1;art-1;Article one;article-1-mapped;4Example Without Header
1;art-1;Article one;article-1-mapped;4Inputs
| Input | Description |
|---|---|
| Has header? | Indicates whether the first row contains column names. |
| Delimiter | Character separating values (e.g., ;, ,, tab). |
When Header = On
Key column — name of the key field (example:
artNo)Value column — name of the value field (example:
mappedArtNo)
When Header = Off
Key column index — zero-based index (example:
1)Value column index — zero-based index (example:
3)
Excel (.xlsx) Import
Supported Formats
Only .xlsx is supported. Keys and values are read from a specified worksheet and cell ranges.
Inputs
| Input | Description |
|---|---|
| Sheet name | Defaults to first sheet if unspecified. |
| Key starting cell | First key cell (e.g., A2). |
| Key ending cell | Optional; if empty, parsing continues until first empty key. |
| Value starting cell | First value cell (e.g., B2). |
| Value ending cell | Optional; must align with key range if provided. |
Parsing Behavior
Supports vertical or horizontal ranges.
Single cells produce a single pair.
Empty keys are skipped; empty values are allowed.
Errors produce descriptive messages.
Example Result
{
"art-1": "article-1-mapped",
"art-2": "article-2-mapped",
"art-3": "article-3-mapped"
}XML Import
Example XML
<articles>
<article>
<artNo>art-1</artNo>
<mappedArtNo name="artNo1">article-1-mapped</mappedArtNo>
</article>
</articles>Inputs
| Input | Description |
|---|---|
| Key list path | XPath selecting key nodes (e.g., /articles/article). |
| Key property | Element or attribute representing key (artNo, artNo/@id). |
| Value list path | XPath selecting value nodes (optional). |
| Value property | Element or attribute for value (mappedArtNo, mappedArtNo/@name). |
Parsing Behavior
Node lists from Key and Value paths must match in count.
Supports element text and attributes.
Empty keys are skipped.
Errors for invalid paths or mismatched node counts.
Example Mapping
{
"art-1": "artNo1",
"art-2": "artNo2"
}Scheduled Import Configuration
Overview
When Scheduled Import is enabled, the system reads an external file path and re-imports allowed values automatically based on a configurable schedule. The scheduler evaluates trigger conditions every minute.
Inputs
| Input | Description |
|---|---|
| File path | Local or network file path to source file. |
| Select schedule type | Interval, Daily, Weekly, Monthly. |
Schedule Options
Interval
Specify interval unit (e.g.,
5)Choose Minutes, Hours, or Days
Daily
Set a 24h time (e.g.,
14:00)
Weekly
Choose one or more days (e.g., Wednesday, Friday)
Set time (e.g.,
09:30)
Monthly
Select a day of month (e.g., 8)
Provide time (e.g.,
11:00)