You do realize why Joe suggested using %trimr instead of %trim?
Using %trim as given in your example would trim both trailing /and/ leading
blanks from the field, but your stated requirement was to only truncate the
"Jack Tucky" wrote in message
Thanks Luis and Joe. I tried the varchar thing but the data was overlapping
for some reason ( I wasn't clearing it perhaps). The %trimr worked.
[mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of Joe Pluta
Sent: Tuesday, October 30, 2012 9:27 PM
To: Midrange Systems Technical Discussion
Subject: Re: IFS File question
On 10/30/2012 8:06 PM, Jack Tucky wrote:
if write(fd: %addr(indata): %size(indata))<1;
Change this to:
if write(fd: %addr(indata): %len(%trimr(indata)))<1;
The first parameter %addr(indata) is just a pointer to the first byte of the
data. It then write how ever many bytes you tell it in the second
parameter. %len(%trimr(indata)) will calculate the number of bytes to the
last non-blank character. Note the use of %trimr: that makes sure you don't
reduce the length too much when there are leading blanks.
Luis' idea of copying to a varying field will work too, but it takes a
little more work. I think this what I posted above is the better solution.
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx To subscribe, unsubscribe,
or change list options,
or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please take a
moment to review the archives at http://archive.midrange.com/midrange-l