How is FldA populated? Maybe what you are populating FldA from is what you need to check.

You could always do something like this on FldA.

D x S 10I 0

x = %len(%trimr(FldA));

if (%subst(FldA:x:1) = x'00');
x = x - 1;

FldB = %subst(FldA:1:x);

Gary Monnier

-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Jeff Young
Sent: Thursday, April 05, 2012 12:05 PM
To: rpg400-l@xxxxxxxxxxxx
Subject: Move variable length field to fixed length

I have a variable length field that I am moving to a fixed length field.
The fields are defined as:
D FldA S 128A Varying
D FldB S 30A

FldA = AB1234

My code is:
FldB = FldA;
After the move, FldB has a trailing NULL character.
When I look at it in DEBUG, I see 'C1C2F1F2F3F40040404040.....' for FldB.
FldA = 'C1C2F1F2F3F400000000..........................'

Release 7.1
Why am I getting the trailing NULL and how can I prevent it.


Jeff Young
Sr. Programmer Analyst
This is the RPG programming on the IBM i / System i (RPG400-L) mailing list To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives at

This thread ...


Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2020 by 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].