Mit dieser Funktion wird eine Regel für die Standardwertvergabe für Datei- oder Jobvariablen-Schutzattribute in einem Regelbehälter (Guard) modifiziert.
Welcher Regelteil modifiziert oder unverändert bleiben soll, hängt davon ab, ob bei Schnittstellenaufruf der jeweilige Operand angegeben wird oder nicht. Wird der Operand nicht angegeben, bedeutet das, dass der durch den Operand repräsentierte Wert unverändert (UN-CHANGED) bleibt. Wird der Operand angegeben, bedeutet das, dass der durch den Operand repräsentierte Wert für die Modifikation verwendet wird.
Ein Anwender kann nur seine eigenen Regelbehälter modifizieren. Ein Guard-Administrator kann Regelbehälter fremder Kennungen modifizieren.
Ein Regelbehälter für den pubsetglobalen Standardschutz kann nur vom Systemverwalter oder von einem Guard-Administrator modifiziert werden.
Makro | Operanden |
MODDEF | MF = C / D / L / M / E ,PREFIX = D / <name 1> ,MACID = EFM / <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> ,NEWNAM = *SAME / <c-string 1..12: alphanumeric name 1..12> / <var: char:12> ,RULEPOS = structure(2): (1) target: *LAST / *BEFORE / <var: enum-of _target_s:1> ,OBJECT = structure(2): (1) objnam: ' ' / *TEMP / <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> ,ATTRGUA=*NONE / <c-string 1..18: filename 1..18 without-cat-gen-vers> / <var: char:18> ,UIDGUA = *ANYUID / <c-string 1..18: filename 1..18 without-cat-gen-vers> / <var: char:18> ,GUACHK = *YES / *NO / <var: enum-of _guard_check_s:1> |
Die Beschreibung der Parameter MF, PREFIX, MACID, PARAM siehe Handbuch „Makroaufrufe an den Ablaufteil“ [16].
DIALOG
Dialogführung
Der Anwender kann die Schnittstelle mit Kontrolldialog benutzen, wobei die Art der Dialogführung steuerbar ist. Die Dialogführung ist im Batchbetrieb wirkungslos, was der Angabe DIALOG-CONTROL=*NO entspricht.
=*STD
Der Anwender kann für jeden ausgewählten Behälter im Dialog entscheiden, ob das Kommando angewendet wird oder nicht. Die Dialogführung erfolgt jedoch nur dann, wenn der Name des Regelbehälters mit Hilfe von Musterzeichen spezifiziert ist.
Ein Kommandoabbruch ist möglich.
=*NO
Die Funktion wird ohne Rückfrage auf jeden Regelbehälter angewendet.
=*COGUARD
Der Anwender kann für jeden ausgewählten Behälter im Dialog entscheiden, ob die Funktion angewendet wird oder nicht. Die Dialogführung erfolgt unabhängig davon, ob der Name des Regelbehälters mit Hilfe von Musterzeichen spezifiziert ist oder nicht.
Ein Funktionsabbruch ist möglich.
=*USERID
Diesen Kontrolldialog kann nur ein Guard-Administrator verwenden.
Ein Guard-Administrator kann für jede ausgewählte Benutzerkennung im Dialog entscheiden, ob die Funktion angewendet wird oder nicht. Die Dialogführung erfolgt jedoch nur dann, wenn die Benutzerkennung im Namen des Regelbehälters mit Hilfe von Musterzeichen spezifiziert ist.
Ein Funktionsabbruch ist möglich.
=*CATALOG
Der Anwender kann für jede ausgewählte Katalogkennung im Dialog entscheiden, ob die Funktion angewendet wird oder nicht. Die Dialogführung erfolgt jedoch nur dann, wenn die Katalogkennung im Namen des Regelbehälters mit Hilfe von Musterzeichen spezifiziert ist.
Ein Funktionsabbruch ist möglich.
ERRMSG
Meldungsausgabe
Der Anwender kann angeben, ob aufgetretene Fehler als Meldung angezeigt werden. Das kann erwünscht sein, wenn zum Beispiel eine Positionsregel nicht vorhanden ist und eine Bearbeitung darum nicht möglich war.
=*NO
Es werden keine Meldungen ausgegeben.
=*YES
Es werden Meldungen ausgegeben.
COGUARD
Name des Regelbehälters
Dieser Operand bezeichnet den Namen des Regelbehälters, in dem eine Regel modifiziert wird. Der Behälter wird neu eingerichtet sofern es ihn noch nicht gibt.
Der Behältername kann zwar beliebig gewählt werden, für die Suche nach passenden Standardwerten werden jedoch in Hierarchie ausnahmslos Regelbehälter mit fest vorgeschriebenen Namen verwendet.
Musterzeichen im Namen des Regelbehälters bewirken, dass die Regel in mehreren Behältern modifiziert wird, sofern diese zugreifbar sind.
Musterzeichen in der Benutzerkennung darf nur ein Guard-Administrator spezifizieren.
Der Operand muss mit einem Wert versehen werden. Es dürfen nur Großbuchstaben verwendet werden!
RULENAM
Name der Regel
Dieser Operand bezeichnet den Namen der zu bearbeitenden Regel. Doppelte Namen in einem Behälter sind nicht erlaubt.
Der Operand muss mit einem Wert versehen werden. Es dürfen nur Großbuchstaben verwendet werden!
NEWNAM
Neuer Regelname
Mit diesem Operanden kann die zu bearbeitende Regel umbenannt werden.
Es dürfen nur Großbuchstaben verwendet werden!
=*SAME
Der Name bleibt unverändert
RULEPOS
Position
Dieser Operand bezeichnet die Position innerhalb eines Regelbehälters, an die die zu bearbeitende Regel gestellt wird. Die Reihenfolge der Regeln ist ausschlaggebend bei der Ermittlung der Schutzattribut-Standardwerte.
target
Angabe zur Zielposition im Regelbehälter.
*LAST
Die Regel wird an die letzte Position im Regelbehälter gestellt.
*BEFORE
Die Regel wird vor die durch den Operand RULENAM benannte Regel gestellt.
posnam
Name der Regel zur Positionsangabe
Dieser Operand bezeichnet eine im Regelbehälter eingetragene Regel, vor die die zu bearbeitende Regel gestellt wird, wenn die Angabe target des Operanden RU-LEPOS den Wert *BEFORE hat. Die Funktion wird abgewiesen, wenn es eine Regel dieses Namens nicht gibt.
Der Operand muss mit einem Wert versehen werden, wenn die Teilangabe target des Operanden RULEPOS den Wert *BEFORE hat. Es dürfen nur Großbuchstaben verwendet werden!
OBJECT
Objekt
Dieser Operand bezeichnet das Objekt, für das die zu bearbeitende Regel gelten wird.
objnam
Objektname
Angaben über den Namen des Objektes.
Der Name kann Musterzeichen enthalten oder teilqualifiziert angegeben werden. Er darf keine Katalog- und Benutzerkennung enthalten.
Aliasnamen und vereinbarte Präfixe sind nicht erlaubt, der spezifizierte Objektname wird unverändert verwendet.
Es dürfen nur Großbuchstaben verwendet werden!
*TEMP
Die Regel gilt für alle temporären Objekte.
objtype
Typ des Objektnamens entsprechend der SDF-Syntaxbeschreibung (siehe Handbuch „Kommandos“ [4]).
Angaben über den SDF-Namenstyp des Objektes. Zur Zeit wird nur der SDF-Namenstyp <filename> (*FILE) unterstützt, der sowohl für Dateinamen als auch für Jobvariablennamen gibt.
*FILE
Der Objektname hat den SDF-Datentyp <filename>.
ATTRGUA
Attribute
Dieser Operand bezeichnet den Namen eines Guards vom Typ STDAC, das die Attribute enthält. Der Name darf keine Katalogkennung enthalten. Ist das genannte Guard zum Zeitpunkt des Funktionsaufrufes nicht zugreifbar, weil es noch nicht eingerichtet ist, oder der SCOPE die Verwendung des Guards untersagt, bricht die Funktion mit Fehler ab.
Es dürfen nur Großbuchstaben verwendet werden!
=*NONE
Es werden keine Attribute in dieser Regel festgelegt. Die Attributstandardwerte werden bei der Standardwertvergabe aus der nächst höheren Hierarchiestufe (pubsetglobal oder herkömmlicher Systemstandard) ermittelt werden.
UIDGUA
Benutzerkennungen
Name des Guards vom Typ DEFPUID, das die Benutzerkennungen für die Pfadvervollständigung beim pubsetglobalen Standardschutz enthält. Der Name darf keine Katalogkennung enthalten. Ist das genannte Guard zum Zeitpunkt des Funktionsaufrufes nicht zugreifbar, weil es noch nicht eingerichtet ist, oder der SCOPE die Verwendung des Guards untersagt, bricht die Funktion mit Fehler ab.
Dieser Operand darf nur von einem Systemverwalter oder von einem Guard-Administrator angegeben werden. Es dürfen nur Großbuchstaben verwendet werden!
=*ANYUID
Es wird kein Guard für Benutzerkennungen angegeben. Der Name des Objektes gilt für alle Benutzerkennungen eines Pubsets.
GUACHK
Guardprüfung
Bei der Funktionsdurchführung kann wahlweise die Verfügbarkeit der in der Regel namentlich genannten Guards überprüft werden.
=*YES
Die Guardprüfung wird eingeschaltet. Es wird geprüft, ob das namentlich angesprochene Guard verfügbar ist. Gibt das Guard nicht, oder ist der Eigentümer des unter dem Operanden COGUARD angegebenen Regelbehälters nicht berechtigt, das Guard zu verwenden, bricht die Funktion mit einem entsprechenden Returncode ab.
Es ist zu beachten, dass die Prüfung nur eine „Momentaufnahme“ sein kann, die unmittelbar nach Funktionsdurchführung von anderen Tasks durch entsprechende Guardmodifikationen verändert sein kann.
=*NO
Die Guardprüfung wird ausgeschaltet.
Die Funktion wird durchgeführt, unabhängig davon, dass ein genanntes Guard nicht verfügbar ist oder vom Eigentümer des unter dem Operanden COGUARD angegebenen Regelbehälters nicht verwendet werden darf.
Makro-Returncode
SC2 | SC1 | Maincode | Erläuterung |
X’00’ | X’00’ | X’0000’ | class A: CMD0001 |
X’02’ | X’00’ | X’3000’ | class A: DEF3000 |
X’02’ | X’00’ | X’3003’ | class A: DEF3003 |
X’01’ | X’3100’ | class B: DEF3100 | |
X’00’ | ungültige Parameteradresse | ||
X’00’ | X’20’ | X’3200’ | class C: DEF3200 |
X’00’ | X’40’ | X’3300’ | class D: DEF3300 |
X’00’ | X’40’ | X’3302’ | class D: DEF3302 |
X’00’ | X’40’ | X’3303’ | class D: DEF3303 |
X’00’ | X’40’ | X’3304’ | class D: DEF3304 |
X’00’ | X’40’ | X’3305’ | class D: DEF3305 |
X’00’ | X’40’ | X’3306’ | class D: DEF3306 |
X’00’ | X’40’ | X’3307’ | class D: DEF3307 |
X’00’ | X’40’ | X’3308’ | class D: DEF3308 |
X’00’ | X’40’ | X’3309’ | class D: DEF3309 |
X’00’ | X’40’ | X’3310’ | class D: DEF3310 |
X’00’ | X’40’ | X’3313’ | class D: DEF3313 |
X’00 | X’40 | X’3314’ | class D: DEF3314 |
X’00’ | X’40’ | X’3315’ | class D: DEF3315 |
X’00’ | X’40’ | X’3318’ | class D: DEF3318 |
X’00 | X’40 | X’3319’ | class D: DEF3319 |
X’00’ | X’40’ | X’3320’ | class D: DEF3320 |
X’00’ | X’80’ | X’3900’ | class E: DEF3900 |
X’00’ | X’80’ | X’3901’ | class E: DEF3901 |
X’00’ | X’80’ | X’3902’ | class E: DEF3902 |
Die genaue Fehlerursache kann durch Aufruf des Kommandos /HELP-MSG mit der in der Tabelle angegebenen Fehlernummer ermittelt werden, z.B. /HELP-MSG DEF3902.