× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



This successfully compiles in V5R4.

H ActGrp(*CALLER)
H DftActGrp(*NO)

D OpenCursor PR n
D FetchCursor PR n
D CloseCursor PR n

D ResultVar ds Dim(5) qualified
D MyLib 10a
D MyFile 10a

/free
*inlr=*on;
if not OpenCursor();
// perform error routine to alert the troops
// ...
Else;
FetchCursor();
CloseCursor();
EndIf;
return;
/end-free

P OpenCursor B
D OpenCursor PI like(ReturnVar)
D ReturnVar s n

C/EXEC SQL
C+ Set Option
C+ Naming = *Sys,
C+ Commit = *None,
C+ UsrPrf = *User,
C+ DynUsrPrf = *User,
C+ Datfmt = *iso,
C+ CloSqlCsr = *EndMod
C/END-EXEC

C/EXEC SQL
C+ Declare C1 cursor for
C+ Select System_Table_Schema as library,
C+ System_Table_Name as file
C+ from qsys2/systables
C/END-EXEC

C/EXEC SQL
C+ Open C1
C/END-EXEC

/free
Select;
When SqlStt='00000';
return *on;
Other;
return *off;
EndSl;
/end-free
P OpenCursor E

/eject
P FetchCursor B
D FetchCursor PI like(ReturnVar)
D ReturnVar s n
C/EXEC SQL
C+ Fetch C1 for 5 rows into :ResultVar
C/END-EXEC
/free
Select;
When sqlstt='00000';
// row was received, normal
ReturnVar=*on;
When sqlstt='02000';
// same as %eof, sooner or later this is normal
ReturnVar=*off;
Other;
// alert the troops!
ReturnVar=*off;
EndSl;
return ReturnVar;
/end-free
P FetchCursor E

/eject
P CloseCursor B
D CloseCursor PI like(ReturnVar)
D ReturnVar s n
C/EXEC SQL
C+ Close C1
C/END-EXEC
C/EXEC SQL
C+ SET RESULT SETS
C+ WITH RETURN TO CALLER
C+ ARRAY :ResultVar for 5 rows
C/end-exec
/free
Select;
When sqlstt='00000';
// cursor was closed, normal
ReturnVar=*on;
Other;
// alert the troops!
ReturnVar=*off;
EndSl;
return ReturnVar;
/end-free
P CloseCursor E

Rob Berendt

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
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.