applyQueryMap
Erste Implementierung (Version 1) für die neue Funktion kit.common.ix.functions.applyQueryMap.
Die Funktion führt eine SQL-Abfrage gegen die ELO-Datenbank aus und schreibt das Ergebnis kontrolliert in ELO-Map-/GRP-Tabellenfelder. Sie ist der SQL-basierte Parallel-Baustein zu applyDynKwlMap und teilt sich dessen Schreiblogik (Modi, Normalisierung, DryRun, Status).
Konzept: applyQueryMap-konzept.md
Status
- Version 1 implementiert:
query→renderSql→executeQuery→mapResultToRows→applyRows - Version 1.1 implementiert:
collectQueryContexts– Schleife über mehrere Quellzeilen (Map-Tabelle), pro Zeile ein eigener Parametersatz + eine eigene Query - Konfiguration:
source(requiredFields,maxLines,stopOnEmptyRequired),query(sql,params),mapping,target,options - Modi:
append,overwrite,singleLine,merge - DB-Zugriff über
new Packages.de.elo.ix.jscript.DBConnection().query(sql) - SQL-Parameter werden über
{{PARAM_NAME}}-Platzhalter typsicher eingesetzt (renderSql), kein Prepared Statement –query.params[].type(number/string) ist deshalb Pflicht
Hinweise
- Wird typischerweise aus einem Workflow-Node aufgerufen
- Schreibt wie
applyDynKwlMapüberRF_sol_function_Set mappingist eine geordnete Liste von Zielfeldnamen – Position muss 1:1 zur Spaltenreihenfolge imSELECTpassen- Ist
source.requiredFieldsnicht gesetzt, gibt es genau einen Kontext (Zeile 1) – identisches Verhalten zu Version 1 (eine Query pro Aufruf) query.params[].lineist jetzt optional: ohne Angabe wird die aktuelle Kontext-Zeile aussourceverwendet, mit Angabe eine feste Zeile (z. B. ein Kopfwert, der für alle Kontexte aus Zeile 1 gelesen wird)- Noch offen:
query.params[].source: "objKey"ist implementiert, aber ungetestet (getObjKeyValueliestsord.objKeysanalog zum DynKwl-Code)