optimizer - C# - Zugriff auf Matrixspalten
Frank Romeni
In der Artikelmatrix von Belegen habe ich zwei UDF vom Typ DateTime. In ein drittes UDF Berechne ich aus den beiden Datumswerten die Anzahl der Tage.Bisher habe ich dies mit einer SQL-Regel sehr einfach realisieren können:
DECLARE @fromDate AS datetime
DECLARE @toDate AS datetime
SET @fromDate = '[%G;38;U_fromDate]'
SET @toDate = '[%G;38;U_toDate]'
SELECT CAST(@toDate - @fromDate + 1 AS integer)
Ich bin nun gezwungen, dies in einer CSharp-Regel zu realisieren. Dort scheine ich aber nur die Möglichkeit zu haben, die Spaltenwerte als Zeichenketten aus der Matrix zu lesen, so daß ich diese nicht einfach weiteverarbeiten kann:
Matrix matrix = Matrix.GetFromUID(pVal.Form, "38");
string fromDate = matrix.GetValue("U_fromDate", pVal.Row-1);
string toDate = matrix.GetValue("U_toDate", pVal.Row-1);
// usw.
Sieht irgendjemand einen Möglichkeit, dies doch irgendwie annähernd so einfach zu lösen wie in einem SQL-Query?
Ein einfacheres, aber ähnliches Problem:
Wenn Werte numerischen Typs in einer Matrixspalte stehen und ich diese nur als Zeichenkette erhalte (s.o), so kann ich auch mit diesen nicht weiterarbeiten, da auch eine explizite Konvertierung von string in z.B. int in C# nicht möglich ist.
Gibt es hierzu irgendwelche Hilfsfunktionen, die Zeichenketten, die numerische Werte darstellen, in einen numerischen Typ konvertieren?
Danke im Voraus!
Gruß
Frank Romeni
Frank Romeni
Ich habe meine Frage selbst beantworten können.Ich wußte nicht, daß ich im Optimizer in C#-Regeln auf .NET-Klassen, wie z.B. System.DateTime zugreifen kann.
Frank Romeni
0
Please sign in to leave a comment.
Comments
0 comments