Mit dieser Funktion kann sich ein Anwender für einen spezifizierten Objektnamen anzeigen lassen, ob er Miteigentümer ist und in welchen Regeln das Miteigentum für ihn beschrieben ist.
Die Anzeige der zu erfüllenden Zugriffsbedingungen muss in einem gesonderten Schritt erfolgen. Die in den angezeigten Regeln benannten Condition-Guards können mit dem Kommando /SHOW-ACCESS-ADMISSION oder mit der Programmschnittstelle SHWSAC aufgelistet werden. Näheres über das Anzeigeverhalten einer Zugriffserlaubnis ist der Beschreibung des Kommandos /SHOW-ACCESS-ADMISSION zu entnehmen.
Die Ausgabe der Miteigentümererlaubnis entspricht der Ausgabe des Kommandos /SHOW-COOWNER-PROTECTION-RULE. Sie unterscheidet sich darin, dass nur die Untermenge von Regeln ausgegeben wird, die bedeutend für die angegebene Benutzerkennung ist. Nicht angezeigt werden Regeln, die einen Zugriff verweigern.
Makro | Operanden |
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> |
Die Beschreibung der Parameter MF, PREFIX, MACID, PARAM finden Sie im Handbuch „Makroaufrufe an den Ablaufteil“ [16].
XPAND
gibt die zu expandierenden Deklarationen an. Dieser Operand gilt nur bei MF=D oder MF=C.
=PARAM
Das Modell des Parameterbereichs.
=OUTPUT
Die Modelle der Teilbereiche der Ausgabe.
OBJECT
Objekt
Name des Objektes, über das sich der Aufrufer bezüglich seiner Miteigentümerschaft informieren will.
objnam:
Miteigentümerobjektname
Angaben über den Namen des Miteigentümerobjektes.
Aliasnamen und vereinbarte Präfixe sind nicht erlaubt, der spezifizierte Objektname wird unverändert verwendet.
ACHTUNG!
Der Operand muss mit einem Wert versehen werden. Es dürfen nur Großbuchstaben verwendet werden!
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>.
COTYPE
Typ des aktiven Regelbehälters
Regeln für das Miteigentum können sowohl für Dateinamen als auch für Jobvariablen spezifiziert und in einem jeweils separaten, aktiven Regelbehälter eingetragen sein. Mit diesem Operand kann darum gesteuert werden, ob eine Miteigentümerregel für Datei- oder Jobvariablen-Miteigentümerschaft ermittelt wird.
=*FILE
Es wird in einem aktiven Regelbehälter gesucht, der Miteigentümerregeln für Dateien enthält.
=*JV
Es wird in einem aktiven Regelbehälter gesucht, der Miteigentümerregeln für Jobvariablen enthält.
OUTAREA
Ausgabebereich
Dieser Operand bezeichnet Adresse und Länge des Adressraumes, in den die ermittelte Ausgabeinformation eingetragen wird. Passen nicht alle selektierten Regeln in den Ausgabebereich, wird ein Fehler gemeldet und der Aufrufer muss einen grösseren Ausgabebereich zur Verfügung stellen.
address:
Adresse
Angabe der Adresse des Ausgabebereiches.
Der Ausgabebereich muss an Wortgrenze stehen.
len:
Länge
Angabe über die Länge des Ausgabebereiches.
Die Länge muss mindestens 144 Bytes betragen.
*ONERULE
Ausgabelänge für eine Regel.
*SUGRULES
Vorgeschlagene Ausgabelänge für mehrere Regeln.
Makro-Returncode
SC2 | SC1 | Maincode | Erläuterung |
X’00’ | X’00’ | X’0000’ | class A: CMD0001 |
X’01’ | X’3100’ | class B: COO3100 | |
X’00’ | ungültige Parameteradresse | ||
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: Ausgabebereich ist nicht groß genug |
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 |
Die genaue Fehlerursache kann durch Aufruf des Kommandos /HELP-MSG mit der in der Tabelle angegebenen Fehlernummer ermittelt werden, z.B. /HELP-MSG COO3902.