OBJECT Codeunit 99500 NAV Bug { OBJECT-PROPERTIES { Date=17.06.10; Time=14:30:30; Modified=Yes; Version List=; } PROPERTIES { OnRun=BEGIN TestMiddleCase; // comment this line out and ReverseString works! TestReverseString; END; } CODE { PROCEDURE TestMiddleCase@5128500(); BEGIN MiddleCase('fooo AnD bar'); END; PROCEDURE TestReverseString@5128502(); VAR l_String@5128500 : Text[1024]; l_Result@5128503 : Integer; BEGIN l_String := '1101101111011011110110111101101111011011110110111101101111011011' + '1101101111011011110110111101101111011011110110111101101111011011' + '1101101111011011110110111101101111011011110110111101101111011011' + '1101101111011011110110111101101111011011110110111101101111011011' + '1101101111011011110110111101101111011011110110111101101111011011' + '1101101111011011110110111101101111011011110110111101101111011011' + '1101101111011011110110111101101111011011110110111101101111011011' + '1101101111011011110110111101101111011011110110111101101111011011'; IF STRLEN(l_String) <> 512 THEN ERROR('Wrong strlen'); l_Result := TestReverseStringSub(l_String); IF l_Result <> 512 THEN ERROR('Error: Actual: ' + FORMAT(l_Result) + ' ' + ' Expected: 512'); END; PROCEDURE TestReverseStringSub@5128521(p_String@5128500 : Text[1024]) r_Int : Integer; VAR l_StringMgt@5128501 : Codeunit 5128519; BEGIN p_String := ReverseString(p_String); EXIT(STRLEN(p_String)); END; PROCEDURE ReverseString@5128509(p_In@5128502 : Text[1024]) Result : Text[1024]; VAR i@5128500 : Integer; l_Length@5128501 : Integer; BEGIN l_Length := STRLEN(p_In) + 1; FOR i := 1 TO l_Length - 1 DO Result[i] := p_In[l_Length-i]; END; PROCEDURE MiddleCase@1000000000(p_StringToConvert@1000000000 : Text[250]) ConvertedString : Text[250]; BEGIN ConvertedString := UPPERCASE(COPYSTR(p_StringToConvert, 1, 1)) + LOWERCASE(COPYSTR(p_StringToConvert, 2)); END; BEGIN END. } }