¿ªÔÆÌåÓý


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


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: 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
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:

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.


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.

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

 

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:

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.


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...
?
As an example: EXECIO * CP (SKIP STRING Q userid
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.

//
/* 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.


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
This won't work: &PUSH stores something in the CMS stack.? CP SET ECMODE OFF kills CMS, and there vanishes the stacked content.
As mentioned later: your EXEC has to construct a single CP command with embedded NL characters (x'15').?
If ; represents '15'x it could be like this
?CP DEF STOR 10M ; SET ECMODE ON ; IPL 123

--
Kris Buelens


Re: ECMODE on in every user directory entry

 



Dave
Out of curiosity, Dave, why did such packages require ECMODE?
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...
... 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 Grovesteen

Dave
G4UGM


Re: ECMODE on in every user directory entry

 

> &CONTROL OFF

> &PUSH CP IPL 123

> CP SET ECMODE ON
This won't work: &PUSH stores something in the CMS stack.? CP SET ECMODE OFF kills CMS, and there vanishes the stacked content.
As mentioned later: your EXEC has to construct a single CP command with embedded NL characters (x'15').?
If ; represents '15'x it could be like this
?CP DEF STOR 10M ; SET ECMODE ON ; IPL 123

--
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:
-----Original Message-----
From: [email protected] <[email protected]> On Behalf Of Rhialto
Sent: 01 May 2022 14:02
To: [email protected]
Subject: Re: [h390-vm] 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
leave
ECMODE off because it can have a performance impact, so on a big
system where you had lots of users, you left it off where
possible.
Indeed. 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.
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
Out of curiosity, Dave, why did such packages require ECMODE?

Harold Grovesteen







Re: ECMODE on in every user directory entry

 

-----Original Message-----
From: [email protected] <[email protected]> On Behalf Of Rhialto
Sent: 01 May 2022 14:02
To: [email protected]
Subject: Re: [h390-vm] 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 leave
ECMODE off because it can have a performance impact, so on a big
system where you had lots of users, you left it off where possible.
Indeed. 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.
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



--
___ "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 20:32:16 +0100, Dave Wade wrote:
Historically the answer is ?it depends?. The tendency was to leave
ECMODE off because it can have a performance impact, so on a big
system where you had lots of users, you left it off where possible.
Indeed. 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:

How would you issue CP SET ECMODE ON if MVS is the IPL'ed OS? CMS is never IPL'ed in the VM.
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 IPLd
and you do ¡°SET MODE VM¡± you then need to re-ipl CMS because it resets the machine, as
do some other CP commands
I 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.

You do need to get creative, so if you issue a command that resets the machine, you need to have an IPL command on the console stack.
For example, an EXEC with the following commands:-
&CONTROL OFF
&PUSH CP IPL 123
CP SET ECMODE ON
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.