|
Bob Cozzi wrote: > Would this work? > > C Eval myRightValue = Right( somefield : 10) > > If the RIGHT procedure was this: > > P Right B Export > > D Right PI 4096A VARYING > D InString 4096A VARYING VALUE > > D nCharCnt 5I 0 Const > > C Eval InString = %Trimr(InString) > C if nCharCnt <= %Len(InString) and > nCharCnt > 0 > C return %Subst(InString > C : %Len(InString) - > (nCharCnt-1) > C : nCharCnt) > C endif > C return '' > PRight E > > Bob Cozzi I really feel like nitpicking this afternoon! I believe you'll find an "off-by-one" error in the %SUBST. Also, while it doesn't hurt, you can leave off the last parameter for that %SUBST, since you're just taking the characters until the end of the string anyways. Oh yeah, that first EVAL with the %TRIM is pretty expensive. You could probably speed that up a bit by using %CHECK and explicitly setting the length of INSTRING using an assignment to %LEN(INSTRING). Cheers! Hans
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.