|
FYI, here is a quick and dirty MI front-end: "Create a Program On-the-Fly".
You type your MI source code right onto the command prompter or command
line. No need for SEU rigmarole. To re-edit source, press F9=Retrieve on
a command line. I use this to test quick little one-time ideas in MI. For
example,
CRTPOTF PGM(QTEMP/TESTER) +
CODE('DCL DD SHOW AUTO CHAR(4096);' +
'DCL DD * DEF(SHOW) POS(1) BIN(4) INIT(4096);' +
'DCL SPCPTR ?SHOW AUTO INIT(SHOW);' +
'MATINVS ?SHOW, *;' +
'BRK "LOOK";')
/********************************************************************/
/* COMMAND - CRTPOTF */
/* FUNCTION - Create a Program On-the-Fly */
/* AUTHOR - Gene Gaunt */
/********************************************************************/
CMD PROMPT('Create a Program On-the-Fly')
PARM KWD(PGM) TYPE(Q1) MIN(1) PROMPT('Program')
Q1: QUAL TYPE(*NAME) MIN(1)
QUAL TYPE(*NAME) DFT(*CURLIB) SPCVAL((*CURLIB +
*CURLIB)) PROMPT('Library')
PARM KWD(CODE) TYPE(*CHAR) LEN(80) MAX(300) +
PROMPT('MI source code')
/********************************************************************/
/* PROGRAM - CRTPOTF */
/* PURPOSE - Create a Program On-the-Fly */
/* LANGUAGE - CL */
/* AUTHOR - Gene Gaunt */
/********************************************************************/
pgm (&program &code)
dcl &program *char 20
dcl &code *char 9999
dcl &error *char 142
dcl &size *char 4
dcl &text *char 50
dcl &x *dec 4
chgvar &x (%bin(&code 1 2) * 80 + 3)
chgvar %sst(&code 1 2) ' '
chgvar %sst(&code &x 22) '/*''/*''/*"/*"*/;PEND;;;'
chgvar %bin(&size 1 4) (&x + 21)
chgvar %bin(&error 1 4) 142
chgvar %sst(&error 9 28) ('CPC0815' *bcat &program)
ovrprtf QSYSPRT splfname(%sst(&program 1 10))
call QPRCRTPG (&code +
&size +
&program +
&text +
'*NONE' +
' ' +
' ' +
'QSYSPRT *LIBL' +
x'00000001' +
'*ALL' +
'*LIST *ATR *REPLACE' +
x'00000003' +
&error)
sndpgmmsg msgid(%sst(&error 9 7)) +
msgf(QCPFMSG) msgdta(%sst(&error 17 126))
endpgm
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.