|
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-2024 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.