Guten Abend liebe Supporter,
wir haben uns kürzlich für den FlowHeater entschieden und da hätte ich schon meine erste Frage, die hoffentlich verstanden und beantwortet werden kann.
Ich besitze eine Exceldatei von einem Lieferanten bezüglich den Maßangaben von Artikeln.
Bsp.
LF ArtNr Massangabe Masswert Masseinheit
BWT 10091 LN 300,0 MMT
BWT 10091 WD 60,0 MMT
BWT 10091 HT 60,0 MMT
BWT 10091 BW 2,2 KGM
BWT 10092 LN 300,0 MMT
BWT 10092 WD 60,0 MMT
BWT 10092 HT 60,0 MMT
BWT 10092 BW 2,15 KGM
BWT 10093 LN 300,0 MMT
Die Export-Datei enthält wesentlich mehr Spaltenköpfe. Es sollen aber vorerst lediglich die Werte aus dieser Datei (mit diesen Werten) gelesen werden.
Wie zu sehen ist, kommt der Artikel "10091" 4 mal vor. Das liegt daran dass in der einen Zeile die Länge in der nächsten die Breite, in der nächsten die Höhe und in der anderen das Gewicht angegeben wird.
Zieldatei sieht bspw. folgenderweise aus
ArtNr Bez Länge Breite Höhe Gewicht ... (weitere Spaltenköpfe)
10091 lala 300,0 60,0 60,0 2,2
10092 lolo 300,0 60,0 60,0 2,15
10093 lili ....
Als Screenshot lade ich mal mein Mapping hoch um mein Problem und meine Frage zu schildern.
Mein Script soll in der READ-Zeile "Massangabe" prüfen, welcher Wert darin steht. Bei dem Wert "LN" soll er den Wert aus der READ-Zeile "Masswert" nehmen und es in die WRITE-Zeile "Laenge" schreiben.
Wird in der READ-Zeile "Massangabe" der Wert "WD" gelesen, so soll der Wert aus der READ-Zeile "Masswert" genommen und in die WRITE-Zeile "Breite" geschrieben werden usw...
Ich konnte mit Hilfe des Forums herausfinden, dass ich Objektvariablen mit den Werten aus einer READ-Zeile folgendermaßen füllen kann:
object massangabe = InValues[0].GetValue();
Jedoch konnte ich nicht herausfinden, wie ich meine Werte in die WRITE-Zeilen bekomme.
Folgendermaßen habe ich ein Code versucht zu generieren, bräuchte jedoch an dieser Stelle Hilfe
// Diese Funktion ist zwingend erforderlich!
public object DoWork()
{
object massangabe = InValues[0].GetValue();
object masswert = InValues[1].GetValue();
object masseinheit = InValues[2].GetValue();
if (massangabe == LN){
breite = masswert ; // "breite" aus der WRITE-Seite
}
else if (massangabe== WD){
hoehe = masswert ; // hoehe aus der WRITE-Seite
}
else if (massangabe== HT){
laenge = masswert ; // laenge aus der WRITE-Seite
}
else {massangabe== BW){
gewicht == masswert ; // gewicht aus der WRITE-Seite
}
}
Mit freundlichen Grüßen
E. Özel