× 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.


  • Subject: RE: How to move string value to right?
  • From: Bob Cozzi <BobCozzi@xxxxxxx>
  • Date: Wed, 27 Aug 1997 08:52:09 -0500

Suresh,

Hans' answer is one of the good ones, however, it only works on V3R7 and 
later. What I'd like to see the new  EVALR  operation code. Currently, it 
is too cumbersome to deal with all that substring stuff in RPG IV to 
move-right-justified. We've traditionally had MOVE and MOVEL, however MOVE 
doesn't have an EVAL equivalent.

In RPG IV, I can easily left-justify a value within any field by simply 
coding:

  C              Eval          CustName = %TrimL(CustName)

This works great!

However this...

  C              Eval           CustName = %TrimR(CustName)

is the functional equivalent to

  C              eval            CustName = CustName


What I would really like to do, in one statement, is to 
move-right-justified to a result.  But until then, using %SST (oops, I mean 
%SUBST) is one of the methods... ;(

Bob Cozzi


On Monday, August 25, 1997 7:41 AM, Hans Boldt [SMTP:hboldt@VNET.IBM.COM] 
wrote:
> Suresh <as4_tlsp1@sriven.scs.co.in> wrote:
>
> > Hi All !
> >
> > In RPG value for string operation will be moved to left of result
> > field.Would anyone please tell me how to move the value to right of 
result
> > field for string operation.
> >
> > Thanks in advance,
> >
> > Suresh K.N
>
> There are lots of ways of right-adjusting data within a field.  Here are
> a couple of methods.  The second performs the right-adjusting in just
> one statement.  But I would guess that the first is faster.  (The second
> one requires V3R7.)
>
> -----------------------------------------------------------------------
>  1    * "i" is a numeric field.
>  1   C     ' '           checkr    field         i
>  1   C                   if        i <> %size (field)
>  1   C                   eval      field = %subst (field:i+1)
>  1   C                                   + %subst (field:1:i)
>  1   C                   endif
> -----------------------------------------------------------------------
>
> -----------------------------------------------------------------------
>  2    * "blanks" is a character field as large as field "field" and
>  2    * initialized to all blanks.
>  2   C                   eval      field = %subst(blanks:1
>  2   C                                 :%len(field)-%len(%trimr(field)))
>  2   C                                  + field
> -----------------------------------------------------------------------
>
> Cheers!  Hans
>

+---
| This is the Midrange System Mailing List!
| To submit a new message, send your mail to "MIDRANGE-L@midrange.com".
| To unsubscribe from this list send email to MAJORDOMO@midrange.com
|    and specify 'unsubscribe MIDRANGE-L' in the body of your message.
| Questions should be directed to the list owner/operator: david@midrange.com
+---


As an Amazon Associate we earn from qualifying purchases.

This thread ...


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.