Users can use this function to display whether they are co-owners of a specified object name together with the rules in which their co-ownership is described.
A separate step is required in order to display the access conditions which have to be satisfied. The condition guards named in the displayed rules can be displayed using the /SHOW-ACCESS-ADMISSION command or via the SHWSAC program interface. For more detailed information on how to display access permissions, please refer to the description of the /SHOW-ACCESS-ADMISSION command.
Output of the co-ownership permissions corresponds to that produced by the /SHOW-COOWNER-PROTECTION-RULE command. However, it differs from this latter command in that only the subset of rules which are relevant to the specified user ID is output. Rules which prohibit co-ownership are not displayed.
Macro | Operands |
SHWACOO | MF =C / D / L / M / E XPAND = PARAM / OUTPUT OBJECT = structure(2): (1) objnam: ' ' // <c-string 1..54: filename 1..54 without-gen-vers> / <var: char:54> (2) objtype: *FILE / <var: enum-of _object_type_s:1> COTYPE = *FILE / *JV / <var: enum-of _container_type_s:1> OUTAREA = structure(2): (1) address: NULL / <var: pointer> (2) len: 0 / *ONERULE / *SUGRULES / <integer 144..268435455> / <var: int:4> |
For a description of the parameters MF, PREFIX, MACID, PARAM see the “Executive Macros” manual [16].
XPAND
specifies the declarations to expand. This operand only applies if MF=D.
=PARAM
The model of the parameter area.
=INFO
The models of the parts of the output.
OBJECT
Object
Name of the object about which the user wants to determine his or her co-owner status.
objnam:
Co-owner object name
Specifications relating to the name of the co-owned object.
Alias names and declared prefixes are not permitted; the specified object name is used unchanged.
A value must be specified for this operand. Only uppercase characters may be used!
objtype
Type of object name in accordance with the SDF syntax description (see the “Commands” manual [4]).
Specifications concerning the object’s SDF name type. Currently only the SDF name type <filename> (*FILE) is supported. This is available for both files and job variables.
*FILE
The file has the SDF data type <filename>.
COTYPE
Type of active rule container
Co-ownership rules can be specified for both files and job variables and entered in a separate, active rule container for each of these object types. For this reason, this operand can be used to define whether information is required concerning the coownership of files or job variables.
=*FILE
A search is performed in an active rule container that contains co-ownership rules for files.
=*JV
A search is performed in an active rule container that contains co-ownership rules for job variables.
OUTAREA
Output area
This operand designates the address and length of the address space in which the obtained output information is entered. If all the selected rules cannot fit into the output area then an error is reported and the user calling the function must make a larger output area available.
address:
Address
Specifies the address of the output area.
The output area must be aligned on a word boundary.
len:
Length
Specifies the length of the output area.
The length must be at least 144 bytes long.
*ONERULE
Output length for one rule.
*SUGRULES
Suggested output length for multiple rules.
Macro return codes
SC2 | SC1 | Maincode | Meaning |
X’00’ | X’00’ | X’0000’ | class A: CMD0001 |
X’01’ | X’3100’ | class B: COO3100 | |
X’00’ | Invalid parameter address | ||
X’00’ | X’20’ | X’3200’ | class C: COO3200 |
X’00’ | X’40’ | X’3300’ | class D: COO3300 |
X’00’ | X’40’ | X’3302’ | class D: COO3302 |
X’00’ | X’40’ | X’3306’ | class D: COO3306 |
X’00’ | X’40’ | X’3308’ | class D: COO3308 |
X’00’ | X’40’ | X’3309’ | class D: COO3309 |
X’00’ | X’40’ | X’3312’ | class D: COO3312 |
X’00’ | X’40’ | X’3313’ | class D: COO3313 |
X’00’ | X’40’ | X’3314’ | class D: COO3314 |
X’00’ | X’40’ | X’3315’ | class D: COO3315 |
X’00’ | X’40’ | X’3316’ | class D: COO3316 |
X’00’ | X’40’ | X’3317’ | class D: Output area is not large enough |
X’00’ | X’80’ | X’3900’ | class E: COO3900 |
X’00’ | X’80’ | X’3901’ | class E: COO3901 |
X’00’ | X’80’ | X’3902’ | class E: COO3902 |
The precise cause of the error can be determined by calling the /HELP-MSG command with the error number specified in the table, e.g. /HELP-MSG COO3902.