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



Try this:
dftccm3 s 72a varying
dptr s * Inz(%ADDR(ftccm3))
dmyds ds Based(ptr)
d indexvalue 10i 0
d data 72a

In debug load your ftccm3 field with 'z' and check the value of the
indexvalue...


Thanks,
Tommy Holden


-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Holden Tommy
Sent: Monday, May 21, 2007 10:57 AM
To: RPG programming on the AS400 / iSeries
Subject: RE: VarChar problem

You can't use the index area via EVAL the only way to directly access
the index area of a varying length field is via the %ADDR() BIF. Have
you tried setting the %LEN() of the varying field to see if that helps?

%LEN(FTCCM3) = 1;
FTCCM3 = 'z';



Thanks,
Tommy Holden


-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of
MWHopkins@xxxxxxxxxxxxxxx
Sent: Monday, May 21, 2007 10:41 AM
To: rpg400-l@xxxxxxxxxxxx
Subject: VarChar problem

I am having a problem with a program that is using externally described
varchar fields. It appears that the program is not recognizing that the
fields are varchar, even though the program is compiled with
CVTOPT(*VARCHAR).

The compile listing shows that it is a variable length character field
(70
is the max):

1035=O FTCCM3 562A CHAR 72 FTC
COMMENT 3
External data
type is Variable Length Character.


But when I try to write to this file I get a data mapping error for
reason
14: "14 -- The length of a variable length field is not valid"

I am not moving anything to these fields in the program. I clear the
record format, then fill other data elements but do nothing with these
variable fields.

In testing, I moved a single character 'z' to these fields and it put
the
'z' in the first position of the field (where the index should go).

C Eval FTCCM3 = 'z'
C Eval FTCCM4 = 'z'
C Eval FTCCM5 = 'z'

FTCCM3 CHAR(72) 'z '
VALUE IN HEX
'A9404040404040404040404040404040404040404040404040404040404040404040404
040404040'X

41
'4040404040404040404040404040404040404040404040404040404040404040'X
FTCCM4 CHAR(72) 'z '
VALUE IN HEX
'A9404040404040404040404040404040404040404040404040404040404040404040404
040404040'X

41
'4040404040404040404040404040404040404040404040404040404040404040'X
FTCCM5 CHAR(72) 'z '
VALUE IN HEX
'A9404040404040404040404040404040404040404040404040404040404040404040404
040404040'X

41
'4040404040404040404040404040404040404040404040404040404040404040'X

This program was working fine until we re-compiled it. It was previously

compiled in release v5r2m0 and now we are at v5r4m0.


Matt Hopkins
Sr. Programmer/Analyst
Web: www.pdpgroupinc.com
Email: MWHopkins@xxxxxxxxxxxxxxx
Office: 410-584-0330
Fax: 410-584-0336


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.