On 04-Sep-2011 08:16 , Vern Hamberg wrote:
You can buy me a Dr Pepper next time I'm in Rochester for being
your straight man!
:-)
I think we are in complete agreement here. I find RUNQRY good for
one thing, DSPPFM for another. This thread will help people
understand which to use when.
Agreed. Below I suggest how a QMQRY might even be better for some,
over RUNQRY, to deal with the RRN. FWiW, besides the capability of
DSPPFM, there is similar capability from CPYF using FROMRCD() [or even
FROMKEY() which is not available via DSPPFM] and optionally requesting
OUTFMT(*HEX); generally one of TOFILE(QSYSPRT) or TOFILE(*PRINT),
followed by a request to DSPSPLF QSYSPRT.
Now as to ORDER BY - it's easy enough to write a command that lets
you enter any SQL statement, using Query Management. And there you
can put anything in. Of course, you do need to know SQL.
The solutions I have seen to deal with the 55-byte variable limit of
STRQMQRY seem both convoluted and far from easy to implement, except
perhaps installed as a copy of an already written and tested utility.
Or you could
do something that'd be like RUNQRY, that would include selectivity
and ordering and whatever - sorta like the SEQUEL product, but not
all that hard to do. The same thing could probably be written using
dynamic embedded SQL in RPG, too.
Yet almost nobody does.? I infer writing a replacement for such
features is not so easy for most, and they apparently choose instead,
just to use RUNQRY, STRQMQRY, or buy SEQUEL [or similar].
BTW, I'm doing a presentation on QM at the Sept meeting of WMCPA
this Thursday - I think it's a great tool for ad hoc stuff and
reporting, despite all the heat about Web Query!
STRQMQRY does not fit the browser-based world-view; nor even the
client-based world-view, since the 5250 client is a layer betwixt. At
what point does the effort seem to parallel the touting of benefits for
using analog watches? Will the audience ever grow [much]? Seems IBM
finally moved-on for the i, even if only after the rest of the world had.
A command with the following underlying support might be a better
replacement for the RUNQRY as a [relative] record data viewer. With a
CLP as CPP, the STRQMQRY preceded by an OVRDBF request could enable the
capability to specify a member name which otherwise would be lost in the
transition from RUNQRY QRYFILE((ln/fn mn))
crtsrcpf qtemp/qqmqrysrc mbr(arrival) rcdlen(91)
//data /* mbr(arrival) */ endchar('//')
select dec(rrn(fn),8) as rrn, fn.* from &FN as fn order by 1
//
crtqmqry qtemp/arrival qtemp/qqmqrysrc
strqmqry qtemp/arrival setvar((FN 'qiws/qcustcdt'))
Hey, who knows, might try to
educate the world next about REXX!!
I do like REXX, of course for the string handling, but especially for
combining CL in *COMMAND command addressing and *EXECSQL SQL statement
addressing.
Regards, Chuck
As an Amazon Associate we earn from qualifying purchases.