Component Staging Version Management
Staging version functions for general use include the following:
- 
List Component Staging Versions - CMPONENT SSV_VER LIST 
- 
Retrieve Component Staging Version - CMPONENT SSV_VER RETRIEVE 
List Component Staging Versions - CMPONENT SSV_VER LIST
The Serena XML service/scope/message tags and attributes for messages to list all staging versions of a component are:
<service name=”CMPONENT”>
<scope name=”SSV_VER”>
<message name=”LIST”>
These tags appear in both requests and replies.
CMPONENT SSV_VER LIST — Requests
The example below shows how you might code a request to list the staging versions of a
component. Staging versions may be listed for only one component per request. Data
structure details for the list staging versions 
Example XML — CMPONENT SSV_VER LIST Request
<?xml version="1.0"?>
<service name="CMPONENT">
    <scope name="SSV_VER">
       <message name="LIST">
         <header>
            <subsys>8</subsys>
            <product>CMN</product>
         </header>
         <request>
            <package>CISQ000030</package>
            <componentType>SRC</componentType>
            <component>CI2Q101</component>
         </request>
       </message>
    </scope>
</service>
** Exhibit 5-25. CMPONENT SSV_VER LIST 
| Subtag | Use | Instances | Data Type & Length | Values | 
|---|---|---|---|---|
| <applName> | Optional | 0 -1 | String (4), variable | ZMF application name. Same as first 4 bytes of package name. | 
| Note: OK to omit trailing blanks. | ||||
| <component> | Required | 1 | String (256), variable | ZMF name of component. | 
| If component is PDS member, this is member name (max 8 bytes, no qualifiers). | ||||
| If component is HFS file, this is Unixstyle long file name, optionally prefixed by path from installation root. | ||||
| <componentType> | Required | 1 | String (3), fixed | ZMF library type of component. Must be editable source code (RECFM not ‘U’). Values: COBCPYJCLSRC | 
| <package> | Required | 1 | String (10), fixed | Fixed-format ZMF package name. | 
| <packageId> | Optional | 0 - 1 | Integer (6), fixed | ZMF package ID number. Same as last 6 bytes of package name. NOTE: Leading zeroes required. | 
CMPONENT SSV_VER LIST — Replies
The Serena XML reply message to a component staging versions list request contains zero
to many 
The standard 
An example reply to a list staging versions request follows. Data structure details for the list
Example XML — CMPONENT SSV_VER LIST Reply
<?xml version="1.0"?>
<service name="CMPONENT">
 <scope name="SSV_VER">
   <message name="LIST">
   <result>
    <versionLocation>2</versionLocation>
    <lastUpdater>USER24</lastUpdater>
    <dateLastModified>20081126</dateLastModified>
    <timeLastModified>100700</timeLastModified>
    <changeDesc>BIG SETQUERY PACKAGE</changeDesc>
    <ispfUser>USER24</ispfUser>
    <ispfDateLastModified>20081126</ispfDateLastModified>
    <ispfTimeLastModified>095100</ispfTimeLastModified>
    <ispfUpdateSize>00094</ispfUpdateSize>
    <ispfVersion>001</ispfVersion>
    <ispfModLevel>001</ispfModLevel>
    <ispfInitialDate>20080118</ispfInitialDate>
    <ispfInitialSize>00090</ispfInitialSize>
    <ispfModSize>00000</ispfModSize>
   </result>
   <result>
    <versionLocation>4</versionLocation>
    <lastUpdater>USER24</lastUpdater>
    <dateLastModified>20081126</dateLastModified>
    <timeLastModified>095100</timeLastModified>
    <changeDesc>Baseline version</changeDesc>
    <ispfUser>USER24</ispfUser>
    <ispfDateLastModified>20081126</ispfDateLastModified>
    <ispfTimeLastModified>095100</ispfTimeLastModified>
    <ispfUpdateSize>00094</ispfUpdateSize>
    <ispfVersion>001</ispfVersion>
    <ispfModLevel>001</ispfModLevel>
    <ispfInitialDate>20080118</ispfInitialDate>
    <ispfInitialSize>00090</ispfInitialSize>
    <ispfModSize>00000</ispfModSize>
   </result>
   <response>
    <statusMessage>CMN8700I - SSV service completed</statusMessage>
    <statusReturnCode>00</statusReturnCode>
    <statusReasonCode>8700</statusReasonCode>
   </response>
  </message>
 </scope>
</service>
Exhibit 5-26. CMPONENT SSV_VER LIST  Data Structure 
| Subtag | Use | Instances | Data Type & Length | Values | 
|---|---|---|---|---|
| <backupDate> | Optional | 0 - 1 | Date, yyyymmdd | Date component version was last backed up. | 
| <backupTime> | Optional | 0 - 1 | Time, hhmmss | Time component version was lastbacked up, 24-hour format. | 
| <backupUser> | Optional | 0 - 1 | String (8), variable | TSO user ID of most recent user to back up component version. | 
| <changeDesc> | Optional | 0 - 1 | String (35), variable | Text description of changes made in this version of component. | 
| <dateLastModified> | Optional | 0 - 1 | Date, yyyymmdd | Date component version was last changed. | 
| <fileFormat> | Optional | 0 - 1 | Integer (1) | For regular HFS files, the Unix numeric code for data organization and record delimiter. Allowed values: | 
| 0 = Not specified | ||||
| 1 = Binary data | ||||
| 2 = New line (NL) | ||||
| 3 = Carriage return (CR) | ||||
| 4 = Line feed (LF) | ||||
| 5 = CR & LF | ||||
| 6 = LF & CR | ||||
| 7 = CR & NL | ||||
| Note: Always supplied for HFS data files. Irrelevant and omitted for HFS directories, links or aliases, pipes, or sockets, or for non-HFS components. | ||||
| <ispfDateLastModified> | Optional | 0 - 1 | Date, yyyymmdd | Date component version was last changed or staged by ISPF user | 
| <ispfInitialDate> | Optional | 0 - 1 | Date, yyyymmdd | Date component version was created. | 
| <ispfInitialSize> | Optional | 0 - 1 | Integer (5), variable | Lines of code in version before change. | 
| <ispfModLevel> | Optional | 0 - 1 | Integer (3), variable | ISPF 2-byte modification level for component when last staged. | 
| <ispfModSize> | Optional | 0 - 1 | Integer (5), variable | Lines of code changed in version. | 
| <ispfTimeLastModified> | Optional | 0 - 1 | Time, hhmmss | Time component version was last changed or staged by ISPF user, 24- hour format. | 
| <ispfUpdateSize> | Optional | 0 - 1 | Integer (5), variable | Lines of code in version after change. | 
| <ispfUser> | Optional | 0 - 1 | String (8), variable | TSO user ID of last ISPF user to change or stage this component when it was the STG version. | 
| <ispfVersion> | Optional | 0 - 1 | Integer (3), variable | ISPF 2-byte version number for component when last staged. | 
| <lastUpdater> | Optional | 0 - 1 | String (8), variable | TSO user ID of last component updater for this version. | 
| <permissions> | Optional | 0 - 1 | Integer (3), fixed | Unix access permissions for HFS file or directory, coded as 3-digit integer, where: | 
| 1st digit = owner permissions | ||||
| 2nd digit = group permissions | ||||
| 3rd digit = permissions for all others | ||||
| Each digit takes one of the following values: | ||||
| 7 - Read, write/rename/delete, execute | ||||
| 6 - Read, write/rename/delete | ||||
| 5 - Read, execute | ||||
| 4 - Read only | ||||
| 3 - Write/rename/delete, execute | ||||
| 2 - Write/rename/delete only | ||||
| 1 - Execute only | ||||
| 0 - No access permitted | ||||
| NOTE: Always listed for HFS components. Irrelevant and omitted for non-HFS components. | ||||
| <promotionLevel> | Optional | 0 - 1 | Integer (4), variable | ZMF promotion level to which this component was last promoted when it was the STG version. | 
| <promotionName> | Optional | 0 - 1 | String (8), variable | ZMF name of promotion level corresponding to level number in \<promotionLevel>. | 
| <promotionSiteName> | Optional | 0 - 1 | String (8), variable | ZMF name of site to which this component was last promoted when it was the STG version. | 
| <timeLastModified> | Optional | 0 - 1 | Time, hhmmss | Time component version was last changed, 24-hour format. | 
| <versionLocation> | Optional | 0 - 1 | Integer (1) | Code for library where this version of the component resides. Values: | 
| 2 = Staging library | ||||
| 4 = Baseline library | ||||
| 6 = Staging version backup lib | ||||
| <versionStamp> | Optional | 0 - 1 | String (8), fixed | Hexadecimal time-and-date stamp that uniquely identifies this version of this component. | 
Retrieve Component Staging Version - CMPONENT SSV_VER RETRIEVE
The Serena XML service/scope/message tags and attributes for messages to retrieve a specific staging version of a component are:
<service name=”CMPONENT”\>
<scope name=”SSV_VER”\>
<message name=”RETRIEVE”\>
These tags appear in both requests and replies.
The staging version retrieve function is a subset of the staging version recover function seen in the ISPF user interface. The retrieve function finds the desired version of a component in the staging version VSAM master, then copies it to a temporary data set for use. The name of the temporary data set is auto-generated and returned in the Serena XML reply message.
The ISPF recover function goes one step further: it copies the auto-generated data set to any data set chosen by the user. The XML retrieve function does not perform this second step.
CMPONENT SSV_VER RETRIEVE — Requests
Data structure details for the staging version retrieve \<request> tag appear in the following table.
Exhibit 5-27. CMPONENT SSV_VER RETRIEVE \<request>
| Subtag | Use | Instances | Data Type & Length | Values | 
|---|---|---|---|---|
| <applName> | Optional | 0 -1 | String (4), variable | ZMF application name. Same as first 4 bytes of package name. NOTE: OK to omit trailing blanks. | 
| <component> | Required | 1 | String (256), variable | ZMF name of component to retrieve from staging version. If component is PDS member, this is member name (max 8 bytes, no qualifiers). If component is HFS file, this is Unix- style long file name, optionally pre- fixed by path from installation root. | 
| <componentType> | Required | 1 | String (3), fixed | ZMF library type of component. Must be editable source code (RECFM not ‘U’). Values: COB CPY JCL SRC | 
| <package> | Required | 1 | String (10), variable | Fixed-format ZMF package name. | 
| <packageId> | Optional | 0 - 1 | Integer (6), fixed | ZMF package ID number. Same as last 6 bytes of package name. NOTE: Leading zeroes required. | 
| <versionStamp> | Required | 1 | String (8), fixed | Hexadecimal date/time stamp of particular component version to retrieve. | 
CMPONENT SSV_VER RETRIEVE — Replies
The Serena XML reply message for the staging version retrieve function returns one <result> for the requested component version, if found. The standard <response> data structure follows the <result> tag and indicates the success or failure of the list request. Successful requests have a return code of 00. Unsuccessful requests have a return code of 04 or higher.
Data structure details for the retrieval <result> tag appear in the following table.
Exhibit 5-28. CMPONENT SSV_VER RETRIEVE <result>
| Subtag | Use | Instances | Data Type & Length | Values | 
|---|---|---|---|---|
| <backupDate> | Optional | 0 - 1 | Date, yyyymmdd | Date component version was last backed up. | 
| <backupTime> | Optional | 0 - 1 | Time, hhmmss | Time component version was last backed up, 24-hour format. | 
| <backupUser> | Optional | 0 - 1 | String (8), variable | TSO user ID of most recent user to back up component version. | 
| <changeDesc> | Optional | 0 - 1 | String (35), variable | Text description of changes made in this version of component. | 
| <dateLastModified> | Optional | 0 - 1 | Date, yyyymmdd | Date component version was last changed. | 
| <fileFormat> | Optional | 0 - 1 | Integer (1) | For regular HFS files, the Unix numeric code for data organization and record delimiter. Allowed values: | 
| 0 = Not specified | ||||
| 1 = Binary data | ||||
| 2 = New line (NL) | ||||
| 3 = Carriage return (CR) | ||||
| 4 = Line feed (LF) | ||||
| 5 = CR & LF | ||||
| 6 = LF & CR | ||||
| 7 = CR & NL | ||||
| NOTE: Always supplied for HFS data files. Irrelevant and omitted for HFS directories, links or aliases, pipes, or sockets, or for non-HFS components. | ||||
| <ispfDateLastModified> | Optional | 0 - 1 | Date, yyyymmdd | Date component version was last changed or staged by ISPF user. | 
| <ispfInitialDate> | Optional | 0 - 1 | Date, yyyymmdd | Date component version was created. | 
| <ispfInitialSize> | Optional | 0 - 1 | Integer (5), variable | Lines of code in version before change. | 
| <ispfModLevel> | Optional | 0 - 1 | Integer (3), variable | ISPF 2-byte modification level for component when last staged. | 
| <ispfModSize> | Optional | 0 - 1 | Integer (5), variable | Lines of code changed in version. | 
| <ispfTimeLastModified> | Optional | 0 - 1 | Time, hhmmss | Time component version was last changed or staged by ISPF user, 24- hour format. | 
| <ispfUpdateSize> | Optional | 0 - 1 | Integer (5), variable | Lines of code in version after change. | 
| <ispfUser> | Optional | 0 - 1 | String (8), variable | TSO user ID of last ISPF user to change or stage this component when it was the STG version. | 
| <ispfVersion> | Optional | 0 - 1 | Integer (3), variable | ISPF 2-byte version number for component when last staged. | 
| <lastUpdater> | Optional | 0 - 1 | String (8), variable | TSO user ID of last component updater for this version. | 
| <permissions> | Optional | 0 - 1 | Integer (3), fixed | Unix access permissions for HFS file or directory, coded as 3-digit integer, where: | 
| 1st digit = owner permissions | ||||
| 2nd digit = group permissions | ||||
| 3rd digit = permissions for all others | ||||
| Each digit takes one of the following values: | ||||
| 7 - Read, write/rename/delete, execute | ||||
| 6 - Read, write/rename/delete | ||||
| 5 - Read, execute | ||||
| 4 - Read only | ||||
| 3 - Write/rename/delete, execute | ||||
| 2 - Write/rename/delete only | ||||
| 1 - Execute only | ||||
| 0 - No access permitted | ||||
| NOTE: Always listed for HFS components. Irrelevant and omitted for non-HFS components. | ||||
| <promotionLevel> | Optional | 0 - 1 | Integer (4), variable | ZMF promotion level to which this component was last promoted when it was the STG version. | 
| <promotionName> | Optional | 0 - 1 | String (8), variable | ZMF name of promotion level corresponding to level number in <promotionLevel>. | 
| <promotionSiteName> | Optional | 0 - 1 | String (8), variable | ZMF name of site to which this component was last promoted when it was the STG version. | 
| <tempLib> | Optional | 0 - 1 | String (256), variable | Temporary data set name where version is returned. | 
| <timeLastModified> | Optional | 0 - 1 | Time, hhmmss | Time component version was last changed, 24-hour format. | 
| <versionLocation> | Optional | 0 - 1 | Integer (1) | Code for library where this version of the component resides. Values: 2 = Staging library 4 = Baseline library 6 = Staging version backup lib | 
| 2 = Staging library | ||||
| 4 = Baseline library | ||||
| 6 = Staging version backup lib | ||||
| <versionStamp> | Optional | 0 - 1 | String (8), fixed | Hexadecimal time-and-date stamp that uniquely identifies this version of this component. |