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
- 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.