×
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.
Buck,
A very good point.
I store the creation commands as comments in the binder source member
itself, e.g.:
/*Y: CRTSRVPGM + */
/*Y: OPTION(*DUPVAR *DUPPROC *NOWARN) + */
/*Y: SRVPGM(&L/&E) + */
/*Y: MODULE(YCMDPRC + */
/*Y: YSPDLUMX + */
/*Y: YSPDLUMR) + */
/*Y: BNDDIR(QC2LE Y1BNDDIR) + */
/*Y: TEXT('Command processing') */
STRPGMEXP LVLCHK(*NO)
EXPORT SYMBOL(PROMPTCOMMAND)
EXPORT SYMBOL(RUNCMD)
ENDPGMEXP
In my case, the comments are actually compile preprocessor directives, so
they are executed automatically when I run the CRTSRVPGM command and they
include substitution variables, but you could simply cut and paste the
CRTSRVPGM command here. The nice thing about this method is that you have a
single source member that contains everything needed to create the service
program, and it can be used by change management software. I have similar
source members for programs held in a source file called QCMPSRC (compile
source):
Y* CRTPGM +
Y* OPTION(*DUPVAR *DUPPROC *NOWARN) +
Y* PGM(&L/&E) +
Y* MODULE(YBRTPRC +
Y* YBRTP2R) +
Y* ENTMOD(YBRTPRC) +
Y* BNDDIR(Y1BNDDIR QC2LE) +
Y* TEXT('YCRTOVR Routing processor')
Rory
On Tue, Apr 27, 2010 at 11:09 AM, Buck <kc2hiz@xxxxxxxxx> wrote:
On 4/27/2010 6:55 AM, Simon Coulter wrote:
This way you end up with create commands like:
CRTSRVPGM DATE MODULE(DATE TIME TIMESTAMP)
-snip-
CRTPGM OE MODULE(OEMAIN OEWS OEDB) BNDDIR(COMMON)
Simon didn't mention the obvious: if these commands are scripted, one
doesn't have to remember them. I make CL programs to re-create these
things and I put a comment to that effect in the RPG source code. I
name them MKxxxx, so I'd have MKDATE and MKOE.
--buck
As an Amazon Associate we earn from qualifying purchases.