Re: VM/REXX question on index to an array

2008-12-24 Thread Roland P. Chung
Thanks a lot Leland, 
 
Found that somewhere hidden in a format subroutine, the author set the numeric 
digits to 5 in order to get a 999V99 formatted output. Reset it to normal of 9 
digits at end of the subroutine, Problem solved. 
 
I guess the author never expect to read a file with more than 9 records. 
Ummm
 
Seasons greetings!!!
 
Roland

--- On Thu, 12/25/08, Leland Lucius  wrote:

From: Leland Lucius 
Subject: Re: VM/REXX question on index to an array
To: IBMVM@LISTSERV.UARK.EDU
Received: Thursday, December 25, 2008, 4:13 AM

Roland P. Chung wrote:

 > Is there a numeric datatype of numeric has a maximum value of 9 when
 > using it in as an index into an array?
 >
 > I have to break the file down into seveal files each on is smaller than
 > 8 records. (yes, 9 will loop too.)
 >
 > Any help is appreciated. TIA
 >
What's your NUMERIC DIGITS setting?

say digits()

Leland


Re: VM/REXX question on index to an array

2008-12-24 Thread Leland Lucius

Roland P. Chung wrote:

> Is there a numeric datatype of numeric has a maximum value of 9 when
> using it in as an index into an array?
>
> I have to break the file down into seveal files each on is smaller than
> 8 records. (yes, 9 will loop too.)
>
> Any help is appreciated. TIA
>
What's your NUMERIC DIGITS setting?

say digits()

Leland


VM/REXX question on index to an array

2008-12-24 Thread Roland P. Chung
Hello Lists, wish you all have a very Merry Christmas and a very Happy New 
Year!!!
 
May be it has been documented somewhere in a VM/REXX manual, but I am on the 
road. Let me see who can point clearify this in between turkey dinner and 
singing Christmas carols.
 
The EXEC 
 
.
  snipped   
...  
 
 TOT = INCARD.0    
 SAY 'PROCESS 'TOT' LINE FROM INPUT FILE: 'IFN IFT IFM'.'  
   
 J = 0 /* NUMBER OF OUTPUT DATA ROWS    
*/    
 indx = 0 /* index to INCARD.  
*/    
 OLD_DATE = '' /* DATE HOLDING WORKAREA  */    
 PARTN    = 'NN'   /* partition ID   */    
 DO Indx=1 BY 1 While Indx <= TOT  
   
   If indx >  99980 Then do; say indx incard.indx; end;   
   
    /* LOOK FOR STARTING OF A COUNTER * SET  */    
    /* Counter values AT  DATE='06-27-06'  TIME='17:31:36'   */    
    CHK = SUBSTR(INCARD.Indx,17,7) 
    IF CHK = 'COUNTER' Then    
   DO  
   CHK = SUBSTR(INCARD.Indx,25,6)    /* look for the next string */ 
   
  IF CHK = 'VALUES' THEN   
. snipped ...
 
and it went into a loop after the "Indx" is over 9:
.
6   70303 F3 0003 IST878I NUMBER OF QUEUED  SESSIONS =  5   
   22:30:02 12/23/2008  
7   70304 F3 0003 IST878I NUMBER OF TOTAL   SESSIONS =    125   
   22:30:02 12/23/2008  
8   70305 F3 0003 IST924I 
-    22:30:02 
12/23/2008  
9   70306 F3 0003 IST1161I SSCP SESSIONS  22:30:02 
12/23/2008  
1.E+5 INCARD.1.E+5  
1.E+5 INCARD.1.E+5  
1.E+5 INCARD.1.E+5  
1.E+5 INCARD.1.E+5  
1.E+5 INCARD.1.E+5   
  snipped  .
 
Is there a numeric datatype of numeric has a maximum value of 9 when using 
it in as an index into an array?
 
I have to break the file down into seveal files each on is smaller than 8 
records. (yes, 9 will loop too.)
 
Any help is appreciated. TIA
 
...Roland