Citrus-Motte Geschrieben 24. Januar 2002 Geschrieben 24. Januar 2002 Also, ich habe da mal eine Frage zur UNSTRING-Anweisung: wenn man z.B. einen 10-stelligen String hat, in dem der Begrenzer (z.B. ",") mehrfach vorkommt, kann ich dann über UNSTRING erst'mal in nur zwei Teile (vor und hinter dem ersten Begrenzer) zerlegen? Z.B.: 01 TEXT PIC X(10) VALUE "ABC,DEF,GH". 01 TEIL1 PIC X(10). 01 TEIL2 PIC X(10). UNSTRING TEXT DELIMITED BY "," INTO TEIL1, TEIL2. => TEIL1: "ABC"; TEIL2: "DEF,GH" ? Oder müssen immer soviele Empfängerfelder (+1) wie die Häufigkeit des Begrenzers vorhanden sein? Und wenn, wie kann man das eventuell umgehen? Noch 'ne Frage: Ich habe: 01 TEXT PIC X(10). 01 TEIL1 PIC X(10) VALUE "ABC". 01 TEIL2 PIC X(10) VALUE "DEFGHIJ". und will diese mit z.B. "++" zusammenfügen: STRING TEIL1 DELIMITED BY SPACE, "++" DELIMITED BY SIZE, TEIL2 DELIMITED BY SPACE INTO TEXT. Wie erreiche ich jetzt, dass in TEXT "ABC++DEFGH" steht und die überzähligen Zeichen weggeschnitten werden (das mit dem OVERFLOW ist in meinem Handbuch leider überhaupt nicht erklärt)? Ich hoffe, Ihr könnt mir helfen und danke im Voraus Zitieren
E-Sorcerer Geschrieben 28. Januar 2002 Geschrieben 28. Januar 2002 Das sollte so funktionieren... STRING Teil1, '++', Teil2 INTO Ergebnis Zum UNSTRING kann ich Dir leider aus dem Kopf so grade nichts zu sagen, hab das Handbuch auch nicht hier... Zitieren
Citrus-Motte Geschrieben 28. Januar 2002 Autor Geschrieben 28. Januar 2002 Hi E-Sorcerer, Danke für die Antwort. Dass man die so wieder zusammen bekommt, war mir aber eigentlich schon klar. Aber was passiert, wenn TEIL1, "++", TEIL2 mehr als 10 Zeichen ergeben? :confused: Wird der Rest einfach weggeschnitten oder bricht das Chaos aus? Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.