× 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.



"need" is an interesting word. Yes, STROBJCVN will help avoid the delay
time that would be encountered during first use. And, yes, STROBJCVN will
tell you stuff that blows up that ANZOBJCVN did not catch. While that
should not happen I know of one lister that had that situation and had IBM
generate a ptf. Which makes me wonder if I should ask "what ptf?" so that
if it was against ANZOBJCVN that I get it before I convert.
But "need" is up to the user.

Well, if you do a DSPSFWRSC after the upgrade and do F11, check the
release. If it's less than V6R1M0 then run the STROBJCVN against the
library on the same screen. If it's greater than V6R1M0 then run the
STROBJCVN against that also.
Greater than? Here's an example:
Resource Feature
ID Option Feature Type Library Release
5724J23 *BASE 2924 *LNG QSAMETIME V7R5M1


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.