Previous Topic: ExamplesNext Topic: Example 3


Example 2

The ALLOCATE user exit in this example creates scratch mount drive pools by sending certain types of scratch mounts to particular drives. For instance, all tapes in the VMBACKUP.WEEKLY pool go to drive 740, and all tapes in the VMBACKUP.MONTHLY pool go to drive 741. To implement this user exit, follow these steps:

  1. Set up these site-dependent variables:
    1. Scratch pools defined for your CA VM:Tape system
    2. List of active and exempt drives for tapes in the scratch pools
  2. After the lists have been set up, CA VM:Tape checks whether the scratch tape belongs to a pool and, if so, sets the eligible drive list to the appropriate drives.
  3. Program the user exit as shown in the following code.

ALLOCATE User Exit Example 2

/*-------------------Set up site-dependent variables-------------------*/
/*  1. Scratch pools defined for your CA VM:Tape system*/
/*  2. List of active and exempt drives for tapes in the scratch pools.*/

vmb_weekly_pool  = 'VMBACKUP.WEEKLY'
vmb_monthly_pool = 'VMBACKUP.MONTHLY'
vmspool_pool     = 'VMSPOOL.BACKUP'                              
general_pool     = 'general'

weekly_drive_list  = '740 ACTIVE 741 EXEMPT 742 EXEMPT 743 EXEMPT' 
monthly_drive_list = '740 EXEMPT 741 ACTIVE 742 EXEMPT 743 EXEMPT' 
vmspool_drive_list = '740 EXEMPT 741 EXEMPT 742 ACTIVE 743 EXEMPT' 
general_drive_list = '740 EXEMPT 741 EXEMPT 742 EXEMPT 743 ACTIVE'
/*-------------------Check DSN for CA VM:Backup Jobs---------------*/

'EXTRACT /MOUNT/'                                                
if (MOUNT.1='RELEASE') then
exit 0       /* RC = 0, Skip VM:Tape drive ordering */
'EXTRACT /POOL/'
if (MOUNT.1 = 'MOUNT') then
do
  'CP MSGNOH *' POOL.1
   if (POOL.1 <> ‘OFF') then
   do
     select
      when POOL.2 = vmb_weekly_pool then
                       'SET EDL' weekly_drive_list
      when POOL.2 = vmb_monthly_pool then
                       'SET EDL' monthly_drive_list
      when POOL.2 = vmspool_pool then
                       'SET EDL' vmspool_drive_list
      when POOL.2 = general_pool then
                       'SET EDL' general_drive_list
      otherwise 'CP MSGNOH * Undefined pool' POOL.2 'in ALLOCATE exit'
     end
   end
exit 0       /* RC = 0, Skip VM:Tape drive ordering */