Adding program-specific extensions to a service definition

A program can add program-specific information to the service definition. For example, suppose you want to add a kind of reporting extension to a workload. In your program, you allow the service administrator to define this extension when defining workloads.

You can add extensions to each of the following:
  • Service definition
  • Service policies
  • Workloads
  • Service classes
  • Service class attributes
  • Report classes
  • Resource groups
  • Resource group attributes
  • Application environments
  • Scheduling environments
  • Scheduling environment headers
  • Scheduling environment resources
  • Classifications
  • Resources

Extensions can be specified in an XML service definition. For service definitions mapped by IWMSERVD, a program can add extensions to IWMSVDEF, IWMSVDCR, IWMSVAEA, and IWMSVSEA. The following example illustrates extensions to IWMSVDEF. IWMSVDCR, IWMSVAEA, and IWMSVSEA all have roughly similar structures, and are extended in much the same way. For more details on these other structures see z/OS® MVS Data Areas, Vol 3 or see the individual prologs for those macros.

To add the extensions to the service definition structure, the program must update the following fields in IWMSVDEF:
SVDEF_EXT_DATA_OFF
The offset to the extension data, from the beginning of IWMSVDEF
SVDEF_EXT_DATA_LEN
The total length of the extension data, from the beginning of IWMSVDEF
For each part of the service definition with extensions, the program must update IWMSVDEF with the following:
  • The offset to the extension entries from the beginning of IWMSVDEF
  • The number of extension entries
  • The length of the extension entries
Each entry must have the following fields filled in:
SVDEFVID
Identifier of the product adding the extension.
SVDEFROB
The name of the related object. For example, if you are adding an extension to a service class, this field should contain the service class name.
SVDEFEPN
Related policy name, if the extension is for a service class or resource group. Otherwise, leave this field blank.
SVDEFEDL
The length of the extension data.
SVDEFEDO
The offset to the extension data.