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 listserv@listserv.ua.edu with the message: INFO IBM-MAIN