Control Blocks

This chapter describes control block fields related to customization interfaces. The other fields that can be in control block mapping macros are those containing the internal use control information and are not to be used as a programming interface.

NetView® control blocks and buffers passed to installation exits and command processors are intended for read-only use. Do not alter them, except for fields specifically designed as user fields, such as TVBUFLD, CWBSAVEA, and CWBADATD.

MVTUFLD, TVBUFLD, and TIBUFLD are user fields. They are 4-byte fields that the NetView program does not modify or refer to. User fields are for code that is not NetView code, such as customer code or other applications running on the NetView program.

One DSIMVT and one MVTUFLD field exist for each NetView program. One TVBUFLD and one TIBUFLD exist for each NetView subtask and for each optional task.

Any product that uses task user fields can remove valuable NetView resources. Some NetView functions can keep you from overriding task user fields. See DSIPUSH: Establish Long-Running Command for information about the DSIPUSH function.

Because only a single set of user fields is provided, use a method to communicate the application usage of a particular field so that subsequently developed applications do not interfere with the existing usage of the field. Use one of these methods or one of your own:
  • Any application or product using any field should document its use. If a task user field (such as TVBUFLD or TIBUFLD) is used, document the name of the task (such as TVBOPID or TVBLUNAM) for anyone who uses the application or product.

    For example, if a component of a product is coded to run as an optional task, and the product uses the TIB or TVB user fields of that optional task, include that information in the product documentation.

  • The TVBUFLD and TIBUFLD fields of a non-NetView task are under the control of the code that “owns” the task. In the previous example, if a customer queries the value in the TVBUFLD of every TVB on the TVB chain, do not query the TVBUFLD in the optional task. The product can be using the TVBUFLD of its task for a purpose that conflicts with the customer’s intended use.