RemoteQuery Userexit

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:

OptionBeschreibung

Basics

Server urlAdresse des RemoteQuery-Servers (z.B. http://MyServer:4430).
ConnectionAuswahl der Verbindung über Drop-Down. Die Auswahl wird vom Server bereitgestellt.
UserC4 Benutzer zur Authentifizierung.
PasswordC4 Benutzer-Passwort zur Authentifizierung gegen den ASE Service.
Max. hitsMaximale Trefferanzahl (0 entspricht keiner Beschränkung).
Resize to contentDie Trefferlistenspalten werden auf die Größe des Inhalts angepasst.
Resize to fieldnamesDie Trefferlistenspalten werden auf die Größe des Feldnamens angepasst.
Always show resultBei aktiver Option wird auch bei nur einem Treffer die Trefferliste angezeigt.

Query

Calling fieldAufrufendes Feld (das Feld in dem der Cursor sich befindet bzw. hinter dem der Userexit hinterlegt wurde).
QueryAbfragetext mit Platzhaltern (s.o.).

Assignment

Target fieldFeld im Feldschema (technischer Bezeichner)
External fieldFeldname aus der Datenquelle.

Technische Bezeichnung

ccremotequeryuserexit.dll