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



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

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.