Dynamischer Daten Import / Export

datenbank

weil Einfach - produktiver ist
Mit der Freeware Version können bis zu 100.000 Datensätze verarbeitet werden!

Heater .NET Script - dynamische Script Ausführung

Heater .NET ScriptMit dem .NET Script Heater können Sie Ihre FlowHeater Definition mit eigenen .NET Code (C# / VB.NET) ausstatten. Es stehen im Prinzip alle mitgelieferten .NET Funktionen, aus dem .NET Framework 4.5, zur Verfügung. Hiermit sind der dynamischen Transformation keine Grenzen mehr gesetzt.
Alles was Sie bisher nicht mit den mitgelieferten Funktionen abbilden konnten, können Sie mit Hilfe des .NET Script Heater problemlos in DOTNET selbst programmieren. Es werden die DOTNET Programmiersprachen C# (CSharp) und VB.NET (Visual Basic) unterstützt.

Hinweis: Es können auch sehr umfangreiche Skripte verwendet werden. Selbst komplexe Klassen, sowie eigene .NET DLLs können eingebunden werden!

Einstellungen

Reiter Skript

Heater .NET Script KonfigurationHeater .NET Script KonfigurationAusführen bei: Hier stehen folgende Optionen zur Verfügung.

Start: Das Skript wird einmalig, beim Start des Verarbeitungsschrittes, auf dem der Heater vorhanden ist, ausgeführt. Wird diese Option gewählt können dem Heater keine Werte übergeben werden, sowie hat der Heater keinen Ausgang.

Standard: Hier wird das Skript pro Datensatz aufgerufen, wenn der Ausgang abgerufen wird.

Pro Zeile/Satz: Hier wird das Skript pro Datensatz aufgerufen, egal ob der Ausgangswert abgerufen wird.

Ende: Das Skript wird einmalig, am Ende des Verarbeitungsschrittes, auf dem der Heater vorhanden ist, ausgeführt. Wird diese Option gewählt können dem Heater keine Werte übergeben werden, sowie hat der Heater keinen Ausgang.

Sprache: Hier können Sie die gewünschte Programmiersprache auswählen. Es stehen C# (CSharp) und VB.NET (Visual Basic) zur Verfügung.

Check Syntax: Hiermit können Sie den eingegeben „Source Code“ auf evtl. Fehler überprüfen lassen.

Beschreibung: Hier können Sie eine Beschreibung hinterlegen, die dann u.a. auch im Designer als ToolTip Text angezeigt wird, sobald Sie mit der Maus über den .NET Script Heater fahren.

Reiter Erweitert

Heater .NET Script - Usings / ImportsHeater .NET Script - Usings / ImportsVerarbeitung bei Fehler abbrechen: Ist diese Option aktiviert, wird die komplette Verarbeitung bei einem Fehler im Skript, der zur Laufzeit auftritt, abgebrochen. Hinweis: Diese Option sollten Sie nur zu Testzwecken oder aber bei der Fehlersuche deaktivieren!

Usings / Imports: Hier tragen Sie die notwendigen Usings (C#) bzw. Imports (VB.NET) ein, die für das Skript benötigt werden.

DLLs: Hier tragen Sie die DLLs ein, die während der Skriptausführung geladen werden sollen. Wenn Sie eigene DLLs verwenden möchten müssen diese entweder im GAC (Global Assembly Cache) vorhanden sein, oder aber Sie verweisen hier auf die DLLs mit einer kompletten Pfadangabe. z.B. „C:\DEV\eigene.dll“. Es werden DotNet DLLs ab .NET Framework 2.0 bis 4.5 unterstützt.

Reiter Bibliothek

Heater .NET Script - BibliothekHeater .NET Script - BibliothekHier haben Sie die Möglichkeit Skripte zur späteren Verwendung in einer Skript Bibliothek, als „Custom Script Heater“, abzulegen. Der Pfad zur Bibliothek kann über „Menü->Extras->Optionen->.NET Skript“ angepasst werden. Die Benutzer Skripte können wie integriert Heater/Funktionen direkt über den Designer in die Definition gezogen werden.

Initialen: 2-stellig, der Text wird im „Custom Script Heater“ zur Unterscheidung auf dem Designbereich angezeigt.

Anzeigename: Name des „Custom Script Heater“, der im Auswahl Bereich angezeigt werden soll.

Speicher unter: Es öffnet sich ein „Speichern Dialog Fenster“ worüber Sie das Benutzer Skript, zur späteren Verwendung, speichern können. Als Standardpfad ist der oben erwähnte Bibliothekspfad voreingestellt. Sie können hier Benutzerskripte über Unterordner (nur eine Ebene) gruppieren. Der Verzeichnisname wird als Gruppenname übernommen. Damit auf unterschiedlichen Rechnern, oder aber im Team, immer die gleichen Skripte verwendet werden unterstützt der Bibliothekspfad u.a. auch UNC Pfade sowie Netzlaufwerke.

Skript in Bibliothek aktualisieren: Wird ein bereits vorhandener „Custom Script Heater“ geöffnet und am Skript werden Änderungen vorgenommen kann hierüber das zugrundeliegende Skript aktualisiert werden. Hinweis: Es wird nur das zugrundeliegende Skript geändert. Andere Heater, die bereits eine ältere Skript Version verwenden, bleiben davon unberührt!


Zugriff auf Parameter und Datentypkonvertierung

Der .NET Script Heater verfügt über die gleichen Mechanismen wie der Gesamte FlowHeater. Eingehende Datentypen werden automatisch anhand der gemachten Format Vorgaben des WRITE Adapters in den gerade benötigten Datentyp umgewandelt. Um dies zu nutzen wurden 5 Funktionen eingefügt.

 FunktionBeschreibung
  object InValues[x].GetValue() liefert den Inhalt des Parameters ohne Konvertierung, hiermit müssen Sie selbst zurechtkommen.
  object InValues[x].GetInt() Konvertiert den Inhalt in einen integer Wert.
  object InValues[x].GetLong() Konvertiert den Inhalt in einen long Wert.
  object InValues[x].GetBool() Konvertiert den Inhalt in einen boolean Wert.
  object InValues[x].GetDouble() Konvertiert den Inhalt in einen double Wert.
  object InValues[x].GetDecimal() Konvertiert den Inhalt in einen decimal Wert.
  object InValues[x].GetString() Wandelt den Inhalt in eine Zeichenfolge (String) um.
  object InValues[x].GetDateTime() Konvertiert den Inhalt in einen DateTime Typ.

x = 0 = erster Parameter!

Achtung: Für alle Funktionen gilt, ist der Rückgabe Wert NULL, konnte der Inhalt nicht konvertiert werden!

Auf die Parameter kann über das InValues Array über die oben genannten Funktionen zugriffen werden. Die Reihenfolge der Parameter ist die gleiche wie es im Designer angegeben wurde.

Rückgabewert / Return

Über den Returnwert wird der von Ihrer Funktion Transformierte Wert an den FlowHeater zur weiteren Verarbeitung zurückgegeben. Folgende .NET Datentypen können derzeit zurückgegeben werden.

  • null
  • bool
  • int
  • long
  • float
  • double
  • decimal
  • string
  • DateTime

 

Beispiele

Folgende Beispiele sind zum .NET Script Heater bereits verfügbar.

 

oder schauen Sie sich für einen ersten Überblick folgende kleine C# (CSharp) Script Code Ausschnitte an.

 

Einfacher Zähler, Rückgabe 1, 2, 3, ... je nach Anzahl der verarbeitenden Datensätze.

int i = 0;
public object DoWork()
{
     return ++i;
}

 

Erweiterter Zähler über eine zusätzliche Funktion. Rückgabe hierbei 2, 4, 6, .. je nach Anzahl der verarbeitenden Datensätze.

int i = 0;
public object DoWork()
{
    return GibWasZurueck();
}

private int GibWasZurueck()
{
    i += 2;
    return i;
}

 

Eine etwas komplexere Berechnung über eine zusätzliche Klasse, die den 1. Eingangsparameter verarbeitet.

public object DoWork()
{
    object o = InValues[0].GetInt();
    if (o == null)
        return -1;
    else
    {
        KomplexeBerechnung komplex = new KomplexeBerechnung();
        return komplex.Rechne((int)o);
    }
}

public class KomplexeBerechnung
{
    public KomplexeBerechnung()
    {
    }

    public int Rechne(int i)
    {
        return i + i;
    }
}

 

 

Bitte beachten Sie auch die Allgemeinen Infos zu den Heatern

 

Ähnliche Artikel