|
could be wrong but I thought that the EXPORT SYMBOL() the procedure had to be in all caps??? Thanks, Tommy Holden -----Original Message----- From: Brenzel, Wendy [mailto:bmis06@xxxxxxxxxxxxxxxxxxxxx] Sent: Wednesday, October 13, 2004 9:10 AM To: 'RPG programming on the AS400 / iSeries' Subject: RE: Trying to use my procedure from a pgm complied with CRTBNDRPG I got this from DSPSRVPGM... Display Service Program Information Display 5 of 10 Service program . . . . . . . . . . . . : IDSERV Library . . . . . . . . . . . . . . . : MARYWOOD Owner . . . . . . . . . . . . . . . . . : QPGMR Service program attribute . . . . . . . : RPGLE Detail . . . . . . . . . . . . . . . . . : *PROCEXP Procedure Exports: Procedure Name ARGOPT GETSOCSEC *NO And I already had this... *************** Beginning of data ************************************* 0001.00 STRPGMEXP PGMLVL(*CURRENT) 0002.00 EXPORT SYMBOL(GetSocSec) 0003.00 ENDPGMEXP ****************** End of data **************************************** I have been trying several variations on the theme & have been deleting & recreating the service program after recreating the module for GEetSocSec... It is the only module associated with the sevice program so far, because I was trying to get this one to work first :) Then I tied the service program to the binding directory... Display Binding Directory Binding Directory: IDDIR Library: MARYWOOD --------Creation--------- Object Type Library Date Time IDSERV *SRVPGM MARYWOOD 10/12/04 15:58:51 -----Original Message----- From: Bob Cozzi [mailto:cozzi@xxxxxxxxx] Sent: Wednesday, October 13, 2004 9:54 AM To: 'RPG programming on the AS400 / iSeries' Subject: RE: Trying to use my procedure from a pgm complied with CRTBNDRPG 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. -- 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. -- 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 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.