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



Your 56A Varying field reserves 58 bytes in memory, with the first two
bytes being the binary length of data, followed by 56 bytes for data.
Since you're passing this space by address, you need to offset your
pointer by two bytes, so that the string data is loaded in the right
spot. You also need to ensure that the length of the field is set
before you try to access the field in RPG. I really don't think using
varying helps here, since the Rdline function will not set the length of
data for you...

-Eric

-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of
GKern@xxxxxxxxxxxxxxxx
Sent: Wednesday, July 15, 2009 1:08 PM
To: rpg400-l@xxxxxxxxxxxx
Subject: RdLine with variable length field

I have the following code in which I encounter two problems. First when
viewing the Input_String variable in debug, only the last 54 bytes are
shown - the first two are truncated. (The string sent contains 56
bytes).
The debugger monitor says the field is 56 bytes, as does the dump
listing.
Second the "If %Len(Input_String) < 1 Or %Len(Input_String) > 56;"
triggers an RNX0115 (Length of varying length variable is out of range).

Does Rdline not work with a variable length field? (The RdLine code is
from Scott Klements tutorial.)


D Input_String S 56A Varying

If RdLine(cli: %addr(Input_String):56:*On) < 0;
Callp Die('Error calling RdLine()');
Callp close(cli);
Return;
Endif;


If %Len(Input_String) < 1 Or %Len(Input_String) > 56;
Error = Yes;
Return_String = %Trim(Return_String) + Error00;
LeaveSr;
EndIf;

Thanks!

Regards, Jerry

Gerald Kern - MIS Project Leader
Lotus Notes/Domino Administrator
IBM Certified RPG IV Developer
The Toledo Clinic, Inc.
4235 Secor Road
Toledo, OH 43623-4299
Phone 419-479-5535
gkern@xxxxxxxxxxxxxxxx


This e-mail message, including any attachments, is for the sole use of
the
intended recipient(s) and may contain confidential and privileged
information. Any unauthorized use, disclosure or distribution is
prohibited. If you are not the intended recipient, please inform the
sender by reply e-mail and destroy this and all copies of this message.

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.