× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



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

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

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.