Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

FIND-ELEMENT Elemente mit Muster in Sätzen finden

&pagelevel(4)&pagelevel

Die Anweisung FIND-ELEMENT durchsucht Elemente nach dem angegebenen Muster und protokolliert die gefundenen Inhaltsverzeichniseinträge wahlweise mit oder ohne Treffersätze.

Wenn als Suchmuster ein ungültiger regulärer Ausdruck angegeben wird (der beispielsweise mehrere aufeinanderfolgende Wiederholungszeichen enthält), wird die Meldung LMS0298 ausgegeben.

FIND-ELEMENT

ELEMENT = *LIBRARY-ELEMENT (...)


*LIBRARY-ELEMENT(...)



|

LIBRARY = *STD / <filename 1..54 without-vers> / *LINK(...)



|


*LINK(...)



|



|

LINK-NAME = <structured-name 1..8> / <filename 1..8>



|

,ELEMENT = *ALL(...) / <composed-name 1..64 with-under with-wild(132)>(...)



|


*ALL(...)



|



|

VERSION = *HIGHEST-EXISTING / *ALL / *UPPER-LIMIT /



|



|


<composed-name 1..24 with-under with-wild(52)>



|



|

,BASE = *STD / <composed-name 1..24 with-under with-wild>



|


<composed-name 1..64 with-under with-wild(132)>(...)



|



|

VERSION = *HIGHEST-EXISTING / *ALL / *UPPER-LIMIT /



|



|


<composed-name 1..24 with-under with-wild(52)>



|



|

,BASE = *STD / <composed-name 1..24 with-under with-wild>



|

,TYPE = *LMS-DEFAULT / *ALL / <alphanum-name 1..8 with-wild(20)>



|

,USER-DATE = *ANY / *TODAY / <date 8..10 with-compl> / *INTERVAL(...)



|


*INTERVAL(...)



|



|

FROM = 1900-01-01 / <date 8..10 with-compl>



|



|

,TO = *TODAY / <date 8..10 with-compl>



|

,CREATION-DATE = *ANY / *TODAY / <date 8..10 with-compl> / *INTERVAL(...)



|


*INTERVAL(...)



|



|

FROM = 1900-01-01 / <date 8..10 with-compl>



|



|

,TO = *TODAY / <date 8..10 with-compl>



|

,MODIFICATION-DATE = *ANY / *TODAY / <date 8..10 with-compl> / *INTERVAL(...)



|


*INTERVAL(...)



|



|

FROM = 1900-01-01 / <date 8..10 with-compl>



|



|

,TO = *TODAY / <date 8..10 with-compl>



|

,EXCEPT-ELEMENT = *NONE / *ELEMENT(...)



|


*ELEMENT(...)



|



|

ELEMENT = *ANY (...) / <composed-name 1..64 with-under with-wild(132)>(...)



|



|


*ANY(...)



|



|



|

VERSION = *ANY / *HIGHEST-EXISTING / *UPPER-LIMIT /



|



|



|


<composed-name 1..24 with-under with-wild(52)>



|



|



|

,BASE = *STD / <composed-name 1..24 with-under with-wild>



|



|


<composed-name 1..64 with-under with-wild(132)>(...)



|



|



|

VERSION = *ANY / *HIGHEST-EXISTING / *UPPER-LIMIT /



|



|



|


<composed-name 1..24 with-under with-wild(52)>



|



|



|

,BASE = *STD / <composed-name 1..24 with-under with-wild>



|



|

,TYPE = *ANY / *LMS-DEFAULT / <alphanum-name 1..8 with-wild(20)>



|



|

,USER-DATE = *ANY / *TODAY / <date 8..10 with-compl> / *INTERVAL(...)



|



|


*INTERVAL(...)



|



|



|

FROM = 1900-01-01 / <date 8..10 with-compl>



|



|



|

,TO = *TODAY / <date 8..10 with-compl>



|



|

,CREATION-DATE = *ANY / *TODAY / <date 8..10 with-compl> / *INTERVAL(...)



|



|


*INTERVAL(...)



|



|



|

FROM = 1900-01-01 / <date 8..10 with-compl>



|



|



|

,TO = *TODAY / <date 8..10 with-compl>



|



|

,MODIFICATION-DATE = *ANY / *TODAY / <date 8..10 with-compl> / *INTERVAL(...)



|



|


*INTERVAL(...)



|



|



|

FROM = 1900-01-01 / <date 8..10 with-compl>



|



|



|

,TO = *TODAY / <date 8..10 with-compl>

,PATTERN = <c-string 1..256> / *LOWER-CASE(...)


*LOWER-CASE(...)



|

PATTERN = <c-string 1..256 with-low>

,SHOW-RECORDS = *YES (...) / *NO


*YES(...)



|

RECORD-NUMBER = *NO / *YES

,INFORMATION = *STD / *ALL / list-poss(2): *TEXT / *COMMENT

TEXT-OUTPUT = *LOGGING-PARAMETERS / *NONE / *SYSOUT / *SYSLST(...) / *EDT(...)


*SYSLST(...)



|

SYSLST-NUMBER = *STD / <INTEGER 1..99>


*EDT(...)



|

WRITE-MODE = *EXTEND / *REPLACE

,STRUCTURE-OUTPUT = *SYSINF / *NONE / <composed-name 1..255>(...)


<composed-name 1..255>(...)



|

WRITE-MODE = *REPLACE / *EXTEND


ELEMENT = *LIBRARY-ELEMENT(...)

Angabe des Elementes, das durchsucht werden soll.

LIBRARY = *STD / <filename 1..54 without-vers> / *LINK(...)
Angabe der Bibliothek, die durchsucht werden soll.

LIBRARY = *STD
Die durch OPEN-LIBRARY eröffnete Bibliothek.

LIBRARY = <filename 1..54 without-vers>
Name der Bibliothek, aus der das Element genommen werden soll.

LIBRARY = *LINK(..)
Die über den Dateikettungsnamen zugewiesene Bibliothek.

LINK-NAME = <structured-name 1..8>
Dateikettungsname der Bibliothek.

ELEMENT = *ALL (...) / <composed-name 1..64 with-under with-wild(132)>(...)Angabe des Elementes, das durchsucht werden soll.

VERSION = *HIGHEST-EXISTING / *ALL / *UPPER-LIMIT /
<composed-name 1..24 with-under with-wild(52)>
Version, die das zu durchsuchende Element besitzt.

VERSION = *HIGHEST-EXISTING

Das Element mit der höchsten bestehenden Version bzgl. BASE wird verwendet.

VERSION = *UPPER-LIMIT
Die in der Bibliothek unter dem angegebenen TYPE und Namen höchstmögliche Version X'FF' wird durchsucht.

VERSION = <composed-name 1..24 with-under with-wild(52)>
Explizite Angabe der Version des Elementes, das durchsucht werden soll.

BASE = *STD / <composed-name 1..24 with-under with-wild>
Präfix für die Versionsauswahl. Im Zusammenhang mit VERSION=*HIGHEST-EXISTING kann damit die höchste Version mit einem bestimmten Präfix angesprochen werden. BASE=*STD wirkt wie BASE=*.

TYPE = *LMS-DEFAULT / *ALL / <alphanum-name 1..8 with-wild(20)>Typ, den das zu durchsuchende Element besitzt.

USER-DATE = *ANY / *TODAY / <date 8..10 with-compl> / *INTERVAL(...)Datum, das vom Benutzer vergeben wurde.

USER-DATE = *ANY
Das zu durchsuchende Element besitzt ein beliebiges Datum.

USER-DATE = *TODAY
Das Element mit dem aktuellen Tagesdatum wird durchsucht.

USER-DATE = <date 8..10 with-compl>
Das Element, dessen Datum explizit in der Form [JJ]JJ-MM-TT eingegeben wird, wird durchsucht.

USER-DATE = *INTERVAL(...)
Alle Elemente, die in dem angegebenen Zeitraum liegen, werden durchsucht.

FROM = 1900-01-01 / <date 8..10 with-compl>
Beginn des Zeitraums.

TO = *TODAY / <date 8..10 with-compl>
Ende des Zeitraums.

CREATION-DATE = *ANY / *TODAY / <date 8..10 with-compl> / *INTERVAL(...)Erzeugungsdatum des Elementes. Beschreibung der Operanden siehe Operand USER-DATE dieses Kommandos.

MODIFICATION-DATE = *ANY / *TODAY / <date 8..10 with-compl> / *INTERVAL(...)Datum der letzten Änderung für das Element. Beschreibung der Operanden siehe Operand USER-DATE dieser Anweisung.

EXCEPT-ELEMENT =*NONE / *ELEMENT(...)

Angabe der Elemente, die von der oben getroffenen Auswahl ausgeschlossen werden.

EXCEPT-ELEMENT = *NONE
Es wird kein Element vom Durchsuchen ausgeschlossen.

EXCEPT-ELEMENT = *ELEMENT(...)
Angabe der Elemente, die vom Durchsuchen ausgeschlossen sind. Ein Element wird ausgeschlossen, wenn alle Felder der EXCEPT-ELEMENT-Struktur die nicht auf *ANY gesetzt sind, das Element als Treffer ausweisen. Sind alle Felder der EXCEPT-ELEMENT-Struktur auf *ANY gesetzt, so werden alle Elemente ausgeschlossen.
Zur Beschreibung der Operanden siehe *LIBRARY-ELEMENT.

PATTERN = <c-string 1..256> / *LOWER-CASE(...)
Suchmuster als regulärer Ausdruck (siehe Handbuch „C-Bibliotheksfunktionen (BS2000/OSD) für POSIX-Anwendungen“ [16]). Die Groß- und Kleinschreibung wird nicht beachetet.

PATTERN = *LOWER-CASE(...)
Keine Umsetzung der Kleinbuchstaben.

PATTERN = <c-string 1..256 with-low>
Suchmuster wie oben, jedoch wird die Groß- und Kleinschreibung beachtet.

SHOW-RECORDS = *YES(...) / *NO
Bestimmt, ob die Treffersätze gezeigt werden oder nicht.

SHOW-RECORDS = *YES(...)
Die Treffersätze werden gezeigt. Jedes gefundene Element wird in einer Überschrift, gefolgt von den Treffersätzen, ausgegeben (ähnlich der SHOW-ELEMENT Ausgabe). Zusätzlich wird die Anzahl der gefundenen und die Anzahl der durchsuchten Sätze pro Element ausgegeben. Zum Schluss wird die Anzahl der gefundenen und die Anzahl der durchsuchten Elemente ausgegeben.

RECORD-NUMBER = *NO / *YES
Bestimmt die Ausgabe der Satznummern.

RECORD-NUMBER = *NO
Es werden keine Satznummern ausgegeben.

RECORD-NUMBER = *YES
Die Satznummer wird zusätzlich ausgegeben.

SHOW-RECORDS = *NO
Die Treffersätze werden unterdrückt. Die Ausgabe der gefundenen Elemente erfolgt wie bei SHOW-ELEMENT-ATTRIBUTES ... INFORMATION=*MEDIUM. Zusätzlich wird die Anzahl der gefundenen und die Anzahl der durchsuchten Elemente ausgegeben.

INFORMATION = *STD / *ALL / list-poss(2): *TEXT / *COMMENT

Der zu bearbeitende Teilbereich des Elementes.

INFORMATION = *STD
Wirkt bei Textelementen wie *TEXT, sonst wie *ALL.

INFORMATION = *ALL
Es wird das ganze Element, d.h. Satzart 1-159 und 164 durchsucht.

INFORMATION = *TEXT
Es wird der eigentliche Text, d.h. Satzart 1 durchsucht.

INFORMATION = *COMMENT
Es wird der separat gespeicherte Kommentar, d.h. Satzart 2 durchsucht

TEXT-OUTPUT = *LOGGING-PARAMETERS / *NONE / *SYSOUT / *SYSLST(...) / *EDT(...)
Steuerung der Protokollausgabe.

TEXT-OUTPUT = *LOGGING-PARAMETERS
Die Protokollausgabe erfolgt in das mit //MODIFY-LOGGING-PARAMETERS, TEXT-OUTPUT= festgelegte Ausgabemedium.

TEXT-OUTPUT = *NONE
Die Protokollausgabe wird bis auf Fehlermeldungen unterdrückt.

TEXT-OUTPUT = *SYSOUT
Die Ausgabe wird nach SYSOUT geschrieben.

TEXT-OUTPUT = *SYSLST(...)
Die Ausgabe wird nach SYSLST geschrieben.

SYSLST-NUMBER = *STD / <integer 1..99>
Bezeichnet die SYSLST-Datei, in die die Ausgabe erfolgen soll.

SYSLST-NUMBER = *STD
Es gilt die Systemdatei SYSLST.

SYSLST-NUMBER = <integer 1..99>
Es gilt die Systemdatei aus der Menge SYSLST01 bis SYSLST99, deren Nummer hier angegeben wird.

TEXT-OUTPUT = *EDT(...)
Die Ausgabe erfolgt in die Arbeitsdatei 9 des EDT. Tritt bei der Protokollausgabe ein Fehler auf, so wird auf den Standardprotokollstrom (SYSOUT) umgeschaltet.

WRITE-MODE = *EXTEND / *REPLACE
Schreibmodus der Ausgabe bezogen auf den Inhalt der Arbeitsdatei 9.

WRITE-MODE = *EXTEND

Existieren Daten in der Arbeitsdatei 9, werden diese durch die Ausgabe erweitert. Ansonsten wird die Ausgabe an den Anfang der Arbeitsdatei geschrieben.

WRITE-MODE = *REPLACE
Die Ausgabe erfolgt an den Anfang der Arbeitsdatei 9. Existierende Daten in der Arbeitsdatei werden dabei ersetzt.

STRUCTURE-OUTPUT = *SYSINF / *NONE / <composed-name 1..255>(...)Strukturierte Ausgabe der gefundenen Elemente.

STRUCTURE-OUTPUT = *SYSINF
Die strukturierte Ausgabe erfolgt in den durch /ASSIGN-STREAM zugewiesenen SYSINF-Strom (siehe [12]).

STRUCTURE-OUTPUT = *NONE
Es erfolgt keine strukturierte Ausgabe.

STRUCTURE-OUTPUT = <composed-name 1..255>(...)
Gibt an, in welche S-Variable die strukturierte Ausgabe erfolgen soll. Diese Variable muss als dynamische Listenvariable deklariert sein.
(Kommando: /DECLARE-VARIABLE NAME=...(TYPE =*STRUCTURE),MULTIPLE-ELEMENTS =*LIST)

WRITE-MODE  = *REPLACE / *EXTEND
Gibt an, ob die Listenvariable überschrieben oder erweitert wird.

WRITE-MODE = *REPLACE
Der alte Inhalt der Listenvariable wird überschrieben.

WRITE-MODE = *EXTEND
Die neuen Listenelemente werden an die bestehende Liste angehängt.

Anweisungs-Returncode

(SC2)

SC1

Maincode

Bedeutung


0

CMD0001

Ohne Fehler

2

0

LMS0129

Anweisung abgebrochen durch Benutzer


1

CMD0230

Syntaxfehler


32

LMS1002

Interner Fehler


64

LMS0302

Element nicht gefunden


64

LMS1003

Fehler während Mengenverarbeitung (Wildcard) bei mindestens einem Element oder einer Datei


64

LMS1004

Sonstige Fehler


64

PLA0229

Kein Zugriffsrecht für das Element


130

LMS0041

Systemadressraum erschöpft


130

LMS0411

Bibliothek gesperrt


130

LMS0412

Element gesperrt


130

LMS0413

Typ gesperrt

Notwendige Zugriffsrechte

Bei ELEMENT: Leserecht für LIBRARY und ELEMENT

Sind von der Anweisung mehrere Elemente betroffen, so werden Elemente ohne Leserecht von der Anweisung ausgeschlossen.

Beispiele

  • Die Elemente der Bibliothek X sollen nach der Zeichenfolge „abc“ durchsucht werden.

    //FIND-ELEMENT *LIB(LIB=X,ELEM=*,TYPE=S),PATTERN='abc',SHOW-RECORDS=*YES
    INPUT  LIBRARY= :1OSQ:$USER.X
    INPUT  ELEMENT= (S)FIND/@(0001)/2012-10-09
     abc ist in diesem Satz.
    Dies ist ein Satz mit abcdefg.
           2 OUT OF      127 RECORD(S) FOUND
    INPUT  LIBRARY= :1OSQ:$USER.X
           1 OUT OF        2 (S)-ELEMENT(S) FOUND
    //FIND-ELEMENT *LIB(LIB=X,ELEM=*,TYPE=S),PATTERN='abc', -
    SHOW-RECORDS=*YES(,RECORD-NUMBER=*YES)
    INPUT  LIBRARY= :1OSQ:$USER.X
    INPUT  ELEMENT= (S)FIND/@(0001)/2012-10-09
          #7  > abc ist in diesem Satz.
        #123  >Dies ist ein Satz mit abcdefg.
           2 OUT OF      127 RECORD(S) FOUND
    INPUT  LIBRARY= :1OSQ:$USER.X
           1 OUT OF        2 (S)-ELEMENT(S) FOUND
    //FIND-ELEMENT *LIB(LIB=X,ELEM=*,TYPE=S),PATTERN='abc',SHOW-RECORDS=*NO
    INPUT  LIBRARY= :1OSQ:$USER.X
    TYP NAME VER (VAR#) DATE
    (S) FIND @   (0001) 2012-10-09
           1 OUT OF        2 (S)-ELEMENT(S) FOUND
    
  • Das Element LLM vom Typ L der Bibliothek X soll nach ’SYSLNK’ durchsucht werden, und 5 Zeichen vor dem Treffer und alle Zeichen hinter dem Treffer (maximal eine Bildschirmzeile) sollen ausgegeben werden.

    //FIND-ELEMENT *LIB(LIB=X,ELEM=LLM,TYPE=L),PATTERN='.....SYSLNK.*'
    INPUT  LIBRARY= :1SOSQ:$USER.X
    INPUT  ELEMENT= (L)LLM/@(0001)/2012-10-09
    RECORD-TYPE: 160
       $.SYSLNK.LMS.036
    MSLMSSYSLNK.LMS
           2 OUT OF        7 RECORD(S) FOUND
    INPUT  LIBRARY= :1OSQ:$USER.X
           1 OUT OF        1 (L)-ELEMENT(S) FOUND