|
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 mailing list archive is Copyright 1997-2025 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.