Zum Hauptinhalt springen

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: queryrenderSqlexecuteQuerymapResultToRowsapplyRows
  • 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 über RF_sol_function_Set
  • mapping ist eine geordnete Liste von Zielfeldnamen – Position muss 1:1 zur Spaltenreihenfolge im SELECT passen
  • Ist source.requiredFields nicht gesetzt, gibt es genau einen Kontext (Zeile 1) – identisches Verhalten zu Version 1 (eine Query pro Aufruf)
  • query.params[].line ist jetzt optional: ohne Angabe wird die aktuelle Kontext-Zeile aus source verwendet, 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 (getObjKeyValue liest sord.objKeys analog zum DynKwl-Code)