× 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 program submitted each *ALLUSR library off to STROBJCVN. Currently
doesn't use the psds, nor the binding directories.


H ActGrp(*CALLER)
H DftActGrp(*NO)
H Bnddir('ROUTINES/SRVPGM':'QC2LE')

D/COPY ROUTINES/QAPISRC,QCMDEXC
D/COPY ROUTINES/QRPGLESRC,PSDS
D OpenCursor PR n
D FetchCursor PR n
D CloseCursor PR n
D DltWorkFile PR

D UsrLibrary s 10a

/free
*inlr=*on;
if not OpenCursor();
// perform error routine to alert the troops
// ...
Else;
Dow FetchCursor();
// putting the fetchcursor on the do loop allows the user of
// iter, and thus iter will not perform an infinite loop
cmd='SBMJOB CMD(STROBJCVN LIB(' + UsrLibrary +
')) JOB(' + UsrLibrary + ')';
cmdlen=%len(%trimr(cmd));
qcmdexc(cmd:cmdlen);
EndDo;
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

/free
DltWorkFile();
cmd='DSPOBJD *ALLUSR *LIB DETAIL(*FULL) OUTPUT(*OUTFILE) ' +
'OUTFILE(QTEMP/MYOUTFILE)';
cmdlen=%len(%trimr(cmd));
qcmdexc(cmd:cmdlen);
/end-free

C/EXEC SQL
C+ Declare C1 cursor for
C+ Select odobnm
C+ From qtemp/myoutfile
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 into :UsrLibrary
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
/free
Select;
When sqlstt='00000';
// cursor was closed, normal
ReturnVar=*on;
Other;
// alert the troops!
ReturnVar=*off;
EndSl;
DltWorkFile();
return ReturnVar;
/end-free
P CloseCursor E

/eject
P DltWorkFile B
D DltWorkFile PI
/free
exec sql drop table qtemp/myoutfile;
return;
/end-free
P DltWorkFile E




Rob Berendt

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.