Well shucks... I didn't know that either.
Something else to file under "learn something new every day" ... and then 
go on to forget before the day is over.  ;-)

But the SPECS stage is so filled with features (was it Rob or perhaps Kris 
who said "the Swiss Army knife of Pipes stages"?) that I find it 
enormously helpful to download and print the full "CMS Pipelines Author's 
Edition" manual.  Mine is chock full of Post-it's (tm) and 
underlining/highlighting, and margin notes.

I also copy/paste append excellent examples posted from this and the 
CMS-Pipelines listserve into a PIPESAMP EXEC.  That comes in handy when I 
recall seeing something clever done before but can't recall exactly how it 
was done.  When writing a Pipe while XEDIT on some new EXEC, the examples 
are only an "X PIPESAMP" away on the XEDIT command line.

Mike Walter
Aon Corporation
The opinions expressed herein are mine alone, not my employer's.



"Doug Breneman" <[email protected]> 

Sent by: "The IBM z/VM Operating System" <[email protected]>
10/25/2010 02:38 PM
Please respond to
"The IBM z/VM Operating System" <[email protected]>



To
[email protected]
cc

Subject
Re: Spool File Backup (SFB) BCHTIMER Files






Please accept my apology. I meant PIPE AHELP SPEC without the 'S' at the 
end. It yields the Specs Reference Manual as mentioned by Mike.
pdb (Doug Breneman)
z/VM System Test IBM Endicott, NY

"Frank M. Ramaekers" ---10/25/2010 03:28:40 PM---My "PIPE AHELP SPECS" 
doesn't look much different than the "HELP PIPE SPECS". I did find some 
exam

From: "Frank M. Ramaekers" <[email protected]>
To: [email protected]
Date: 10/25/2010 03:28 PM
Subject: Re: Spool File Backup (SFB) BCHTIMER Files
Sent by: The IBM z/VM Operating System <[email protected]>



My ?PIPE AHELP SPECS? doesn?t look much different than the ?HELP PIPE 
SPECS?. I did find some examples in ?PIPE AHELP SPECTUT?.


Frank M. Ramaekers Jr.


From: The IBM z/VM Operating System [mailto:[email protected]] On 
Behalf Of Doug Breneman
Sent: Monday, October 25, 2010 2:16 PM
To: [email protected]
Subject: Re: Spool File Backup (SFB) BCHTIMER Files
PIPE AHELP SPECS or check out SL26-0018 CMS/TSO Pipelines: Author's 
Edition
pdb (Doug Breneman)
z/VM System Test IBM Endicott, NY

"Frank M. Ramaekers" ---10/25/2010 03:06:27 PM---Where can I find the 
reference material for this aspect of the SPECS stage?

From: "Frank M. Ramaekers" <[email protected]>
To: [email protected]
Date: 10/25/2010 03:06 PM
Subject: Re: Spool File Backup (SFB) BCHTIMER Files
Sent by: The IBM z/VM Operating System <[email protected]>




Where can I find the reference material for this aspect of the SPECS
stage?

'| SPECS' , /* Just the size */
'PRINTONLY EOF' , /* Prt only total */
't: 77.4 .' , /* Just SIZE value */
'n: 77.3 .' , /* Just nnn value */
'm: 80.1 .' , /* Just nnn value */
'IF m=="K" THEN' ,
' SET #0+=(n*1000)' , /* Multiply nK * 1K*/
'ELSEIF m=="M" THEN' ,
' SET #0+=(n*1000000)' , /* Multiple nK * 1M*/
'ELSE' ,
'SET #0+=t' , /* Add all numeric */
'ENDIF' ,
'EOF' , /* Mark EOF */
'PRINT #0 1' , /* Print total */


Frank M. Ramaekers Jr.


-----Original Message-----
From: The IBM z/VM Operating System [mailto:[email protected]] On
Behalf Of Mike Walter
Sent: Friday, October 22, 2010 3:38 PM
To: [email protected]
Subject: Re: Spool File Backup (SFB) BCHTIMER Files

Excellent point, Harry! It had only been an example, but even examples 
should be reliable.

I'm pretty sure the following should work, and be as reliable as the 4K 
block total supplied by 'CP QUERY queue EXP' 

Mike Walter
Aon Hewitt
The opinions expressed herein are mine alone, not my employer's.

/* Prolog; See Epilog for additional information ********************
* Exec Name - SPOOLBLK EXEC *
* Unit Support - *
* Status - Version 1, Release 1.2 *
********************************************************************/

address 'COMMAND'
parse source xos xct xfn xft xfm xcmd xenvir .
parse upper arg parms 1 operands '(' options ')' parmrest

hi='1DE8'x /* 3270 Hilite Char */
lo='1D60'x /* 3270 Default Char */
Signal ON Syntax
Signal ON NoValue
/* Signal ON ERROR */
If parms='?' then Signal Explain

parse upper arg queue .

If queue='' then queue='ALL'
SumTotal=0

If queue='' | queue='ALL' then
Do
Call SumQueue 'READER'
Call SumQueue 'PRINTER'
Call SumQueue 'PUNCH'
End
Else Call SumQueue queue

say queue 'queue 4K SPOOL block total=' SumTotal
Call Exit rc


/********************************************************************/
/* Sub-Routines below this point */
/********************************************************************/

Exit:
parse arg exitrc todo
If todo='?' then say 'For more help, enter:' xfn '?'
If verify(exitrc,'-0123456789')>0 then Exit 999999
Exit exitrc


Error:
etxt.1='+++ "ERROR:" error rtn entered in:' xfn xft xfm', rc='rc
etxt.2='+++ from line:' sigl', which reads:'
etxt.3='+++'sourceline(sigl)
cmdline=strip(sourceline(sigl),'B')
If symbol(value('CMDLINE'))='VAR' /* e.g cmd='CP FAIL'; cmd */
then cmdline=value( value('CMDLINE') )
else cmdline=value('CMDLINE') /* e.g. 'CP FAIL' */
etxt.4='+++ which translates to:' cmdline
etxt.0=4
'PIPE STEM etxt. | CONS'
Call Exit 20


Syntax:
etxt.1='+++ "SYNTAX:" error rtn entered in:' xfn xft xfm', rc='rc
etxt.2='+++ from line:' sigl', which reads:'
etxt.3='+++'sourceline(sigl)
cmdline=strip(sourceline(sigl),'B')
cmdline=value('CMDLINE')
etxt.4='+++ which translates to:' cmdline
etxt.0=4
'PIPE STEM etxt. | CONS'
Call Exit 20


NoValue:
etxt.1='+++ "NoValue:" error rtn entered in:' xfn xft xfm', rc='rc
etxt.2='+++ from line:' sigl', which reads:'
etxt.3='+++'sourceline(sigl)
etxt.4='+++ Variable with no value is:' condition('Description')
etxt.0=4
'PIPE STEM etxt. | CONS'
Call Exit 24


SumQueue:
parse arg thisqueue .

'PIPE (NAME SumQueue)' ,
'| CP QUERY' thisqueue 'EXP' ,
'| DROP 1' , /* Drop title line */
'| SPECS' , /* Just the size */
'PRINTONLY EOF' , /* Prt only total */
't: 77.4 .' , /* Just SIZE value */
'n: 77.3 .' , /* Just nnn value */
'm: 80.1 .' , /* Just nnn value */
'IF m=="K" THEN' ,
' SET #0+=(n*1000)' , /* Multiply nK * 1K*/
'ELSEIF m=="M" THEN' ,
' SET #0+=(n*1000000)' , /* Multiple nK * 1M*/
'ELSE' ,
'SET #0+=t' , /* Add all numeric */
'ENDIF' ,
'EOF' , /* Mark EOF */
'PRINT #0 1' , /* Print total */
'| VAR queuesum'
SumTotal=SumTotal+queuesum
Return


Explain:
'PIPE (NAME Explain)' ,
'| <' xfn xft xfm ,
'| INSIDE /ExplainBegin:/ /ExplainEnd:/' ,
'| PREFACE STRLITERAL /'xfn xft xfm 'help.../' ,
'| CONSOLE'
Call Exit 0
/*
ExplainBegin:

SPOOLBLK total count of the number of 4K blocks reported allocated by
the
command: CP Query queue EXP



+----ALL--------+
>>-SPOOLBLK-+---------------+-----------------------------------------><
+--+-Printer-+--+
+ +-PRT-----+ +
+--+-PUnch---+--+
+ +-PCH-----+ +
+--+-Reader--+--+
+-RDR-----+


Usage note:

"ALL" is not a specific queue name. ALL (Reader, Printer, and Punch)
4K block allocations will be totaled and reported when requested.

Not every 4K block may be completely full.

ExplainEnd:
*/

/* Epilog ***********************************************************
* Function - Display count of 4K SPOOL blocks *
* Component of - *
* Command format- *
* Called by - *
* Dependencies - VM/SP 3 or higher. *
* - Privclass 'D' to report on all system files. *
* Program Lang. - CMS REXX *
* Date Written - 20101022 *
* Author - Michael R. Walter, Aon Hewitt *
* Changed | By | Description of Change *
* --------+-----+------------------------------------------------- *
* yyyymmdd iii - *
* *
********************************************************************/




"A. Harry Williams" <[email protected]> 

Sent by: "The IBM z/VM Operating System" <[email protected]>
10/22/2010 02:15 PM
Please respond to
"The IBM z/VM Operating System" <[email protected]>



To
[email protected]
cc

Subject
Re: Spool File Backup (SFB) BCHTIMER Files






On Wed, 20 Oct 2010 11:30:05 -0500 Mike Walter said:
>You can determine the number of 4K pages that each spool file command
is
>currently using from a Privclass "D" userid with the commands:
>
>CP QUERY RDR EXP
>CP QUERY PRT EXP
>CP QUERY PUN EXP
>
>The 'SIZE' column has the answers. This should get you started.
>
> 'PIPE (NAME SumRdr)' ,
> '| CP QUERY RDR EXP' ,
> '| DROP 1' , /* Drop title line */
> '| SPECS' , /* Just the size */
> ' PRINTONLY EOF' , /* Prt only total */
> ' a: 77.4 .' , /* Just SIZE col. */
> ' SET #0+=a' , /* Add new value */
> ' EOF' , /* Mark EOF */
> ' PRINT #0 1' , /* Print total */
> '| CONSOLE'


Make sure to read the HELP file for CPQUERY READER, especially
the Note section of Response #3. If you have large spool files,
the size gets represented by K or M. I'm sure there are many ways
to deal with them , but I usually do a simple multistream pipe to
split them into different streams and expand them.


>
>Mike Walter
/ahw






The information contained in this e-mail and any accompanying documents
may contain information that is confidential or otherwise protected from
disclosure. If you are not the intended recipient of this message, or if
this message has been addressed to you in error, please immediately
alert the sender by reply e-mail and then delete this message, including
any attachments. Any dissemination, distribution or other use of the
contents of this message by anyone other than the intended recipient is
strictly prohibited. All messages sent to and from this e-mail address
may be monitored as permitted by applicable law and regulations to
ensure compliance with our internal policies and to protect our
business. E-mails are not secure and cannot be guaranteed to be error
free as they can be intercepted, amended, lost or destroyed, or contain
viruses. You are deemed to have accepted these risks if you communicate
with us by e-mail. 

_____________________________________________________

This message contains information which is privileged and confidential and 
is solely for the use of the

intended recipient. If you are not the intended recipient, be aware that 
any review, disclosure,

copying, distribution, or use of the contents of this message is strictly 
prohibited. If you have

received this in error, please destroy it immediately and notify us at 
[email protected]. 
_____________________________________________________ This message 
contains information which is privileged and confidential and is solely 
for the use of the intended recipient. If you are not the intended 
recipient, be aware that any review, disclosure, copying, distribution, or 
use of the contents of this message is strictly prohibited. If you have 
received this in error, please destroy it immediately and notify us at 
[email protected]. 




The information contained in this e-mail and any accompanying documents may 
contain information that is confidential or otherwise protected from 
disclosure. If you are not the intended recipient of this message, or if this 
message has been addressed to you in error, please immediately alert the sender 
by reply e-mail and then delete this message, including any attachments. Any 
dissemination, distribution or other use of the contents of this message by 
anyone other than the intended recipient is strictly prohibited. All messages 
sent to and from this e-mail address may be monitored as permitted by 
applicable law and regulations to ensure compliance with our internal policies 
and to protect our business. E-mails are not secure and cannot be guaranteed to 
be error free as they can be intercepted, amended, lost or destroyed, or 
contain viruses. You are deemed to have accepted these risks if you communicate 
with us by e-mail. 

Reply via email to