|
> Does anyone have a UIM help panel source
> and a corresponding command definition they'd
> be willing to share?
I have an example of a home grown RUNSQLSTM that I can share. QCMDSRC,
RUNSQLSTM:
CMD PROMPT('Run a SQL statement')
PARM KWD(SQLSTM) TYPE(*CHAR) LEN(1280) MIN(1) +
EXPR(*YES) PROMPT('SQL statement')
PARM KWD(OUTPUT) TYPE(*CHAR) LEN(8) RSTD(*YES) +
DFT(*) VALUES(* *PRINT *OUTFILE) +
EXPR(*YES) PROMPT('Output')
PARM KWD(OUTFILE) TYPE(OUTFILE) PMTCTL(FILE) +
PROMPT('File to receive output')
PARM KWD(OUTMBR) TYPE(*NAME) LEN(10) DFT(*FIRST) +
SPCVAL((*FIRST)) EXPR(*YES) +
PMTCTL(FILE) PROMPT('Member')
PARM KWD(MBROPT) TYPE(*CHAR) LEN(8) RSTD(*YES) +
DFT(*REPLACE) VALUES(*REPLACE *ADD) +
EXPR(*YES) PMTCTL(FILE) PROMPT('Replace +
or add records')
PARM KWD(PAGESIZE) TYPE(PAGESIZE) PMTCTL(PRINT) +
PROMPT('Page size:')
PARM KWD(LPI) TYPE(*DEC) LEN(1 0) RSTD(*YES) +
DFT(6) VALUES(6 8) EXPR(*YES) +
PMTCTL(PRINT) PROMPT('Lines per inch')
PARM KWD(CPI) TYPE(*DEC) LEN(3 0) RSTD(*YES) +
DFT(10) VALUES(10 12 15) EXPR(*YES) +
PMTCTL(PRINT) PROMPT('Characters per inch')
PARM KWD(OVRFLW) TYPE(*DEC) LEN(3 0) +
DFT(*PAGESIZE) RANGE(1 255) +
SPCVAL((*PAGESIZE 999)) EXPR(*YES) +
PMTCTL(PRINT) PROMPT('Overflow line number')
PARM KWD(PRTSTM) TYPE(*CHAR) LEN(4) RSTD(*YES) +
DFT(*YES) VALUES(*YES *NO) EXPR(*YES) +
PMTCTL(PRINT) PROMPT('Print SQL statement')
PARM KWD(RDB) TYPE(*CHAR) LEN(15) DFT(*NONE) +
SPCVAL((*NONE *CURRENT)) EXPR(*YES) +
PMTCTL(*PMTRQS) PROMPT('Relational database')
PARM KWD(QMFORM) TYPE(QMFORM) DFT(*SYSDFT) +
SNGVAL((*SYSDFT)) PMTCTL(*PMTRQS) +
PROMPT('Form to use to format output')
PARM KWD(NAMING) TYPE(*CHAR) LEN(11) RSTD(*YES) +
DFT(*SYS) VALUES(*SAA *SYS) EXPR(*YES) +
PMTCTL(*PMTRQS) PROMPT('Naming convention')
FILE: PMTCTL CTL(OUTPUT) COND((*EQ *OUTFILE))
PRINT: PMTCTL CTL(OUTPUT) COND((*EQ *PRINT))
OUTFILE: QUAL TYPE(*NAME) LEN(10) DFT(SQLOUT) EXPR(*YES)
QUAL TYPE(*NAME) LEN(10) DFT(QTEMP) +
SPCVAL((*CURLIB) (*LIBL)) EXPR(*YES) +
PROMPT('Library')
QMFORM: QUAL TYPE(*NAME) LEN(10) EXPR(*YES)
QUAL TYPE(*NAME) LEN(10) DFT(*LIBL) +
SPCVAL((*CURLIB) (*LIBL)) EXPR(*YES) +
PROMPT('Library')
PAGESIZE: ELEM TYPE(*CHAR) LEN(3) DFT('066') RANGE('001' +
'255') FULL(*YES) EXPR(*YES) +
PROMPT('Length--lines per page')
ELEM TYPE(*CHAR) LEN(3) DFT('132') RANGE('001' +
'198') FULL(*YES) EXPR(*YES) +
PROMPT('Width--positions per line')
And here's some of QPNLSRC. I'm including the bits which bring the whole
command help together at the top, one of the 're-using IBM help' sections,
and one of my custom written sections. Also included are references to my
custom search index.
.* Help panel for RUNSQLSTM
.*
:PNLGRP.
.* ====================================================================
.* Use help from IBM's CPYF
.*
:IMPORT PNLGRP=QHCLMST1 NAME='CPYF/MBROPT'.
.* Use help from IBM's STRQMQRY
.*
:IMPORT PNLGRP=QHQXCMD NAME='STRQMQRY/NAMING'.
:IMPORT PNLGRP=QHQXCMD NAME='STRQMQRY/OUTPUT'.
:IMPORT PNLGRP=QHQXCMD NAME='STRQMQRY/OUTFILE'.
:IMPORT PNLGRP=QHQXCMD NAME='STRQMQRY/OUTMBR'.
:IMPORT PNLGRP=QHQXCMD NAME='STRQMQRY/QMFORM'.
:IMPORT PNLGRP=QHQXCMD NAME='STRQMQRY/RDB'.
.* Use help from IBM's OVRPRTF
.*
:IMPORT PNLGRP=QHCLMST1 NAME='OVRPRTF/CPI'.
:IMPORT PNLGRP=QHCLMST1 NAME='OVRPRTF/LPI'.
:IMPORT PNLGRP=QHCLMST1 NAME='OVRPRTF/PAGESIZE'.
:IMPORT PNLGRP=QHCLMST1 NAME='OVRPRTF/OVRFLW'.
.* Use help from Buck's index search
.*
:IMPORT PNLGRP=SCHHLP NAME='SQL'.
:IMPORT PNLGRP=SCHHLP NAME='SQL_select'.
:IMPORT PNLGRP=SCHHLP NAME='SQL_update'.
:IMPORT PNLGRP=SCHHLP NAME='SQL_delete'.
:IMPORT PNLGRP=SCHHLP NAME='SQL_insert'.
.* ====================================================================
.* Bring all the parms together for the search index
.*
:HELP NAME='RUNSQLSTM/ALL'.
:IMHELP NAME='RUNSQLSTM'.
:IMHELP NAME='RUNSQLSTM/SQLSTM'.
:IMHELP NAME='RUNSQLSTM/OUTPUT'.
:IMHELP NAME='RUNSQLSTM/OUTFILE'.
:IMHELP NAME='RUNSQLSTM/OUTMBR'.
:IMHELP NAME='RUNSQLSTM/MBROPT'.
:IMHELP NAME='RUNSQLSTM/PAGESIZE'.
:IMHELP NAME='RUNSQLSTM/LPI'.
:IMHELP NAME='RUNSQLSTM/CPI'.
:IMHELP NAME='RUNSQLSTM/OVRFLW'.
:IMHELP NAME='RUNSQLSTM/PRTSTM'.
:IMHELP NAME='RUNSQLSTM/RDB'.
:IMHELP NAME='RUNSQLSTM/QMFORM'.
:IMHELP NAME='RUNSQLSTM/NAMING'.
:EHELP.
.* ====================================================================
.* Extended help
.*
:HELP NAME='RUNSQLSTM'.
Run a SQL statement
:P.
This command executes a single SQL statement.
:IMHELP NAME='SQL'.
:P.
The following SQL data definition statements are allowed:
:UL COMPACT.
:LI.COMMENT ON
:LI.CREATE COLLECTION
:LI.CREATE INDEX
:LI.CREATE TABLE
:LI.CREATE VIEW
:LI.DROP COLLECTION
:LI.DROP INDEX
:LI.DROP TABLE
:LI.DROP VIEW
:LI.GRANT
:LI.LABEL ON TABLE
:LI.LABEL ON COLUMN
:LI.LABEL ON VIEW
:LI.LOCK TABLE
:LI.REVOKE
:EUL.
:P.
For help on data definition statements, see an appropriate SQL
reference book. I've included minimal help here; sorry!
:P.
The following SQL data manipulation statements are allowed:
:UL COMPACT.
:LI.:LINK PERFORM='DSPHELP SQL_select'.SELECT:ELINK.
:LI.:LINK PERFORM='DSPHELP SQL_update'.UPDATE:ELINK.
:LI.:LINK PERFORM='DSPHELP SQL_delete'.DELETE:ELINK.
:LI.:LINK PERFORM='DSPHELP SQL_insert'.INSERT INTO:ELINK.
:EUL.
:EHELP.
.* ====================================================================
.* SQLSTM
.*
:HELP NAME='RUNSQLSTM/SQLSTM'.
:HP1.SQL statement (SQLSTM) - Help:EHP1.
:XH3.SQL statement (SQLSTM)
:P.Specify the SQL statement you want to execute here.
:UL COMPACT.
:LI.:LINK PERFORM='DSPHELP SQL_select'.SELECT:ELINK.
- Extract records from a file. Records may be displayed,
printed or placed in a file.
:LI.:LINK PERFORM='DSPHELP SQL_update'.UPDATE:ELINK.
- Update records in a file.
:LI.:LINK PERFORM='DSPHELP SQL_delete'.DELETE:ELINK.
- Delete records from a file.
:LI.:LINK PERFORM='DSPHELP SQL_insert'.INSERT INTO:ELINK.
- Insert records into a file.
:EUL.
:EHELP.
.* ====================================================================
.* OUTPUT
.* Use IBM's help
.*
:HELP NAME='RUNSQLSTM/OUTPUT'.
:IMHELP NAME='STRQMQRY/OUTPUT'.
:EHELP.
.*
:EPNLGRP.
I hope this helps. You can see how the unqualified HELP name relates to the
extended help, and the qualified parts relate to the individual command
parameters.
--buck
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 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.