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