Situation:
Über einen Selektionsbildschirm möchte ich eine Variable "V_Split" einlesen und diese dann in meinem SPLIT Befehl bentzen, um halt einen String (V_STRING) zu spliten:
SPLIT V_STRING AT V_SPLIT INTO str1 str2 IN CHARAKTER MODE.
Problem:
V_Split, welche dann den Separator für den Split enthält, ist bei mir ein 20 Zeichen langer Char. (um den Benutzer nicht auf eine bestimmte grösse einzuschrenken)
Nun schreibe ich über den Selektionsbildschirm zum Beispiel "TABLES" in die Variable V_SPLIT. "TABLES" ist 6 Zeichen lang, die Variable hat aber Platz für 20 Zeichen. Und wenn ich diese Variable nun auf den SPLIT Befehl anwende, findet es "TABLES" nicht im String, weil es anscheinend nacht "TABLES " (TABLES + 14 Leerzeichen) sucht.
Ersetze ich die Variable im Sourcecode mit 'TABLES' dann funktionierts:
SPLIT V_STRING 'TABLES' INTO str1 str2 IN CHARAKTER MODE.
Frage:
Habt ihr alternativen? Oder ein Lösungsvorschlag?
Verwende einfach einen String!
Dem kannst du am Selektionsschirm eine Länge vorgeben, intern wird aber alles nach dem Leerzeichen abgeschnitten.
--> Achtung: Bei F4 musst du höchstwahrscheinlich trotzdem die Leerzeichen entfernen (CONDENSE)
Oder du stopfst den Inhalt von V_SPLIT for dem SPLIT in einen String und machst damit weiter.
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.
Hei! YES ;D Hat funktioniert, danke dir! Hab zwar schon mal nach String umconvertiert aber da hats mir die Leerzeichen bereits mitgenohmen.
Nun habe ich beim Selektionsbildschirm, also direkt bei der Quelle, die Eingabe als String typisiert - das funkt!
Super, danke nochmals und einen schönen Tag dir!
gruss Sapianer