RemoteQuery Userexit
- Former user (Deleted)
- Dennis Balzuweit
Funktion
Der RemoteQuery Userexit bietet zahlreiche Funktionen um verschiedenste Datenbestände einfach in Scan, Verify oder Office Anwendungen zu integrieren. Der Userexit greift dabei auf die am Server konfigurierten Verbindungen (Connections) zu. Die Daten können dabei aus einer Datenbank, SharePoint, SAP, EASY Enterprise.x, EASY Documents oder einer gescripteten Quelle stammen.
Über den Button Test Connection kann ein Verbindungstest zum Server durchgeführt werden.
Grundkonfiguration
In der Grundkonfiguration muss eine RemoteQuery Server Url, eine Connection, ein User sowie ein Passwort konfiguriert werden. Die Server Url sollte ein FQDN Namen beinhalten - Achtung: kein "localhost" verwenden, auch wenn die Verbindungsprüfung damit funktioniert. Der Benutzer ist ein entsprechend im c4 gepflegter Benutzer mit System-Rechten.
Max. hits steuert die max. übergebene Datenmenge an den Client. 0 entspricht einer unbeschränkten Anzahl an Sätzen. Hierbei bitte beachten, dass beispielsweise bei einer Datenbankabfrage die Treffermenge idealerweise schon in der Query beschränkt wird (Bsp. MSSQL "SELECT TOP 100 ...").
Resize to content und Resize to fieldnames regeln die Trefferdarstellung bzw. die Spaltenbreite.
Über Always show results kann im Falle von nur einem Treffer geregelt werden, dass auch hier die Trefferliste angezeigt wird.
Queries definieren
Eine Abfrage (Query) kann je Indexfeld (Calling field) definiert werden. Das bedeuted, dass je nach Feld von dem aus der Userexit aufgerufen wird, eine andere Query verwendet werden kann.
Als Platzhalter für einen Indexwert kann jedes Feld aus der aufrufenden Indexmaske verwendet werden. Die Platzhalter werden in folgendem Format in der Query eingefügt: $[Feldname]$.
Beispiel
SELECT TOP 1000 * FROM crmAccount WHERE crmCompany like '%$Name$%' ORDER BY crmCompany
Zur einfacheren Pflege kann dazu in der Toolbar temporär ein Feldschema bzw. dessen Felder geladen werden. Diese stehen dann owohl im Calling field, als auch in der Query via Rechtsklick zur Verfügung.
Für die Selektion von Unicode-Zeichen im SELECT Statement folgenden Zusatz verwenden:
... WHERE crmCompany = (N'$Name$')
Referenz
Alle Infos zur Definition von Queries finden Sie im Referenz-Bereich unter Queries.
Ergebniszuordnung
Die Ergebnisse einer Abfrage können über das Assignment geregelt werden. Hierbei wird einem Target field (Feld in der Maske) ein External field (Spalte aus der Treffermenge) zugeordnet. Die Zuordnung der Ergebnisse erfolgt unabhängig von welchem Feld aus die Query aufgerufen wurde.
Zur einfacheren Pflege kann auch hier in der Toolbar temporär ein Feldschema bzw. dessen Felder geladen werden. Diese stehen dann im target field zur Auswahl.
Konfigurationsoptionen
Die Konfigurationsmöglichkeiten eines REMOTEQUERY Userexits im Detail:
Option | Beschreibung |
---|---|
Basics | |
Server url | Adresse des RemoteQuery-Servers (z.B. http://MyServer:4430). |
Connection | Auswahl der Verbindung über Drop-Down. Die Auswahl wird vom Server bereitgestellt. |
User | C4 Benutzer zur Authentifizierung. |
Password | C4 Benutzer-Passwort zur Authentifizierung gegen den ASE Service. |
Max. hits | Maximale Trefferanzahl (0 entspricht keiner Beschränkung). |
Resize to content | Die Trefferlistenspalten werden auf die Größe des Inhalts angepasst. |
Resize to fieldnames | Die Trefferlistenspalten werden auf die Größe des Feldnamens angepasst. |
Always show result | Bei aktiver Option wird auch bei nur einem Treffer die Trefferliste angezeigt. |
Query | |
Calling field | Aufrufendes Feld (das Feld in dem der Cursor sich befindet bzw. hinter dem der Userexit hinterlegt wurde). |
Query | Abfragetext mit Platzhaltern (s.o.). |
Assignment | |
Target field | Feld im Feldschema (technischer Bezeichner) |
External field | Feldname aus der Datenquelle. |
Technische Bezeichnung
ccremotequeryuserexit.dll