Hi Richard

V5R3 has the GENCMDDOC command - it can create UIM source or HTML. The UIM option gives you help sections for each parameter.

This CMD source

             CMD        PROMPT(LKJH)
             PARM       KWD(JOBNAME) TYPE(*GENERIC) LEN(10) +
                          SPCVAL((*ANY)) MIN(1) PROMPT('Job name')
             PARM       KWD(JOBQ) TYPE(NAME1) DFT(*ANY) +
                          SNGVAL((*ANY)) PROMPT('Job queue')
NAME1:       QUAL       TYPE(*NAME) LEN(10) MIN(1)
             QUAL       TYPE(*NAME) LEN(10) MIN(1) PROMPT('Library')
             DEP        CTL(*ALWAYS) PARM((JOBNAME) (JOBQ)) +
                          NBRTRUE(*GT 0)
             DEP        CTL(&JOBNAME *EQ *ANY) PARM((&JOBQ *NE *ANY))

results in this UIM source

:pnlgrp.

.************************************************************************

.* Help for command LKJH
.************************************************************************


:help name='LKJH'.
LKJH - Help
:p.The LKJH (LKJH) command <...>
.* Describe the function provided by the command.
:p.:hp2.Restrictions::ehp2.


:ul.

:li.

You must have <...>
.* List all special authorities required to run the command.
:li.


You must have <...>
.* List object or data authorities required to run the command.
:li.


This command is conditionally threadsafe, <...>
.* If conditionally threadsafe, list threadsafe conditions or restrictions.
:li.


<...>

.* Describe other command-level restrictions.
.* Parameter-level restrictions belong in parameter help sections, not here.
:eul.


:ehelp.

.*******************************************

.* Help for parameter JOBNAME
.*******************************************


:help name='LKJH/JOBNAME'.
Job name (JOBNAME) - Help
:xh3.Job name (JOBNAME)
:p.Specifies <...>
.* Describe the function provided by the parameter.
:parml.


:pt.:pk def.*ANY:epk.
:pd.


<...>

.* Describe the function provided by the pre-defined parameter value.
:pt.:pv.generic-name:epv.


:pd.

Specify the generic name of <...>
.* Describe the function provided by the user-defined parameter value.
:pt.:pv.name:epv.


:pd.

Specify the name of <...>
.* Describe the function provided by the user-defined parameter value.
:eparml.


:ehelp.

.*******************************************

.* Help for parameter JOBQ
.*******************************************


:help name='LKJH/JOBQ'.
Job queue (JOBQ) - Help
:xh3.Job queue (JOBQ)
:p.Specifies <...>
.* Describe the function provided by the parameter.
:p.:hp2.Single values:ehp2.
:parml.


:pt.:pk def.*ANY:epk.
:pd.


<...>

.* Describe the function provided by the pre-defined parameter value.
:eparml.


:p.:hp2.Qualifier 1: Job queue:ehp2.
:parml.


:pt.:pv.name:epv.

:pd.

Specify the name of <...>
.* Describe the function provided by the user-defined parameter value.
:eparml.


:p.:hp2.Qualifier 2: Library:ehp2.
:parml.


:pt.:pv.name:epv.

:pd.

Specify the name of <...>
.* Describe the function provided by the user-defined parameter value.
:eparml.


:ehelp.

.**************************************************

.*

.* Examples for LKJH
.*


.**************************************************

:help name='LKJH/COMMAND/EXAMPLES'.
Examples for LKJH - Help
:xh3.Examples for LKJH
:p.:hp2.Example 1: Simple Command Example:ehp2.
:xmp.


LKJH KWD1(PARMVAL1)

:exmp.

:p.This command <...>
.* Describe a simple invocation of the command.
.*


:p.:hp2.Example 2: More Complex Command Example:ehp2.
:xmp.


LKJH KWD1(PARMVAL1) KWD2(PARMVAL2)

KWD3(PARMVAL3)

:exmp.

:p.This command <...>
.* Describe a more complex invocation of the command.
:ehelp.


.**************************************************

.*

.* Error messages for LKJH
.*


.**************************************************

:help name='LKJH/ERROR/MESSAGES'.
&msg(CPX0005,QCPFMSG). LKJH - Help
:xh3.&msg(CPX0005,QCPFMSG). LKJH
:p.:hp3.*ESCAPE &msg(CPX0006,QCPFMSG).:ehp3.
.************************************************************************


.* List the *ESCAPE, *STATUS, and *NOTIFY messages signalled from the command.
.* The following are generic messages defined in message file QCPFMSG.
.* Modify this list to match the list of error messages for the command.
.************************************************************************


:DL COMPACT.
:DT.CPF9801


:DD.&MSG(CPF9801,QCPFMSG,*LIBL,nosub).

:DT.CPF9802

:DD.&MSG(CPF9802,QCPFMSG,*LIBL,nosub).

:DT.CPF9803

:DD.&MSG(CPF9803,QCPFMSG,*LIBL,nosub).

:DT.CPF9807

:DD.&MSG(CPF9807,QCPFMSG,*LIBL,nosub).

:DT.CPF9808

:DD.&MSG(CPF9808,QCPFMSG,*LIBL,nosub).

:DT.CPF9810

:DD.&MSG(CPF9810,QCPFMSG,*LIBL,nosub).

:DT.CPF9811

:DD.&MSG(CPF9811,QCPFMSG,*LIBL,nosub).

:DT.CPF9812

:DD.&MSG(CPF9812,QCPFMSG,*LIBL,nosub).

:DT.CPF9820

:DD.&MSG(CPF9820,QCPFMSG,*LIBL,nosub).

:DT.CPF9830

:DD.&MSG(CPF9830,QCPFMSG,*LIBL,nosub).

:DT.CPF9899

:DD.&MSG(CPF9899,QCPFMSG,*LIBL,nosub).

:EDL.

:ehelp.

:epnlgrp.


HTML version is

<!doctype html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>


<head><META http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>LKJH (LKJH)</title>


</head>

<body bgcolor="white">

<a name="LKJH.Top_Of_Page"></a>

<h2>LKJH (LKJH)</h2>

<table width="100%">

<tr>

<td valign="top" align="left"><b>Where allowed to run: </b>All environments (*ALL)<br>
<b>Threadsafe: </b>No


</td>

<td valign="top" align="right">
<a href="#LKJH.PARAMETERS.TABLE">Parameters</a><br>


<a href="#LKJH.COMMAND.EXAMPLES">Examples</a><br>

<a href="#LKJH.ERROR.MESSAGES">Error messages</a></td>
<a href="#LKJH.ERROR.MESSAGES">Error messages</a></td>
</tr>
</table>


<hr size="2" width="100%">

<div>
<h3><a name="LKJH.PARAMETERS.TABLE">Parameters</a></h3>
<table border="1" cellpadding="4" cellspacing="0">
<!-- col1="10" col2="15" col3="30" col4="10" -->
<tr>
<th bgcolor="aqua" valign="bottom" align="left">Keyword</th>
<th bgcolor="aqua" valign="bottom" align="left">Description</th>
<th bgcolor="aqua" valign="bottom" align="left">Choices</th>
<th bgcolor="aqua" valign="bottom" align="left">Notes</th>
</tr>
<tr>
<td valign="top"><b>JOBNAME</b></td>
<td valign="top">Job name</td>
<td valign="top">Job name</td>


<td valign="top"><i>Generic name, name</i>, <b><u>*ANY</u></b></td>
<td valign="top">Optional, Positional 1</td>
</tr>


<tr>

<td valign="top" rowspan="3"><b>JOBQ</b></td>

<td valign="top">Job queue</td>

<td valign="top">Single values: <b><u>*ANY</u></b><br>Other values: <i>Qualified object name</i></td>
<td valign="top" rowspan="3">Optional, Positional 2</td>
</tr>


<tr>

<td valign="top">Qualifier 1: Job queue</td>
<td valign="top"><i>Name</i></td>


</tr><tr>

<td valign="top">Qualifier 2: Library</td>
<td valign="top"><i>Name</i></td>


</tr></table>


<table width="100%">


<table width="100%">
<tr><td align="right"><a href="#LKJH.Top_Of_Page">Top</a></td></tr>
</table>
</div>
<hr size="2" width="100%">
<div>
<h3><a name="LKJH.COMMAND.EXAMPLES">Examples</a></h3>None
</div>
<table width="100%">
<tr><td align="right"><a href="#LKJH.Top_Of_Page">Top</a></td></tr>
</table>
<hr size="2" width="100%">
<div>
<h3><a name="LKJH.ERROR.MESSAGES">Error messages</a></h3>Unknown
</div>
<table width="100%">
<tr><td align="right"><a href="#LKJH.Top_Of_Page">Top</a></td></tr>
</table>
</body>
</body>
</html>

Very cool!
Vern

At 09:03 AM 7/8/2004, you wrote:
Hello All,

We are looking for a good tool to automate some of the coding behind
creating help text for CL commands and also green screen programs.

Does anybody know of a good tool for this or do you have something home
grown you're willing to share or sell.

I would also entertain bids to create something.

Any input is appreciated.

Regards,
Richard Schoen
RJS Software Systems Inc.



This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2026 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.