
Verbesserungen an DBLookup und Formeln (Version 3.2.91y)
Wir haben eine Reihe von Änderungen am Formelsystem vorgenommen, insbesondere an der Funktion 'DBLookup'. Nachfolgend finden Sie eine Zusammenfassung dieser Änderungen und wann sie eingeführt wurden.
Verbesserte Formelprüfung und bessere Fehlermeldungen
Die Fehlerbehandlung wurde verbessert und liefert nun bessere und aussagekräftigere Fehlermeldungen. Die Fehlermeldungen enthalten jetzt die komplette Formel, die fehlschlägt. Damit lässt sich das Problem deutlich leichter finden und beheben.
Außerdem prüfen wir jetzt die Anzahl der Parameter, die für jede Formel übergeben werden. Dadurch kann es passieren, dass Sie plötzlich Fehler bei Formeln erhalten, die vorher zu funktionieren schienen. Tatsächlich hätte die Formel nicht funktioniert, sie ist nur stillschweigend fehlgeschlagen, ohne das richtige Ergebnis zu liefern. Jetzt erhalten Sie eine Fehlermeldung, wenn die Anzahl der Parameter nicht stimmt.
Die Verwendung der Funktion Message führte mit RapidiConnector Version 3.2.90a oder höher zu fehlgeschlagenen Transfers. Das ist behoben und die Formel Message funktioniert wieder einwandfrei.
Außerdem haben wir ein Problem mit 'DBLookup' (das etwa mit Version 3.2.90a aufgetreten ist) behoben, das zum Absturz des RapidiConnector führte. Ursache war ein Fehler in der DBLookup-Formel (wenn zum Beispiel die Argumente für den Tabellen- oder Feldnamen falsch waren). Diese Fehler werden jetzt korrekt behandelt und gemeldet. Gleichzeitig haben wir den Zeitpunkt der Fehlermeldung verbessert, um diese Fehler sofort zu prüfen und zu melden, anstatt weiter aus dem Quellsystem zu lesen - so erhalten Sie die Fehlermeldung so schnell wie möglich.
Die oben genannten Änderungen wurden in Version 3.2.91q eingeführt
Die Funktionen CASE und IF geben nun ebenfalls bessere Fehlermeldungen aus, wenn Argumente fehlen. Diese Änderung wurde in Version 3.2.91v eingeführt.
DBLookup funktioniert jetzt mit jeder Connection (nicht nur mit 'SOURCEDS' oder 'DESTDS')
Das erste Argument von DBLookup ist die Connection (oder "DataSource", wie sie früher hieß). Sie können entweder 'SOURCEDS' oder 'DESTDS' angeben - damit verwendet DBLookup die aktuelle Source- oder Destination-Connection - oder Sie geben eine beliebige andere Connection an, die Sie unter Connections eingerichtet haben (etwa NAV001 oder MSSQL001).
Das Problem war, dass DBLookup bei einer anderen Connection als SOURCEDS oder DESTDS die Connection nicht korrekt wiederverwendet hat. Das führte zu dem Fehler "DataHandler already in use", wenn DBLookup mehr als einmal ausgeführt wurde - zum Beispiel, wenn mehr als ein Datensatz aus der Source gelesen wurde.
Dieses Problem ist jetzt behoben und Sie können DBLookup mit jeder Connection und mit so vielen verschiedenen Connections verwenden, wie Sie möchten.
Beispiel für DBLookup: ##DBLookup('MSSQL002','Contact','CustomerNo',"No",'Name')
Verwenden Sie möglichst 'SOURCEDS' oder 'DESTDS'
Für den Zugriff auf die aktuelle Source- oder Destination-Connection sollten Sie jedoch weiterhin die Synonyme 'SOURCEDS' oder 'DESTDS' verwenden. Andernfalls erhalten Sie den Fehler "Connection already in use", da diese Connections bereits vom Transfer selbst verwendet werden.
Grundsätzlich empfehlen wir dringend, DBLookup mit 'SOURCEDS' zu verwenden, da das normalerweise deutlich schneller ist als andere Connections. Das gilt besonders beim Lesen von Daten über den RapidiConnector.
Beispiel für DBLookup mit SOURCEDS: ##DBLookup('SOURCEDS','CONTACTPERSON','CUSTACCOUNT',"ACCOUNTNUM",'NAME')Außerdem haben wir ein Problem mit DBLookup behoben, wenn 'DESTDS' zusammen mit der Mirror Technology zum Lesen aus der Source verwendet wurde. Der Mirror meldete dann jedes Mal, dass alle Datensätze geändert wurden. Das ist behoben und der Mirror ignoriert DBLookup mit 'DESTDS' jetzt korrekt, so wie es sein soll. Dieser Fehler ist etwa mit Version 3.2.90a aufgetreten.
Die oben genannten Änderungen wurden in Version 3.2.91y eingeführt. Sie benötigen diese oder eine neuere Version sowohl auf dem Rapidi Central Service als auch auf dem oder den RapidiConnector(s).
Bitte wenden Sie sich an unser Support-Team, um ein Upgrade zu vereinbaren.
Mit freundlichen Grüßen
Michael
