Zugriff auf Datums-UDF mit parameter [%D;UIDx]
Frank Romeni
Hallo an alle!Ich beschreibe mein Problem in vereinfachter Form, wobei das Wesentliche erhalten bleibt.
Für Belege wurde in SAP ein UDF vom Typ Datum definiert.
Über customize/new item wurde das UDF dem Angebotsbeleg zugeordnet und mit der UID 'UID_1' versehen.
In customize/optimizer wurden das UDF bei Änderung als Auslöser für eine SQL-Query definiert, in der lesend auf das UDF zugegriffen wird.
...
DECLARE @date AS datetime
SET @date = '[%D;UID_1]'
...
Bei Aktivierung des Queries im Angebotsbeleg, das UDF sei z.B. mit dem Datum 01.03.2008 belegt, wird ein Fehler gemeldet:
customize: Fehler im Item Event handling:
Falsche Syntax in der Nähe von '01.03.'
Ein Syntaxfehler zuvor, der sich ergab, weil ich die Anführungszeichen um [%D;UID_1] vergessen hatte, war erwartungsgemäß die Meldung Falsche Syntax in der Näge von '01.03.2008', da SQL Datumskonstanten nur mit Anführungszeichen akzeptiert.
Der erste Fehler läßt aber erkennen, daß [%D;UID_1] das komplette Datum mit Jahr liefert!
Warum wird jetzt, mit den korrekten Anführungszeichen für SQL, nur Tag und Monat geliefert? Das weist SQL natürlich auch zurück!
Frank Romeni
Michael Egloff
Hallo Frank,ich hab das bei mir so gelöst:
SET LANGUAGE deutsch
DECLARE @date AS datetime
SET @date = CAST('[%G;UID_1]' AS DATETIME)
Hoffe, das hilft!
Gruss,
Michael
Frank Romeni
Hallo Michael,so habe ich das Problem natürlich auch bereits umschifft!
Übrigens ist das CAST überflüssig, da SQL an dieser Stelle automatisch konvertiert. Es reicht also vollkommen aus, zu schreiben
DECLARE @date AS datetime
SET @date = '[%G; UID_1]'
Es geht aber primär nicht um ein Workaround, sondern um den Hinweis, daß offensichtlich mit der Parameter-Schnittstelle etwas nicht stimmt. Und seit Framework Version 2.32 ist es ja noch schlimmer geworden mit den Parametern (siehe meine Anfrage vom 15.02.2008).
Es wäre schön, hierzu von Coresuite eine Stellungnahme zu bekommen!
Gruß von
Frank Romeni
Frank Romeni
Ich schließe diese Anfrage, da ich als ungeduldiger Mensch inzwischen eine neue hierzu angelegt habe.Frank Romeni
0
Please sign in to leave a comment.
Comments
0 comments