Keyboard Shortcuts
Likes
- H390-Vm
- Messages
Search
Re: CMS Exec's
¿ªÔÆÌåÓýThanks. That¡¯s a starting point if the VMSHARE archive doesn¡¯t work out. ? From: [email protected] <[email protected]> On Behalf Of kris.buelens@...
Sent: Tuesday, May 17, 2022 10:13 AM To: [email protected] Subject: Re: [h390-vm] CMS Exec's ? I've created an XEDIT Prefix macro to create a REXX commentbox
DynGapFileFilter: /* User wants subset of GAPFILE volumes */ It creates this: /*-----------------------------------------------------------------*/ DynGapFileFilter: /* User wants subset of GAPFILE volumes? ? ? ? ? */ /*-----------------------------------------------------------------*/ ?
|
Re: CMS Exec's
¿ªÔÆÌåÓýI will check that and thanks. ? From: [email protected] <[email protected]> On Behalf Of Dave Wade
Sent: Tuesday, May 17, 2022 8:38 AM To: [email protected] Subject: Re: [h390-vm] CMS Exec's ? Mark, Google is very bad at finding old CMS stuff. The VMSHARE archives are not indexed, nor are many of the workshop tape content files. The nearest I could find to these are some for HELP files on the waterloo tape. ? M0010V00EDIT MACROS-- Two EDIT macros, $BOX and $BRACKET, aid in documenting CP/CMS commands using SCRIPT.? $BOX creates a box for command syntax diagrams. $BRACKET places groups of operands into a box, surrounded by square brackets. Documentation can be formatted using SCRIPT, or typed without formatting. This package is release independent.? Formerly M0065V00 on Release 5. --Herb Weiner, Tektronix, Beaverton, Oregon, November 26, 1979. ? I wonder of the execs Mike remembers were local modifications derived from these.. Dave ? ? ? From: [email protected] <[email protected]> On Behalf Of Mark A. Stevens via groups.io ? On Mon, May 16, 2022 at 09:49 AM, Mike Ward wrote:
Mike, |
Re: How To Capture CP SPOOL Command Output
#VMCE
Hi Mark, The EXECIO command I wrote for VM370CE is not IBM code, even though it was written to the exact same specifications documented in the IBM manuals for VM/SP and later systems. It is a CMS command, and the source is DMSXIO?ASSEMBLE on the VMSETUP?CMS search order. There are a few fix updates. If you want to take a crack at resolving this symptom, please do so. Opening an issue will make sure that any fixes will make it into the next VM370CE release.? I can look at it next week, after I finish wrapping up my current issue.? Bob On Tue, May 17, 2022 at 10:43 AM Mark A. Stevens via <marXtevens=[email protected]> wrote: I think I found a bug in EXECIO when using the STEM option. When I use the same variable to catch the CP output, it works the first time, but not after that. I have tried initializing the stem variable each time I use it, and not initializing it. Neither helps. Remove CPinfo. = '' from the EXEC, found at the bottom, to see for yourself. The following is the output of performing this task manually. Hence I don't use the STEM option., but I do get CP output. |
Re: CMS Exec's
I've created an XEDIT Prefix macro to create a REXX commentbox
I particularly like its support for REXX labels.? If you enter CMTB on a line like DynGapFileFilter: /* User wants subset of GAPFILE volumes */
It creates this:
/*-----------------------------------------------------------------*/
DynGapFileFilter: /* User wants subset of GAPFILE volumes? ? ? ? ? */
/*-----------------------------------------------------------------*/
?
It is part of my GD-XEDIT goodies, can be found here: It is included in PRFMINE XEDIT; synonyms to create a CMTB prefix command (that will call PRFMINE) can be defined by executing SETSYN (also part of GD-XEDIT) Or? via SET PREFIX SYN CMTB PRFMINE -- Kris Buelens |
Re: How To Capture CP SPOOL Command Output
#VMCE
I think I found a bug in EXECIO when using the STEM option. When I use the same variable to catch the CP output, it works the first time, but not after that. I have tried initializing the stem variable each time I use it, and not initializing it. Neither helps. Remove CPinfo. = '' from the EXEC, found at the bottom, to see for yourself. The following is the output of performing this task manually. Hence I don't use the STEM option., but I do get CP output.
q rdr * NO RDR FILES Ready; T=0.01/0.01 08:10:08 cp query virtual 00c RDR? 00C CL A? NOCONT NOHOLD?? EOF????? READY Ready; T=0.01/0.01 08:10:19 SPOOL CONSOLE START TO * TERM Ready; T=0.01/0.01 08:10:31 scan GCC EXEC Y2 Enter pattern: &ARGS ? File: GCC EXEC Y2. ?16: &ARGS &2 &3 &4 &5 &6 &7 &8 &9 &10 &11 &12 &13 &14 &15 &16 &17 &18 &19 &20 ?22: &ARGS &2 &3 &4 &5 &6 &7 &8 &9 &10 &11 &12 &13 &14 &15 &16 &17 &18 &19 &20 ?28: &ARGS &2 &3 &4 &5 &6 &7 &8 &9 &10 &11 &12 &13 &14 &15 &16 &17 &18 &19 &20 ?35: ?? &ARGS &2 &3 &4 &5 &6 &7 &8 &9 &10 &11 &12 &13 &14 &15 &16 &17 &18 &19 &20 ?61: ?? &ARGS &2 &3 &4 &5 &6 &7 &8 &9 &10 &11 &12 &13 &14 &15 &16 &17 &18 &19 &20 ?88: ?? &ARGS &2 &3 &4 &5 &6 &7 &8 &9 &10 &11 &12 &13 &14 &15 &16 &17 &18 &19 &20 Ready; T=0.01/0.02 08:10:41 SPOOL CONSOLE STOP CLOSE TERM CON FILE 1758? TO? XMAS???? COPY 01 NOHOLD Ready; T=0.01/0.01 08:10:48 q rdr * ORIGINID FILE CLASS RECDS? CPY HOLD XMAS???? 1758 T CON 000020? 01 NONE Ready; T=0.01/0.01 08:10:55 The following is the output from PARS EXEC, which is at the bottom of this missive. The stem variable, CPinfo. , only contains results the first time. Hence, I don't catch a spool ID for the closed console file. Another odd thing, is that the console spool file seems vanish upon closing. I tried a manual STOP CLOSE, and still nothing. If the spool ID were to show up, then I could process the file. q rdr * ORIGINID FILE CLASS RECDS? CPY HOLD XMAS???? 1758 T CON 000020? 01 NONE Ready; T=0.01/0.01 08:12:14 pars QUERY VIRTUAL 00C CPinfo.0? =? 1 CPinfo.1? =? RDR? 00C CL A? NOCONT NOHOLD?? EOF????? READY SPOOL CONSOLE START TO * TERM CPinfo.0? = Enter pattern: ? File: GCC EXEC Y2. ?16: &ARGS &2 &3 &4 &5 &6 &7 &8 &9 &10 &11 &12 &13 &14 &15 &16 &17 &18 &19 &20 ?22: &ARGS &2 &3 &4 &5 &6 &7 &8 &9 &10 &11 &12 &13 &14 &15 &16 &17 &18 &19 &20 ?28: &ARGS &2 &3 &4 &5 &6 &7 &8 &9 &10 &11 &12 &13 &14 &15 &16 &17 &18 &19 &20 ?35: ?? &ARGS &2 &3 &4 &5 &6 &7 &8 &9 &10 &11 &12 &13 &14 &15 &16 &17 &18 &19 &20 ?61: ?? &ARGS &2 &3 &4 &5 &6 &7 &8 &9 &10 &11 &12 &13 &14 &15 &16 &17 &18 &19 &20 ?88: ?? &ARGS &2 &3 &4 &5 &6 &7 &8 &9 &10 &11 &12 &13 &14 &15 &16 &17 &18 &19 &20 SPOOL CONSOLE STOP CLOSE TERM CPinfo.0? = Spool ID: Error: SpoolID () not valid. Ready(00008); T=0.04/0.06 08:12:1 q rdr * ORIGINID FILE CLASS RECDS? CPY HOLD XMAS???? 1758 T CON 000020? 01 NONE Ready; T=0.01/0.01 08:12:24 SPOOL CONSOLE STOP CLOSE TERM Ready; T=0.01/0.01 08:23:59 q rdr * ORIGINID FILE CLASS RECDS? CPY HOLD XMAS???? 1758 T CON 000020? 01 NONE Ready; T=0.01/0.01 08:24:07 Below is the EXEC. It's longer than it would be if everything was working correctly. I have tried to be consistent in usage and catch all the information I could. // ADDRESS 'COMMAND'????????????????????? /* Strict command evaluation.? */ SIGNAL ON SYNTAX?????????????????????? /* Handle syntax errors.?????? */ SIGNAL ON NOVALUE????????????????????? /* Handle bad/no value errors. */ fn = 'GCC' ft = 'EXEC' fm = 'Y' // /* Scan specified file for string and place results in RDR spool file */ // CPinfo. = '' CP_Command = 'QUERY VIRTUAL 00C' SAY CP_Command 'EXECIO * CP ( STEM CPinfo. STRING ' CP_Command ' )' Counter = 0 DO UNTIL Counter > CPinfo.0 ?? SAY 'CPinfo.'Counter ' = ' CPinfo.Counter ?? Counter = Counter + 1 END // New_Class = 'T' CPinfo. = '' CP_Command ='SPOOL CONSOLE START TO * TERM' SAY CP_Command 'EXECIO * CP ( STEM CPinfo. STRING ' CP_Command ' )' Counter = 0 DO UNTIL Counter > CPinfo.0 ?? SAY 'CPinfo.'Counter ' = ' CPinfo.Counter ?? Counter = Counter + 1 END New_Class = 'T' CPinfo. = '' CP_Command ='SPOOL CONSOLE START TO * TERM' SAY CP_Command 'EXECIO * CP ( STEM CPinfo. STRING ' CP_Command ' )' Counter = 0 DO UNTIL Counter > CPinfo.0 ?? SAY 'CPinfo.'Counter ' = ' CPinfo.Counter ?? Counter = Counter + 1 END // PUSH '&ARGS' 'SCAN' fn ft fm // CPinfo. = '' CP_Command = 'SPOOL CONSOLE STOP CLOSE TERM' SAY CP_Command 'EXECIO * CP ( STEM CPinfo. STRING ' CP_Command ' )' Counter = 0 DO UNTIL Counter > CPinfo.0 ?? SAY 'CPinfo.'Counter ' = ' CPinfo.Counter ?? Counter = Counter + 1 END PARSE VAR CPinfo.1 WITH . . SpoolID . SAY 'Spool ID: ' SpoolID IF SpoolID = '' THEN ?? DO ????? SAY 'Error: SpoolID ('SpoolID') not valid.' ????? RETURN 8 ?? END // CPinfo. = '' CP_Command = 'CHANGE RDR ' SpoolID ' CLASS A' SAY CP_Command 'EXECIO * CP ( STEM CPinfo. STRING ' CP_Command ' )' Counter = 0 DO UNTIL Counter > CPinfo.0 ?? SAY 'CPinfo.'Counter ' = ' CPinfo.Counter ?? Counter = Counter + 1 END // CPinfo. = '' CP_Command = 'ORDER RDR ' SpoolID SAY CP_Command 'EXECIO * CP ( STEM CPinfo. STRING ' CP_Command ' )' Counter = 0 DO UNTIL Counter > CPinfo.0 ?? SAY 'CPinfo.'Counter ' = ' CPinfo.Counter ?? Counter = Counter + 1 END // 'EXECIO * CARD ( STEM RDRLINE. )' SAY RDRLINE.0 ' lines read.' // /* Exit cleanly.????????????????????????????????????????????????????? */ // RETURN rc Finally, does anyone know if the EXECIO source code is kept on CE V1R1M1, and where? If not, I can always go yank it off the 'net. ?... Mark S. |
Re: CMS Exec's
¿ªÔÆÌåÓýMark, Google is very bad at finding old CMS stuff. The VMSHARE archives are not indexed, nor are many of the workshop tape content files. The nearest I could find to these are some for HELP files on the waterloo tape. ? M0010V00EDIT MACROS-- Two EDIT macros, $BOX and $BRACKET, aid in documenting CP/CMS commands using SCRIPT.? $BOX creates a box for command syntax diagrams. $BRACKET places groups of operands into a box, surrounded by square brackets. Documentation can be formatted using SCRIPT, or typed without formatting. This package is release independent.? Formerly M0065V00 on Release 5. --Herb Weiner, Tektronix, Beaverton, Oregon, November 26, 1979. ? I wonder of the execs Mike remembers were local modifications derived from these.. Dave ? ? ? From: [email protected] <[email protected]> On Behalf Of Mark A. Stevens via groups.io
Sent: 17 May 2022 14:07 To: [email protected] Subject: Re: [h390-vm] CMS Exec's ? On Mon, May 16, 2022 at 09:49 AM, Mike Ward wrote:
Mike, |
Re: CMS Exec's
On Mon, May 16, 2022 at 09:49 AM, Mike Ward wrote:
When I was using CMS back in 1973, and editing assembler source programs there were some exec on the Y disk. Like $boxa and also some for cobol. Does $boxa used to put a box for comments in the assembler source. Does anyone know if these execs still exist? Where can I get a copy of they still do?Mike, I believe that would have been a local EXEC at whatever company/university/site you were at. Google didn't turn up anything. It wouldn't be difficult to replicate, if you could describe, as completely as you can, what it did. ?... Mark S. |
CMS Exec's
¿ªÔÆÌåÓýWhen I was using CMS back in 1973, and editing assembler source programs there were some exec on the Y disk. Like $boxa and also some for cobol. Does $boxa used to put a box for comments in the assembler source. Does anyone know if these execs still exist? Where can I get a copy of they still do? |
Re: How To Capture CP SPOOL Command Output
#VMCE
On Sun, May 8, 2022 at 10:13 PM, Joe Monk wrote:
As I understand EXECIO, if youre supplying a CP command on the same line, you have to use the STRING option...Joe, Thank you verymuch! I read the online help, but didn't understand. I guess I will also go look at other EXECIO documentation as well. I ended up with the following, which gets me the spoolid I wanted. 'EXECIO * CP ( STRING SPOOL CONSOLE STOP CLOSE TERM' ?????????????????????????????????????????????????? ? PULL . . Spoolid .???????????????????????????????? ? SAY Spoolid???????????????????????????????????????? ?... Mark S. |
Re: How To Capture CP SPOOL Command Output
#VMCE
As I understand EXECIO, if youre supplying a CP command on the same line, you have to use the STRING option... As an example: EXECIO * CP (SKIP STRING Q userid Which would issue the CP command Q userid Joe On Sun, May 8, 2022 at 8:07 PM Mark A. Stevens via <marXtevens=[email protected]> wrote: I am trying to capture the line generated by CP when I close the spooled console, so I can get the spoolid. The following EXEC is pared down to the minimum, yet EXECIO doesn't seem to stack the output. |
How To Capture CP SPOOL Command Output
#VMCE
I am trying to capture the line generated by CP when I close the spooled console, so I can get the spoolid. The following EXEC is pared down to the minimum, yet EXECIO doesn't seem to stack the output.
// /* FileName:? REXPARS EXEC??????????????????????????????????????????? */ ADDRESS 'COMMAND'????????????????????? /* Strict command evaluation.? */ PARSE UPPER ARG fn ft fm . /* 'CP SPOOL CONSOLE START TO * NOTERM' */ 'CP SPOOL CONSOLE START TO *' 'SCAN' fn ft fm /* 'CP SPOOL CONSOLE STOP CLOSE TERM' */ 'EXECIO * CP SPOOL CONSOLE STOP CLOSE TERM' PULL Spoolid SAY Spoolid RETURN I get the following, abbreviated,output. It sits at VM READ until I type something and hit enter (the PULL) and echoes it. rexpars SOURCE?? G27AJCL? H Enter pattern: add name= ? File: SOURCE G27AJCL H1. 16: ./ ADD NAME=ASMGF1???????? ? 2213: ./ ADD NAME=ASMGASM??????? ? ... 41849: ./ ADD NAME=ASMGRTA????????????? ? 42071: ./ ADD NAME=ASMGUP?????????????? ? Invalid operand: SPOOL. x X Ready(00024); T=1.76/2.64 18:42:57 I have tried the commands just entered at the console, as well. In the second run, below, I actually tried 'SPOOL CONSOLE STOP CLOSE TERM ( STACK', hoping against hope that CMS would intervene and stack the output, but it got swallowed up, without working. CP SPOOL CONSOLE START TO * NOTERM Enter pattern: CON FILE 1731? TO? XMAS???? COPY 01 NOHOLD Ready; T=0.01/0.01 18:47:20 CP SPOOL CONSOLE START TO * NOTERM Enter pattern: CON FILE 1732? TO? XMAS???? COPY 01 NOHOLD Ready; T=0.01/0.01 18:48:05 Using SFBROWSE to see what happened ... ... 42071:??????????????????????????????? ./ ADD NAME=ASMGUP??????????????????? ? Ready; T=1.35/1.90 18:47:47?????????? ? SPOOL CONSOLE STOP CLOSE TERM ( STACK ? (??????? NOT IN CP DIRECTORY????????? ? Ready(00053); T=0.01/0.01 18:47:57??? ? SPOOL CONSOLE STOP CLOSE TERM???????? ? * * *? END OF FILE? * * *????????????? Any suggestions, including "Just go away," are appreciated :-) ?... Mark S. |
Re: ECMODE on in every user directory entry
¿ªÔÆÌåÓýKris, ? Thanks for that. I had forgotten the trick but it works just fine. I used ¡°set input¡± to map ¡°~¡±(Tilde) ?to 0x15 and created a file with EDIT with one line ? CP DEFINE STOR 10M~CP SET ECMODE ON~CP IPL CMS PARM AUTOCR ? And that works just fine. I used EDIT as EE uses full screen IO and so by-passes the input character mapping. ? Dave ? From: [email protected] <[email protected]> On Behalf Of kris.buelens@...
Sent: 01 May 2022 16:05 To: [email protected] Subject: Re: [h390-vm] ECMODE on in every user directory entry ? > &CONTROL OFF > &PUSH CP IPL 123 > CP SET ECMODE ON -- |
Re: ECMODE on in every user directory entry
I believe its to do with timers. I see that the WAITC user command on the various n-pack uses the interval timer which needs ECMODE...Out of curiosity, Dave, why did such packages require ECMODE? ... which is why I suggested setting it on for "normal users".... Looking at Pages 166-167 detail several differences in the behaviour of the timers depending on the setting of ECMODE. We also required TIMER REAL. This does impose quite a load on CP as it has to do a lot more checking of timers for VMs in virtual wait state. Harold GrovesteenDave G4UGM |
Re: ECMODE on in every user directory entry
> &CONTROL OFF > &PUSH CP IPL 123 > CP SET ECMODE ON Kris Buelens |
Re: ECMODE on in every user directory entry
"Does anyone know why ECmode is on for all users in the user directory for VMCE?"
ECMODE is set for only these users in VMCE 1.1.1: CPWATCH DOSSTART DOSVS GCCCMS MAINT MAINTC RSCS MVS These are system install and service machines, or machines dedicated to guest operating systems.? Bob |
Re: ECMODE on in every user directory entry
On Sun, 2022-05-01 at 14:28 +0100, Dave Wade wrote:
Out of curiosity, Dave, why did such packages require ECMODE?-----Original Message-----to Harold Grovesteen |
Re: ECMODE on in every user directory entry
toggle quoted message
Show quoted text
-----Original Message-----to keep things simple(r).Olaf, One thing that changed the "default" was the widespread introduction of communications products. So I wrote X25 software for VM/CMS which was used in UK Universities. At the same time in other countries TCP/IP was starting to be used. Both these packages require ECMODE to be set on for any user that runs a communications product in their VM. Dave --else to \X/ have kids to make his activity cost neutral." -The BOFHfalu.nl@rhialto |
Re: ECMODE on in every user directory entry
On Sat 30 Apr 2022 at 20:32:16 +0100, Dave Wade wrote:
Historically the answer is ?it depends?. The tendency was to leaveIndeed. In my recollection (which may be imperfect of course), we computer science students (mid-late '80s, VM/SP) got our VMs running in BC mode and I have no reason to believe other users were different. I think we were told about EC mode but since some of our exercises were about using SIO for low-level disk I/O, it was recommended not to use it, to keep things simple(r). -Olaf. -- ___ "Buying carbon credits is a bit like a serial killer paying someone else to \X/ have kids to make his activity cost neutral." -The BOFH falu.nl@rhialto |
Re: ECMODE on in every user directory entry
On Sat, 30 Apr 2022 at 17:28, Joe Monk <joemonk64@...> wrote:
It is extremely common to first IPL CMS in the MVS VM, and have it set things up before issuing the IPL of MVS. Notably, coupling virtual CTCAs pretty much has to be done in a script (EXEC, REXX) once the VM exists. Naturally the first of a pair of VMs to be instantiated will be unable to COUPLE to another that doesn't yet exist, so the second one will have to do the work. And this can continue to more than two, of course. This is still the way things are done in the modern zVM world with guest z/OS systems, though of course ECMODE doesn't come into it. Tony H. |
Re: ECMODE on in every user directory entry
On Sat, 30 Apr 2022 at 17:50, Dave Wade <dave.g4ugm@...> wrote:
Its a CP command. CP commands work with nothing IPL d in the VM. In fact if CMS is IPLdI was going to point that out. One may IPL CMS in a VM that¡¯s going to run MVS or other OS so that you can tweak the configuration in ways that can¡¯t be done in the directory. For example, an EXEC with the following commands:- &CONTROL OFF Will set ECMODE ON and then IPL from device 123.Isn't this where the (undocumented but everybody knows about it?) ability to put a X'15' byte in the command gets used? So you have a single command line with SET ECMODE ON;IPL 123 where the semi-colon is actually a X'15' (newline) byte. Or am I remembering a different context? Tony H. |