Jack -

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

- sjl

"Jack Tucky" wrote in message news:mailman.7941.1351647292.2683.midrange-l@xxxxxxxxxxxx...

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.

-----Original Message-----
From: midrange-l-bounces@xxxxxxxxxxxx
[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,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please take a
moment to review the archives at http://archive.midrange.com/midrange-l.

This thread ...


Return to Archive home page | Return to MIDRANGE.COM home page