SCAN

#### Search Results

Search

# SCAN

`SCAN`

Mit dem Kommando `SCAN` können Sie den Quellcode 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 Quellcode 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

- SCAN-Editierkommandos

- SCAN mittels Direktkommando

- Individuelles SCAN-Profil definieren

- SCAN unter Natural Security

## 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 Quellcode-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 Sperrmechanismen für Quellcode-Objekte), 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 Quellcode-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 Sperrmechanismen für Quellcode-Objekte), 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 Sperrmechanismen für Quellcode-Objekte) 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

In der (den) Kommandozeile(n) des Ergebnis-Schirms können Sie die in der folgenden Tabelle aufgeführten Editierkommandos verwenden.

Kommando | Funktion
--- | ---
Leerzeichen | Fortsetzen der normalen `SCAN`-Verarbeitung.
`Q` | Beenden der `SCAN`-Verarbeitung.
`.`
`EDIT` | Objekt editieren im Full-Screen-Editor. Anmerkung Dieses Editierkommando 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 NaturalONE als Standard-Entwicklungsumgebung 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 Quellcode-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 positionsgebundenen 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.

Um 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.

Um 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 positionsgebundenen 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-Quellcodes. 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-Quellcode 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.

#### 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 positionsgebundenen Parametern

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

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

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

#### Syntax des Direktkommandos `SCAN` mit positionsgebundenen Parametern:

`SCAN` func,scan-value,replace-value,library,object-name,object-type,absolute,set-number,set-user

#### Syntax-Beschreibung:

Positionsgebundener 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-Quellcode 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-Quellcodes. 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.

#### Beispiele für Direktkommando SCAN mit positionsgebundenen 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 Quellcode-Ä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 Quellcode-Ä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.

### On this page

- Menü-Optionen
- SCAN-Editierkommandos
- SCAN mittels Direktkommando
- Individuelles SCAN-Profil definieren
- SCAN unter Natural Security