Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

CHECK-DATA-TYPE( ) Operandenwert überprüfen

&pagelevel(3)&pagelevel

Anwendungsgebiet: Stringfunktionen/ Prüffunktionen

Die Funktion CHECK-DATA-TYPE( ) prüft bei Strings bzw. Operandenwerten, ob sie SDF-Datentyp-Bestimmungen erfüllen (siehe dazu „Datentypen“ (SDF-Syntaxdarstellung) und „Zusätze zu Datentypen“ (SDF-Syntaxdarstellung)).
Dabei beschreibt CHECK-DATA-TYPE( ) den Datentyp, den der Eingabewert 'INPUT' erfüllen muss. Dieser Datentyp folgt den SDF-Datentyp-Richtlinien wie sie im Programm SDF-A bei der Anweisung //ADD-VALUE beschrieben sind (siehe Handbuch „SDF-A“ [16]). D.h. die Operanden von CHECK-DATA-TYPE( ) sind vollständig mit denen von //ADD-VALUE kompatibel. Nur Operandenkombinationen, die nach der Syntax von //ADD-VALUE erstellt sind, werden berücksichtigt. Andere Kombinationen werden ignoriert. Im Folgenden ist eine kurze Zusammenfassung der erlaubten Operandenkombinationen aufgelistet.

DATA-TYPE=

erlaubte Operandenkombinationen

*NOCHECK

VALUE, PATTERN

*INTEGER

VALUE, SHORTEST-LENGTH, LONGEST-LENGTH

*X-STRING

VALUE, SHORTEST-LENGTH, LONGEST-LENGTH, ODD

*C-STRING

VALUE, SHORTEST-LENGTH, LONGEST-LENGTH

*NAME

VALUE, SHORTEST-LENGTH, LONGEST-LENGTH, UNDERSCORE

*ALPHANUMERIC-NAME

VALUE, SHORTEST-LENGTH, LONGEST-LENGTH

*STRUCTURED-NAME

VALUE, SHORTEST-LENGTH, LONGEST-LENGTH

*FILENAME
*PARTIAL-FILENAME
*POSIX-FILENAME
*POSIX-PATHNAME

VALUE, SHORTEST-LENGTH, LONGEST-LENGTH, PATTERN,
CAT-ID, USER-ID, VERSION, GENERATION, WILDCARD

*TIME

VALUE

*DATE

VALUE

*COMPOSED-NAME

VALUE, SHORTEST-LENGTH, LONGEST-LENGTH

*TEXT

VALUE, SHORTEST-LENGTH, LONGEST-LENGTH

*CAT-ID

VALUE

*KEYWORD

VALUE, KEYSTAR

*KEYWORD-NUMBER

VALUE, KEYSTAR

*VSN

VALUE

*X-TEXT

VALUE, SHORTEST-LENGTH, LONGEST-LENGTH

*FIXED

VALUE, SHORTEST-LENGTH, LONGEST-LENGTH,
DECIMAL-DIGITS-SHORTEST, DECIMAL-DIGITS-LONGEST

*DEVICE

ALIAS, VOLUME-ONLY, DEVICE-CLASS, EXCEPT-DISKS,
EXCEPT-TAPES

*PRODUCT-VERSION

VALUE, CORRECTION-STATE, USER-INTERFACE

Format

CHECK-DATA-TYPE( )

INPUT = string_ausdruck

,DATA-TYPE = *NOCHECK / *INTEGER / *X-STRING / *C-STRING / *NAME / *ALPHANUMERIC-NAME/

*STRUCTURED-NAME / *FILENAME / *FULL-FILENAME / *PARTIAL-FILENAME /

*POSIX-FILENAME / *POSIX-PATHNAME / *TIME / *DATE / *COMPOSED-NAME / *TEXT /

*CAT-ID / *KEYWORD / *KEYWORD-NUMBER / *VSN / *X-TEXT / *FIXED / *DEVICE /

*PRODUCT-VERSION

,SHORTEST-LENGTH = *ANY / arithm_ausdruck

,LONGEST-LENGTH = *ANY / arithm_ausdruck

,LONGEST-LOGICAL-LENGTH = *NONE / arithm_ausdruck

,DECIMAL-DIGITS-SHORTEST = 0 / arithm_ausdruck

,DECIMAL-DIGITS-LONGEST = 0 / arithm_ausdruck

,VALUE = *NO / list-poss: string_ausdruck

,PATTERN = *NO / string_ausdruck

,CAT-ID = *YES / *NO

,USER-ID = *YES / *NO

,VERSION = *YES / *NO

,GENERATION = *YES / *NO

,WILDCARD = *NO / *YES

,KEYSTAR = *NO / *YES

,SEPARATORS = *YES / *NO

,UNDERSCORE = *NO / *YES

,ODD = *YES / *NO

,CORRECTION-STATE = *YES / *NO / *ANY

,USER-INTERFACE = *YES / *NO / *ANY

,ALIAS = *YES / *NO

,VOLUME-ONLY = *NO / *YES

,WILDCARD-TYPE = *SELECTOR / *CONSTRUCTOR

,LOWER-CASE = *NO / *YES

,QUOTES = *OPTIONAL / *MANDATORY

,TEMPORARY-FILE = *YES / *NO

,SCOPE = *ALL / *STD-DISK

,DEVICE-CLASS = *DISK / *TAPE / *DISK-OR-TAPE

,EXCEPT-DISKS = *NONE / list-poss: string_ausdruck

,EXCEPT-TAPES = *NONE / list-poss: string_ausdruck


Ergebnistyp

BOOLEAN

Eingabeparameter

INPUT = string_ausdruck
Bezeichnet den zu überprüfenden Operandenwert.

DATA-TYPE =
Bezeichnet das Überprüfungskriterium hinsichtlich des Datentyps.

DATA-TYPE = *NOCHECK
Der Operandenwert wird nicht hinsichtlich des Datentyps überprüft. Die Überprüfung findet nur hinsichtlich des Wildcard-Suchmusters statt.
In diesem Fall darf nicht PATTERN = *NO angegeben sein.

DATA-TYPE = *INTEGER
Es wird überprüft, ob der Operandenwert vom Datentyp integer ist.

DATA-TYPE = *X-STRING
Es wird überprüft, ob der Operandenwert vom Datentyp x-string ist.

DATA-TYPE = *C-STRING
Es wird überprüft, ob der Operandenwert vom Datentyp c-string ist.

DATA-TYPE = *NAME
Es wird überprüft, ob der Operandenwert vom Datentyp name ist.

DATA-TYPE = *ALPHANUMERIC-NAME
Es wird überprüft, ob der Operandenwert vom Datentyp alphanumeric-name ist.

DATA-TYPE = *STRUCTURED-NAME
Es wird überprüft, ob der Operandenwert vom Datentyp structured-name ist.

DATA-TYPE = *FILENAME
Es wird überprüft, ob der Operandenwert vom Datentyp filename ist.

DATA-TYPE = *FULL-FILENAME
Die veraltete Angabe *FULL-FILENAME wird aus Kompatibilitätsgründen weiterhin akzeptiert. Sie hat die gleiche Bedeutung wie DATA-TYPE = *FILENAME.

DATA-TYPE = *PARTIAL-FILENAME
Es wird überprüft, ob der Operandenwert vom Datentyp partial-filename ist.

DATA-TYPE = *POSIX-FILENAME
Es wird überprüft, ob der Operandenwert vom Datentyp posix-filename ist.

DATA-TYPE = *POSIX-PATHNAME
Es wird überprüft, ob der Operandenwert vom Datentyp posix-pathname ist.

DATA-TYPE = *TIME
Es wird überprüft, ob der Operandenwert vom Datentyp time ist.

DATA-TYPE = *DATE
Es wird überprüft, ob der Operandenwert vom Datentyp date ist.

DATA-TYPE = *COMPOSED-NAME
Es wird überprüft, ob der Operandenwert vom Datentyp composed-name ist.

DATA-TYPE = *TEXT
Es wird überprüft, ob der Operandenwert vom Datentyp text ist.

DATA-TYPE = *CAT-ID
Es wird überprüft, ob der Operandenwert vom Datentyp cat-id ist.

DATA-TYPE = *KEYWORD
Es wird überprüft, ob der Operandenwert vom Datentyp keyword ist.

DATA-TYPE = *KEYWORD-NUMBER
Es wird überprüft, ob der Operandenwert vom Datentyp keyword-number ist.

DATA-TYPE = *VSN
Es wird überprüft, ob der Operandenwert vom Datentyp vsn ist.

DATA-TYPE = *X-TEXT
Es wird überprüft, ob der Operandenwert vom Datentyp x-text ist.

DATA-TYPE = *FIXED
Es wird überprüft, ob der Operandenwert vom Datentyp fixed ist.

DATA-TYPE = *DEVICE
Es wird überprüft, ob der Operandenwert vom Datentyp device ist.

DATA-TYPE = *PRODUCT-VERSION
Es wird überprüft, ob der Operandenwert vom Datentyp product-version ist.

SHORTEST-LENGTH = *ANY / arithm_ausdruck
Irrelevant für die Datentypen date, time, cat-id, keyword und keyword-number.
Bestimmt, ob der Operandenwert eine Mindestlänge an Zeichen oder Anzahl der Bytes (für den Datentypen x-string) erfüllen muss.
Für den Datentypen integer bedeutet SHORTEST-LENGTH den niedrigsten Wert.
Für den Datentypen fixed muss SHORTEST-LENGTH mit DECIMAL-DIGITS-SHORTEST kombiniert werden.

LONGEST-LENGTH = *ANY / arithm_ausdruck
Irrelevant für die Datentypen date, time, cat-id, keyword und keyword-number.
Bestimmt, ob der Operandenwert eine Maximallänge an Zeichen oder Anzahl der Bytes (für den Datentypen x-string) erfüllen muss.
Für den Datentypen integer bedeutet LONGEST-LENGTH den niedrigsten Wert.
Für den Datentypen fixed muss LONGEST-LENGTH mit DECIMAL-DIGITS-LONGEST kombiniert werden.

LONGEST-LOGICAL-LENGTH = *NONE / arithm_ausdruck
Nur relevant in Zusammenhang mit PATTERN = string_ausdruck.
Bestimmt die Maximallänge des Operandenwerts, zu dem ein Wildcardausdruck noch als passend erkannt werden soll.

LONGEST-LOGICAL-LENGTH = *NONE
Die Maximallänge für den angegebenen Datentyp wird von SDF gesetzt.

DECIMAL-DIGITS-SHORTEST = 0 / arithm_ausdruck
Nur relevant für den Datentyp fixed.
Bestimmt, wie viele Dezimalstellen der Wert mindestens haben muss.

DECIMAL-DIGITS-LONGEST = 0 / arithm_ausdruck
Nur relevant für den Datentyp fixed.
Bestimmt, wie viele Dezimalstellen der Wert höchstens haben darf.

VALUE =
Bestimmt, welche Werte als Eingabe zulässig sind.

VALUE = *NO
Alle dem jeweiligen Operandentyp entsprechenden Werte sind zulässig. Einschränkungen gibt es nur, sofern diese bei der Festlegung des Operandentyps angegeben sind (z.B. Längenbegrenzungen). Für Operandenwerte des Typs keyword ist *NO nicht zulässig.

VALUE = list-poss: string_ausdruck
Die erlaubten Werte sind auf die angegebenen Werte beschränkt. Der Benutzer kann die angegebenen Werte bei der Eingabe abkürzen. Für Werte vom Typ keyword kann keine Liste von Einzelwerten verwendet werden (ein spezifisches CHECK-DATA-TYPE muss für jeden einzelnen Wert eingegeben werden).

PATTERN =
Wildcard-Suchmuster, nach dem der Operandenwert durchsucht wird.

PATTERN = *NO
Es gibt kein Wildcard-Suchmuster.

PATTERN = string_ausdruck
Der Operandenwert wird nach dem angegebenen Wildcard-Suchmuster durchsucht.

CAT-ID = *YES / *NO
Nur relevant für die Datentypen filename und partial-filename.
Bestimmt, ob die Katalogkennung als Teil eines Dateinamens angegeben werden darf.

USER-ID = *YES / *NO
Nur relevant für die Datentypen filename und partial-filename.
Bestimmt, ob die Benutzerkennung als Teil eines Dateinamens angegeben werden darf.

VERSION = *YES / *NO
Nur relevant für die Datentypen filename und partial-filename.
Bestimmt, ob die Versionsbezeichnung als Teil eines Dateinamens angegeben werden darf.

GENERATION = *YES / *NO
Nur relevant für die Datentypen filename und partial-filename.
Bestimmt, ob die Generationsnummer als Teil eines Dateinamens angegeben werden darf.

WILDCARDS = *NO / *YES
Nur relevant für die Datentypen filename, partial-filename, name, alphanum-name und composed-name.
Bestimmt, ob der Operandenwert Wildcards bzw. Platzhalterzeichen enthalten darf.
Die Angabe *YES darf nicht mit PATTERN = string_ausdruck gekoppelt werden.

KEYSTAR = *NO / *YES
Nur relevant für die Datentypen keyword und keyword-number.
Bestimmt, ob der Operandenwert einen führenden Stern enthalten muss.

SEPARATORS = *YES / *NO
Nur relevant für den Datentyp text.
Bestimmt, ob Trennzeichen angegeben werden dürfen.

UNDERSCORE = *NO / *YES
Nur relevant für die Datentypen name und composed-name.
Bestimmt, ob der Operandenwert Unterstriche enthalten darf.

ODD = *YES / *NO
Nur relevant für den Datentyp x-text.
Bestimmt, ob eine ungerade Zahl von Zeichen akzeptiert wird.

CORRECTION-STATE = *YES / *NO / *ANY
Nur relevant für den Datentyp product-version.
Bestimmt, ob der Korrekturstand angegeben werden muss.
*ANY: Es wird nicht geprüft, ob der Korrekturstand angegeben ist.

USER-INTERFACE = *YES / *NO / *ANY
Nur relevant für den Datentyp product-version.
Bestimmt, ob der Freigabestand der Benutzerschnittstelle angegeben werden darf.
*ANY: Es wird nicht geprüft, ob der Freigabestand angegeben ist.

ALIAS = *YES / *NO
Nur relevant für den Datentyp device.
Bestimmt, ob Alias-Namen angegeben werden dürfen.

VOLUME-ONLY = *NO / *YES
Nur relevant für den Datentyp device.
Bestimmt, ob der Volumetyp akzeptiert wird.

WILDCARD-TYPE = *SELECTOR / *CONSTRUCTOR
Nur relevant für die Datentypen filename, name, alphanum-name und structured-name.
Bestimmt, ob der angegebene Operandenwert als Auswahlzeichenfolge oder als Konstruktionszeichenfolge interpretiert werden soll.

LOWER-CASE = *NO / *YES
Nur relevant für den Datentyp name.
Bestimmt, ob der Operandenwert Kleinbuchstaben enthalten darf.

QUOTES = *OPTIONAL / *MANDATORY
Nur relevant für die Datentypen posix-filename und posix-pathname.
Bestimmt, ob der Operandenwert Anführungszeichen enthalten darf.

TEMPORARY-FILE = *YES / *NO
Nur relevant für den Datentyp filename.
Bestimmt, ob als Operandenwert der Name einer temporären Datei erlaubt ist.

SCOPE = *ALL / *STD-DISK
Nur relevant für den Datentyp device.
Bestimmt, ob als Operandenwert der Name eines beliebigen Plattengerätes oder eines Standard-Plattengerätes angegeben werden darf.

DEVICE-CLASS = *DISK / *TAPE / *DISK-OR-TAPE
Nur relevant für den Datentyp device.
Bestimmt, welcher Geräteklasse (Platten- und/oder Bandgeräte) die angegebenen Geräte angehören dürfen.

EXCEPT-DISKS = *NONE / list-poss(50): string_ausdruck
Nur relevant für den Datentyp device.
Bestimmt, welche Plattengeräte aus der Liste der verfügbaren Geräte nicht angegeben werden dürfen.

EXCEPT-TAPES = *NONE / list-poss(50): string_ausdruck
Nur relevant für den Datentyp device.
Bestimmt, welche Bandgeräte aus der Liste der verfügbaren Geräte nicht angegeben werden dürfen.

Ergebnis

TRUE
Der angegebene Operandenwert erfüllt die Prüfkriterien.

FALSE
Der angegebene Operandenwert erfüllt die Prüfkriterien nicht.

Fehlermeldungen

SDP0099   KEIN VIRTUELLER SPEICHERPLATZ Z.ZT. VORHANDEN
SDP0454   UNGUELTIGER PARAMETER: '(&00)' 
SDP0459   PARAMETER-FEHLER ODER UNGUELTIGE PARAMETER-KOMBINATION.WEITERE 
          INFORMATION: '(&00)'

Beispiel

/A = CHECK-DATA-TYPE(':CAT:$USER.MYFILE', DATA-TYPE=*FILENAME)
/SHOW-VARIABLE A
A = TRUE 
/A = CHECK-DATA-TYPE(':CAT:$USER.MYFILE', DATA-TYPE=*FILENAME, CAT-ID=*NO)
/SHOW-VARIABLE A
A = FALSE 
/A = CHECK-DATA-TYPE('PAR', DATA-TYPE=*KEYWORD,VALUE='PARAMETERS')
/SHOW-VARIABLE A
A = TRUE 
/A = CHECK-DATA-TYPE('PAR', DATA-TYPE=*KEYWORD, VALUE='PARAMETERS',-
/KEYSTAR=*YES)

/SHOW-VARIABLE A
A =FALSE