|
I like that. If only I could convince the other developer.
Rob Berendt
--
"They that can give up essential liberty to obtain a little temporary
safety deserve neither liberty nor safety."
Benjamin Franklin
Joel Cochran <jrc@xxxxxxxxxx>
Sent by: rpg400-l-bounces@xxxxxxxxxxxx
08/29/2003 10:19 AM
Please respond to RPG programming on the AS400 / iSeries
To: RPG programming on the AS400 / iSeries
<rpg400-l@xxxxxxxxxxxx>
cc:
Fax to:
Subject: Re: %trimr and *loval
Because myVar is not a varying string, so it always has 30 characters.
*loval for the string is 30 blanks. %trimr on all blanks leaves you
with all blanks, not very useful. This bif is most useful when you are
appending to it:
myVar = 'String' ;
myVar = myVar + 'New' ;
This results in myVar having a value of 'String', because myVar includes
the blanks to fill up 30 characters. To overcome this, we change the
second lines to use %trimr()...
myVar = 'String' ;
myVar = %trimr( myVar ) + 'New' ;
Now myVar = 'StringNew' and is still padded out to 30 characters with
blanks. To make these two different words in the string, you have to
add the space back in like so...
myVar = 'String' ;
myVar = %trimr( myVar ) + ' New' ;
If myVar was varying, then the code would be very simple and removes the
need for %trimr...
myVar = 'String' ;
myVar = myVar + ' New' ;
Clear as mud?
Joel
http://www.rpgnext.com
On Fri, 2003-08-29 at 10:36, rob@xxxxxxxxx wrote:
> Why does %Trimr put *blanks on the end? Or, better yet, is there a
better
> way to make sure that the field ends in trailing nulls? (As I finished
> typing up this last sentence I banged off a Sametime to the developer
> suggesting a variable length field instead. I think it is a new file
that
> he will be using for CPYTOSTMF or CPYTOIMPF for FTP EDI purposes thus he
> "should" be open minded...
>
> D MyVar s 30a
> D MyString s 30a inz('test')
>
> C/FREE
> MyVar = *loval;
> MyVar = %TrimR(MyString); // why does this put blanks on the
> end??????
> // the following needs to be improved in case MyString is full
> %subst(MyVar:%len(%trimr(MyString))+1:
> %len(MyVar)-%len(%trimr(MyString)))=*loval;
> dsply MyVar;
> *INLR=*ON;
> /END-FREE
>
> Rob Berendt
_______________________________________________
This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
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 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.