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 mit einer Anfangseinstellung oder Objekte in einer Library auswählen und außerdem die Suche auf einen bestimmten Objekttyp einschränken.

Wichtig:
Da das SCAN-Kommando den Sourcecode im Arbeitsbereich beeinflusst, 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. In 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 (bzw. die) zu durchsuchende(en) Objekt(e).
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 Natural benutzen.

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".
Selection list Y Liefert Ihnen gemäß Ihren Angaben von Library, 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.
Predict set number   Die Nummer des Predict Set, der durchsucht werden soll.

Anmerkung:
Dazu muss Predict installiert sein.

Eine ein- oder zweistellige Nummer, die den gespeicherten Set kennzeichnet, welcher für die Namen der zu verarbeitenden Objekte verwendet werden soll. Ein gespeicherter Set wird mit der Save-Option des Systemkommandos LIST XREF erstellt.

Der für Library angegebene Wert wird als Predict Set Library verwendet.

Wenn Sie die Predict Set-Nummer angeben, müssen Sie bei Object name statt eines Namens ein Stern (*) angeben.

Ausführliche Informationen zu Predict Sets finden Sie in der Predict-Dokumentation.

Predict set user   Die Benutzerkennung des Benutzers, der den Predict Set erstellt hat.

Anmerkung:
Dazu muss Predict installiert sein.

Falls Sie keine Benutzerkennung angeben, wird der Wert der Systemvariablen *USER verwendet (siehe Systemvariablen-Dokumentation).
Ignore Case Y Die Suche findet jede beliebige Kombination aus Groß- und Kleinbuchstaben.
N Standardmäßig wird nach dem exakten Wert gesucht.
Ignore Comments Y Innerhalb von Kommentaren gefundene Werte werden nicht angezeigt oder ersetzt.
N Standardmäßig werden alle gefundenen Werte angezeigt und ersetzt.

Anmerkung:
Informationen zu möglichen Einschränkungen siehe SCAN unter Natural Security.

SCAN-Editierkommandos

Anmerkung:
Die SCAN-Editierkommandos stehen nicht zur Verfügung, wenn Programm-Editor, Datenbereich-Editor (Data Area Editor) und Masken-Editor (Map Editor) in Ihrer Umgebung abgeschaltet (deaktiviert) sind. Benutzen Sie den Source Editor von NaturalONE, um Source-Objekte zu editieren. Weitere Information siehe Abgeschaltete Natural-Editoren in der Editoren-Dokumentation.

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

Kommando Funktion
Leerzeichen Fortsetzen der normalen SCAN-Verarbeitung.
Q Beenden der SCAN-Verarbeitung.
.
EDIT Objekt editieren im Full-Screen-Editor.

Anmerkung:
Dieses Kommando steht nicht zur Verfügung, wenn Programm-Editor, Datenbereich-Editor (Data Area Editor) und Masken-Editor (Map Editor) in Ihrer Umgebung abgeschaltet (deaktiviert) sind. Weitere Information siehe Abgeschaltete Natural-Editoren in der Editoren-Dokumentation.

LIST Anzeigen des Objekts, so wie es sich gegenwärtig im Editor-Arbeitsbereich befindet.
LET Ignorieren aller Zeilenveränderungen, die erfolgt sind, seit das letzte Mal 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 (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 dem Zeilenkommando .D gelöschten Zeilen werden ebenfalls wieder eingefügt.

Editier-Regeln

  • Die Zeilenlänge eines Source-Objekts auf dem Ergebnis-Schirm darf 72 Stellen nicht überschreiten. Zeilen mit mehr als 72 Zeichen werden mit einem L markiert und können nicht geändert werden.

  • Wenn die Replace value-Option verwendet und/oder ein Objekt auf dem Ergebnis-Schirm verändert wird, wird das Objekt stets automatisch gesichert, es sei denn, Sie geben eines der Unterkommandos I, Q oder einen Punkt (.) ein, bevor Sie das nächste Objekt mit SCAN bearbeiten.

  • Zeilen, die PASSW, PASSWORD=, CIPHER= oder CIPH= enthalten, werden bei der SCAN-Verarbeitung ignoriert.

SCAN mittels Direktkommando

Sie können die SCAN-Funktionen auch per Direktkommando aufrufen (entweder im Online- oder im Batch-Modus), und zwar durch die Angabe von Schlüsselwörtern oder positionalen Parametern.

Im Batch-Modus verarbeitet das SCAN-Kommando nur eine Funktion pro Aufruf, um eventuelle nachteilige Auswirkungen, die durch die Eingabe ungültiger Daten entstehen können, so gering wie möglich zu halten.

Warnung:
Wenn Sie Such-/Ersetzungswerte benutzen, die Zeichen in Kleinschreibung oder eingebettete Leerzeichen enthalten, empfehlen wir Ihnen dringend, die nachfolgenden Anleitungen zu beachten, um unerwartete Ergebnisse zu vermeiden.

Beginn der AnweisungslisteUm SCAN mit Zeichen in Kleinschreibung oder eingebetteten Leerzeichen im Online-Modus zu benutzen:

  1. Geben Sie das Kommando SCAN ein, um das SCAN-Menü zu aktivieren.

  2. Geben Sie alle erforderlichen Werte in die Eingabefelder des SCAN-Menüs ein.

Beginn der AnweisungslisteUm SCAN mit Zeichen in Kleinschreibung oder eingebetteten Leerzeichen im Batch-Modus zu benutzen:

  1. Geben Sie das Kommando SCAN ein, um das SCAN-Menü aufzurufen.

  2. Geben Sie die Daten in einer separaten Datenzeile und exakt in der Reihenfolge der Maskenfelder (siehe Menü-Optionen) ein, zum Beispiel:

    SCAN 
    S,MOVE LEFT,MOVE RIGHT,SYSTEM,*,N,P,N,N,1,SAG

    In dem obigen Beispiel eines Batchjobs wird der Wert MOVE LEFT durch MOVE RIGHT bei allen Programmen des Predict Set 1 für den Benutzer SAG in der Library SYSTEM ersetzt.

Dieser Abschnitt behandelt folgende Themen:

SCAN mit Schlüsselwörtern

Das Direktkommando SCAN besteht aus dem Kommando SCAN mit nachfolgenden Schlüsselwörtern.

Schlüsselwörter können in beliebiger Reihenfolge angegeben oder auch weggelassen werden. Wenn ein Schlüsselwort nicht benutzt wird, dann wird dafür der Standardwert übernommen.

Warnung:
Bitte vermeiden Sie die gemischte Verwendung von Schlüsselwörtern und positionalen Parametern in der SCAN-Kommandosyntax, da dies zu unerwünschten Ergebnissen führen kann.

Syntax des Direktkommandos SCAN mit Schlüsselwörtern:

SCAN keyword=value,...

Syntax-Beschreibung:

Schlüsselwort Wert Erklärung
FUNC T, L oder S Funktionscode. Einzelheiten siehe Beschreibung des Menüfeldes Code.
LIB max. 8 Zeichen Name der zu durchsuchenden Library. Einzelheiten siehe Beschreibung des Menüfeldes Library.

Standardwert ist der Name der aktuellen Library.

OBJ max. 9 Zeichen Objektname. Die zu durchsuchenden Objekt-Sourcecodes. Einzelheiten siehe Beschreibung des Menüfeldes Object name.
TYPE max. 14 Zeichen Objekttyp. Der (oder die) für die Auswahl zu verwendende(n) Objekttyp(en). Einzelheiten siehe Beschreibung des Menüfeldes Object type(s).
SVAL max. 32 Zeichen Suchwert. Die Zeichenkette (ohne eingebettete Leerzeichen), nach der in jedem Objekt-Sourcecode gesucht werden soll. Einzelheiten siehe Beschreibung des Menüfeldes Scan value.
RVAL max. 32 Zeichen Der Ersetzungswert. Die Zeichenkette (ohne eingebettete Leerzeichen), die durch den Suchwert ersetzt werden soll. Einzelheiten siehe Beschreibung des Menüfeldes Replace value.
ABSOL Y oder N Absolute Suche. Einzelheiten siehe Beschreibung des Menüfeldes Absolute scan.
SETNO 2 Stellen Nummer des Predict Set, der durchsucht werden soll. Einzelheiten siehe Beschreibung des Menüfeldes Predict set number.
SETUSER 8 Zeichen Benutzerkennung des Predict Set, der durchsucht werden soll, d.h., die Benutzerkennung des Benutzers, der den Predict Set erstellt hat. Einzelheiten siehe Beschreibung des Menüfeldes Predict set user.
IGNORE-CASE Y oder N Suche unabhängig von Groß-/Kleinschreibung. Weitere Informationen siehe Menüfeld Ignore Case.
IGNORE-COMMENTS Y oder N In Kommentartexten gefundene Werte sind bei der Suche ausgeschlossen. Weitere Informationen siehe Menüfeld Ignore Comments.

Beispiele für Direktkommando SCAN mit Schlüsselwörtern

SCAN FUNC=S,LIB=SYSTEM,OBJ=PGM0*,TYPE=S,SVAL=FETCH 
SCAN FUNC=S,SVAL=WRITE,RVAL=PRINT,OBJ=PGM1
SCAN FUNC=S,SETNO=1,TYPE=P,SVAL=GLOBAL

SCAN mit positionalen Parametern

Das Direktkommando SCAN mit positionalen Parametern besteht aus dem Kommando SCAN und nachfolgenden Parametern, die jedes einzelne Kommandozeilenwort entsprechend seiner Position innerhalb des Kommandos referenzieren. Die Reihenfolge der positionalen Parameter muss exakt eingehalten werden.

Wenn ein positionaler Parameter nicht angegeben wird, dann wird der Standardwert übernommen. In diesem Fall muss ein Komma gesetzt werden, um anzugeben, dass ein positionaler Parameter weggelassen wurde. Siehe Beispiele für Direktkommando SCAN mit positionalen Parametern weiter unten.

Warnung:
Bitte vermeiden Sie die gemischte Verwendung von Schlüsselwörtern und positionalen Parametern in der SCAN-Kommandosyntax, da dies zu unerwünschten Ergebnissen führen kann.

Syntax des Direktkommandos SCAN mit positionalen Parametern:

SCAN func,scan-value,replace-value,library,object-name,object-type,absolute,set-number,set-user, ignore-case, ignore-comments

Syntax-Beschreibung:

Positionaler Parameter Wert Erklärung
func T, L oder S Funktionscode. Einzelheiten siehe Beschreibung des Menüfeldes Code.
scan-value max. 32 Zeichen Suchwert. Die Zeichenkette (ohne eingebettete Leerzeichen), nach der in jeder Objekt-Source gesucht werden soll. Einzelheiten siehe Beschreibung des Menüfeldes Scan value.
replace-value max. 32 Zeichen Einzusetzender Wert. Die Zeichenkette (ohne eingebettete Leerzeichen), die durch den Suchwert ersetzt werden soll. Einzelheiten siehe Beschreibung des Menüfeldes Replace value.
library max. 8 Zeichen Name der zu durchsuchenden Library. Einzelheiten siehe Beschreibung des Menüfeldes Library.

Standardwert ist der Name der aktuellen Library.

object-name max. 9 Zeichen Objektname. Die zu durchsuchenden Objekt-Sourcecodes. Einzelheiten siehe Beschreibung des Menüfeldes Object name.
object-type max. 14 Zeichen Objekttyp. Der (oder die) für die Auswahl zu verwendende(n) Objekttyp(en). Einzelheiten siehe Beschreibung des Menüfeldes Object type(s).
absolute Y oder N Absolute Suche. Einzelheiten siehe Beschreibung des Menüfeldes Absolute scan.
set-number 2 Stellen Nummer des Predict Set, der durchsucht werden soll. Einzelheiten siehe Beschreibung des Menüfeldes Predict set number.
set-user 8 Zeichen Benutzerkennung des Predict Set, der durchsucht werden soll, d.h., die Benutzerkennung des Benutzers, der den Predict Set erstellt hat. Einzelheiten siehe Beschreibung des Menüfeldes Predict set number.
ignore-case Y oder N Suche unabhängig von Groß-/Kleinschreibung. Weitere Informationen siehe Menüfeld Ignore Case.
ignore-comments Y oder N In Kommentartexten gefundene Werte sind bei der Suche ausgeschlossen. Weitere Informationen siehe Menüfeld Ignore Comments.

Beispiele für Direktkommando SCAN mit positionalen Parametern:

SCAN S,ABC,,SYSTEM,PGM0*,P,N
SCAN S,ABC,DEF,SYSTEM,PGM1,*,Y
SCAN T,ABC,,SYSTEM,*,7,N,1,SAG

Individuelles SCAN-Profil definieren

Sie können für das SCAN-Kommando ein individuelles Profil definieren. Dazu bietet das Natural-Systemkommando SCAN das Unterkommando SCANPROF bzw. im SCAN-Menü die PF-Taste PF10 (Prof).

Das Unterkommando ruft ein Tool auf, das Ihnen folgende Funktionen zur Profilverwaltung zur Verfügung stellt:

  • Erstellen eines neuen SCAN-Profils mit intern verwendeten Standardwerten, falls das SCAN-Profil noch nicht existiert,

  • Angabe allgemeiner Werte für einzelne Benutzer für die Profilparameter im SCAN-Profil (unterliegt der Kontrolle durch Natural Security),

  • Angabe individueller Werte für einzelne Benutzer für die Profilparameter im SCAN-Profil (unterliegt der Kontrolle durch Natural Security),

  • Anzeige einer Beschreibung sowie von Hilfe-Informationen zu jedem Profilparameter. Das Profilverwaltungs-Tool zeigt einen Bildschirm mit den allgemeinen Profilparametern und ihren aktuellen Werten.

Sie können eine PF-Taste oder ein Kommando benutzen, um zu den Einstellungen Ihrer eigenen Profildaten zu wechseln.

Durch Eingabe von Zeilenkommandos können Sie Parameter in dem benutzerspezifischen Profil hinzufügen oder entfernen.

Weitere Informationen erhalten Sie, wenn Sie die Hilfe-Bildschirme zu den einzelnen Feldern aufrufen.

Wenn von der Software AG neue Parameter hinzugefügt wurden, können Sie diese Änderungen mit dem internen Profilverwaltungs-Tool-Kommando UPDATE in das SCAN-Profil integrieren. Das SCAN-Profil selbst hat den Namen SCANPROF und befindet sich in der Library SYSLIB. Das Standard-Profil, das für Aktualisierungen des SCAN-Profils benutzt wird, hat den Namen SCANDEFP und befindet sich ebenfalls in der Library SYSLIB.

SCAN-Profil-Parameter

Die im SCAN-Profil enthaltenen Parameter entsprechen den Feldern, die sich auf dem SCAN-Menü-Bildschirm befinden, siehe Menü-Optionen.

SCAN unter Natural Security

In einer Natural Security-Umgebung können Sie ein Library-Profil angeben, um die Benutzung des Systemkommandos SCAN für eine bestimmte Library zu unterbinden oder die Benutzung einzuschränken, um Source-Änderung zu vermeiden. Sie haben folgende Möglichkeiten:

  • Sie können die Benutzung des Systemkommandos SCAN unterbinden.

  • Sie können die Benutzung des Systemkommandos SCAN erlauben, aber die Benutzung der Systemkommandos LIST und EDIT unterbinden.

  • Sie können die Benutzung der Ersetzungsoption ("Replace") des Systemkommandos SCAN unterbinden. Zusätzlich können Sie die Benutzung des Systemkommandos SAVE unterbinden, um Source-Änderungen im Full-Screen-Editor zu vermeiden.

Ausführliche Informationen zur Einschränkung der Benutzung des Systemkommandos SCAN siehe Command Restrictions im Abschnitt Library Maintenance in der Natural Security-Dokumentation.

Falls für die Library nur der Structured-Modus erlaubt ist, können Objekte im Reporting-Modus durchsucht, aber nicht geändert werden.