Previous Topic: 7.3.1.11 DELETEMS and DEFAULT DELETEMS StatementsNext Topic: 7.3.1.13 Internal Step Restart Statements


7.3.1.12 WORK, MULTWORK, and NOMULT Statements



WORK
----

This statement is optional.  It enables sites experiencing
either SAS WORK space allocation problems or out of work
space conditions during DAYnnn or INCRnnn (where nnn is the
job step number), daily or incremental update processing, to
allocate multiple WORK files.

You can allocate multiple WORK files for use during the daily
and/or incremental update job step.  The maximum number of
WORK files you can allocate varies by product.  These
additional work files are used in conjunction with the single
work data set allocated by default using the JCLDEF
parameters WORKUNIT and WORKSPACE.

Because the individual space allocation requirement for each
WORK file is typically much smaller, it is more likely to be
satisfied.

To take advantage of multiple WORK files support, edit
prefix.MICS.PARMS(cccOPS) and insert a WORK statement as
shown below:

WORK n data_set_allocation_parameters

where n is the number of WORK data sets


        NOTE:  The default is zero (0).
               The maximum is nine (9).

        data_set_allocation_parameters is one or more data
        set allocation parameters (for example, STORCLAS or
        SPACE) separated by spaces.

You can also specify the WORK parameter as the following:

WORK n XXX pppp ssss

where:

  n    is the number of WORK data sets
  XXX  is TRK or CYL
  pppp is the primary allocation
  ssss is the secondary allocation

Note:  When allocating any number of SAS WORK data sets, be
aware that one additional SAS WORK data set is automatically
allocated to facilitate sorting.  For example, if you
allocate six SAS WORK data sets, you will actually get seven.

If you omit the data_set_allocation_parameters or the WORK
parameter, the work data sets are allocated according to the
values you specified for the WORKUNIT and WORKSPACE
parameters in prefix.MICS.PARMS(JCLDEF).  Use the
data_set_allocation_parameters to override this default,
either to alter the space allocation or to use System Managed
Storage (SMS) parameters to control data set placement and
characteristics.

Note:  If you allocate insufficient space for the WORK data
sets, DAYnnn and/or INCRnnn processing will fail and can only
be restarted from the beginning.

Note:  If internal step restart is active, you can override
the WORK data set allocation parameters at execution-time
using the //PARMOVRD facility.  For more information about
execution-time override of dynamic data set allocation
parameters, see the PIOM, section 2.3.6.

Specify data set allocation parameters, separated by blanks,
according to SAS LIBNAME statement syntax.  If you need
multiple lines, repeat the WORK keyword on the continuation
line.

WORK accepts the engine/host options documented in the SAS
Companion for the z/OS environment, including STORCLAS, UNIT,
SPACE, BLKSIZE, DATACLAS, MGMTCLAS, and VOLSER.

Important!  Do not specify the DISP parameter.

Example 1:

WORK n STORCLAS=MICSTEMP SPACE=(XXX,(pppp,ssss),RLSE)

where:

  n        - is the number of WORK data sets.
  STORCLAS - specifies a storage class for a new data set.
             The name can have up to 8 characters.
  SPACE    - specifies how much disk space to provide for
             a new data set being allocated.
  XXX      - is TRK or CYL.
  pppp     - is the primary allocation.
  ssss     - is the secondary allocation.
  RLSE     - specifies that free-space should be released
             when the data set is closed.

Example 2:

WORK n XXX pppp ssss

where:

  n        - is the number of WORK data sets.
  XXX      - is TRK or CYL.
  pppp     - is the primary allocation.
  ssss     - is the secondary allocation.

Example 3 (multiple lines):

WORK n STORCLAS=MICSTEMP UNIT=SYSDA
WORK   SPACE=(xxxx,(pppp,ssss),,,ROUND))

where:

  n        - is the number of WORK data sets.
  STORCLAS - specifies a storage class for a new data set.
             The name can have up to eight characters.
  UNIT     - specifies the generic unit for a new data set.
             The name can have up to eight characters.
  SPACE    - specifies how much disk space to provide for
             a new data set being allocated.
  XXX      - is TRK or CYL.
  pppp     - is the primary allocation.
  ssss     - is the secondary allocation.

Note:  Since there is some performance impact when using
multiple WORK files, you should specify the minimum number of
WORK data sets to meet your work space requirements.  As a
start, try incrementing the number gradually beginning from
the default.


WORK Considerations
--------------------

How Much Space Should You Allocate?

o  First Time Implementation of Multiple Work Files

   If this is the first time you are implementing multiple
   work files for this product in this unit, review
   prefix.MICS.PARMS(JCLDEF) and find the WORKSPACE
   parameter.  It will resemble this sample statement:

   WORKSPACE      TRK 500 250

   The value shows the current SAS WORK space allocation for
   the unit as a single data set.  It also serves as the
   default value used in the unit's DAYnnn daily update
   (and/or INCRnnn incremental update) step unless you
   provide a WORK parameter.

   To achieve the equivalent work space allocation of
   WORKSPACE TRK 500 250 using multiple WORK data sets that
   will collectively share the work space requirements of
   the daily and/or incremental update step, you could code
   either one of these:

   WORK 2 SPACE=(TRK,(250,125))

   WORK 5 SPACE=(TRK,(100,50))

   To determine the total work space, multiply the number of
   WORK files (n) by the primary (pppp) and secondary (ssss)
   values specified.

   Note:  To simplify the example, only the SPACE parameter
   is shown above.  You can follow either with data set
   allocation parameters like UNIT or STORCLAS as required
   for your site.

o  Adjusting Allocation for Existing Multiple WORK Files

   If you have previously implemented multiple WORK file
   support for this product in this unit, and you want to
   change either the number of WORK files or the space
   allocations, examine prefix.MICS.PARMS(cccOPS) and find
   the existing WORK statement.

   -  If the existing WORK statement only specifies the
      number of WORK files but does not contain space
      allocation information as shown below:

      WORK 5

      Then each of the multiple WORK files is allocated
      using the values from the WORKSPACE parameter of
      prefix.MICS.PARMS(JCLDEF), as described earlier under
      First Time Implementation of Multiple Work Files.

      To increase workspace, you can increase the number of
      WORK files (for example, change WORK 5 to WORK 6,7,8,
      or 9), increase the space allocation in the WORKSPACE
      parameter, or do both.

      To decrease workspace, you can decrease the number of
      WORK files (for example, change WORK 5 to WORK 4,3,2,
      or 1), decrease the space allocation in the WORKSPACE
      parameter, or do both.

      You can also elect to explicitly specify the multiple
      WORK file space allocation by adding the space
      allocation values directly to the WORK statement.  This
      will remove the link to the prefix.MICS.PARMS(JCLDEF)
      WORKSPACE parameter for multiple WORK file space
      allocation.  This is recommended as it serves to
      clearly document, in one place, how multiple WORK files
      are allocated.

   -  If the existing WORK statement does include space
      allocation as shown in the examples below:

      WORK 5 TRK 200 100

      or

      WORK 5 SPACE=(TRK,(200,100)) STORCLAS=MICSTEMP

      Simply change the values to meet your needs.

      If you need more work space, you can increase the
      number of WORK files (for example, change WORK 5 to
      WORK 6,7,8, or 9), increase the space allocation (for
      example, change TRK 200 100 to TRK 250 120), or do
      both.

      To decrease work space, you can decrease the number of
      WORK files (for example, change WORK 5 to WORK 4,3,2,
      or 1), decrease the space allocation (for example,
      change TRK 200 100 to TRK 150 80), or do both.

Note:  If internal step restart is NOT active (RESTART NO)
and you change the WORK parameter, you must:

o  Run cccPGEN
o  Run JCLGENU for DAILY (to regenerate DAILY) and, if
   incremental update is enabled, INCRccc

When internal step restart is active, (RESTART YES), then,
when you change WORK and run cccPGEN, changes take effect
immediately.  There is no need to run JCLGENU.


SASWORK
-------

This statement is optional.

The WORK DD statement in the CA MICS procedures allocates
a temporary data set where SAS keeps its temporary data
files and other items that SAS uses during processing of
the current job.

By default, the space allocated is defined in the member
prefix.MICS.PARMS(JCLDEF) with the WORKSPACE and WORKUNIT
parameters, then generated into all the JCL procedures for
a given unit.

With the SASWORK statement you have the option to override
this unit-wide definition to specify the space allocation
individually for the current step.

The format of the SASWORK statement is:

SASWORK data_set_allocation_parameters

where data_set_allocation_parameters is one or more data set
allocation parameters (for example, STORCLAS or SPACE)
separated by spaces.

You can also specify the SASWORK parameter as the following:

SASWORK XXX pppp ssss

where:

  XXX  is TRK or CYL
  pppp is the primary allocation
  ssss is the secondary allocation

If you omit the data_set_allocation_parameters or the SASWORK
statement, the WORK data set is allocated according to the
values you specified for the WORKUNIT and WORKSPACE
parameters in prefix.MICS.PARMS(JCLDEF).  Use the
data_set_allocation_parameters to override this default,
either to alter the space allocation or to use System Managed
Storage (SMS) parameters to control data set placement and
characteristics.

Specify data set allocation parameters, separated by blanks,
according to SAS LIBNAME statement syntax.  If you need
multiple lines, repeat the SASWORK keyword on the
continuation line.

Example:

SASWORK STORCLAS=MICSTEMP SPACE=(XXX,(pppp,ssss))

where:

  STORCLAS - specifies a storage class for a new data set.
             The name can have up to 8 characters.
  SPACE    - specifies how much disk space to provide for
             a new data set being allocated.
  XXX      - is TRK or CYL.
  pppp     - is the primary allocation.
  ssss     - is the secondary allocation.


Note:  If you change the SASWORK parameter, you must:

o  Run cccPGEN
o  Run JCLGENU for DAILY (to regenerate DAILY) and, if
   incremental update is enabled, INCRccc



MULTWORK|NOMULT fff fff ... fff
-------------------------------

Since multiple work files usage impacts performance, this
product provides these optional parameters so you can
restrict multiple work files usage to only those files having
excessive space requirements.

Note:  You can only use one of these optional parameters with
the WORK statement, NOT both.

The MULTWORK parameter restricts the use of multiple WORK
files to ONLY those listed after the MULTWORK keyword.

MULTWORK fff fff ... fff

where fff is the unique three character identifier

If you need multiple lines, repeat the MULTWORK on the
continuation line.

The NOMULT parameter forces the use of multiple WORK files
for all files EXCEPT those specified after the NOMULT
keyword.

NOMULT fff fff ... fff

where fff is the unique three character identifier

If you need multiple lines, repeat the NOMULT on the
continuation line.





The default is
    MULTWORK PSW NNW NIN NCL NAF GAF LNF NSF NEF NLW NVR NSS
    MULTWORK NSP NAC NOD NSC RTE NSV VBF RTM NSA LGN LGF STN
    MULTWORK CTN FSF FCF API INI TRM NLP LGM LGE INH TRL NAT
    MULTWORK NTW NPT NST NTS TCS APJ FCG FSG CTM STM
if neither MULTWORK or NOMULT parameters are specified.

The following files are eligible for multiple WORK support:

SNT Network Information Area Files

  NAC    NCP Network Accounting File
  NCL    NCP Link File
  NAF    NCP Activity File
  NIN    Network Incident File
  NNW    Network Comp Activity Work File (Internal work file
         Parallel to CAF)
  NSV    NLDM Service File
  LNF    LAN File
  GAF    Generic Alert File
  NEF    NPDA Event File
  NSF    NPDA Statistical File
  NSP    CA NetSpy Application (PLU) Activity File
  NSS    CA NetSpy Terminal (SLU) Activity File
  NLP    NCP Line Processor Activity File
  NTS    CA NetSpy TCP/IP Telnet Server File
  TCS    CA NetSpy TCP/IP Stack Entry File
  PSW    NPM User Activity File (Internal work file Parallel
         to PSU)
  NVR    CA NetSpy Virtual Route Activity File
* NAT    NCP Network Accounting File (Internal work file
         Parallel to NAC)
* NPT    CA NetSpy Application (PLU) Activity File (Internal
         work File Parallel to NSP)
* NST    CA NetSpy Terminal (SLU) Activity File (Internal
         work file Parallel to NSS)

NVS Netview Session Information Area Files

 NLL  NLDM Link Activity File
 NLW  An internal work file used in conjunction with the NOD
      file during SNT daily processing, to create files in
      the NVS information area, including LSY (NLDM System
      PLU Activity File) and NLL (NLDM Link Activity File)
*NTW  An internal work file used in conjunction with the NLW
      file during SNT daily processing, to create files in
      the NVS information area
 NOD  An internal work file used in conjunction with the NLW
      file during SNT daily processing, to create files in
      the NVS information area
 NSA  NLDM Session Accounting File
 NSC  NLDM Session Connectivity File
 RTE  NLDM Route File
 RTM  NLDM Response Time File
 VBF  NLDM VTAM Bind Failure File

TCP Transport Communication Protocol/Internet Protocol

 STN  Telnet Server File
 CTN  Telnet Client File
 FSF  FTP Server File
 FCF  FTP Client File
 API  API Calls for Sockets File
 STM  Telnet Server File (SMF 119)
 CTM  Telnet Client File (SMF 119)
 FSG  FTP Server File (SMF 119)
 FCG  FTP Client File (SMF 119)
 APJ  API Calls for Sockets File (SMF 119)
 LGN  Telnet Server Logon Records File
 LGF  Telnet Server Logoff Records File
*LGM  Telnet Server Logon Records File
*LGE  Telnet Server Logoff Records File
 INI  API Calls for Sockets INIT Records File
 TRM  API Calls for Sockets TERM Records File
*INH  API Calls for Sockets INIT Records File
*TRL  API Calls for Sockets TERM Records File

The following section discusses changing the WORK option:

    1 - Change the Number of Work Files

New Topic
 
To change the number of work files used in the CA MICS
Network Analyzer processing in Step DAY056, follow the
checklist provided below for each unit.

   ****************************************************
   *                                                  *
   *           CHANGE NUMBER OF WORK FILES            *
   *                                                  *
   ****************************************************

___ 1.  Update the WORK statement in
        prefix.MICS.PARMS(cccOPS), where (ccc) is the
        component identifier, to specify the number of work
        data sets required.  Below is an example:

        WORK n STORCLAS=MICSTEMP SPACE=(XXX,(pppp,ssss))

        where:

        n        - is the number of WORK data sets.
        STORCLAS - specifies a storage class for a new data
                   set.  The name can have up to eight
                   characters.
        SPACE    - specifies how much disk space to provide
                   for a new data set being allocated.
        XXX      - is TRK or CYL.
        pppp     - is the primary allocation.
        ssss     - is the secondary allocation.

        You should specify the minimum number of WORK data
        sets to meet your work space requirements.  As a
        start, try incrementing the number gradually
        beginning from the default.

___ 2.  If this is the first time you are implementing
        multiple work files for this product, then continue
        with Step 2.  If you are just changing the number
        currently in use, or simply the space definitions,
        then proceed to Step 3 of this checklist.

        Browse sharedprefix.MICS.PROTOLIB(DYcccnnn) and
        sharedprefix.MICS.PROTOLIB(cccINCR), where (nnn) is
        the job step number and (ccc) is the product ID for
        this product, checking for the presence of the WORK
        symbolic on the EXEC statement to determine if you
        have previously modified this product to increase the
        allocation of SAS WORK space.

___ 2a. If you find a WORK symbolic, simply divide the
        primary and secondary allocation values from the WORK
        symbolic by the number of work files specified above
        (value of n on the WORK statement coded in Step 1).

        Coding the resulting values will yield the same
        aggregate space allocation you have been using with a
        single WORK file.  To double your available WORK
        space, carry out the division, double the results and
        use the values in the WORK definition above.

___ 2b. If you did not find a WORK symbolic in PROTOLIB,
        examine prefix.MICS.PARMS(JCLDEF) for each CA MICS
        unit containing this product.  Find the WORKSPACE
        keyword.  The space allocation specified is used for
        a single SAS WORK file.  Perform the same division as
        described in the previous paragraph to determine the
        quantity that will yield equivalent total allocation
        with multiple WORK files.  Then adjust the values
        upward to meet your needs.

___ 3.  Submit the job in prefix.MICS.CNTL(cccPGEN).

___ 4.  If you specified RESTART YES in the product's cccOPS,
        you are done.  Otherwise, you must do Steps 5, 6, and
        7.

___ 5.  Edit prefix.MICS.PARMS(JCLGENU) so that it contains a
        single line that reads:

        DAILY

        or, if incremental update is enabled for this product
        in this unit database, specify:

        DAILY INCRccc

        where ccc is the product ID.

___ 6.  Submit the job in prefix.MICS.CNTL(JCLGENU).  Ensure
        that there are no error messages in MICSLOG or
        SYSTSPRT, that the MICSLOG contains the normal
        termination message, BAS10999I, and that the job
        completes with a condition code of zero.

___ 7.  The following operational job(s) have changed:

        DAILY

        INCRccc (if incremental update is enabled)

        If your site has implemented the operational CA MICS
        processes in a scheduling product, the JCL may have
        to be refreshed in that product.  See the scheduling
        product's administrator for the exact processes
        involved in updating that product's representation of
        the CA MICS jobs.