(a) I could not possibly 'bet', as I never gamble.
(b) I would not expect e.g. IEFBR14 to be page-aligned (regardless of
its being in the LPA.)
(c) I would expect there to be 'constraints' on what-sized LMODs are
page-aligned, as in "not if less than 1K or 2K or than 4K" or whatever else.
(d) I was referring to LMODs containing 100's of MODs - and occupying
far more than 4K of LMOD storage.
(e) I have had no direct access to a mainframe for the past 8 years
(retired) - hence all this is from memory.
(d) How about IBM granting me free access to its mainframes - IP
address, userid and password - just so that I can check what I say
before I say it? TIA
Attached TPNSX1VT.txt is the only Netview Clist I ever wrote in my life
- and it was written for IBM.
Chris Poncelet CEng MBCS CITP
IBM Mainframe Systems Programming Consultant (retired)
On 01/09/2021 13:45, Peter Relson wrote:
> CM Poncelet wrote
> <snip>
> The LP (load point) addresses of LMODs always end with x'000' (i.e.
> page-aligned)
> </snip>
>
> wanna bet?
>
> If this is what you have seen in all the dumps you have looked at, then
> you need to look at more dumps.
>
> Peter Relson
> z/OS Core Technology Design
>
>
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to [email protected] with the message: INFO IBM-MAIN
> .
>
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN
TPNSX1VT CLIST
&CONTROL ERR
*
***********************************************************************
* Submit 1 out of &1 TPNS terminals skipping &2 terminals every *
* &3 seconds and beginning with terminal &4. *
* *
* Use: TPNSX1VT terminals,skip,seconds,first *
* where terminals is the number of TPNS terminals to be *
* released and submitted for CICS logon *
* skip is the number of terminals to be skipped *
* at each subsequent release *
* seconds is the number of seconds between *
* consecutive terminal releases, default = 5 *
* and first is the first terminal to be released, *
* default = 000. *
* *
* Example: *
* TPNSX1VT 300,16,8,15 *
* requests that terminals X1VT000-X1VT299 be released (300) *
* starting with X1VT015 (15) and then, every 8 seconds, *
* release the 16th next terminal (16). *
* Thus: X1VT015,X1VT031,...,X1VT287,X1VT004,X1VT021,... *
* *
* 27/03/92 CMP *
***********************************************************************
*
&IF &PARMCNT > 4 &THEN &GOTO -ERR1
&IF &PARMCNT < 2 &THEN &GOTO -ASKIBM
*
-PRECHECK
&TERMS = &1
&SKIP = &2
&TIME = 5
&IF .&3 ^= . &THEN &TIME = &3
&FIRST = 0
&IF .&4 ^= . &THEN &FIRST = &4
*
-CHECK
* Check that parameters are numeric
&CHECK = &TERMS + &SKIP + &TIME + &FIRST
* Check that parameters other than &FIRST are greater than 0
&IF &TERMS < 1 &THEN &GOTO -TERMIV
&IF &SKIP < 1 &THEN &GOTO -SKIPIV
&IF &TIME < 1 &THEN &GOTO -TIMEIV
&IF &FIRST < 0 &THEN &GOTO -FRSTLT
* Check that not more than 1000 terminals (000-999)
&IF &TERMS > 1000 &THEN &GOTO -TERMIV
* Check that skip value is less than number of terminals
&IF &SKIP ^< &TERMS &THEN &GOTO -SKIPGT
*
* Ensure that first terminal to be started is within terminal range
&LAST = &TERMS - 1
-CHECKFIRST
&IF &FIRST ^> &LAST &THEN &GOTO -INITIALISE
&FIRST = &FIRST - &TERMS
&GOTO -CHECKFIRST
*
-INITIALISE
&NEXT = &FIRST
&COUNT = &TERMS
*
-LASTCHECK
&LENXT = &LENGTH &FIRST
&ID# = &SUBSTR 00&FIRST &LENXT 3
CLEAR
&BEGWRITE SUB -ENDLASTCHK
Number of terminals . . . . . . . . . . . . . . . . . = &COUNT
Number of terminals to be skipped between releases . . = &SKIP
Time delay between terminal releases . . . . . . . . . = &TIME seconds
First terminal to be released . . . . . . . . . . . . = X1VT&ID#
If correct, please reply GO.
Otherwise, " " CANCEL.
Ta.
-ENDLASTCHK
&PAUSE NOINPUT
*
-TIMEOUT
* Check whether all terminals have been released
&IF &COUNT = 0 &THEN &GOTO -ALLDONE
-LEAPFROG
&IF &NEXT > &LAST &THEN &NEXT = &NEXT - &TERMS
* Check that 'next' terminal has not already been released ...
&IF .&ID&NEXT = . &THEN &GOTO -RELEASE
* ... otherwise try next terminal
&NEXT = &NEXT + 1
* (wrap-around)
&GOTO -LEAPFROG
*
-RELEASE
* Determine next terminal's 3-digit suffix id
&LENXT = &LENGTH &NEXT
&ID# = &SUBSTR 00&NEXT &LENXT 3
*
* Release the next terminal
TPNS A X1VT&ID#,RELEASE
* Adjust count of terminals waiting to be released
&COUNT = &COUNT - 1
* Inform Operator
&WRITE -
>>>>>> TPNS released X1VT&ID# : &COUNT terminals left to go <<<<<<
*
* Set flag ID&NEXT so this terminal does not get 'released' again
&ID&NEXT = &NEXT
* Point to next terminal to be released
&NEXT = &NEXT + &SKIP
*
-WAIT
* Wait for specified time before releasing any more terminals
&WAIT *&TIME=-TIMEOUT
*
***********************************************************************
***********************************************************************
***********************************************************************
*
* Remainder of C-List is display messages
*
***********************************************************************
*
-TERMIV
CLEAR
&BEGWRITE SUB -ENDTRMIV
Number of terminals &1 must be positive number not greater than 1000.
Your request cannot be processed - task cancelled.
Please try again.
Ta.
-ENDTRMIV
&GOTO -EXIT
*
***********************************************************************
*
-SKIPIV
CLEAR
&BEGWRITE SUB -ENDSIV
Number of terminals to be skipped at each release, &2, must be a
positive number.
Your request cannot be processed - task cancelled.
Please try again.
Ta.
-ENDSIV
&GOTO -EXIT
*
***********************************************************************
*
-TIMEIV
CLEAR
&BEGWRITE SUB -ENDTIV
Number of seconds &3 between terminal releases must be positive number.
Your request cannot be processed - task cancelled.
Please try again.
Ta.
-ENDTIV
&GOTO -EXIT
*
***********************************************************************
*
-FRSTLT
CLEAR
&BEGWRITE SUB -ENDTLT
First terminal to be released may not be a negative quantity.
Your request cannot be processed - task cancelled.
Please try again.
Ta.
-ENDTLT
&GOTO -EXIT
*
***********************************************************************
*
-SKIPGT
CLEAR
&BEGWRITE SUB -ENDSGT
Number of terminals to be skipped at each release, &2, must be less
than number of terminals to be released, &1.
Your request cannot be processed - task cancelled.
Please try again.
Ta.
-ENDSGT
&GOTO -EXIT
*
***********************************************************************
*
-ASKIBM
CLEAR
&BEGWRITE NOSUB -ENDIBM
Please re-issue the command as "TPNSX1VT w x y z"
where 'w' is the number of terminals to be released
'x' is the number of terminals to be skipped at each release
'y' is the number of seconds between each terminal release
and 'z' is the first terminal to be released, e.g. 15 for X1VT015
Ta.
-ENDIBM
&GOTO -EXIT
*
***********************************************************************
*
-ALLDONE
&BEGWRITE NOSUB -ENDALL
You did it, you did it : your effort has paid off once again.
-ENDALL
&GOTO -EXIT
*
***********************************************************************
*
-EXIT
&EXIT
*
-ERR1
&WRITE TPNSX1VT clist called with too many parameters
&EXIT 8
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN