Package Message Syntax
Identifying Package Messages
Serena XML package messages contain syntax that tells ChangeMan ZMF to perform a task against a package rather than some other object. This occurs in one of two ways. Most commonly, the name attribute in the <service> takes the value “PACKAGE”, as follows:
<service **name=”PACKAGE”**\>
However, some non-package services — such as the approver maintenance service and the site maintenance service — support a package-level scope of action. These identify a package-level task by the name attribute of the <scope> tag, which takes the value “pkg” or something similar (e.g., “pkg_comp”, “pkg_lod”, and so on). For example:
<service name=”SITE”\>
<scope name=”PKG”\>
Finally, some services are only implicitly allied to package management; there is no explicit syntax to make that relationship clear. For example, the package installation scheduler service works with install schedules one package at a time. It does not identify its scope as package-specific, though, because its present design gives the scheduler no other scope options.
Where explicit syntax exists, the same attributes appear in both request and reply messages. In requests, they tell ChangeMan ZMF to execute a package-level function. In replies, they tell your XML message processing software to parse the returned message for package data.
Package Naming Conventions
Package Name Tags
Two methods exist in Serena XML to identify a package to ChangeMan ZMF. The first uses the <package> tag to supply a complete package name. The second concatenates the <applName> tag, which identifies the application to which a package belongs, with the <packageId> tag, which contains the unique number of the package within its application. Together, the <applName> and <packageId> tags yield the same package identifier as that supplied in the <package> tag. Either method is acceptable to ChangeMan ZMF.
Embedded Blanks in the <package> Tag
The <package> tag appears as a subordinate data element in nearly all package management data structures. For ChangeMan ZMF, this tag takes a 10-byte fixed-format value, as follows:
<package>**aaaannnnnn**</package>
Where:
-
aaaa = application name. If less than 4 characters, right-fill with blanks.
-
nnnnnn = package ID number. If less than 6 digits, left-fill with zeroes.
For example, a package name for ChangeMan ZMF that uses a 3-byte application name must include an embedded blank to fill out the application name portion of the <package> tag data, as follows:
<package>TST 123456</package>
Special Tag Syntax for Package Management
Serena XML supports up to 72 user-defined package variables that are established by users when customizing ChangeMan ZMF on the mainframe. These variables are stored in the package master.
The Serena XML tag names for these user-defined package variables use the following naming convention:
<userVarLenxxyy>
Where:
-
xx = length of variable data in bytes, formatted as 1-digit or 2-digit integer
-
yy = unique 2-digit integer identifier for this particular variable of length xx
For example, <userVarLen103> represents the third user-defined variable with a length of one byte. Similarly, <userVarLen4405> is the fifth variable with a length of 44 bytes.
Serena XML provides 16 such tags for variables of 1 byte each in length, 11 tags of 2 bytes each, 10 tags of 3 bytes each, 10 tags of 4 bytes, 10 tags of 8 bytes, 5 tags of 16 bytes, 5 tags of 44 bytes, and 5 tags of 72 bytes.