Barbara,

The copy member is at the beginning followed by the internal prototypes.

Here is the complete prototype definition section:
      *-------------------------------------------------------
      * Entry parameter definition                            
      *-------------------------------------------------------
     d LS4140R         pr                  ExtPgm('LS4140R')  

      *------------------------------------------------------
      * External procedure prototypes                        
      *------------------------------------------------------
                                                             
      // Create a user space                                 
      /Define CRTSPC                                         
                                                             
      // Retrieve message information                        
      /Define QMHRTVM                                        
                                                             
      // C quick sort function                               
      /Define QUICKSORT                                      
                                                             
      // Include defined prototypes                          
      /Include QSRCLS,LSMODPR                                
                                                             
      // Remove prototype definitions                        
      /Undefine CRTSPC                                       
      /Undefine QMHRTVM                                      
      /Undefine QUICKSORT                                    
                                                             
      // Print history transactions                          
     d PrtHstTrn       pr                  ExtPgm('PLN0440') 
     d                               10                      
     d                                3                      
     d                               12                      
     d                                2                      
                                                             
      //-----------------------------------------------------
      // Internal procedure prototypes                       
      //-----------------------------------------------------
                                                             
      // Comparison procedure called by QuickSort            
     d CmpVal          pr            10i 0                   
     d                                 *   Value             
     d                                 *   Value             
                                                             
      // Control history display processing                  
     d Screen01        pr                                    
                                                             
      // Retrieve history; populate subfile and user space   
     d RtvHst          pr                                    
                                                             
      // Print history transactions                          
     d PrtHst          pr                                    
                                                             
      // Sort history transactions                           
     d SrtCtl          pr                                    
                                                             
      // Subset history transactions                         
     d SubSetHst       pr                                    
                                                             
      // Redisplay all history transactions                  
     d SubSetAll       pr                                    
                                                             
      // Subset history transactions by transaction amount   
     d SubSetAmt       pr                                    
     d                                 *   Value             
                                                             
      // Subset history transactions by user ID              
     d SubSetMemo      pr                                    
     d                                 *   Value             
                                                             
      // Subset history transactions by effective date       
     d SubSetEff       pr                                    
     d                                 *   Value             
                                                             
      // Subset history transactions by posting date         
     d SubSetPost      pr                                    
     d                                 *   Value             
                                                             
      // Subset history transactions by transaction code     
     d SubSetTC        pr                                    
     d                                 *   Value             
                                                             
      // Subset history transactions by user ID              
     d SubSetUser      pr                                    
     d                                 *   Value             
                                                             
      //-----------------------------------------------------
      // Procedure interface for program entry               
      //-----------------------------------------------------
     d LS4140R         pi                                    
     d* Parm1                        10                      
     d* Parm2                        10                      

The only lines above this are comments and F-specs.  After are the global 
definitions, calcs, and actual procedures.

Rick

-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx]On Behalf Of Barbara Morris
Sent: Thursday, July 22, 2004 9:28 AM
To: rpg400-l@xxxxxxxxxxxx
Subject: Re: Definition not found for internally defined procedure


Rick.Chevalier@xxxxxxxxxxxxxxx wrote:
> 
> I have managed to stump our development staff with this one.
> 
> Originally I defined a procedure in my program as follows:
>       // Comparison procedure called by QuickSort
>      d CmpVal          pr            10i 0
>      d                                 *   Value
>      d                                 *   Value
> 
>      p CmpVal          b
>      d CmpVal          pi            10i 0
>      d Elem1@                          *   Value
>      d Elem2@                          *   Value
> 
> The program was working fine until I dedided to move the prototype to a copy 
> member.  When I did this the compile failed with "Definition not found for 
> symbol 'CmpVal'.".  There are no other compile errors.
> 
> I moved the definition back inside the program but still receive the error.  
> I know I'm probably missing something real simple but I don't see it and 
> several others here don't have any ideas either.
> 
> Can anyone help with why the compiler doesn't put the prototype and the 
> procedure together?
> 

Did you put the /copy in the main source section?  Before the P specs? 
When you put the prototype back in, where did you put it?  (It has to go
before the procedures.)



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.