[gelöst] Dataport Fehler "Strset kann * nicht mehr ..

20. Januar 2011 10:42

Hallo Forum,

ich versuche in einem Dataport folgenden Code auszuführen.

Übergabe := 'E900016_9_9';
String := CONVERTSTR(Übergabe,',','.');
String := CONVERTSTR(String,'_',',');
varFabrikArtNr := SELECTSTR(1, String);
varParameter1 := SELECTSTR(2, String);
varParameter2 := SELECTSTR(3, String);
varParameter2 := CONVERTSTR(varParameter2,'.',',');

Bei der Zuweisung varFabrikArtNr kommt es zu diesem Fehler:
"Strset kann '9' nicht mehr als einmal enthalten.
E900016,9,9"

Wenn Übergabe 'E900016_9_9,5' ist, dann funktioniert das.
Wenn Übergabe 'E900016_8_8' ist, dann funktuoniert das auch nicht.

Hat jemand eine Idee?

Viele Grüße
Axel Hörnschemeyer
Zuletzt geändert von Axel.Hoernschemeyer am 1. Februar 2011 08:54, insgesamt 1-mal geändert.

Re: Dataport Fehler "Strset kann * nicht mehr als einmal ...

20. Januar 2011 10:51

Alle kommagetrennten Werte müssen unterschiedlich sein:
C/SIDE Hilfe hat geschrieben:SELECTSTR treats string values as OPTIONS. This means that identical values in different strings are not allowed.

Re: Dataport Fehler "Strset kann * nicht mehr als einmal ...

20. Januar 2011 11:27

Hallo McClane,

die Erklärung leuchtet ein.

Kann man das umgehen bzw. gibt es eine andere Lösung für mein Problem?

Viele Grüße
Axel

Re: Dataport Fehler "Strset kann * nicht mehr als einmal ...

20. Januar 2011 12:01

Eine kleine Funktion, die den String mit frei wählbarem (oder auch verschiedenen) Trennzeichen in mehrere aufteilt :) Musst du zwar selbst machen, aber dafür sparst du dir all die converstr. Oder schau mal im Downloadbereich; da ist eine Textmanagement-CU von Timo. Vielleicht ist da schon was Passendes drin.
Zuletzt geändert von McClane am 20. Januar 2011 12:04, insgesamt 1-mal geändert.

Re: Dataport Fehler "Strset kann * nicht mehr als einmal ...

20. Januar 2011 12:03

Axel.Hoernschemeyer hat geschrieben:Kann man das umgehen bzw. gibt es eine andere Lösung für mein Problem?

Schau mal hier rein, ob was dabei ist: Suche nach SELECTSTR
Da werden auch Alternativen diskutiert.

Re: Dataport Fehler "Strset kann * nicht mehr als einmal ...

20. Januar 2011 22:54

Wofür soll diese Zerlegerei gut sein?

Da gibts sicherlich auch schönere Methoden. Zerlege die Übergabe in ein CharArray, Zeichen für Zeichen. So kannst du dann mit einer Schleife dir den benötigten Char oder die Chars ziehen.

Oder von vorne rein die Übergabe anders erhalten/ generieren.

Re: Dataport Fehler "Strset kann * nicht mehr als einmal ...

20. Januar 2011 23:48

Wozu denn die Umwandlung in ein Array? Jeder String ist doch schon eines :wink:

Re: Dataport Fehler "Strset kann * nicht mehr als einmal ...

21. Januar 2011 07:17

McClane hat geschrieben:Wozu denn die Umwandlung in ein Array? Jeder String ist doch schon eines

Da hat er Recht :mrgreen:

Schau dir mal einige der Beiträge in Natalies Link an. Da findest du eine allgemeingültige Lösung :-) .

Gruß, Fiddi