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



> Mark Walter wrote:
> Here's a program that I wrote that does that.
>

Mark -
I'm not nit-picking, but with a simple modification,
you _don't_ have to create the outfile QRYFILEWK
before you can compile the above CLP.  It's all a matter of knowing
which IBM-supplied outfile to use for compile purposes, along
with the appropriate overrides (see below).

All of the IBM-supplied outfiles exist in QSYS, prefixed
with QA.  They are the model files that are used when an
outfile is specified on a command.

If you WRKOBJ OBJ(QSYS/QB*) OBJTYPE(*FILE),
you'll see a list of them.

The text on each file describes the commands that use them.

Regards,
Steve Landess
Austin, Texas
(512) 423-0935

----------------------------------------------------------------------------
--

Here is a modified version of your program that will compile
without having to first manuall execute the DSPOBJD command
to create the outfile named QRYFILEWK:

     /******************************************************************

pgm         parm(&lib)
dclf        file(QSYS/QADSPOBJ)
dcl         var(&lib) type(*char) len(10)
dcl         var(&mbr) type(*Char) len(10)

/* put all query definitions into a temporary work file in QGPL */
/* This file has to be there for the program to compile         */
dspobjd     obj(&lib/*all) objtype(*qrydfn) output(*outfile) +
              outfile(qgpl/qryfilewk)  outmbr(*first *replace)

OVRDBF FILE(QADSPOBJ) TOFILE(QGPL/QRYFILEWK)

/* does the source physical file exist?                         */
/* if it doesn't, create it.                                    */
chkobj      obj(&lib/qrysource) objtype(*file)
monmsg      msgid(cpf9801) exec(crtsrcpf file(&lib/qrysource))
 /* if it does exist, remove all of the members                  */
 rmvm        file(&lib/qrysource) mbr(*all)
 monmsg      msgid(cpf7301)
 /* file read loop                                               */
 read:
 rcvf        rcdfmt(qlidobjd)
 monmsg      msgid(cpf0864) exec(goto cmdlbl(eof))
 /* add the member to the source file and retrive the query      */
 /* definition into the member you just added.                   */
 addpfm      file(&lib/qrysource) mbr(&odobnm)
 rtvqmqry    qmqry(&lib/&odobnm) srcfile(&lib/qrysource) +
              srcmbr(&odobnm) alwqrydfn(*yes)
 goto        cmdlbl(read)
 eof:
 endpgm



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.