|
Joe, I believe Lynette said she was using non-ILE RPG (OPM), which doesn't have eval, %scan, etc. My answer was written using OPM RPG. With ILE RPG (RPG IV), she could use a single statement: evalr OutputField = %trimr(InputField) Mel Rothman Joe Sarnowski wrote: > > Here's another way to right justify a character field. In this example, I'm > moving a 7 character field (wkfld = '12345 ') to another 7 character field > (svfld = ' 12345'). > > D wkfld s 7 inz('12345 > ') > D svfld s 7 > D ctr s 3 0 > > C eval ctr = %scan(' ': wkfld) > C if ctr > 0 and ctr < 8 > C eval svfld = %replace(wkfld: > svfld: > C 9 - (%scan(' ': > wkfld))) > C else > C eval svfld = wkfld > C endif > > This code will check for at least 1 character in the 1st field, then moves > it to the 2nd field, else it just moves the entire 1st field to the 2nd. > > Joe Sarnowski > > ----- Original Message ----- > From: Mel Rothman <melrothman@home.com> > To: <RPG400-L@midrange.com> > Sent: Monday, January 15, 2001 5:39 PM > Subject: Re: justifying a character variable > > > Lynette, here's a sample RPG/400 program. Subroutine JUST right justifies > data > > that were left justified in 9 byte character field C9. Most of the > program is > > written to test the subroutine. > > > > * NO BYTES > > C MOVE *BLANKS C9 9 > > C EXSR JUST > > * ONE BYTE > > C MOVE *BLANKS C9 > > C MOVEL'N' C9 > > C EXSR JUST > > * FOUR BYTES > > C MOVE *BLANKS C9 > > C MOVEL'NAME' C9 > > C EXSR JUST > > * EIGHT BYTES > > C MOVE *BLANKS C9 9 > > C MOVEL'NAMENAME'C9 > > C EXSR JUST > > * NINE BYTES > > C MOVE *BLANKS C9 9 > > C MOVEL'NAMENAME'C9 > > C MOVE 'N' C9 > > C EXSR JUST > > C SETON LR > > ************************************************* > > C JUST BEGSR > > ************************************************* > > C ' ' CHEKRC9 I 30 > > C I IFGT 0 > > C 9 SUB I I > > C ' ' CAT C9:I C9 > > C ENDIF > > C ENDSR > > > > Mel Rothman > > +--- +--- | This is the RPG/400 Mailing List! | To submit a new message, send your mail to RPG400-L@midrange.com. | To subscribe to this list send email to RPG400-L-SUB@midrange.com. | To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com. | 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-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.