30 lines
1.4 KiB
Markdown
30 lines
1.4 KiB
Markdown
|
|
# `map_lookup` — Wertetabelle / Mapping
|
||
|
|
|
||
|
|
**Zweck:** Bildet einen Eingabewert über eine Inline-Tabelle auf einen Zielwert ab — spart lange `<if>`-Kaskaden für Zuordnungen wie Status → Empfänger oder Typ → Feldname. Bei fehlendem Treffer greift ein Default.
|
||
|
|
|
||
|
|
**Parameter**
|
||
|
|
|
||
|
|
| Name | Pflicht? | Default | Beschreibung |
|
||
|
|
|---|---|---|---|
|
||
|
|
| `input` | ja | leer | Zu vergleichender Wert (Platzhalter erlaubt). |
|
||
|
|
| `target_var` | ja | — | Name der Ziel-Kontextvariable. |
|
||
|
|
| `default` | nein | leer | Wert bei fehlendem Treffer. |
|
||
|
|
| `case_sensitive` | nein | `false` | `true` = Groß-/Kleinschreibung beachten. |
|
||
|
|
| `<map><entry from="…" to="…"/></map>` | ja | — | Wiederholbare Einträge; erste Übereinstimmung gewinnt. Statt `to`-Attribut auch Element-Form `<entry from="…"><to>{{…}}</to></entry>`. Platzhalter in `from`/`to` erlaubt. |
|
||
|
|
|
||
|
|
**Eingangswerte:** Der Wert aus `input` (z. B. `{{subart}}`).
|
||
|
|
|
||
|
|
**Ausgangswerte:** `<target_var>` = gemappter Wert bzw. Default; `<target_var>_matched` = `"1"` (Treffer) oder `"0"` (Default) — praktisch für nachfolgende `<if>`-Blöcke.
|
||
|
|
|
||
|
|
```xml
|
||
|
|
<task type="map_lookup" id="status_zu_feld">
|
||
|
|
<input>{{subart}}</input>
|
||
|
|
<target_var>ziel_feld</target_var>
|
||
|
|
<default>Sonstiges</default>
|
||
|
|
<map>
|
||
|
|
<entry from="Planung abgeschlossen" to="PlanungEnde" />
|
||
|
|
<entry from="Schlussabnahme" to="IstBE" />
|
||
|
|
</map>
|
||
|
|
</task>
|
||
|
|
```
|