News Produkte Preise Download Service Sitemap
Startseite Produkte Quellbefehle FNDSTR

Produkte


Objektbefehle Dateibefehle Sonderbefehle IFS-Befehle Spoolbefehle Datenspiegelung Übertragungsbefehle Protokollbefehle Systemüberwachung Quellbefehle Referenzbefehle Menüverwaltung Hilfetextgenerierung Befehlsverwaltung Kryptografie Systemanpassung ZIP-Archiverstellung Jobservicetool

FNDSTR CPYSRC CVTRPG

Kontakt Impressum Haftungsausschluss AGB

FNDSTR

Screenshots
Zeichenfolge suchen und ändern (FNDSTR)

Zeichenfolge suchen und ändern (FNDSTR)

- Umgebungen: Alle Umgebungen (*ALL)
- Threadsicher: Nein
Parameter
Beispiele
Fehlernachrichten

Mit Hilfe des Befehls FNDSTR können mehrere Teildateien nach einer bestimmten Zeichenfolge oder nach mehreren bestimmten Zeichenfolgen durchsucht und geändert werden.

Der Vorteil gegenüber dem Systembefehl FNDSTRPDM ist die Angabe von mehreren Suchkriterien gleichzeitig sowie die Angabe von generischen Quellendateien. Außerdem können mit diesem Befehl Quellteildateien auf Satzebene verändert bzw. eingefärbt werden.

Eine weitere Stärke dieses Befehls ist die zweifache Ausgabe. In der ersten Ausgabe werden alle gefundenen Teildateien gelistet, in der zweiten Ausgabe alle Sätze mit Fundstellen und bei Veränderung eine Vorher-/Nachher-Darstellung.

HINWEIS: Bitte arbeiten Sie immer mit einer Kopie bei Änderungen an Quelldateien. Meistens wird ein Parameter zu setzen vergessen und das Ergebnis ist nicht wie gewünscht. Nachdem das Ergebnis überprüft wurde können die Änderungen auf die Originaldateien angewandt werden.

Anfang

Parameter

Parameter Beschreibung Auswahl Hinweis
SCNSTR Suchzeichenfolge Einzelwerte: *DATE
Andere Werte (bis zu 15 Wiederholungen): Zeichenwert, *WHT, *BLU, *GRN, *TRQ, *RED, *YLW, *PNK
Erforderlich, Position 1
CHGSTR Änderungszeichenfolge Zeichenwert, *NONE, *INIT, *WHT, *BLU, *GRN, *TRQ, *RED, *YLW, *PNK Wahlweise, Position 2
SCNFROM Suchposition von 1-100, 1 Wahlweise, Position 3
SCNTO Suchposition bis 1-100, *END Wahlweise, Position 4
SCNLNG Suchzeichenfolgelänge 1-100, *CALC Wahlweise, Position 5
CHGLNG Änderungszeichenfolgelänge 1-100, *CALC Wahlweise, Position 6
CHGPOS Änderungszeichenfolgeposition 1-100, *FOUND, *BEFORE, *AFTER Wahlweise, Position 7
FILE Quellendatei Qualifizierter Objektname Wahlweise, Position 8
Qualifikationsmerkmal 1: Quellendatei Generischer Name, Name, QRPGLESRC, *ALL
Qualifikationsmerkmal 2: Bibliothek Name, *LIBL, *CURLIB, *USRLIBL, *ALLUSR, *ALL
MBR Teildatei Generischer Name, Name, *ALL Wahlweise, Position 9
MBRTYPE Teildateiart Name, *ALL Wahlweise, Position 10
CASE Schreibweise prüfen *YES, *NO Wahlweise, Position 11
REMARK In Kommentarzeilen suchen *YES, *NO Wahlweise, Position 12
ACTION Aktion bei Übereinstimmung *NONE, *CHANGE, *DELETE, *INSERTB, *INSERTA Wahlweise, Position 13
DATE Datum in Quelle Datum, *SAME, *ZEROS Wahlweise, Position 14
INSFILE Einfügedatei Einzelwerte: *NONE
Andere Werte: Qualifizierter Objektname
Wahlweise, Position 15
Qualifikationsmerkmal 1: Einfügedatei Name
Qualifikationsmerkmal 2: Bibliothek Name, *CURLIB, *LIBL
INSMBR Einfügeteildatei Name, *NONE Wahlweise, Position 16
INSEDIT Einfügeteildatei editieren *YES, *NO Wahlweise, Position 17
INSOPTION Einfügeteildatei nur einmal *YES, *NO Wahlweise, Position 18
EXITPGM Benutzerausgangsprogramm Einzelwerte: *NONE
Andere Werte: Qualifizierter Objektname
Wahlweise, Position 19
Qualifikationsmerkmal 1: Benutzerausgangsprogramm Name
Qualifikationsmerkmal 2: Bibliothek Name, *LIBL, *CURLIB
Anfang

Suchzeichenfolge (SCNSTR)

Hier können bis zu 15 verschiedene Suchkriterien angegeben werden.

Dies ist ein erforderlicher Parameter.

*DATE
Mit dem Wert *DATE kann die Suche auf das Satzänderungsdatum umgeleitet werden. Bei Angabe von *DATE muss am Parameter DATE das zu suchende Datum eingetragen werden. Danach werden alle Sätze der ausgewählten Teildateien ausgewählt die dem eingegebenen Datum entsprechen.
*WHT
Das Attributbyte für die Farbe weiß wird gesucht.
*BLU
Das Attributbyte für die Farbe blau wird gesucht.
*GRN
Das Attributbyte für die Farbe grün wird gesucht.
*TRQ
Das Attributbyte für die Farbe türkis wird gesucht.
*RED
Das Attributbyte für die Farbe rot wird gesucht.
*YLW
Das Attributbyte für die Farbe gelb wird gesucht.
*PNK
Das Attributbyte für die Farbe pink wird gesucht.
Zeichenfolge
Beliebige Zeichenfolge angeben nach der gesucht werden soll.
Anfang

Änderungszeichenfolge (CHGSTR)

Hier kann angegeben werden in welchen Wert die gefundene Zeichenfolge geändert werden soll. Als Sonderwerte stehen Farbattribute zur Verfügung mit denen Quellteildateien eingefärbt werden können.

Eine Besoderheit stellt der Wert *MBRTEXT dar. Wird dieser Spezialwert im Änderungstext angegeben wird bei der Änderung in der Quelle der tatsächliche Teildateibeschreibungstext mit 50 Stellen ausgegeben. Der Sonderwert *MBRTEXT kann im Änderungswert an beliebiger Stelle stehen, daher ist dieser Wert nicht als Parameterwert aufgeführt. Diese Funktion ist hilfreich wenn Sie z. B. RPG-/TITLE-Zeilen aktualisieren oder einfügen möchten.

*NONE
Es erfolgt keine Änderung an den Quelldaten.
*INIT
Sämtliche Farbattribute werden an der vorgegebenen Stelle gelöscht. Sollte an der vorgegebenen Stelle ein anderer Wert als ein gültiges Hexzeichen für Farbdarstellung wird dieses Zeichen nicht gelöscht. Diese Funktion ist hilfreich wenn das Farbattributbyte bei RPG-Kommentarzeilen auf Stelle 6 gesetzt ist wo normalerweise die Kartenart steht. So kann eine Teildatei schnell entfärbt werden.
*WHT
Das Attributbyte für die Farbe weiß wird gesetzt.
*BLU
Das Attributbyte für die Farbe blau wird gesetzt.
*GRN
Das Attributbyte für die Farbe grün wird gesetzt.
*TRQ
Das Attributbyte für die Farbe türkis wird gesetzt.
*RED
Das Attributbyte für die Farbe rot wird gesetzt.
*YLW
Das Attributbyte für die Farbe gelb wird gesetzt.
*PNK
Das Attributbyte für die Farbe pink wird gesetzt.
Zeichenfolge
Beliebe Zeichenfolge angeben die an der Fundstelle oder wie am Parameter CHGPOS und CHGLEN angegeben geschrieben werden soll.
Anfang

Suchposition von (SCNFROM)

Hier kann angegeben werden ab welcher Spaltenposition im Satz die Suche erfolgen soll.

1
Die Suche beginnt ab Spalte 1.
Zahl
Spaltenposition angeben ab welcher Stelle die Suche beginnen soll.
Anfang

Suchposition bis (SCNTO)

Hier kann angegeben werden bis welche Spaltenposition im Satz die Suche erfolgen soll.

*END
Die Suche soll bis zum Satzende erfolgen.
Zahl
Spaltenposition angeben bis welche Stelle die Suche erfolgen soll.
Anfang

Suchzeichenfolgelänge (SCNLNG)

Hier kann die Anzahl der zu suchenden Positionen angegeben werden. Dieser Parameter wird benötigt wenn auch nach folgenden Leerzeichen zur Suchzeichenfolge gesucht werden soll.

*CALC
Die Suchzeichenfolgelänge wird anhand der eingegebenen Suchzeichenfolgen am Parameter SCNSTR ermittelt.
Zahl
Anzahl angeben mit wieviel Stellen gesucht werden soll.
Anfang

Änderungszeichenfolgelänge (CHGLNG)

Hier kann die Anzahl Zeichen angegeben werden die geändert werden soll.

*CALC
Die Änderungszeichenfolgelänge wird anhand der eingegebenen Änderungszeichenfolge am Parameter CHGSTR ermittelt.
Zahl
Anzahl Stellen angeben die geändert werden sollen.
Anfang

Änderungszeichenfolgeposition (CHGPOS)

Gibt an ab welcher Stelle die Änderungszeichenfolge ausgegeben werden soll.

*FOUND
Die Änderungszeichenfolge wird an der Fundstelle ausgegeben. Die Fundstelle ist die Stelle an dem das erste Zeichen der gefundenen Suchzeichenfolge steht.
*BEFORE
Die Änderungszeichenfolge wird eine Stelle vor der Fundstelle ausgegeben.
*AFTER
Die Änderungszeichenfolge wird direkt nach der gefundenen Suchzeichenfolge ausgegeben. Die Position wäre die Fundstelle plus die Länge der Suchzeichenfolge plus 1.
Zahl
Position angeben ab der die Änderungszeichenfolge ausgegeben werden soll.
Anfang

Quellendatei (FILE)

Hier kann angegeben werden welche Quellendatei oder welche Quellendateien durchsucht werden sollen.

Qualifikationsmerkmal 1: Datei

Name
Einen gültigen Dateinamen angeben.
Generischer Name
Einen generischen Dateinamen angeben wenn eine ganze Gruppe von Dateien ausgewählt werden soll.
*ALL
Alle Dateien in der angegebenen Bibliothek sollen ausgewählt werden.

Qualifikationsmerkmal 2: Bibliothek

*LIBL
Die Datei wird anhand der Bibliotheksliste des Jobs gesucht.
*CURLIB
Die Datei befindet sich in der aktuellen Bibliothek.
*USRLIBL
Die Datei wird anhand der Benutzerbibliotheksliste gesucht.
*ALLUSR
Die Datei wird in allen Benutzerbibliotheken gesucht.
*ALL
Die Datei wird in allen Bibliotheken gesucht.
Name
Einen gültigen Bibliotheksnamen angeben.
Anfang

Teildatei (MBR)

Hier können bestimme Teildateien selektiert werden die durchsucht bzw. geändert werden sollen.

*ALL
Es werden alle in der ausgewählten Quellendatei enthaltenen Teildateien ausgewählt.
Generischer Name
Eine Gruppe von Teildateien angeben. Ein generischer Name besteht aus einer beliebigen Zeichenfolge gefolgt von einem * welcher für x-beliebiege Zeichen steht.
Name
Den Namen der Teildatei angeben welche durchsucht werden soll.
Anfang

Teildateiart (MBRTYPE)

Mit diesem Parameter können bestimmte Arten von Teildateien ausgewählt werden. Eine Teildateiart wäre z. B. SQLRPGLE

*ALL
Es werden alle Teildateien unabhängig von der Teildateienart ausgewählt.
Name
Teildateiart auswählen. Danach werden nur Teildateien selektiert die mit der hier angegebenen Teildateienart übereinstimmen.
Anfang

Schreibweise prüfen (CASE)

Hier kann angegeben werden ob Groß- und Kleinschreibung geprüft werden soll oder nicht.

*NO
Die Schreibweise wird nicht geprüft. Es ist egal ob das Suchargument groß, klein oder gemischt geschrieben ist. Dasselbe gilt für den zu suchenden Wert.
*YES
Die Schreibweise wird geprüft. Das eingegebene Suchargument muß exakt der Schreibweise im zu suchenden Quelldatensatz entsprechen.
Anfang

In Kommentarzeilen suchen (REMARK)

Hier kann angegeben werden ob auch in Kommentarzeilen gesucht werden soll oder nicht. Es werden Kommentarzeilen in CL und RPG unterstützt.

*NO
Kommentarzeilen werden nicht durchsucht.
*YES
Auch in Kommentarzeilen erfolgt die Suche nach dem eingegebenen Suchargument.
Anfang

Aktion bei Übereinstimmung (ACTION)

Hier kann angegeben werden welche Aktion ausgeführt werden soll wenn das Suchargument oder die Suchargumente in der zu suchenden Quelle übereinstimmen.

*NONE
Es wird keine Aktion ausgeführt. Die ermittelten Teildateien und Quellsätze werden lediglich angezeigt bzw. gedruckt.
*CHANGE
Der Quelldatensatz in dem das Suchargument oder eines der Suchargumente vorkommt soll geändert werden.
*DELETE
Der Quelldatensatz in dem das Suchargument oder eines der Suchargumente vorkommt soll gelöscht werden.
*INSERTB
Vor dem Quelldatensatz in dem das Suchargument oder eines der Suchargumente vorkommt sollen Daten eingefügt werden.

Standardmäßig wird der angegebene Wert am Parameter CHGSTR eingefügt. Es können aber auch mehrere Quellsätze gleichzeitig als Teildatei eingefügt werden. Dazu muß am Parameter INSFILE und INSMBR die entsprechende Teildatei angegeben werden.

*INSERTA
Nach dem Quelldatensatz in dem das Suchargument oder eines der Suchargumente vorkommt sollen Daten eingefügt werden.

Standardmäßig wird der angegebene Wert am Parameter CHGSTR eingefügt. Es können aber auch mehrere Quellsätze gleichzeitig als Teildatei eingefügt werden. Dazu muß am Parameter INSFILE und INSMBR die entsprechende Teildatei angegeben werden.

Anfang

Datum in Quelle (DATE)

Dieser Parameter besitzt zwei Funktionen:

1. Bei Änderungen in der Quellenteildatei kann angegeben werden ob das Quellendatum je Satz geändert werden soll. Das eingegebene Datum wird bei Änderungen gesetzt. Das Datum kann auch auf Nullen initialisiert werden.

2. Wird am Parameter SCNSTR der Wert *DATE angegeben, werden alle Sätze in den ausgewählten Quellendateien ermittelt die dem angegebenen Datum entsprechen.

*SAME
Das Datum in der Quelle wird beibehalten auch wenn Änderungen durch diesen Befehl erfolgen.
*ZEROS
Das Datum wird bei allen Änderungen auf 000000 gesetzt.
Datum
Gültiges Datum im Jobformat angeben auf welches die zu ändernden Quellsätze gesetzt werden soll.
Anfang

Einfügedatei (INSFILE)

Mit diesem Befehl kann eine gesamte Teildatei in die bestehende Quelle eingefügt werden. Das Einfügen wird über den Parameter ACTION mit den Werten *INSERTB oder *INSERTA gesteuert. Die Einfügeteildatei kann vor Befehlsausführung editiert werden, um bei mehrmaligen Aufrufen die Datei vorher abändern zu können.

Qualifikationsmerkmal 1: Einfügedatei

*NONE
Es wird keine Datei eingefügt.
Name
Dateinamen angeben falls eine Einfügung mittels Teildatei gewünscht ist.

Qualifikationsmerkmal 2: Bibliothek

*LIBL
Die Datei wird anhand der Bibliothekssuchliste gesucht.
*CURLIB
Die Datei befindet sich in der aktuellen Bibliothek.
Anfang

Einfügeteildatei (INSMBR)

Teildatei angeben, die eingefügt werden soll wenn am Parameter ACTION der Wert *INSERTB oder *INSERTA gewählt wurde.

*NONE
Es wird keine Teildatei eingefügt.
Name
Gültigen Teildateinamen angeben wenn eine Teildatei eingefügt werden soll.
Anfang

Einfügeteildatei editieren (INSEDIT)

Mit diesem Parameter kann gesteuert werden ob die einzufügende Teildatei vor Befehlsausführung editiert werden soll oder nicht.

*NO
Die Einfügeteildatei wird nicht vor Befehlsausführung im Editiermodus aufgerufen.
*YES
Keine Editierung der Einfügeteildatei gewünscht.
Anfang

Einfügeteildatei nur einmal (INSOPTION)

Mit diesem Parameter kann gesteuert werden ob die einzufügende Teildatei nur einmal pro Quellenteildatei oder bei jeder Fundstelle eingefügt werden soll.

*NO
Die Einfügeteildatei wird an allen Fundstellen eingefügt.
*YES
Die Einfügeteildatei wird bei der ersten Fundstelle eingefügt. Dieser Wert ist z. B. hilfreich beim Einfügen eines Logbuches in der Quelle am Anfang.
Anfang

Benutzerausgangsprogramm (EXITPGM)

Mit Hilfe eines Benutzerausgangsprogrammes können individuelle Änderungen vorgenommen werden. Das Programm erhält als Parameter die unveränderte Eingabezeile und die bereits vom Befehl FNDSTR umgesetzte Zeile welche mit dem Ausgangsprogramm nochmals verändert werden kann.

Qualifikationsmerkmal 1: Benutzerausgangsprogramm

*NONE
Es wird kein Benutzerausgangsprogramm angesteuert.
Name
Gültigen Namen für ein Benutzerausgangsprogramm angeben.

Qualifikationsmerkmal 2: Bibliothek

*LIBL
Das Programm wird anhand der Bibliothekssuchliste aufgerufen.
*CURLIB
Das Programm befindet sich in der aktuellen Bibliothek.
Name
Einen gültigen Bibliotheksnamen angeben in der das Programm vorhanden ist.
Anfang

Beispiele für FNDSTR

Beispiel 1: Suche nach einer Zeichenfolge

Mit folgender Anweisung wird nach der Zeichenfolge RENR in allen RPG-Quellendateien in der Bibliothek DEV gesucht.

 FNDSTR SCNSTR(RENR) FILE(DEV/QRPG*)

Beispiel 2: Suche nach Datum

Mit folgender Anweisung wird nach allen Sätzen gesucht die ab einschließlich 14.01.2006 geändert wurden. Die Suche erstreckt sich auf alle mit Q beginnenden Quelldateien in der Bibliothek QGPL:

 FNDSTR SCNSTR(*DATE) FILE(QGPL/Q*) DATE(14012006)

Beispiel 3: Änderung EXSR-Anweisung

Mit folgender Anweisung wird eine Suchzeichenfolge mit einer anderen ersetzt.

 FNDSTR SCNSTR('exsr      einkaufen'
               'exsr      verkaufen') ACTION(*CHANGE)

Beispiel 4: Einfärben Kommentarzeilen

Mit folgender Anweisung werden alle Kommentarzeilen mit der Farbe blau eingefärbt. Dabei wird auf Stelle 5 eine Leerstelle gesucht und mit dem Farbattribut für die Farbe blau ersetzt. Die Änderung wird für alle Quelldateien die mit QRPG beginnen in der Bibliothek DEV durchgeführt.

 FNDSTR SCNSTR(' ') CHGSTR(*BLU) SCNFROM(5) SCNTO(5)
        SCNLNG(1) FILE(DEV/QRPG*) ACTION(*CHANGE)

Beispiel 5: Entfernen Farbattribute

Mit folgender Anweisung werden alle Farbattribute auf Stelle 6 entfernt. Als Suchkriterium wird auf Stelle 1 ein Leerzeichen angegeben damit jede Zeile verarbeitet wird. Der Änderungswert *INIT löscht nur Farbattribute, andere Zeichen nicht.

 FNDSTR SCNSTR(' ') CHGSTR(*INIT) SCNTO(1)
        SCNLNG(1) CHGPOS(6) FILE(QGPL/QRPGLESRC)
        REMARK(*YES) ACTION(*CHANGE)

Beispiel 7: Löschen von Codezeilen

Mit folgender Anweisung werden alle Sourcezeilen entfernt die den Eintrag /SPACE oder /EJECT enthalten.

 FNDSTR SCNSTR('/SPACE' '/EJECT') ACTION(*DELETE)

Beispiel 8: Einfügen eines Logbuches

Mit folgender Anweisung wird am Anfang der Quelle die Teildatei LOGBUCH eingefügt. Die Teildatei wird nur einmal pro Quelle eingefügt.

 FNDSTR SCNSTR(' ') SCNTO(1) SCNLNG(1)
        FILE(DEV/QRPGLESRC) REMARK(*YES)
        ACTION(*INSERTB) INSFILE(DEV/QRPGLESRC)
        INSMBR(LOGBUCH) INSOPTION(*YES)

Beispiel 9: Änderung Farbattribut

Mit folgender Anweisung werden Quellzeilen in der Farbe weiß auf gelb geändert.

 FNDSTR SCNSTR(*WHT) CHGSTR(*YLW) FILE(QGPL/Q*)
        REMARK(*YES) ACTION(*CHANGE)

Anfang

Fehlernachrichten

Unbekannt
Anfang