Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

NSIOPT - Systemparameter ausgeben

&pagelevel(3)&pagelevel

Allgemeines

Anwendungsgebiet:

Abfragen und Zugriff zu Listen und Tabellen; siehe "Abfragen und Zugriff zu Listen und Tabellen"

Makrotyp:

S-Typ, MF-Format 3: D-/C-/E-/L-Form;

siehe "S-Typ-Makroaufrufe"


Systemparameter legen bestimmte Optionen des individuellen Betriebssytems fest.

Systemparameter werden in die Startup-Parameterdatei eingetragen bzw. es werden die dafür vorgesehenen Standardwerte verwendet. Während des Systemlaufs können Systemparameter individuell verändert werden. Diese Änderungen müssen zusätzlich in die Startup-Parameterdatei eingetragen werden, wenn sie bei einem neuen Systemstart weiter gelten sollen.

Makrobeschreibung

Der Makro NSIOPT informiert über nicht-privilegierte Systemparameter. Wenn der Aufrufer das Privileg TSOS besitzt, dann werden auch die privilegierten Systemparameter ausgegeben.

Alle Systemparameter sind beim Kommando SHOW-SYSTEM-PARAMETERS im Handbuch „Kommandos“ [19] beschrieben.

Pro Makroaufruf kann nur ein Systemparameter abgefragt werden. Die Auswahl erfolgt durch den Operanden INFO. Die gewünschte Information wird in ein Ausgabefeld übertragen, das durch die Operanden FIELD und LENG bestimmt wird. Dabei ist der Datentyp abhängig vom jeweiligen Systemparameter.

Makroaufrufformat und Operandenbeschreibung

NSIOPT

[INFO='info',FIELD=adr,LENG=länge]

,MF=D / C / E / L

[,PARAM=adr / (r)]

,PREFIX=N / p

,MACID=SIO / macid

INFO=

bezeichnet die Information, die ausgegeben werden soll.

'info'
info = Kurzbezeichnung des Systemparameters. Die Zeichenkette info muss genau
8 Byte enthalten. Ist der Name des gewünschten Systemparameters kleiner als 8 Byte, müssen die übrigen Stellen mit Leerzeichen aufgefüllt werden.

FIELD=
bezeichnet die Adresse des Feldes, in das die Information ausgegeben wird. Die Feldlänge wird durch den Operanden LENG bestimmt. Die Information wird linksbündig eingetragen.

adr
symbolische Adresse des Feldes

LENG=
beschreibt die Länge des Eintrags in das bei FIELD angegebene Feld. Die Länge ist dem Handbuch „Systembetreuung“ [10] zu entnehmen. Bei falscher Längenangabe erfolgt kein Eintrag.

länge
Länge in Byte, entsprechend der Liste; Angabe als Dezimalzahl
Für Systemparameter des Typs C erfolgt die Ausgabe auch in ein zu kleines Ausgabefeld, wenn vom Inhalt des Systemparameters nur Leerzeichen abgeschnitten werden.

MF=
Zur allgemeinen Beschreibung des Operanden MF, der dazugehörenden Operandenwerte und der evtl. nachfolgenden Operanden (z.B. PREFIX, MACID und PARAM) siehe Abschnitt „S-Typ-Makroaufrufe“. Die gültigen MF-Werte sind zu Beginn der Makrobeschreibung bei „Makrotyp“ angegeben und aus dem Aufrufformat ersichtlich.
Bei der C-Form oder D-Form des Makroaufrufs kann ein Präfix PREFIX und bei der C-Form zusätzlich eine Macid MACID angegeben werden.

Rückinformation und Fehleranzeigen

Standardheader:

+---------------+
|   |   |   |   |
|c|c|b|b|a|a|a|a|
+---------------+

Über die Ausführung des Makros NSIOPT wird im Standardheader folgender Returncode übergeben (cc=Subcode2, bb=Subcode1, aaaa=Maincode):

X'cc'

X'bb'

X'aaaa'

Erläuterung

X'00'

X'00'

X'0000'

Funktion erfolgreich ausgeführt.

X'01'

X'01'

X'0001'

Keine Aktion: Ungültiger Wert für den Operanden INFO.

X'02'

X'01'

X'0001'

Keine Aktion: Ungültiger Wert für den Operanden FIELD oder für die
Operanden FIELD und LENG

X'03'

X'01'

X'0001'

Keine Aktion: Ungültiger Wert für den Operanden LENG,
z.B. LENG nicht versorgt.

X'04'

X'01'

X'0001'

Keine Aktion: Der Operand LENG stimmt nicht mit der Länge des
geforderten Systemparameters überein.

X'05'

X'01'

X'0001'

Keine Aktion: Informationen über den angeforderten Systemparameter
stehen dem nichtprivilegierten Anwender nicht zur Verfügung.

Weitere Returncodes, deren Bedeutung durch Konvention makroübergreifend festgelegt ist, können der Tabelle „Standard-Returncodes“ (Standardheader) entnommen werden.

Beispiel

  NSIOPT   START
  NSIOPT   AMODE ANY
           GPARMOD 31
           BALR   3,0
           USING  *,3
  *
  NSIOPLST NSIOPT MF=D ---------------------------------------------------(1)
1 *              NSIOPT, VERSION=101, DATE=900911                     101
1 NSIOPLST MFCHK MF=D,                                                101C
1                PREFIX=N,                                            101C
1                MACID=SIO,                                           101C
1                DMACID=SIO,                                          102C
1                DNAME=SIOPL,                                         101C
1                SUPPORT=(D,C,L,E),                                   101C
1                PARAM=,                                              101C
1                SVC=135                                              101
2 NSIOPLST DSECT ,
2                *,##### PREFIX=N, MACID=SIO #####
1 *                                                                   101
1          #INTF INTNAME=NSIOPT,REFTYPE=REQUEST,                      101C
1                INTCOMP=1                                            101
1 *                                                                   101
1 NSIORCNE EQU   0                       NO ERROR                     101
1 NSIORCII EQU   1                       INFO INVALID                 101
1 NSIORCFI EQU   2                       FIELD INVALID                101
1 NSIORCLI EQU   3                       LENG INVALID                 101
1 NSIORCLS EQU   4                       LENG TOO SHORT               101
1 *                                                                   101
1 NSIS0002     EQU  *                                                 101
1 NSIOFHDR FHDR  MF=(C,NSIO),EQUATES=NO                               101
2 NSIOFHDR DS    0A
2 NSIOFHE  DS    0XL8            0   GENERAL PARAMETER AREA HEADER
2 *
2 NSIOIFID DS    0A              0   INTERFACE IDENTIFIER
2 NSIOFCTU DS    AL2             0   FUNCTION UNIT NUMBER
2 *                                  BIT 15    HEADER FLAG BIT,
2 *                                  MUST BE RESET UNTIL FURTHER NOTICE
2 *                                  BIT 14-12 UNUSED, MUST BE RESET
2 *                                  BIT 11-0  REAL FUNCTION UNIT NUMBER
2 NSIOFCT  DS    AL1             2   FUNCTION NUMBER
2 NSIOFCTV DS    AL1             3   FUNCTION INTERFACE VERSION NUMBER
2 *
2 NSIORET  DS    0A              4   GENERAL RETURN CODE
2 NSIOSRET DS    0AL2            4   SUB RETURN CODE
2 NSIOSR2  DS    AL1             4   SUB RETURN CODE 2
2 NSIOSR1  DS    AL1             5   SUB RETURN CODE 1
2 NSIOMRET DS    0AL2            6   MAIN RETURN CODE
2 NSIOMR2  DS    AL1             6   MAIN RETURN CODE 2
2 NSIOMR1  DS    AL1             7   MAIN RETURN CODE 1
2 NSIOFHL  EQU   8               8   GENERAL OPERAND LIST HEADER LENGTH
2 *
1 NSIOINFO DS    CL8                     INFO                         101
1 NSIOFILD DS    A                       POINTER                      101
1 NSIOLENG DS    H                       LENGTH                       101
1 NSIE0002     EQU  *                                                 101
1 NSIO#        EQU  (NSIE0002-NSIS0002)                               101
           PRINT NOGEN
  NSIOPT   CSECT
           LA    4,NSILST
           USING NSIOPLST,4
           BAL   7,OUTPUT                Call output routine ----------> -(2)
           MVC   NSIOINFO,=C'SSMLGOF1' -----------------------------------(3)
           MVC   NSIOLENG,=H'9'
           BAL   7,OUTPUT                Call output routine ----------> 
           MVC   NSIOINFO,=C'ENCRYPT ' -----------------------------------(4)
           MVC   NSIOLENG,=H'1'
           BAL   7,OUTPUT                Call output routine ----------> 
  END      TERM
  *
  *        Output routine
  *
  OUTPUT   NSIOPT MF=E,PARAM=NSILST --------------------------------------(5)
           MVC   PARNAME,NSIOINFO
           WROUT MESSAGE,END,PARMOD=31
2                *,@DCEO      999    921011   53531004
           MVI   OPTTXT,C' '             Clear OPTSTXT for next output
           MVC   OPTTXT+1(L'OPTTXT-1),OPTTXT
           BR    7                       Return ->
  *
  **** Definitions ****
           DS    0H
  NSILST   NSIOPT MF=L,INFO='BLKCTRL ',FIELD=OPTTXT,LENG=6 ---------------(6)
  MESSAGE  DC    Y(ENDMESS-MESSAGE)      Record length
           DS    CL2                     Reserved
           DC    X'01'                   Print feed control character
  PARNAME  DC    CL8' '                  Field indicator
           DC    C' = '
  OPTTXT   DC    CL10' '                 Contents
  ENDMESS  EQU   *
           END
                 =C'SSMLGOF1'
                 =C'ENCRYPT '

Ablaufprotokoll

/start-assembh
%  BLS0500 PROGRAM 'ASSEMBH', VERSION '<ver>' OF '<date>' LOADED
%  ASS6010 <ver> OF BS2000 ASSEMBH  READY 
//compile source=*library-element(macexmp.lib,nsiopt), -
//        compiler-action=module-generation(module-format=llm), -
//        module-library=macexmp.lib, -
//        listing=parameters(output=*library-element(macexmp.lib,nsiopt))
%  ASS6011 ASSEMBLY TIME: 366 MSEC
%  ASS6018 0 FLAGS, 0 PRIVILEGED FLAGS, 0 MNOTES
%  ASS6019 HIGHEST ERROR-WEIGHT: NO ERRORS
%  ASS6006 LISTING GENERATOR TIME: 92 MSEC
//end
%  ASS6012 END OF ASSEMBH
/start-executable-program library=macexmp.lib,element-or-symbol=nsiopt
%  BLS0523 ELEMENT 'NSIOPT', VERSION '@' FROM LIBRARY
   ':2OSG:$QM212.MACEXMP.LIB' IN PROCESS
%  BLS0524 LLM 'NSIOPT', VERSION ' ' OF '<date> <time>' LOADED
BLKCTRL  = PAMKEY -------------------------------------------------------(7)
SSMLGOF1 = REQ-SPOOL
ENCRYPT  = Y

(1)

Generierung der DSECT zur Adressierung der auszugebenden Informationen.

(2)

Erster Aufruf der Ausgaberoutine (5).

(3)

Modifikation des Datenbereichs von NSIOPT für den zweiten Aufruf: Der Systemparameter SSMLGOF1 soll in der Länge 9 ausgegeben werden. Anschließend wird die Ausgaberoute (5) zum zweiten Mal aufgerufen.

(4)

Modifikation des Datenbereichs von NSIOPT für den dritten Aufruf: Der Systemparameter ENCRYPT soll in der Länge 1 ausgegeben werden. Anschließend wird die Ausgaberoute (5) zum dritten Mal aufgerufen.

(5)

Ausgaberoutine. In ihr wird zunächst mit dem Makro NSIOPT der Wert eines Systemparameters ermittelt. Danach wird der ermittelte Wert mit WROUT auf SYSOUT ausgegeben. Die Ausgaberoutine wird in diesem Beispiel drei Mal aufgerufen.

(6)

Aufruf des Makros NSIOPT mit MF=L zur Initialisierung des Datenbereichs. Das Dateiattribut BLKCTRL soll ausgegeben werden. Die Länge der auszugebenden Information beträgt 6 Byte.

(7)

Ausgabe der ermittelten Systemparameter:

  • Der Systemparameter BLKCTRL zeigt den Wert „PAMKEY“ als Standardwert für das Dateiattribut BLKCTRL an.

  • Der Systemparameter SSMLGOF1 zeigt den Wert „REQ-SPOOL“ an, d.h. Spoolout-Aufträge werden immer angenommen.

  • Der Systemparameter ENCRYPT zeigt den Wert „Y“ an. Kennwörter werden verschlüsselt in den Dateikatalog eingetragen.