z/OS TSO/E Customization
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Examples of how to customize SEND, OPERATOR SEND, and LISTBC processing

z/OS TSO/E Customization
SA32-0976-00

The following describes some ways you can use the SEND, OPERATOR SEND, and LISTBC exits to customize command processing.
  • Restrict certain users from using the SEND or LISTBC commands or the OPERATOR SEND subcommand

    The initialization exit can check the user ID and decide, based on your own criteria, to cancel the command. The exit can set a return code of 16 and return to the command or subcommand processor. It can also set the appropriate bit in the copy of the SEND PARMLIB control block to prevent an individual user from issuing the command. For example, you can use the USERSEND or OPERSEND bits in the control block to inactivate the SEND command or the OPERATOR SEND subcommand for that user.

  • Change the operands the user specified on the command
    For various reasons, you may want to change the operands a user specified. For example, you may want to restrict certain users from using the SEND command to:
    • Send messages to certain users
    • Store messages

    For the OPERATOR SEND subcommand, you may want only certain users to list, delete, or store notices in the broadcast data set.

    To change the operands a user specified on the command, use the initialization exit. The exit can:
    • Scan the command buffer and decide, based on your own criteria, to change the command the user issued
    • Obtain storage for a new command buffer
    • Build the new command buffer
    • Update the key, length, and data fields for the new command buffer as follows:
      Key
      X'02'
      Length
      the length of the new command buffer
      Data
      the address of the new command buffer
    • Set a return code of 0 and return control to the command or subcommand processor

    The exit must not change the command buffer it receives. It must build a new command buffer and return the address of the new command buffer to the invoking command. For more information about the command buffer, see Command buffer.

    Note: The format of the command buffer for the SEND subcommand of the OPERATOR command is different from the command buffer for other command processors. For more information, see Parameter descriptions for the OPERATOR SEND exits.

    You must also write a termination exit to free the storage the initialization exit obtains for the new command buffer.

  • Ensure that users receive your installation's notices and their messages (mail) when they log on to TSO/E

    When users log on to TSO/E, LISTBC invokes the initialization exit. The exit receives LISTBC indicator flags that indicate whether the user specified NOTICES, NONOTICES, MAIL, or NOMAIL. The initialization exit can check the bit settings of the flags and change them so that LISTBC displays any notices and mail. For more information about the LISTBC indicator flags, see Table 1.

  • Allocate a user log data set
    If you are using user logs and a user either issues the LISTBC command or logs on and specifies MAIL, LISTBC determines whether the user's user log has been allocated. If the log data set has not been allocated, the LISTBC command processor allocates it. LISTBC allocates both sequential data sets and members of a PDS with the following data set attributes:
    LRECL
    150
    BLKSIZE
    1500
    Primary tracks
    1
    Secondary tracks
    2
    If the MSGPROTECT operand is set to ON, the following data set attributes are used:
    LRECL
    232
    BLKSIZE
    2320
    Primary tracks
    1
    Secondary tracks
    2

    For members of a PDS, LISTBC uses a value of 20 for the number of directory blocks.

    If the default attributes that LISTBC uses are unsuitable for some or all of your installation's users, use the LISTBC pre-allocate exit to allocate the user log data set. The pre-allocate exit can allocate the user log, set a return code of 4, and return to the LISTBC command processor. The return code of 4 indicates to LISTBC that it should not allocate the user log.

    If you allocate a user log as a member of a PDS, consider the LRECL you use for the PDS. You must ensure that the LRECL is adequate to prevent messages from being truncated. This is particularly important if you use the exits to append information to messages that are stored. However, the LRECL of the PDS must not exceed 150. If the MSGPROTECT operand is ON, the LRECL of the PDS must not exceed 232.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014