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



Scott, 

You are absolutely correct.  I constructed the following program expecting the 
recursive_check array to fill as rte01 was called and recalled. To my surprise, 
each call started with a blank array. So unless there is something wrong with 
my program, you are correct, an internal subprocedure is completely recursive.  
I guess I was thinking of a *PGM object.

 * Recursive test with internal procedure (rte01)                               
     
 *==================================================                            
     
H dftactgrp(*no)                                                                
     
h usrprf(*user)                                                                 
     
H actgrp('recurstest')                                                          
     
h debug(*yes)                                                                   
     
h optimize(*none)                                                               
     
h option(*seclvl:*xref:*ext:*gen:*showcpy:*expdds:*srcstmt:*debugio)            
     
d rte01           pr                                                            
     
d   xCount                      10i 0                                           
     
d count           s             10i 0 inz                                       
     
 /free                                                                          
     
      rte01(count);                                                             
     
      *inlr = *on;                                                              
     
      return;                                                                   
     
 /end-free                                                                      
     
p rte01           b                                                             
     
d rte01           pi                                                            
     
d  pCount                       10i 0                                           
     
d recursive_check...                                                    
d                 s              3a   dim(10) inz                       
 /free                                                                  
  if pCount < 10;                                                       
       pCount += 1;                                                     
       recursive_check(pCount) = %char(pCount);                         
       rte01(pCount);                                                   
  endif;                                                                
 /end-free                                                              
p rte01           e                                                     

Marvin


As an Amazon Associate we earn from qualifying purchases.

This thread ...


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.