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.