Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

ADDCOO Add co-owner protection rule

This function is used to enter a co-owner protection rule in a rule container (guard). If this is the first rule to be entered then a new rule container is created. The SCOPE is set to *USER-ID in the administrative part of the guard.

If the rule container already exists, the SCOPE remains unchanged and the rule is inserted at the specified position in the rule container.

Users can only create rule containers for their own user ID. Guard administrators may create rule containers under different user IDs.

Macro

Operands

ADDCOO

MF = C / D / L / M / E

,PREFIX = C / <name 1>

,MACID =OOA / <name 3>

,PARAM =<name 1..8>

,DIALOG =*STD / *NO / *COGUARD / *USERID / *CATALOG /<var: enum-of _dialog_s:1>

,ERRMSG =*NO / *YES / <var: bit:1>

,COGUARD =’ ’ / <c-string 1..40: filename 1..24 without-gen-vers with-wild(40)> / <var: char:40>

,RULENAM = ’ ’ / <c-string 1..12: alphanumeric name 1..12> /

<var: char:12>

,RULEPOS = structure(2):

(1) target: *LAST / *BEFORE / <var: enum-of _target_s:1>
(2) posnam: ’ ’ / <c-string 1..12: alphanumeric name 1..12> / <var: char:12>

,OBJECT = structure(2):

(1) objnam: ’ ’ / <c-string 1..80: filename 1..41 without-cat-gen-user-vers with-wild(80)> /
    <var: char:80>

(2) objtype: *FILE / <var: enum-of _object_type_s:1>

,CONDGUA = *NONE / <c-string 1..18: filename 1..18 without-cat-gen-vers> / <var: char:18>

,TSOSACC = *SYSSTD / *RESTRICTED / <var: enum-of _tsos_access_s:1>

,GUACHK = *YES / *NO / <var: enum-of _guard_check_s:1>

For a description of the parameters MF, PREFIX, MACID, PARAM see the “Executive Macros” manual [ 16 ].

DIALOG

Dialog control
The user can use the interface in a guided dialog and can define the type of dialog that is to be performed. Dialog control has no effect in batch mode and thus corresponds to the setting DIALOG-CONTROL=*NO.

=*STD

For each selected rule container, the user can decide in interactive mode whether or not the function should be executed. However, dialog control is only performed if the name of the rule container is specified using wildcards.
It is possible to abort the function.

=*NO

The function is executed for every selected rule container without any query being issued.

=*COGUARD

For each selected rule container, the user can decide in interactive mode whether or not the function should be executed. Dialog control is performed independently of whether or not the name of the rule container is specified using wildcards.
It is possible to abort the function.

=*USERID

This guided dialog can only be used by guard administrators.
For each selected user ID, a guard administrator can decide in interactive mode whether or not the function should be executed. However, dialog control is only performed if the user ID in the name of the rule container is specified using wildcards.
It is possible to abort the function.

=*CATALOG

This guided dialog can only be used by system administrators.
For each selected catalog ID, the user can decide in interactive mode whether or not the function should be executed. However, dialog control is only performed if the catalog ID in the name of the rule container is specified using wildcards.
It is possible to abort the function.

ERRMSG

Message output

The user can specify whether any errors which occur should be reported in a message. This may be required if, for example, a positioning rule is not available and processing is impossible as a consequence.

=*NO

No messages are output.

=*YES

Messages are output.

COGUARD

Name of the rule container
This operand designates the name of a rule container in which a first or subsequent rule is to be entered. If the container does not already exist it is newly created.
Although the container name is user-definable, only rule containers with fixed, predefined names are consulted for co-owner access control.
If wildcards are used in the name of a rule container, the rule is entered in multiple containers, provided that these are accessible.
Only guard administrators are able to specify wildcards in the user ID.


CAUTION!
A value must be specified for this operand. Only uppercase characters may be used!


RULENAM

Name of the rule
This operand designates the name of the rule which is to be processed. Duplicated names are not permitted in a container.


CAUTION!
A value must be specified for this operand. Only uppercase characters may be used!


RULEPOS

Position
This operand designates the position within a rule container at which the rule which is to be processed should be inserted. The sequence of rules is decisive for the coownership check.

target

Designates the target position in the rule container.

*LAST

The rule is to be appended at the final position in the rule container.

*BEFORE

The rule is to be entered in front of the rule named with RULENAM.

posnam

Name of the rule for the position specification
This operand designates the name of an existing rule in the rule container in front of which the rule which is to be processed should be positioned, if the target specification of the RULEPOS operand has the value *BEFORE. The command is rejected if no rule with this name exists.


CAUTION!
A value must be specified for this operand if the “target” partial specification in RULEPOS has the value *BEFORE. Only uppercase characters may be used!


OBJECT

Object
This operand designates the name of the object to which the rule which is to be processed is to apply.

objnam

Object name
Specifications concerning the name of the object.
The name specification may contain wildcards or may be partially qualified. It must not contain a catalog or user ID.
Alias names and declared prefixes are not permitted; the specified object name is used unchanged.


CAUTION!
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 object name has the SDF data type <filename>.

CONDGUA

Access conditions
This operand designates the name of a guard of type STDAC which contains the access conditions. The name must not contain a catalog ID. If the named guard is inaccessible at the time the function is called - because it has not yet been created or because the SCOPE prohibits the use of the guard - then the function aborts with an error message.


CAUTION!
Only uppercase characters may be used!


=*NONE

No access conditions are defined. Co-owner protection is deactivated for the object and co-owner access is rejected.

TSOSACC

Specifies the co-ownership of the user ID TSOS.

= *SYSSTD

The user ID TSOS receives unrestricted co-ownership of the object.

= *RESTRICTED

The user ID TSOS receives restricted co-ownership of the object.

GUACHK

Guard check
When the function is executed, the availability of the guards named in the rule can be checked if required.

=*YES

The guard check is activated. The availability of the named guard is checked. If the guard does not exist or if the owner of the rule container specified in COGUARD is not authorized to use the guard, then the function aborts with a corresponding return code.
It should be noted that this check is simply a ‘snapshot’ which can be invalidated if other tasks modify the guard immediately after the function has been executed.

=*NO

The guard check is deactivated.
The command is executed independently of whether one of the named guards is available and whether the owner of the rule container specified in the COGUARD operand is authorized to use the guards.

Macro return codes

SC2    

SC1   

Maincode

Meaning

X’00’

X’00’

X’0000’

class A: CMD0001

X’02’

X’00’

X’3000’

class A: COO3000
Warning: The dialog control query was answered with ’Terminate’ and execution of the function was aborted.

X’02’

X’00’

X’3003’

class A: COO3003
Warning: During wildcard processing it was not possible to process all the rule containers correctly.


X’01’

X’3100’

class B: COO3100

X’00’
X’01’
X’02’
X’03’
X’04’
X’05’
X’06’
X’07’
X’08’
X’09’
X’0A’
X’0B’

Invalid parameter address
Invalid operand: DIALOG
Invalid operand: COGUARD
Invalid operand: RULENAM
Operand RULEPOS: invalid “target” partial specification
Operand RULEPOS: invalid “posnam” partial specification
Operand OBJECT: invalid “objnam” partial specification
Operand OBJECT: invalid “objtype” partial specification
Invalid operand: CONDGUA
Invalid guard type for condition guard
Invalid operand: GUACHK
Invalid value in reserved field

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’3303’

class D: COO3303

X’00’

X’40’

X’3304’

class D: COO3304

X’00’

X’40’

X’3305’

class D: COO3305

X’00’

X’40’

X’3306’

class D: COO3306

X’00’

X’40’

X’3307’

class D: COO3307

X’00’

X’40’

X’3308’

class D: COO3308

X’00’

X’40’

X’3309’

class D: COO3309

X’00’

X’40’

X’3311’

class D: COO3311

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