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,
or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please take a
moment to review the archives at

This thread ...


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