Version 4.2.6
 —  Systemkommandos  —

SCAN

SCAN

Mit dem Kommando SCAN können Sie den Sourcecode von Objekten nach einer bestimmten Zeichenkette absuchen; darüber hinaus besteht die Möglichkeit, die gesuchte Zeichenkette durch eine andere Zeichenkette zu ersetzen.

Sie können ein oder mehrere oder alle Objekte einer Library absuchen; hierbei können Sie bestimmte Objekte und Objekttypen auswählen.

Wichtig:
Da das SCAN-Kommando den Sourcecode im Arbeitsbereich beeinflußt, sollten Sie vor der Verwendung des SCAN-Kommandos den Inhalt des Arbeitsbereichs gegebenenfalls mit einem SAVE- oder STOW-Kommando speichern.

Dieses Dokument behandelt folgende Themen:


Menü-Optionen

Wenn Sie das Kommando SCAN eingeben, wird das SCAN-Menü angezeigt, das Ihnen folgende Funktionen bietet:

Feld Eingabe
Code T
Statistics

Diese Funktion liefert Ihnen folgende Informationen:

  • die Anzahl der Objekte, die durchsucht wurden;

  • die Anzahl der Objekte, in denen der gesuchte Wert gefunden wurde;

  • die Anzahl der Sourcecode-Zeilen, in denen der gesuchte Wert gefunden wurde.

L
List of Objects Containing Scan Value

Diese Funktion liefert Ihnen eine Liste aller Objekte, in denen der gesuchte Wert gefunden wurde. Von der Liste können Sie dann einzelne Objekte zur weiteren Verarbeitung auswählen.

Bei Bedarf können Sie die Zeilen mit den entsprechenden SCAN-Unterkommandos verändern.

Mit dem SCAN-Editor können Sie alle Objekttypen, außer Maps und Data Areas und gesperrte Objekte (siehe Locking of Source Objects), verändern, und zwar im Full-Screen-Modus oder zeilenorientiert. Dadurch haben Sie die Möglichkeit, alle Zeilen zu editieren, nicht nur die mit dem SCAN-Kommando gefundenen. Sobald Sie ein Objekt fertig editiert haben, sollten Sie es speichern, bevor Sie vom normalen Editieren zur Fortsetzung der SCAN-Operation zurückkehren. Bevor die SCAN-Verarbeitung einen anderen Editor aufruft, erhalten Sie eine Aufforderung, die bis dato mit dem SCAN-Editor gemachten Änderungen zu bestätigen.

S
Object Lines with Scan Value

Diese Funktion zeigt Ihnen nacheinander die Sourcecode-Zeilen an, in denen der gesuchte Wert gefunden wurde.

Bei Bedarf können Sie die Zeilen mit den entsprechenden SCAN-Unterkommandos verändern.

Mit dem SCAN-Editor können Sie alle Objekttypen, außer Maps und Data Areas und gesperrte Objekte (siehe Locking of Source Objects), verändern, und zwar im Full-Screen-Modus oder zeilenorientiert. Dadurch haben Sie die Möglichkeit, alle Zeilen zu editieren, nicht nur die mit dem SCAN-Kommando gefundenen. Sobald Sie ein Objekt fertig editiert haben, sollten Sie es speichern, bevor Sie vom normalen Editieren zur Fortsetzung der SCAN-Operation zurückkehren. Bevor die SCAN-Verarbeitung einen anderen Editor aufruft, erhalten Sie eine Aufforderung, die bis dato mit dem SCAN-Editor gemachten Änderungen zu bestätigen.

Scan value Der Wert, nach dem gesucht werden soll.

Anmerkung:
Bevor Sie das SCAN-Kommando verwenden, achten Sie bitte darauf, dass die automatische Umsetzung von Klein- in Großbuchstaben je nach Bedarf ein- bzw. ausgeschaltet ist. Benutzen Sie dazu das Terminal-Kommando %L.

Replace value Der Wert, durch den der gesuchte Wert ersetzt werden soll.

Bei Maps, Data Areas, Recordings, Dialogen und gesperrten Objekten (siehe Locking of Source Objects) können Sie den gesuchten Wert nicht durch einen anderen ersetzen.

Library Die ID der Library, in der gesucht werden soll; standardmäßig ist dies Ihre aktuelle Library.

Wenn Sie als Library SYSTEM angeben, wird die Library in der FUSER-Datei abgesucht. Wenn Sie den Namen einer anderen Library, die mit SYS anfängt, angeben, wird die Library in der FNAT-Datei abgesucht.

Object name Das zu durchsuchende Objekt.
Leerzeichen Alle Objekte der Library.
*
object-name> Alle Objekte, deren Namen größer oder gleich object-name sind.
object-name< Alle Objekte, deren Namen kleiner oder gleich object-name sind.
Sie können den Bereich der zu durchsuchenden Objekte auch einschränken, indem Sie Stern-Notation (*) und/oder Wildcard-Notation (?) für den Objektnamen verwenden, und zwar in der gleichen Weise wie beim Systemkommando LIST beschrieben.

Siehe auch Namenskonventionen für Objekte in der Dokumentation Using Natural.

Object type(s) Sie können die Suche auf bestimmte Objekttypen beschränken. Eine Auswahlliste der möglichen Objekttypen erhalten Sie, wenn Sie ein Fragezeichen (?) in dieses Feld eingeben.

Wenn Sie dieses Feld leer lassen oder einen Stern (*) eingeben, ist die Suche nicht auf bestimmte Objekttypen beschränkt.

Absolute scan Y Es wird eine "absolute" Suche durchgeführt, d.h. der zu suchende Wert wird in jeder möglichen Form gesucht, also auch als Teil einer längeren Zeichenkette.
N Standardmäßig ist die Suche nicht "absolut".

Anmerkung:
Bei Data Areas erfolgt, unabhängig von der Eingabe in diesem Feld, immer eine "absolute" Suche.

Selection list Y Liefert Ihnen gemäß Ihren Angaben von Name, Typ(en) für Code T oder S (siehe oben) zunächst eine Liste von Objekten, von denen Sie einzelne (durch Markieren mit einem beliebigen Zeichen) zur SCAN-Verarbeitung auswählen können.
N Es wird keine Auswahlliste angezeigt. Dies ist die Standardeinstellung.
Trace Y Die Trace-Funktion ist aktiviert.
N Die Trace-Funktion ist nicht aktiviert. Dies ist die Standardeinstellung.

Seitenanfang

SCAN Subcommands

In der (den) Kommandozeile(n) des Ergebnis-Schirms können Sie folgende Unterkommandos verwenden:

Kommando Funktion
Leerzeichen Fortsetzen der normalen SCAN-Verarbeitung.
Q Beenden der SCAN-Verarbeitung.
.
E Objekt editieren (im Full-Screen-Editor).
EDT Objekt editieren (zeilenorientiert).
LIST Anzeigen des Objekts, so wie es sich gegenwärtig im Editor-Arbeitsbereich befindet.
LET Ignorieren aller Zeilenveränderungen, die erfolgt sind, seit das letztemal EINGABE gedrückt wurde.
I Ignorieren des gegenwärtig abgesuchten Objekts, etwaige Änderungen des Objekts werden nicht gespeichert, die SCAN-Verarbeitung fährt mit dem nächsten Objekt fort.
.D (= Delete) Löschen einer Zeile. Neben der Zeile wird durch ein D angezeigt, dass sie gelöscht wurde.
.L Ignorieren aller Veränderungen, die erfolgt sind, seit das letzte Mal EINGABE gedrückt wurde. Alle vorher mit .D gelöschten Zeilen werden ebenfalls wieder eingefügt.

Editier-Regeln

Seitenanfang

SCAN-Schlüsselwörter

Sie können die SCAN-Funktionen auch direkt aufrufen (im Online- und im Batch-Betrieb), und zwar durch die Angabe von Schlüsselwörtern:

Schlüsselwort Erklärung
FUNC Functionscode
SVAL Zu suchender Wert
LIB Library
RVAL Einzusetzender Wert
OBJ Objektname
TYPE Objekttyp
ABSOL "Absolute" Suche

Vorsicht:
Um unerwünschte Ergebnisse beim Suchen/Ersetzen zu vermeiden, sollten Sie in Direktkommandos keine Suchwerte angeben, die Leerzeichen enthalten. Im Online-Betrieb ist die Suche nach einem Wert, der Leerzeichen enthält, nur aus dem SCAN-Menü möglich.

Beispiele für SCAN-Kommandos mit Schlüsselwörtern:

SCAN FUNC=S,SVAL=value,LIB=SYSTEM,OBJ=PGM0*,TYPE=S
SCAN FUNC=S,SVAL=value,RVAL=value,OBJ=PGM1

Seitenanfang

SCAN im Batch-Betrieb

Das SCAN-Kommando verarbeitet nur eine Funktion pro Aufruf, um die möglichen nachteiligen Auswirkungen, die durch die Eingabe ungültiger Daten entstehen können, so gering wie möglich zu halten. Sie können entweder Schlüsselwörter (siehe oben) oder positionelle Parameter verwenden; letztere werden in folgender Reihenfolge eingegeben:

Positionelle Parameter werden wie folgt verarbeitet:

SCAN func, scan-value, replace-value, library, object-name, object-type, absolute

Die möglichen Werte für positionelle Parameter sind dieselben wie unter Menü-Optionen beschrieben.

Wichtig:
Um nach einem Wert zu suchen, der Zeichen in Kleinschreibung oder eingebettete Leerzeichen enthält, dürfen Sie den scan-value nicht zusammen mit dem SCAN-Kommando in derselben Zeile des Batch-Jobs angegeben, sondern müssen in einer separaten Datenzeile eintragen und dabei die Daten entsprechend der Darstellung auf dem Online-Schirm anordnen, siehe Menü-Optionen.

Beispiel für einen Suchen-/Ersetzen-Wert mit eingebetteten Leerzeichen:

SCAN S,MOVE LEFT,MOVE RIGHT,SYSTEM,PGM0*,N,*,N,N

Seitenanfang

SCAN unter Natural Security

Wenn Natural Security aktiv ist, können Sie SCAN nur verwenden, wenn Sie die Systemkommandos LIST, EDT, EDIT und READ in Ihrer aktuellen Library verwenden dürfen. Falls Sie die Replace value-Option verwenden wollen oder falls die Source änderbar sein soll, muß außerdem das Systemkommando SAVE zugelassen sein.

Unter Natural Security kann es sein, dass Sie SCAN in manchen Libraries nicht verwenden dürfen.

Wenn in der Library nur Structered Mode zugelassen ist, können Sie im Reporting Mode geschriebene Objekte durchsuchen, aber nicht verändern.

Seitenanfang