|
Your code is opening a cursor - which is correct -- and then trying to close
a file -- which is not. Change the 'close @@ChainID' to the following:
Exec Sql
close @@ChainID
End-Exec
John Taylor
Canada
-----Original Message-----
From: owner-rpg400-l@midrange.com [mailto:owner-rpg400-l@midrange.com]On
Behalf Of tomh@simas.com
Sent: Thursday, May 03, 2001 1:13 PM
To: rpg400-l@midrange.com
Subject: Undefined cursor in SQLRPGLE service program
Here's a snippet from my code:
*******************************************************
* RtvChnIDDsc Retrieve Chain ID Description
* from IDCODE file
*
* Return value:
* *on = error, chain id not found
* *off = no error, chain id was found
*******************************************************
p RtvChnIdDsc b export
d RtvChnIdDsc pi 1n
d $cono 3s 0
d $chnid 2
d $desc 30
d ds
d $fldlbl 12 inz('CHNGRP')
d $fldval 6
c eval $fldval = $chnid + '00' + ' '
c/Exec Sql
c+ DECLARE @@ChainID cursor for
c+ select iddescrp from idcode
c+ where ((idcompny = :$cono)
c+ and (idfldlbl = :$fldlbl)
c+ and (idfldval = :$fldval))
c/End-Exec
* Open cursor
c/Exec sql
c+ open @@ChainID
c/End-Exec
* Fetch first row
c/exec sql
c+ fetch next from @@ChainID
c+ into :$desc
c/end-exec
* If any found, read 'em
c if sqlcod = 0
c return *off
c else
c return *on
c endif
c close @@ChainID
p RtvChnIdDsc e
When I compile the (using option 15 from PDM menu), I get the following in
the error list:
*RNF7030 30 0 The name or indicator @@CHAINID is not defined.
If I comment out the 'close @@ChainID', the module compiles fine, but
calls to this function don't work right. Can I do this sort of thing in a
service program?
+---
| This is the RPG/400 Mailing List!
| To submit a new message, send your mail to RPG400-L@midrange.com.
| To subscribe to this list send email to RPG400-L-SUB@midrange.com.
| To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator: david@midrange.com
+---
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.