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