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



if I want to use EXCSQL, does it have to be special installation? Mark
Waterbury helped me to run the RUNSQLQRY on my iSeries and I love the little
tool. EXCSQL seems like a similar tool, am I right in assuming that? Please
feel free to correct me if I am wrong.

I appreciate all the help.

Jake.

On 4/21/06, vhamberg@xxxxxxxxxxx <vhamberg@xxxxxxxxxxx> wrote:
>
> EXCSQL is a great utility - it uses all generic substitution variables for
> QMQRY. Problem is the same as someone else's suggestion - no way to link the
> results to QMFORM, that I know of easily. So the reporting requirement is
> not handled with this tool.
>
> Regards
> Vern
> -------------- Original message --------------
> From: "Andy Leisk" <ALeisk@xxxxxxxxx>
>
> > Jake;
> > The DBG400 web site which was mentioned in another post to this list a
> few days
> > ago, has something that might do what you want. Take a look at:
> > http://dbg400.net/excsql.html
> >
> >
> > Andy Leisk
> > 920-751-4434
> > -----Original Message-----
> > From: midrange-l-bounces@xxxxxxxxxxxx [mailto:
> midrange-l-bounces@xxxxxxxxxxxx]
> > On Behalf Of vhamberg@xxxxxxxxxxx
> > Sent: Wednesday, April 19, 2006 2:09 PM
> > To: Midrange Systems Technical Discussion
> > Subject: Re: SQL in CL.
> >
> > Hi Jake
> >
> > You might not have the right source member specified when you take its
> default.
> >
> > QMQRY & QMFORM are just about perfect for what you want to do. First, do
> you
> > have the SQL licensed product on your system? You can check by running
> either
> > STRSQL or STRQM (you've probably not seen the latter command).
> >
> > Mark had a suggestion for a generic SQL command processor using QMQRY,
> but I
> > don't think it's what you want - you say now that you want a report, and
> the
> > generic query would be impossible to line up with a report.
> >
> > So you want to go to STRQM. Option 1 lets you create QMQRYs. There is a
> user
> > guide/tutorial in the manuals at www.iseries.ibm.com/infocenter - look
> under
> > database for printable manuals. This will give you a good intro to the
> Query
> > Manager (STRQM) and does not take too long. The QMFORM will give you
> great
> > layout possibilities.
> >
> > Looks like Birgitta already gave you some of this information - hope I
> am not
> > too repetitive. One thing, in a QMFORM you can put in date and time and
> page
> > number and all that. If you do that, I recommend you turn off the
> automatic
> > printing of those items that is set on the STRQMQRY command.
> >
> > Also, watch out for the width of the report - you might need to OVRPRTF
> QPQXPRTF
> > PAGESIZE(*N 132) e.g. - check the pagesize of QPQXPRTF - I think it's
> 80. The
> > nice thing about QM is, a report that is too wide will get printed in
> its
> > entirety in multiple spooled files. Query/400 just truncates.
> >
> > I think QMQRY/QMFORM in combination with a CL command and CPP are
> fantastic for
> > writing quick report apps.
> >
> > HTH
> > Vern
> > -------------- Original message --------------
> > From: "Jake M"
> >
> > > Birgitta,
> > > Thanks a bunch for the reply. I was looking for exactly something like
> > > that...But I am stuck a little bit though. The following command
> fails...
> > >
> > > CRTQMQRY QMQRY(TESTING/MYQMQRY) SRCFILE(TESTING/QQMQRYSRC)
> > >
> > > This is the step where I intend to create a file called MYQMQRY and
> place my
> > > SQL statement in it. I do not know if there is any care to be taken
> about
> > > the positioning of the statement but I was just going to put the
> following
> > > in the file...
> > >
> > > 'SELECT CSTNUM, CSNAME FROM TESTING.CSTMST WHERE CSTNUM = &PFLD1'
> > >
> > > My CLLE program would look like this..
> > >
> > > PGM PARM(&PARFLD1)
> > >
> > > DCL VAR(&PARFLD1) TYPE(*CHAR) LEN(10)
> > > DCL VAR(&QRYFLD1) TYPE(*CHAR) LEN(10)
> > >
> > > ChgVar Var(&QRYFLD1) Value('''' *cat &PARFLD1 *Cat '''')
> > >
> > > STRQMQRY QmQry(TESTING/MYQMQRY) Output(*PRINT) QmForm(*QMQRY)
> > > AlwQryDfn(*No) +
> > > SetVar((PFLD1 &QRYFLD1))
> > > ENDPGM
> > >
> > > Any help would be much appreciated...
> > >
> > > Jake.
> > >
> > > On 4/19/06, Hauser, Birgitta wrote:
> > > >
> > > > Hi,
> > > >
> > > > you might have a look at QMQuery and calling them from CL.
> > > > It's possible to pass parameters to QMQRY
> > > >
> > > > Example QMQry:
> > > > Select Fld1, Fld2, Fld3, ... FldN
> > > > from MyTable
> > > >
> > > > where Fld1 = &PFLD1 and Fld7 = &PFld7 ....
> > > > order by Fld2, Fld4
> > > >
> > > > &PFLD1 and &PFLD7 are variables that can be passed from the
> CL-Programm
> > > > (Fld1 is numeric and Fld7 is character)
> > > >
> > > > CL-Programm:
> > > > PGM PARM(&ParFld1 &ParFld7)
> > > > DCL VAR(&ParFld1) TYPE(*DEC) LEN(3 0)
> > > > DCL VAR(&QryFld1) TYPE(*CHAR) LEN(3)
> > > >
> > > > DCL VAR(&ParFld7) TYPE(*CHAR) LEN(15)
> > > > DCL VAR(&QryFld7) TYPE(*CHAR) LEN(17)
> > > >
> > > > ChgVar Var(&QryFld1) Value(&ParFld1)
> > > > ChgVar Var(&QryFld7) Value('''' *cat &ParFld7 *Cat '''')
> > > >
> > > > StrQmQry QmQry(MyLib/MyQMQRY) +
> > > > Output(*PRINT) +
> > > > QmForm(*QMQRY) +
> > > > AlwQryDfn(*No) +
> > > > SetVar((PFld1 &QryFld1) +
> > > > (PFld7 &QryFld7))
> > > >
> > > >
> > > > Birgitta
> > > >
> > > > "If you think education is expensive, try ignorance"
> > > > (Derek Bok)
> > > >
> > > >
> > > > -----Ursprüngliche Nachricht-----
> > > > Von: midrange-l-bounces@xxxxxxxxxxxx
> > > > [mailto:midrange-l-bounces@xxxxxxxxxxxx] Im Auftrag von Jake M
> > > > Gesendet: Mittwoch, 19. April 2006 15:30
> > > > An: Midrange Systems Technical Discussion
> > > > Betreff: Re: SQL in CL.
> > > >
> > > > Vern, Scott,
> > > > Thanks a lot for your suggestions. I appreciate it. Scott, you are
> > > > absolutely right...it does make sense to post the right question in
> the
> > > > right forum. I just did not know about the midrange-l. I will make
> sure I
> > > > do
> > > > that from here onwards. Now, back to the topic of
> discussion...hmmmm....so
> > > > there is no way of embedding SQL in a CL program?
> > > >
> > > > This is my situation...I have a few(about 6 to 8) CL programs which
> take
> > > > the
> > > > user input via a DSPF and process those parm's against the dB files
> and
> > > > enable the user an option to print the reports. The CL programs look
> > > > something like the one that I already posted.
> > > >
> > > > I am trying to modify these CL programs so that when ever a user
> feeds in
> > > > a
> > > > parm through the .dspf I would take that parm and give it to a SQL
> > > > statement
> > > > in the CL program and then do the report processing...
> > > >
> > > > I appreciate all your suggestions. Thanks for the input.
> > > >
> > > > Jake.
> > > >
> > > > On 4/19/06, Scott Klement wrote:
> > > > >
> > > > >
> > > > > > I am a newbie and am still trying to learn RPG. I have a
> question
> > > > > regarding
> > > > > > CL programming. Is embedded SQL supported in CL programs? If so,
> are
> > > > > SELECT
> > > > > > statements supported?
> > > > >
> > > > > In addition to Vern's excellent suggestions of QMQRY, REXX and
> OPNQRYF,
> > > > > I'd like to add these:
> > > > >
> > > > > a) In V5R3 it's possible to call the CLI APIs from CL. This
> provides
> > > > some
> > > > > interesting possibilities.
> > > > >
> > > > > b) In earlier releases, you can run SQL via QShell commands. This
> can be
> > > > > convienient, since you can build the SQL command on-the-fly.
> > > > >
> > > > > c) Some people advocate creating an RPG program that accepts an
> SQL
> > > > > statement as a parameter, and then simply prepares and executes
> it. This
> > > > > way you can call it from CL programs to perform SQL commands. Of
> > > > coruse,
> > > > > this doesn't allow data to be returned (such as the result of a
> SELECT),
> > > > > but you could have SQL write the results to a file and read it
> from CL
> > > > > using RCVF.
> > > > >
> > > > > > I want to do something like
> > > > > >
> > > > > > (only an example SQL statement).
> > > > > > 'SELECT CSTNUM, CSNAME, CSADD1, CSADD2, CSCTST, CSZIP from
> > > > > MYLIB.CSTMST
> > > > > > WHERE CSTNUM = 'PARM1';
> > > > >
> > > > > For that I'd probably use QMQRY.
> > > > >
> > > > > > I posted this question in rpg group but I was advised that it
> would be
> > > > > more
> > > > > > appropriate to post it here.
> > > > >
> > > > > I'm not sure if you understand why that is, so I'll explain.
> > > > >
> > > > > There are SQL programmers who are not RPG programers. There are CL
> > > > > programmers who are not RPG programmers. It makes sense to post
> your
> > > > > question in the correct forum. Don't post Java questions in the
> COBOL
> > > > > forum. Don't post CL questions in the RPG forum. It just makes
> sense!
> > > > >
> > > > > In addition to that, the archives of the mailing lists are very
> valuable
> > > > > because when you're having a problem you can search them, find out
> what
> > > > > other people have discussed, and often solve you problems in a few
> > > > > minutes. To keep these archives valuable, you have to know which
> lists
> > > > to
> > > > > search. For example, if I have a question about CL programming, it
> > > > > wouldn't make sense for me to search the Java mailing list.
> Therefore,
> > > > > it's to everyone's benefit if you post your questions to the right
> > > > lists.
> > > > >
> > > > > Remember, CL is a different language than RPG. The correct forum
> for CL
> > > > > discussions is MIDRANGE-L. The correct forum for RPG discussions
> is
> > > > > RPG400-L.
> > > > >
> > > > > --
> > > > > This is the Midrange Systems Technical Discussion (MIDRANGE-L)
> mailing
> > > > > list
> > > > > To post a message email: MIDRANGE-L@xxxxxxxxxxxx
> > > > > To subscribe, unsubscribe, or change list options,
> > > > > visit: http://lists.midrange.com/mailman/listinfo/midrange-l
> > > > > or email: MIDRANGE-L-request@xxxxxxxxxxxx
> > > > > Before posting, please take a moment to review the archives
> > > > > at http://archive.midrange.com/midrange-l.
> > > > >
> > > > >
> > > > --
> > > > This is the Midrange Systems Technical Discussion (MIDRANGE-L)
> mailing
> > > > list
> > > > To post a message email: MIDRANGE-L@xxxxxxxxxxxx
> > > > To subscribe, unsubscribe, or change list options,
> > > > visit: http://lists.midrange.com/mailman/listinfo/midrange-l
> > > > or email: MIDRANGE-L-request@xxxxxxxxxxxx
> > > > Before posting, please take a moment to review the archives
> > > > at http://archive.midrange.com/midrange-l.
> > > >
> > > > --
> > > > This is the Midrange Systems Technical Discussion (MIDRANGE-L)
> mailing
> > > > list
> > > > To post a message email: MIDRANGE-L@xxxxxxxxxxxx
> > > > To subscribe, unsubscribe, or change list options,
> > > > visit: http://lists.midrange.com/mailman/listinfo/midrange-l
> > > > or email: MIDRANGE-L-request@xxxxxxxxxxxx
> > > > Before posting, please take a moment to review the archives
> > > > at http://archive.midrange.com/midrange-l.
> > > >
> > > >
> > > --
> > > This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing
> list
> > > To post a message email: MIDRANGE-L@xxxxxxxxxxxx
> > > To subscribe, unsubscribe, or change list options,
> > > visit: http://lists.midrange.com/mailman/listinfo/midrange-l
> > > or email: MIDRANGE-L-request@xxxxxxxxxxxx
> > > Before posting, please take a moment to review the archives
> > > at http://archive.midrange.com/midrange-l.
> > >
> >
> > --
> > This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing
> list
> > To post a message email: MIDRANGE-L@xxxxxxxxxxxx
> > To subscribe, unsubscribe, or change list options,
> > visit: http://lists.midrange.com/mailman/listinfo/midrange-l
> > or email: MIDRANGE-L-request@xxxxxxxxxxxx
> > Before posting, please take a moment to review the archives
> > at http://archive.midrange.com/midrange-l.
> >
>
> --
> This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing
> list
> To post a message email: MIDRANGE-L@xxxxxxxxxxxx
> To subscribe, unsubscribe, or change list options,
> visit: http://lists.midrange.com/mailman/listinfo/midrange-l
> or email: MIDRANGE-L-request@xxxxxxxxxxxx
> Before posting, please take a moment to review the archives
> at http://archive.midrange.com/midrange-l.
>
>
>
>

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.