This is a binding error.
Do you have this...
0001.00 D GetSocSec       PR             9P 0 Extproc('GetSocSec')

Properly specified when the service program was created? When the module for
the service program was created? Is GetSocSec exported from the service
program? Do a DSPSRVPGM to see if the procedure is exported. I'm guessing it
is either not exported, or is exported as GETSOCSEC.  To export it, use
EXPORT(*ALL) or better yet, create some binder source and add this line to
it:

  EXPORT SYMBOL("GetSocSec")

-Bob Cozzi


-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx]
On Behalf Of Brenzel, Wendy
Sent: Wednesday, October 13, 2004 7:55 AM
To: 'rpg400-l@xxxxxxxxxxxx'
Subject: Trying to use my procedure from a pgm complied with CRTBNDRPG

I am missing the boat... Please help. I am trying to compile an rpg ile test
program, using crtbndrpg, which calls  a procedure.  The procedure is
compiled into a module, placed in a service program, which in turn is in a
binding directory.  The test program 
Compile message:
 
                   E x t e r n a l   R e f e r e n c e s              
   Statically bound procedures:                                       
      Procedure                            References                 
      GetSocSec                                10      44             
   Imported fields:                                                   
      Field             Attributes         Defined                    
      No references in the source.                                    
   Exported fields:                                                   
      Field             Attributes         Defined                    
      No references in the source.                        
 
  Message Totals:

    Information  (00) . . . . . . . :        2

    Warning      (10) . . . . . . . :        0

    Error        (20) . . . . . . . :        0

    Severe Error (30+)  . . . . . . :        0

    ---------------------------------  -------

    Total . . . . . . . . . . . . . :        2

  Source Totals:

    Records . . . . . . . . . . . . :       46

    Specifications  . . . . . . . . :       25

    Data records  . . . . . . . . . :        0

    Comments  . . . . . . . . . . . :       18

         * * * * *   E N D   O F   F I N A L   S U M M A R Y   * * * * *

                 B i n d   D i a g n o s t i c   M e s s a g e s

Errors were found during the binding step. See the job log for more
information
 * * * * *   E N D   O F   B I N D   D I A G N O S T I C   M E S S A G E S

 
Job log...
 30   10/12/04  16:00:16.810368  QBNBIND      QSYS        *STMT    QBNBIND

   From module . . . . . . . . :   QBNBSYMR

   From procedure  . . . . . . :   QBNBSYMR__UnresolvedReferenceIterator

   Statement . . . . . . . . . :   31

   To module . . . . . . . . . :   QBNBSYMR

   To procedure  . . . . . . . :   QBNBSYMR__SignalUnresolvedReferences

   Statement . . . . . . . . . :   8

   Message . . . . :   Definition not found for symbol 'GetSocSec'.

   Cause . . . . . :   No definition was found for reference GetSocSec in
*MODU 
     object WTESTPROC in library QTEMP. The definition either does not exist
or 
     is not of the same data or procedure type as the reference. Recovery  .
.  
     :   Try the Create Program (CRTPGM) command again, supplying an object
tha 
     contains a definition for symbol GetSocSec.

 
This procedure receives an id number & sends back  soc sec....
I'm missing  d spec I think in the test call program....  
 
Test Program...
D Spec...
 /Copy mwdgpl/qrpglesrc,protoid 
 
Protoid...
        *************** Beginning of data
************************************* 
0001.00 D GetSocSec       PR             9P 0 Extproc('GetSocSec')

0002.00 D InIDNo                         9P 0 Value

        ****************** End of data
**************************************** 

                                                                         
c******************************************
C* Call the procedure 
c******************************************
c     getit         begsr                  
 /Free                                     
                    socsec=GetSocSec(id#); 
 /End-Free                                 
c                   endsr     
 
...Where id# & socsec are defined as 9p 0             
 
Procedure...
FMWDPUNIQ  IF   E           K DISK                 
D*                                                 
D GetSocSec       PR             9P 0              
D InIDNo                         9P 0 Value        
D* Status Data Structure                           
D STATUS         SDS           333                 
P**************************************************
P* Procedure -GetSocSec                            
P**************************************************
P GetSocSec       B                   Export       
D* Procedure Interface...                          
D                 PI             9P 0              
D InIDNo                         9P 0 Value        
D* Local variables                                 
D SocSec          S              9P 0              
C* Housekeeping                                    
C                   Clear                   SocSec 
C* Retrieve Soc Sec from Unique File...                              
C     *in87         doueq     '0'                                    
C     InIDNo        chain     jxrcd                              8887
C     *in87         ifeq      '1'                                    
C                   call      'LOCKMSG'                              
C                   parm                    STATUS                   
C                   end                                              
C                   end                                              
C     *in88         ifeq      '0'                                    
C                   z-add     jxssn         SocSec                   
C                   end                                              
C*                                                                   
C                   Return    SocSec                                 
P GetSocSec       E                                                  
****************** End of data **************************************
                              
I am compiling with CRTBNDRPG command, DFTACTGRP *NO &
BNDDIR(IDDIR)...(Which contains my service program, which contains my
procedure module.)  Any suggestions?
            
 
Wendy Brenzel
Senior Programmer/Analyst
MIS Department
Marywood University
Scranton, PA  18509
(570) 348-6221 ex2568
 
--
This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.




As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

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.