String Manipulation

Is there a Navision function that allows you to breakup an input field into several variables. I.e. input Value, where value = ‘ABC def ,zz’ , and hence V1 = ABC, V2=def, V3 = ,zz , V4=’’. Where I assume the seperator is a single or perhaps a double space.[?]

No, but you are free to adapt this one as necessary: Parameters: String : Text[250] SplitCharacter : Text[1] VAR StringParts : ARRAY 50 OF Text[30] ReturnValue NoOfStringParts : Integer Variables OK : Boolean SplitString(String : Text[250];SplitCharacter : Text[1];VAR StringParts : ARRAY [50] OF Text[30]) NoOfStringParts : Integer CLEAR(StringParts); String := DeleteDoubleCharacters(String,SplitCharacter) + SplitCharacter; OK := TRUE; WHILE (STRPOS(String,SplitCharacter) > 0) AND OK DO BEGIN IF STRPOS(String,SplitCharacter) <= MAXSTRLEN(StringParts[1]) THEN BEGIN NoOfStringParts := NoOfStringParts + 1; StringParts[NoOfStringParts] := COPYSTR(String,1,STRPOS(String,SplitCharacter) - 1); String := DELSTR(String,1,STRLEN(StringParts[NoOfStringParts]) + 1); END ELSE OK := FALSE; END; IF NOT OK THEN BEGIN CLEAR(StringParts); CLEAR(NoOfStringParts); END;

Ah! It’s from the archives… I just now noticed it makes use of the following function: DeleteDoubleCharacters(String : Text[250];DeleteWhat : Text[1]) NewString : Text[250] WHILE STRPOS(String,DeleteWhat + DeleteWhat) > 0 DO String := DELSTR(String,STRPOS(String,DeleteWhat + DeleteWhat),1); NewString := String;