|
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.
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 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.