Show pubset locks
| Component: | BS2000 | 
| Functional area: | Pubset and MRSCAT management | 
| Domain: | MULTI-CATALOG-AND-PUBSET-MGMT | 
| Privileges: | TSOS | 
Function
The SHOW-PUBSET-LOCKS function provides information on the locks which have been set for a pubset by pubset management. All locks are displayed which are set for the pubset in the shared pubset network on systems with BS2000/OSD >= V8.0. The following information is output for each pubset lock:
- Host name of the lock location and the associated sysid 
- Type of pubset sharer (master or slave) on which the lock is stored 
- Type of lock set 
- Task identifier (TID) of the lock holder 
- Sysid of the lock holder and BS2000 version of the associated system 
If no information can be supplied for a system, the message DMS13CF is issued.
The command supports structured output in S variables (see also "Output in S variables").
An existing lock can be reset using the REMOVE-PUBSET-LOCK command.
Format
| SHOW-PUBSET-LOCKS | 
| PUBSET = <cat-id 1..4> | 
Operands
 PUBSET = <cat-id 1..4>
Catalog ID of the pubset for which all existing locks in the shared pubset network are to be displayed. 
Return codes
| (SC2) | SC1 | Maincode | Meaning/Guaranteed messages | 
|---|---|---|---|
| 0 | CMD0001 | Command executed without errors | |
| 32 | DMS138A | Internal error with Serslog entry | |
| 64 | CMD0216 | Privileges error | |
| 64 | DMS138B | Pubset not found | |
| 64 | DMS138C | Pubset not accessible | |
| 64 | DMS1397 | Partner host with illegal version | |
| 64 | DMS13CB | Specified lock does not exist | |
| 64 | DMS13CC | Lock holder task is still active | |
| 128 | CMD0217 | Command processing incomplete | |
| 128 | DMS1386 | Error in the memory request | |
| 128 | DMS1389 | Error in MSCF communication | 
Output fields and meaning
The information on the specified pubset’s locks is output in a table. A separate line containing the following information is displayed for each lock which is set on a host in the associated shared pubset network:
| Output column | Meaning and possible values | 
|---|---|
| LOCK-TYPE | Type of lock set | 
| LOCK-LOCATION | Lists the information on the lock location: | 
| HOSTNAME | Host name of the system in which the lock is set (<alphanum-name 1..8>) | 
| SYSID | Sysid of the system in which the lock is set (<alphanum-name 1..3>) | 
| SHARER-TYPE | Sharer type of the system in which the lock is set (*MASTER / *SLAVE) | 
| LOCK-HOLDER-INFORMATION | Lists the information on the lock holder: | 
| TID | Task identifier (TID) of the lock holder (<x-text 8..8>) | 
| SYSID | Sysid of the lock holder (<alphanum-name 1..3>) | 
| BS2000 Version | BS2000 version of the lock holder (Vmm.n) | 
Message DMS13CF is also issued for each slave about which no information can be obtained. The precise reason is provided in an insert in the message.
Notes
- Only one single lock (irrespective of the type) can be set on each slave of the pubset. 
- The following locks can be set on the master of the pubset: - either just one lock of the type PUBSET-RECONFIGURATION 
- or up to 16 locks of the types SHARED-EXCAT, SHARED-MASTER-EXCAT and SHARED-IMCAT; type SHARED-MASTER-EXCAT can only be set once. 
 
Output in S variables
The following variables are output for a pubset lock. All of a system’s locks are displayed in a list.
| Output information | Name of the S variable | T | Contents | Condition | 
| Type of pubset lock | var(*LIST).LIST(*LIST).LOCK-TYPE | S | *PUBSET-RECONFIGURATION | |
| Host name of the system | var(*LIST).LIST(*LIST).HOST-NAME | S | <alphanum-name 1..8> | |
| Sysid of the system with the lock entry | var(*LIST).LIST(*LIST).SYS-ID | S | <alphanum-name 1..3> | |
| Type of pubset sharer | var(*LIST).LIST(*LIST).SHARER-TYPE | S | *MASTER  | |
| TID of the lock holder | var(*LIST).LIST(*LIST).HOLDER-TID | S | <alphanum-name 8..8> | |
| Sysid of the lock holder | var(*LIST).LIST(*LIST).HOLDER-SYS-ID | S | <alphanum-name 1..3> | |
| BS2000 version | var(*LIST).LIST(*LIST).SYS-VERSION | S | <version> | 
Example
Output in S variable
    /declare-var var-name=var(type=*structure),multiple-elem=*list
 /exec-cmd cmd=(show-pubset-locks pubset=xyz),
           text-output=*none,structure-output=var
 /show-var var,inf=*par(val=*c-literal,list-index=*yes)
  
VAR#1.LIST#1.LOCK-TYPE = '*SHARED-MASTER-EXCAT ' VAR#1.LIST#1.HOST-NAME = 'D017ZE15' VAR#1.LIST#1.SYS-ID = '183' VAR#1.LIST#1.SHARER-TYPE = '*MASTER' VAR#1.LIST#1.HOLDER-TID = '1000004F' VAR#1.LIST#1.HOLDER-SYS-ID = '183' VAR#1.LIST#1.SYS-VERSION = 'V20.0' *END-OF-VAR VAR#1.LIST#2.LOCK-TYPE = '*SHARED-EXCAT' VAR#1.LIST#2.HOST-NAME = 'D017ZE15' VAR#1.LIST#2.SYS-ID = '183' VAR#1.LIST#2.SHARER-TYPE = '*MASTER' VAR#1.LIST#2.HOLDER-TID = '2000009F' VAR#1.LIST#2.HOLDER-SYS-ID = '184' VAR#1.LIST#2.SYS-VERSION = 'V20.0' *END-OF-VAR VAR#1.LIST#3.LOCK-TYPE = '*SHARED-EXCAT' VAR#1.LIST#3.HOST-NAME = 'D017ZE15' VAR#1.LIST#3.SYS-ID = '183' VAR#1.LIST#3.SHARER-TYPE = '*MASTER' VAR#1.LIST#3.HOLDER-TID = '20000038' VAR#1.LIST#3.HOLDER-SYS-ID = '185' VAR#1.LIST#3.SYS-VERSION = 'V20.0' *END-OF-VAR *END-OF-VAR VAR#2.LIST#1.LOCK-TYPE = '*SHARED-EXCAT' VAR#2.LIST#1.HOST-NAME = 'D017ZE16' VAR#2.LIST#1.SYS-ID = '184' VAR#2.LIST#1.SHARER-TYPE = '*SLAVE' VAR#2.LIST#1.HOLDER-TID = '2000009F' VAR#2.LIST#1.HOLDER-SYS-ID = '184' VAR#2.LIST#1.SYS-VERSION = 'V20.0' *END-OF-VAR *END-OF-VAR