Hi John, Thanks for the response! Dr. Razaak provided samples that work perfectly. The special case of a single character string placed at the very last position within the sources string appears to be the issue where the function returns a 0 rather than the position of the single character string. In my code, the source string is parsed and shortened within a while loop until each string between the desired single characters is processed. It works perfectly until there is only 1 string left to find. That's when SLOCP tries to find the final character in the source string and returns a 0.
My workaround is to duplicate the last character in the source string and ignore any strings that have 0 characters. Mike ________________________________ From: John Docherty <[email protected]> To: RBASE-L Mailing List <[email protected]> Sent: Sunday, August 19, 2012 2:25 AM Subject: [RBASE-L] - RE: Syntax with SLOCP Mike, I tried your code with the same result. As you say if the ‘c’ is not the last character in the string the correct value is returned, however if it is you get a 0. Maybe this is an ‘issue’ ? I am sure RBTI will sort this out, (or put us ‘straight’), if you report this. Regards, John Docherty From:[email protected] [mailto:[email protected]] On Behalf Of Michael J. Sinclair Sent: Sunday, 19 August 2012 4:31 p.m. To: RBASE-L Mailing List Subject: [RBASE-L] - Syntax with SLOCP Hi All, When I have this statement in a command file... SET VAR vtest INTEGER SET VAR vtest = (SLOCP('abc','c',1)) I get a result of 0 I am trying to use the command to let me know that the 1st instance of the character 'c' is at position 3. Why am I gettting a 0? The command works fine if the string is not in the last position. What am I doing wrong? Thanks Mike

