Well, you certainly don't need X's (you could use blanks) but it is a fun idea. 
Don't think I'd ever use it as %size(x)-2 is much more clear in my mind.
-Bob Cozzi
www.i5PodCast.com
Ask your manager to watch i5 TV
-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [
mailto:rpg400-l-bounces@xxxxxxxxxxxx] On
Behalf Of Jon Paris
Sent: Friday, May 11, 2007 11:05 AM
To: rpg400-l@xxxxxxxxxxxx
Subject: RE: Max length of a VARYING field
Given that IBM will be changing the maximum size of a varying length field
and there is currently no %MaxLen BIF - wouldn't this solution be
safer/better?  It could be placed in the INZSR for each of the variables in
question.  If there is concern over the Xs being left laying about, then the
*INZSR could simply add an varyField = ''; to reset it.  
You could always
                                                         
d varyField       s           1234a   Varying Inz(*ALL'X')           
d maxLen          s             10i 0 Inz                
                                                         
 /Free                                                   
 
  maxLen = %Len(varyField);                              
  dsply ('Max length of varyField is ' + %char(maxLen)); 
                                                         
  *InLR = *On;                                           
                                                         
 /End-free                                               
Jon Paris
Partner400
www.Partner400.com 
As an Amazon Associate we earn from qualifying purchases.