× 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 believe that a fixed-length field is cleared before being set with EVAL - it's not whether it's varying, it's the operation you're using.

OK, my understanding of some of this that might be more than anyone wanted to know! This is for EVAL, not EVALR, though things ought to be similar.

1. Assign fixed to varying --> result is left-justified and length set to size of fixed variable - trailing blanks in fixed value are retained
2. Assign varying to varying --> result is left-justified and length set to length (not size) of varying variable (or value, as in result of %trim[r])
3. Assign varying to fixed --> result is left-justified and length is the size of the fixed variable - really no length to set - variable is padded with blanks

This assumes value being assigned is shorter or equal in length to the target variable.

OK, enough - that's how I use this stuff all the time - again, I'd better be right, eh?

Vern

On 5/21/2012 2:17 PM, Rory Hewitt wrote:
Albert,

Is workfield a varying field? If so, then you don't need to do either - you
shoudl simply be able to do this:

workfield = %trimr(NewData);

If workfield is not a varying field, then it really depends on whether/how
you're keeping track of the lngth of NewData - if you're not holding it
elsewhere, then you should clear the whole field.

Rory

On Mon, May 21, 2012 at 12:09 PM, Albert York<albertyork@xxxxxxxxx> wrote:

I have a work field that is 2000 bytes (to allow for the longest possible
string value). The length of the data being moved to it varies and can be
quite short. I have to clear the work field before I move the data.

Which is better:

workfield = *blanks


len = %len(%trimr(Newdata));
%substr(workfield:1:len) = *blanks;

Thanks,

Albert
--
This is the RPG programming on the IBM i / System i (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.