× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Hans,

%trimR is expensive? I though only %trim was expensive.
Since you wrote %TRIMx why don't you make them work faster! :)
Also, another argument for an INLINE keyword as the overhead of using a
procedure call far outweighs using %TRIMR in that procedure.

Bob

> -----Original Message-----
> From: rpg400-l-admin@midrange.com
> [mailto:rpg400-l-admin@midrange.com] On Behalf Of Hans Boldt
> Sent: Tuesday, June 11, 2002 3:46 PM
> To: rpg400-l@midrange.com
> Subject: Re: right$
>
>
> 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
>
>
>
> _______________________________________________
> This is the RPG programming on the AS400 / iSeries (RPG400-L)
> mailing list To post a message email: RPG400-L@midrange.com
> To subscribe, unsubscribe, or change list options,
> visit: http://lists.midrange.com/cgi-bin/listinfo/rpg400-l
> or email: RPG400-L-request@midrange.com
> Before posting, please take a moment to review the archives
> at http://archive.midrange.com/rpg400-l.
>
>



As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

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.