Zu Ihrer 1. Frage: Sie können dem .NET Script Heater auch mehrere Parameter übergeben, so können Sie das in einem Skript verarbeiten, siehe Beispiel Skript in VB.NET
' VB.NET Script Beispiel
Public Function DoWork() As Object
Dim sArtNr as String
Dim sRet as String
Dim sBedingung1 as String
Dim sBedingung2 as String
sArtNr = InValues(0).GetString()
If sArtNr is Nothing Then sArtNr = ""
sBedingung1 = InValues(1).GetString()
If sBedingung1 is Nothing Then sBedingung1 = ""
sBedingung2 = InValues(2).GetString()
If sBedingung2 is Nothing Then sBedingung2 = ""
If sBedingung1 = "G" Then
sRet = sArtNr + " G Fall"
Else If sBedingung2 = "Q" Then
sRet = sArtNr + " Q Fall"
Else
sRet = sArtNr
End If
DoWork = sRet
End Function
Wenn's denn unbedingt über 2 .NET Script Heater sein muss können Sie das Ergebnis auch nach der Verarbeitung über einen
String Append Heater
zusammenführen. Hier müssen Sie dann im jeweiligen Skript bei nicht Verarbeitung einen Leerstring zurückliefern. Der String Append Heater fügt dann die 2 Ergebnisse der .NET Script Heater zusammen (1xLeerstring + 1x das Ergebnis). Den Output weisen Sie dann dem Feld auf der WRITE Seite zu.
Zu Ihrer 2. Frage: Das können Sie ebenfalls mit dem .NET Script Heater und folgenden kleinen Skript durchführen, siehe Beispiel Skrip in C#.
// Beispiel Skript in C#
// globales String Array
string [] lines = null;
public object DoWork()
{
string sRet = String.Empty;
string sCompare = (string)InValues[0].GetString();
if (sCompare == null)
sCompare = String.Empty;
sCompare = sCompare.ToUpper().Trim();
// ersetzen Liste nur einmalig einlesen
if (lines == null)
lines = File.ReadAllLines("ersetzen.txt");
if (lines != null)
{
foreach (string line in lines)
{
// CSV Datei 1. Feld = Wert der geucht wird, 2. Feld = Rückgabe bei match
char[] split = { ';' };
string[] sTemp = line.Split(split);
if (sTemp[0].ToUpper().Trim() == sCompare)
{
sRet = sTemp[1];
break;
}
}
}
else
{
// nicht gefunden!
sRet = (string)InValues[0].GetString();
}
return sRet;
}
Das Skript liest einmalig eine CSV Textdatei "ersetzen.txt" ein. Hier können Sie die zu ersetzenden Werte ein pflegen. Als Eingangsparameter müssen Sie dem Heater die Artikelbezeichnung übergeben. Findet das Skript die Bezeichnung wird der 2. Wert der CSV Datei zurückgegeben, wenn nicht wird der ursprüngliche Eingangsparameter geliefert.
z.B.
FH;FlowHeater
D;Designer
B;Batch
…