Files

30 lines
1.4 KiB
Markdown
Raw Permalink Normal View History

# `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>
```