Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

CMDWCO Wildcard-Konstruktion

&pagelevel(4)&pagelevel

Der Makro CMDWCO erzeugt aus einer vorgegebenen Zeichenkette, einem Auswahlmuster und einem Konstruktions-Muster eine neue Zeichenkette. Diese Ausgabe-Zeichenkette wird im Parameterbereich im Feld '<prefix><macid>NAM' und ihre Länge im Feld '<prefix><macid>LEN' abgelegt. Sowohl die Eingabe- als auch die Ausgabe-Zeichenkette können beliebige SDF-Datentypen haben. Der Benutzer sollte mit dem Makro CMDVAL selbst die Datentyp-Analyse durchführen, da hier die Eingabe-Zeichenkette nicht syntaktisch mit der Ausgabe-Zeichenkette verglichen wird.

Operation

Operanden

CMDWCO

SELECT = <c-string 1..255> / <var: char:255>

,CONSTR = <c-string 1..255> / <var: char:255>

,SRCNAME = <c-string 1..255> / <var: char:255>

,MAXLEN =255 / <integer 1..255> / <var: int:1>

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

,SYNTAX = *BS2000 / *POSIX / <var: bit:1>

,PREFIX = C / <char:1>

,MACID = MDW / <char:3>

,MF = D / C / L / M / E

,PARAM = <var: pointer>

SELECT =
gibt die Selektions-Zeichenkette an. Eine Selektions-Zeichenkette ist eine Kombination aus einem Wildcard-Suchmuster und konstanten Namensteilen (siehe Metasyntax). Die Selek-tions-Zeichenkette darf maximal 255 Zeichen lang sein. Ist sie kürzer, so muss sie mit mindestens einem Leerzeichen abgeschlossen sein. Bei leerer Selektions-Zeichenkette (Leerzeichen) und Angabe von PARTIAL=*YES werden alle Namen ausgewählt. Die Behandlung erfolgt wie bei teilqualifizierten Dateinamen.

<c-string 1..255>
Angabe in Form einer C-String-Konstante.

<var: char:255>
Angabe in Form einer String-Variable.

CONSTR =
gibt die Konstruktions-Zeichenkette an. Eine Konstruktions-Zeichenkette ist eine Kombination aus einem Konstruktionsmuster und konstanten Namensteilen (siehe Metasyntax). Die Konstruktions-Zeichenkette darf maximal 255 Zeichen lang sein. Ist sie kürzer, so muss sie mit mindestens einem Leerzeichen abgeschlossen sein. Bei leerer Konstruktions-Zeichenkette (Leerzeichen) und Angabe von PARTIAL=*YES werden alle Namen ausgewählt. Die Behandlung erfolgt wie bei teilqualifizierten Dateinamen.

<c-string 1..255>
Angabe in Form einer C-String-Konstante.

<var: char:255>
Angabe in Form einer String-Variable.

SRCNAME =
gibt die Zeichenkette an, auf die sich das Auswahlmuster bezieht. Die Zeichenkette darf maximal 255 Zeichen lang sein. Ist sie kürzer, so muss sie mit mindestens einem Leerzeichen abgeschlossen sein.

<c-string 1..255>
Angabe in Form einer C-String-Konstante.

<var: char:255>
Angabe in Form einer String-Variable.

MAXLEN =
gibt die maximale Länge der zu erzeugenden Ausgabe-Zeichenkette an. Ist eine erzeugte Ausgabe-Zeichenkette länger als hier angegeben, wird ein Fehlercode geliefert und im Parameterbereich wird nur die bei MAXLEN angegebene Anzahl von Zeichen eingetragen.

255 / <integer 1..255>
Angabe der maximalen Länge. Voreingestellt sind 255 Zeichen.

<var: int:1>
Angabe der maximalen Länge mit einer 1 Byte langen Integer-Variable.

PARTIAL =
Teilqualifizierung ist erlaubt. Punkte am Ende der Selektions- und der Konstruktions-Zeichenkette werden als Teilqualifizierung gedeutet. Teilqualifizierung wird auch dann angenommen, wenn Selektions- und Konstruktions-Zeichenkette leer sind. Eine leere Zeichenkette wird wie der Wildcardausdruck ’*’ behandelt. Auf dieses implizit gebildete Muster kann in der Konstruktions-Zeichenkette nicht mit ’*’ Bezug genommen werden.
Eine Zeichenkette ’xxxx.’ wird wie ’xxxx.*’ behandelt.

*NO
Ein Punkt am Ende der Selektions- und der Konstruktions-Zeichenkette wird wie eine Konstante behandelt. Mit einer leeren Selektions-Zeichenkette kann nur ein leerer SRCNAME ausgewählt werden. Mit einer leeren Konstruktions-Zeichenkette kann nur ein leerer Name erzeugt werden.

*YES
Ein Punkt am Ende der Selektions- und der Konstruktions-Zeichenkette wird als Teilqualifizierung behandelt. Das Gleiche gilt für leere Zeichenketten.

<var: bit:1>


Bitvariable:


bit = 0: Teilqualifizierung ist nicht erlaubt.
bit = 1: Teilqualifizierung ist erlaubt.


SYNTAX =
Legt fest, welcher Typ der Wildcard-Syntax verwendet wird.

*BS2000
Die komplette BS2000-Wildcard-Syntax kann verwendet werden.

*POSIX
Die Wildcard-Syntax gemäß POSIX wird verwendet.

<var: bit:1>


Bitvariable:

bit = 0: wie *BS2000
bit = 1: wie *POSIX.


Beschreibung der Parameter PREFIX, MACID, MF und PARAM siehe Abschnitt „Typen vonMakroaufrufen“.

Rückinformation und Fehleranzeigen

Der Returncode wird im Standardheader des Parameterbereiches übergeben.

Bei SC1=X’00’ enthalten die Ausgabefelder gültige Informationen:

<prefix><macid>LEN:

Länge der erzeugten Zeichenkette

<prefix><macid>NAM:

Standardheader

Erzeugte Zeichenkette. Danach folgen Leerzeichen.

cc: Subcode 2 (SC2)
bb: Subcode 1 (SC1)
aaaa: Maincode

Standard header


cc: Subcode 2 (SC2)
bb: Subcode 1 (SC1)
aaaa: Maincode
(SC2)SC1MaincodeBedeutung
00
00
00
00
00
00
40
40
01
01
0000
0002
0003
0004
0008
kein Fehler
Selektion fehlerhaft oder SRCNAME nicht auswählbar
Syntaxfehler in Konstruktion oder semantischer Fehler
Erzeugte Zeichenkette ist länger als MAXLEN. Ausgabebereich wird nur bis MAXLEN-Länge gefüllt.
Fehler im Parameterbereich (Zugriffsfehler oder Parameter nicht unterstützt)