Programmierobjekte bearbeiten

#### Search Results

Search

# Programmierobjekte bearbeiten

Programmierobjekte können mit allen SYSMAIN-Funktionen be- bzw. verarbeitetet werden. Dazu gehören die folgenden Natural-Objekttypen: Programm, Subprogramm, Subroutine, Copycode, Helproutine, Map (Maske), Local Data Area (LDA, lokaler Datenbereich), Global Data Area (GDA, globaler Datenbereich), Parameter Data Area (PDA, Parameterdatenbereich), Class, Text, Recording, Natural Command Processor, Dialog, Function, ISPF Macro, Report, Adapter und Resource.

Programmierobjekte werden in den Systemdateien entsprechend dem Namen der Library, in der sie enthalten sind, gespeichert: wenn die Library mit SYS beginnt (außer der Library SYSTEM), werden die Objekte in der Systemdatei FNAT gespeichert. In allen anderen Libraries werden die Objekte in der Systemdatei FUSER gespeichert.

Dieses Kapitel beschreibt die Menüfunktionen und die Optionen der Auswahlliste, die zur Ausführung einer SYSMAIN-Funktion bei Programmierobjekten zur Verfügung stehen, sowie die Syntax, die bei der Verwendung von Direktkommandos gilt.

- Felder in den Menüs für Programmierobjekte

- Profilparameter RECAT verwenden

- Auswahllisten für Programmierobjekte

- Besonderheiten bei XRef

- Angabe zusätzlicher Kriterien

- Direktkommando-Syntax für Programmierobjekte

## Felder in den Menüs für Programmierobjekte

Die Menüs für Programmierobjekte (Programming Objects) enthalten alle SYSMAIN-Funktionen, die für die Verarbeitung von Programmierobjekten erforderlich sind. Die Felder, die in einem Menü vorhanden sein können, sind in der folgenden Tabelle beschrieben:

Feld | Erläuterung
--- | ---
Recat: ON | Zeigt an, dass der Profilparameter `RECAT` auf `ON` gesetzt wurde. Siehe Profilparameter RECAT verwenden.
Code |
Gibt an, ob ein gespeichertes (Quellcode-)Objekt und/oder ein katalogisiertes Objekt verarbeitet werden soll:
`A` | Jedes Objekt, das als gespeichertes und/oder katalogisiertes Objekt existiert, wird bearbeitet.
`C` | Jedes Objekt, das als katalogisiertes Objekt vorhanden ist, wird bearbeitet.
`S` | Jedes Objekt, das als gespeichertes Objekt vorhanden ist, wird bearbeitet.
`W` | Nur ein Objekt, das sowohl als gespeichertes als auch als katalogisiertes Objekt vorhanden ist, wird bearbeitet. Ausnahmen sind Copycode, Text und Recording, die nicht katalogisiert werden können. Sie werden jedoch in die Verarbeitung einbezogen, wenn diese Option angegeben ist.
Sel. List |
Gibt an, ob selektive oder automatisierte Verarbeitung verwendet wird:
`Y` | Ja: Die selektive Verarbeitung ist aktiviert. Bei der Verarbeitung von Objekten wird eine Auswahlliste angezeigt. Dies ist die Standardeinstellung. Welche Spalten, Felder und Zeilenkommandos in einer Auswahlliste verfügbar sind, erfahren Sie unter Auswahllisten für Programmierobjekte.
`N` | Nein: Die selektive Bearbeitung ist ausgeschaltet.
Name | Der Name des zu verarbeitenden Objekts oder ein Namensbereich: siehe auch Angabe eines Namensbereichs. Die Standardeinstellung ist ein Stern (*), was bedeutet, dass alle Namen ausgewählt werden.
New Name | Neuer Name: Der Name, der einem Objekt gegeben werden soll, wenn es mit der Funktion Rename umbenannt wird.
Type | Typ: Der Code, der dem/den zu bearbeitenden Objekttyp(en) entspricht, z. B. `P` für Programm und `M` für Map. Siehe TYPE-Angabe. Sie können einen oder mehrere Codes in beliebiger Reihenfolge eingeben. Wenn Sie z.B. `PAM` eingeben, werden Programme, Parameterdatenbereiche und Maps verarbeitet.
Set Number | Die Nummer des gespeicherten Sets, das mit der Option XRef Save Set des Kommandos `LIST XREF` erstellt wurde. Sie können alle SYSMAIN-Verarbeitungsfunktionen auf die in diesem Set enthaltenen Objekte anwenden. Wenn eine gültige Nummer angegeben wird, geht SYSMAIN von einem Predict Set aus. Wenn keine Nummer angegeben wird, wird eine normale Objektverarbeitung angenommen. Sie können eine Library und eine Benutzerkennung für den Predict Set angeben, indem Sie die Felder Set Library und Set User im Fenster Additional Criteria benutzen, das unter Angabe zusätzlicher Kriterien beschrieben wird.
XREF |
Zeigt an, ob XRef-Daten, die in Predict-Systemdateien gespeichert sind, verarbeitet werden sollen.
`N` | Nein: XRef-Daten werden nicht verarbeitet, außer bei Verwendung der Löschfunktion (Delete). Wenn ein katalogisiertes Objekt gelöscht oder ersetzt wird, löscht SYSMAIN immer alle vorhandenen XRef-Daten für dieses Objekt. Dies ist die Standardeinstellung.
`Y` | Ja: Alle XRef-Daten werden verarbeitet.
`S` | Speziell: Ein angegebenes Objekt wird unabhängig davon verarbeitet, ob es Cross-Referenz-Daten hat oder nicht. Alle vorhandenen XRef-Daten werden verarbeitet.
`F` | Force/Erzwingen: Alle XRef-Daten werden verarbeitet und das Objekt muss in Predict dokumentiert sein.
`D` | Dokumentiert: Das Objekt muss in Predict dokumentiert sein. Alle vorhandenen XRef-Daten werden verarbeitet.
Weitere Einzelheiten siehe Besonderheiten bei XRef.
Library | Der Name einer Quell- oder Ziel-Library. Die Quell-Library enthält das zu verarbeitende Objekt. Die Ziel-Library ist die Library, in die das Objekt kopiert oder verschoben werden soll, oder in der das Objekt umbenannt wird. Siehe auch Auflisten und Auswählen von Libraries.
Database | Datenbank: Die Datenbankkennung (DBID) einer Quell- oder Zieldatenbank. Die Quelldatenbank enthält die Library und die Systemdatei, in der das zu bearbeitende Objekt gespeichert ist. Die Zieldatenbank enthält die Library und die Systemdatei, in die das Objekt kopiert oder verschoben werden soll, oder in der das Objekt umbenannt wird. Gültige Datenbankkennungen: `1` bis `65535`.
File | Datei: Die Dateinummer (FNR) einer Quell- oder einer Ziel-Systemdatei (FNAT oder FUSER). Die Quelldatei enthält die Library, in der das zu bearbeitende Objekt gespeichert ist. Die Zieldatei enthält die Library, in die das Objekt kopiert oder verschoben werden soll, oder in der das Objekt umbenannt wird. Gültige Dateinummern: `1` bis `65535`.
Replace |
Ersetzen: Gibt an, ob ein Objekt bei der Benutzung der Funktionen Verschieben (Move), Kopieren (Copy) oder Umbenennen (Rename) ersetzt werden soll:
`Y` | Ja: Ein in der Zielumgebung vorhandenes Objekt mit demselben Namen wird ersetzt.
`N` | Nein: Ein gleichnamiges Objekt, das in der Zielumgebung existiert, wird nicht ersetzt. Dies ist die Standardeinstellung.
Siehe auch Option Replace (Ersetzen) verwenden.
Criteria |
Kriterien: Ruft das Fenster Additional Criteria auf, in dem Sie zusätzliche Objektauswahlkriterien angeben können. Mögliche Werte:
`N` | Nein: Das Fenster Additional Criteria wird nicht aufgerufen. Dies ist die Standardeinstellung.
`Y` | Ja: Das Fenster Additional Criteria wird aufgerufen.
Siehe auch Angabe zusätzlicher Kriterien.

## Profilparameter RECAT verwenden

Wenn der Profilparameter `RECAT` beim Start der Sitzung auf `ON` gesetzt wurde, wird dies in den Menüs der Programmierobjekte (Programming Objects) und in den Auswahlbildschirmen (Selection) angezeigt.

Bei der Verwendung von SYSMAIN-Funktionen mit `RECAT=ON` gelten die normalen dynamischen Rekatalogisierungsregeln, wie sie unter RECAT - Dynamisches Rekatalogisieren in der Parameter-Referenz-Dokumentation beschrieben sind. Dies bedeutet Folgendes:

- Wenn ein Objekt sowohl als gespeichertes Objekt (saved) als auch als katalogisiertes Objekt (cataloged) existiert, können weder das gespeicherte noch das katalogisierte Objekt unabhängig voneinander verarbeitet werden.

- Wenn ein Objekt nur als katalogisiertes Objekt existiert, können Sie mit ihm keine SYSMAIN-Funktion ausführen, die nur katalogisierte Objekte verarbeitet (es erscheint die Fehlermeldung `Invalid request with dynamic recatalog`/Ungültige Anforderung mit dynamischer Rekatalogisierung) oder ein katalogisiertes Objekt auf einem Selection-Bildschirm auswählen.

Bei der automatisierten Verarbeitung wird jedes Objekt, das diesen Regeln nicht entspricht, ignoriert und die Verarbeitung mit dem nächsten Objekt fortgesetzt.

## Auswahllisten für Programmierobjekte

Wenn die selektive Verarbeitung aktiviert wurde, wird auf einem Selection-Bildschirm eine Auswahlliste mit allen Programmierobjekten angezeigt, die den angegebenen Auswahlkriterien entsprechen.

Dieser Abschnitt beschreibt die Spalten und Felder eines Selection-Bildschirms und die Zeilenkommandos, die für die weitere Verarbeitung eines Programmierobjekts zur Verfügung stehen:

- Spalten und Felder

- Zeilenkommandos

### Spalten und Felder

Die folgenden Spalten und Felder werden auf einem Selection-Bildschirm angezeigt:

Spalte/Feld | Erläuterung
--- | ---
C | Eingabefeld für Zeilenkommandos (siehe unten).
Name | Der Name des Programmierobjekts, das den angegebenen Auswahlkriterien entspricht.
Type | Der Code, der dem Typ des Objekts entspricht, wie er in TYPE-Angabe aufgeführt ist.
S/C | Das Objekt, das für das Programmierobjekt existiert: ein gespeichertes/Quellcodeobjekt (`S`) und/oder ein katalogisiertes Objekt (`C`).
Message | Die Meldung, die den Verarbeitungsstatus eines Programmierobjekts angibt. Mögliche Meldungen: Siehe Status-Meldungen.
Listed Library | Aufgelistete Library: Der Name der Library, die das/die ausgewählte(n) Programmierobjekt(e) enthält.

### Zeilenkommandos

In der Spalte C (Command) eines Selection-Bildschirms kann eines der folgenden Zeilenkommandos eingegeben werden:

Zeilen- kommando | Funktion
--- | ---
`A` | Jedes in der Spalte S/C (Saved/Cataloged) aufgelistete Objekt verarbeiten, d.h. gespeicherte/Quellcodeobjekte (`S`) und/oder katalogisierte Objekte (`C`). Dieses Kommando gilt nicht für die Such- (Find) oder Auflistfunktion (List).
`B` | Löscht das katalogisierte Objekt aus dem Natural Buffer Pool. Das Löschen des/der angegebenen Objekts/Objekte muss durch die Eingabe von `DELETE` in einem Fenster bestätigt werden, das erscheint, nachdem Sie das/die Objekt(e) angegeben und ENTER gedrückt haben.
`C` | Verarbeitet nur das katalogisierte Objekt, auch wenn es ein entsprechendes gespeichertes Objekt gibt. Wenn `C` für ein Objekt angegeben wird, das nur als gespeichertes Objekt existiert, tritt ein Fehler auf. Dieses Kommando gilt nicht für die Such- (Find) oder Auflistfunktion (List).
`D` | Gilt nur bei einem Library Selection-Bildschirm. Siehe auch Auflisten und Auswählen von Libraries). Zeigt eine Kurzliste der Objekte an, die in der angegebenen Library enthalten sind. Die in der Liste enthaltenen Informationen (Name, Typ, Quellcode-/katalogisiertes Objekt) sind identisch mit den Informationen, die auf dem Selection-Bildschirm angezeigt werden, der unter Selektive Verarbeitung in Menüfunktionen und Kommandos benutzen gezeigt wird.
`H` | Erstellt eine Hardcopy des gespeicherten (Quellcode-)Objekts. Der Quellcode des angegebenen Objekts wird gedruckt und auf dem Bildschirm angezeigt.
`I` | Verzeichnisinformationen eines Objekts anzeigen. Dieses Kommando ist vergleichbar mit dem Systemkommando `LIST DIR object-name`. Details zu den angezeigten Verzeichnisinformationen finden Sie unter Directory-Informationen anzeigen in der Systemkommandos-Dokumentation.
`L` | Anzeige des Quellcodes eines gespeicherten (Quellcode-)Objekts. Dieses Kommando entspricht dem Systemkommando `LIST object-name`. Zu den Kommandos, die von einem Quellcode-Bildschirm aus ausgeführt werden können, siehe Source-Liste in der Systemkommandos-Dokumentation.. Ausnahmen: Das Kommando `EXPAND` ist nicht verfügbar. Das Kommando `ZOOM` kann nicht verwendet werden, wenn das anzuzeigende Quellobjekt in einer Steplib Library enthalten ist.
Auf einem Library Selection-Bildschirm (siehe auch Auflisten und Auswählen von Libraries): Sie können eine erweiterte Liste der in der Library enthaltenen Objekte anzeigen. Zusätzlich zu den Informationen, die mit dem Zeilenkommando `D` angezeigt werden, liefert die erweiterte Liste Informationen des Objektverzeichnisses: Programmiermodus, Natural-Version, Benutzerkennung, Datum und Uhrzeit wann gespeichert/katalogisiert.
`R` | Anzeige des Langnamens eines Natural-Objekts vom Typ Ressource.
Auf einem Library Selection-Bildschirm (siehe auch Auflisten und Auswählen von Libraries): Überprüfen der Verwendung von externen Subroutinen: Zeigt für die angegebene Library und den Objektbereich die Objekte an, für die ein katalogisiertes Objekt existiert, und gibt an, ob ein Objekt auf ein externes Subprogramm verweist. Für jedes Objekt, das auf ein externes Subrogramm verweist, wird der Name des externen Subrogramms und der Name des katalogisierten Objekts angezeigt, das für dieses Subrogramm existiert, falls verfügbar. Für ein Objekt vom Typ Subroutine wird der Name des entsprechenden Alias-Langnamens angezeigt.
`S` | Verarbeitet nur das gespeicherte (Quellcode-)Objekt, auch wenn es ein entsprechendes katalogisiertes Objekt gibt. Wenn `S` bei einem Objekt angegeben wird, das nur als katalogisiertes Objekt existiert, tritt ein Fehler auf. Dieses Kommando gilt nicht für die Such- (Find) oder Auflistfunktion (List).
Auf einem Library Selection-Bildschirm (siehe auch Auflisten und Auswählen von Libraries): Auflistung aller in der angegebenen Library enthaltenen externen Subroutinen anhand ihrer Alias-Langnamen und/oder der Kurznamen ihrer entsprechenden katalogisierten Objekte.
`X` | Gilt nur, wenn Natural Connection und Entire Connection installiert sind. Gespeicherte(s) (Quellcode-)Objekt(e) auf einen PC herunterladen: siehe auch Quellcodeobjekte auf einen PC herunterladen.
`Z` | Größen berechnen: Überprüft die Größen der gespeicherten (Quellcode-)Objekte und der katalogisierten Objekte, z. B. die `DATSIZE`-, `ESIZE`- und `MCG`-Größe.

#### Quellcodeobjekte auf einen PC herunterladen

Die Download-Option gilt nur, wenn Natural Connection und Entire Connection installiert sind.

Um ein oder mehrere Quellobjekte herunterzuladen:

1. Bevor Sie SYSMAIN aufrufen:

   - Definieren Sie die Arbeitsdateien (Work Files) 6 und 7 als PC-Arbeitsdateien.

   - Aktivieren Sie nach dem Sitzungsstart die PC-Verbindung durch Eingabe des folgenden Terminalkommandos:

         %+

     (Siehe auch %+ und %- — Natural Connection ein-/ausschalten in der Terminalkommandos-Dokumentation).

2. Rufen Sie einen beliebigen Selection-Bildschirm auf.

3. Geben Sie neben dem oder den Objekten, die Sie herunterladen möchten, das folgende Zeilenkommando ein:

       X

   Drücken Sie ENTER.

   Es erscheint ein PC Download Options-Fenster ähnlich dem folgenden Beispiel:

         13:23:15             ***** NATURAL SYSMAIN UTILITY *****            2005-08-10
         User SAG                   -    Copy   Selection  -

        COPY ALL * WITH XREF N FROM OLDLIB WHERE DBID 10 FNR 32 TO NEWLIB WHERE
        DBID 10 FNR 32

         C  Name     Type   S/C  Message        C  Name     Type   S/C  Message
         -  -------- ------ ---  ------------   -  -------- ------ ---  ------------
         X  SUB1     Subpgm S                   X  SUB2     Subpgm S/C
         X  SUB3     Subpgm S/C                 X  SUB4     Subpgm S
         X  SUB5     Subpgm S/C                 X  SUB6     Subpgm S/C
        +----------------- PC Download Options ------------------+ S/C
        !   Specify the relevant PC options                      ! S/C
        !                                                        ! S
        ! Drive ...... C                                         ! S/C
        ! Path ....... SOURCES/SUBPROGRAMS                       ! S/C
        ! Extension .. NS*                                       ! S
        !                                                        ! S
        !                                                        ! S
        !                                                        ! ed Library: OLDLIB
        ! Warning: This will overwrite any existing objects with !
        !          the same path, name and extension.            ! Exit) _
        +--------------------------------------------------------+ -PF10--PF11--PF12---
              Help  Menu  Exit  Copy  Del   Find  List  Move  Ren               Canc

   Geben Sie in das Feld Drive (Laufwerk) den Namen des PC-Laufwerks ein, auf das das Objekt bzw. die Objekte heruntergeladen werden sollen. Die Standardeinstellung ist `C`.

   Geben Sie in das Feld Path (Pfad) den Namen des PC-Verzeichnisses/Unterverzeichnisses ein, in das das oder die Objekt(e) heruntergeladen werden sollen (im obigen Beispiel das Unterverzeichnis `SUBPROGRAMS` im Verzeichnis `SOURCES`). Geben Sie einen Schrägstrich (/) als Trennzeichen zwischen einem Verzeichnis und einem Unterverzeichnis sowie zwischen Unterverzeichnissen ein. Wenn das angegebene Verzeichnis/Unterverzeichnis nicht existiert, erhalten Sie eine entsprechende Fehlermeldung.

   Geben Sie im Feld Extension (Erweiterung) die Erweiterung der Textdatei an, in die der Quellcode des Objekts geladen werden soll. Wenn Sie `NS*` angeben, wird der Stern (*) durch den angegebenen Objekttyp ersetzt (siehe TYPE-Angabe).

   Beispiel: Ein Subprogramm mit dem Namen `SUB1` wird in eine Datei mit dem Namen `SUB1.NSN` geladen.

4. Drücken Sie ENTER, um das oder die Objekte zu laden.

   In der Nachrichtenzeile erscheint die folgende Meldung: `4824:Requested option(s) processed successfully` (Angeforderte Optionen erfolgreich ausgeführt).

   Wenn die Spalte Message (Meldung) auf dem Bildschirm angezeigt wird, erscheint neben dem bzw. den heruntergeladenen Objekten außerdem die Meldung `Exported` (exportiert).

5. Falls gewünscht, können Sie mit dem Herunterladen weiterer Objekte aus dieser Auswahlliste fortfahren.

   Das Fenster PC Download Options wird für weitere Downloads vom aktuellen Selection-Bildschirm nicht mehr angezeigt. Dieses Fenster erscheint nur, wenn das Zeilenkommando `X` zum ersten Mal nach dem Aufrufen eines Selection-Bildschirms oder nach der Ausführung des Direktkommandos `SET PC` abgesetzt wird.

   Die Einstellungen im Fenster PC Download Options bleiben aktiv, bis Sie SYSMAIN beenden.

## Besonderheiten bei XRef

Alle Cross-Referenz-Daten (XRef), die in der Predict-Systemdatei gespeichert sind, können mit SYSMAIN verarbeitet werden. Die Option XREF gibt an, ob SYSMAIN XRef-Daten verarbeiten soll. XRef-Daten werden immer gelöscht, wenn die Funktion Delete oder Replace für ein katalogisiertes Objekt ausgeführt wird.

Wenn Predict nicht installiert wurde, setzen Sie die Option XREF auf `N`, so dass keine Validierung von Predict-Dateien durchgeführt wird. Wenn die Option XREF auf `Y` gesetzt ist und die verwendete(n) FDIC-Datei(en) keine gültige(n) Predict-Datei(en) ist (sind), wird eine Fehlermeldung zurückgegeben.

Die Regeln für das Setzen der XREF-Option sind die gleichen wie die von Natural Security geforderten. In einer Umgebung ohne Natural Security gibt es jedoch keine Einschränkungen.

Es gibt folgende Einstellungen für XREF:

- XREF auf N gesetzt

- XREF auf Y oder F gesetzt

- XREF auf F gesetzt

- XREF auf S gesetzt

- XREF auf D gesetzt

- XREF-Fehler

### XREF auf N gesetzt

Wenn die Option XREF auf `N` gesetzt ist, werden keine XRef-Daten verarbeitet, aber in Situationen, in denen ein katalogisiertes Programmierobjekt gelöscht oder ersetzt wird, löscht SYSMAIN die XRef-Daten. Die Ziel-Predict-Systemdatei wird entsprechend den aktuellen Einstellungen der Quell- oder Ziel-FDIC-Systemdatei bestimmt. Die Voreinstellung ist der Wert, der dem Profilparameter `FDIC` (siehe FDIC - Predict-Systemdatei in der Parameter-Referenz-Dokumentation) zu Beginn der Natural-Sitzung zugewiesen wurde.

### XREF auf Y oder F gesetzt

Wenn die Option XREF auf `Y` oder `F` gesetzt ist, werden während der Verarbeitung die folgenden Aktionen durchgeführt:

- SYSMAIN prüft, ob XRef-Daten bereits in der Quell-Predict-Systemdatei vorhanden sind.

- Wenn die Option Replace aktiv ist (auf `Y` gesetzt) und ein Programmierobjekt aus der Zielumgebung gelöscht werden soll, werden die XRef-Daten in der Ziel-Predict-Systemdatei gelöscht.

- Wenn ein Programmierobjekt in eine neue Umgebung kopiert wird, werden die XRef-Daten des Programmierobjekts aus der Quell-Predict-Systemdatei in die Ziel-Predict-Systemdatei kopiert. Der Library-Name wird entsprechend geändert und im Falle der Rename-Funktion wird auch der Objektname geändert.

- Wurde die Move-Funktion (Verschieben) angefordert, werden die XRef-Daten des Programmierobjekts aus der Quell-Predict-Systemdatei gelöscht.

### XREF auf F gesetzt

Wenn die Option XREF auf `F` gesetzt ist, prüft SYSMAIN zusätzlich, ob für das Programmierobjekt (nur Programm, Subroutine, Subprogramm, Map oder Helproutine) ein Predict-Programmeintrag in der Ziel-Predict-Systemdatei definiert ist. Wenn nicht, wird die Verarbeitung des Objekts abgebrochen.

### XREF auf S gesetzt

Wenn die Option XREF auf `S` gesetzt ist, gilt der Sonderfall, dass eine Reihe von angegebenen Objekten mit entsprechenden XRef-Daten verarbeitet wird, unabhängig davon, ob alle Objekte Cross-Referenzdaten haben oder nicht: Die Objekte, die Cross-Referenzdaten haben, werden mit ihren Cross-Referenzdaten verarbeitet, und die Objekte, die keine haben, werden ebenfalls verarbeitet.

### XREF auf D gesetzt

Wenn die Option XREF auf `D` gesetzt ist, prüft SYSMAIN, ob für das Programmierobjekt (nur Programm, Subroutine, Subprogramm, Map oder Helproutine) ein Predict-Programmeintrag in der Ziel-Predict-Systemdatei definiert ist. Ist dies nicht der Fall, wird die Verarbeitung des Objekts abgebrochen. Objekte, die Cross-Referenzdaten haben, werden mit ihren Cross-Referenzdaten verarbeitet, und die Objekte ohne Cross-Referenzdaten werden ebenfalls verarbeitet.

### XREF-Fehler

Wenn bei der SYSMAIN-Verarbeitung von XRef-Daten eine der folgenden Inkonsistenzen auftritt, wird die gesamte Verarbeitung für das Objekt oder die Funktion abgebrochen und eine Fehlermeldung angezeigt:

- Der Wert der Option XREF in Natural Security ist `F` oder `Y`, und Sie haben den Wert `Y` bzw. `N` angegeben.

- Die Option XREF ist auf `F` oder `D` gesetzt, und SYSMAIN findet in Predict keinen dokumentierten Programmeintrag für das bearbeitete Objekt.

- Es wurde eine ungültige Predict-Datei angegeben.

- Der Wert der Option XREF in Natural Security ist `F`, `D` oder `Y` und Sie haben den Wert `S` angegeben.

- Der Wert der Option XREF in Natural Security ist `D` und Sie haben den Wert `N` angegeben.

## Angabe zusätzlicher Kriterien

Zusätzlich zu den Auswahlkriterien, die in den Eingabefeldern eines Programming Object-Menüs angegeben sind, können Sie Objekte nach Datum/Uhrzeit, Benutzerkennung und Terminalkennung auswählen, das bzw. die sich auf ihre Speicherung oder Katalogisierung bezieht.

Sie können auch die Benutzerkennung und die Library für einen Predict Set angeben. Diese Option gilt nicht für die List- und Find-Funktionen.

Sie können z.B. nur die Objekte auswählen, die an einem bestimmten Tag zwischen 8:00 und 12:00 Uhr von einem bestimmten Benutzer an einem bestimmten Terminal katalogisiert wurden, d.h. die Verarbeitung der Objekte nach den Auswahlkriterien basiert auf allen ausgewählten Kriterien als Ganzes, nicht auf jeder einzelnen Bedingung.

Um zusätzliche Auswahlkriterien anzugeben:

1. Ersetzen Sie im Feld Criteria des Menüs Programming Objects den Wert `N` (Standardeinstellung) durch `Y`.

   Es erscheint das Fenster Additional Criteria, zum Beispiel:

        15:24:55             ***** NATURAL SYSMAIN UTILITY *****            2006-09-15
        User MMO                 - Copy Programming Objects -
                          +------------------------------------------+
                          !       --- Additional Criteria ---        !
                          !                                          !
                          !  Object Type ..... PN__________________  !
                          !  Date/Time From .. 2006-01-01 _____      !
                          !  Date/Time To .... __________ _____      !
                          !  User ID ......... SAG______             !
                          !  Terminal ID ..... ________              !
                          !  Set Library ..... ________              !
                          !  Set User ........ ________              !
                          !                                          !
                  Code .. !  Command ===>                            !
          Object  Name .. !                                          !
                          +------------------------------------------+ N
          Source  Library ... SYSTEM__    Database .... 10___  File .. 32___
          Target  Library ... ________    Database .... 10___  File .. 32___
          Options Replace ... N         + Criteria .... Y

       Command ===>

       Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
             Help  Menu  Exit  Copy  Del   Find  List  Move  Ren   Fsec  Fdic  Fnat

   Geben Sie die gewünschten Auswahlkriterien ein. Wenn im Fenster Additional Criteria im Feld Object Type ein oder mehrere Objekttyp-Codes eingegeben wurden, ist das Feld Type im Menü Programming Objects mit denselben Objekttyp-Codes vorbelegt.

2. Wenn Sie zum Menü Programming Objects zurückkehren, zeigt ein Pluszeichen (`+`) vor dem Feld Criteria an, dass zusätzliche Objektauswahlkriterien angegeben wurden. Im obigen Beispiel die Benutzerkennung `SAG`.

   Das Pluszeichen (`+`) wird nicht angezeigt, wenn nur das Feld Object Type einen Eintrag enthält, da dieser Eintrag bereits im Feld Type im Menü Programming Objects erscheint.

## Direktkommando-Syntax für Programmierobjekte

In diesem Abschnitt wird die Syntax erläutert, die bei der Ausführung einer SYSMAIN-Funktion bei Programmierobjekten unter Verwendung von Direktkommandos im Online- oder Batch-Modus gilt. Allgemeine Anleitungen zur Verwendung von Direktkommandos finden Sie unter Kommandos ausführen.

Erläuterungen zu den Schlüsselwörtern und Variablenwerten, die in den nachfolgenden Syntax-Diagrammen verwendet werden, finden Sie unter Schlüsselwörter und Variablen in Direktkommandos. Die Symbole in den Syntax-Diagrammen entsprechen den Syntax-Symbolen, die für Systemkommandos verwendet werden. Diese Symbole werden unter Systemkommando-Syntax in der Systemkommandos-Dokumentation erläutert.

Die Syntax der where-Klausel (where-clause) und der With-Klausel (with-clause) ist bei allen Befehlen identisch.

In diesem Abschnitt werden die folgenden Themen behandelt:

- COPY und MOVE

- DELETE

- FIND, LIST und LISTLIB

- RENAME

- where-clause

- with-clause

### COPY und MOVE

| `COPY` `MOVE` |  |  |  | `ALL` `CATALOGED` `SAVED` `STOWED` |  |  |  |  |  |  |  |
name |  | `FM` [`LIBRARY`] lib-name |  | [where-clause]
|  | `TO` [`LIBRARY`] | lib-name [where-clause] [with-clause]

#### Beispiele:

    COPY PROG1 FM TESTORD TO ORDERS DBID 1 FNR 6 REP

    C PGM* WITH REP TYPE PNS FM PRODLIB TO TESTLIB

    M PROG1 FM OLDLIB TO NEWLIB

    MOVE STOWED * TO NEWLIB WHERE DBID 100 FNR 160 FMDATE 2007-01-01 FM OLDLIB WITH XREF Y

### DELETE

`DELETE` |  |  | `ALL` `CATALOGED` `SAVED` `STOWED` |  |  | name |  | `IN` [`LIBRARY`] lib-name |  | [where-clause] | [with-clause]

#### Beispiele:

    DELETE C M> IN LIB ORDERS

    D * IN TESTLIB DBID 1 FNR 5 NAME SYSNAT

    D SA * IN LIBTEST TYPE GLA

    D * TYPE PM IN TESTORD FMDATE 2007-01-01 TODATE 2007-04-30

### FIND, LIST und LISTLIB

| `FIND` `LIST` `LISTLIB` |  |  |  | `ALL` `CATALOGED` `SAVED` `STOWED` |  |  | name |  | `IN` [`LIBRARY`] lib-name |  | [where-clause] | [with-clause]

Anmerkung
Das Direktkommando `LISTLIB` ist nur im Batch-Modus verfügbar und dient dazu, eine Liste von Library-Namen zu erhalten.

#### Beispiele:

    FIND SAVED MENU IN TESTLIB

    FIND STOWED MAINMENU IN SYS* WHERE DBID 1 FNR 5

    F ALL PROG2 IN PROD* FNR 27 DBID 1

    LIST * IN TESTLIB

    LIST DT* IN TESTLIB

    L SAVED TEST* IN TESTLIB TYPE PNS FNR 6

    L SA TEST* TYPE PM IN TESTLIB FNR 6 DBID 2 FMDATE 2007-01-01

    LISTLIB ALL MENU IN SYS* DBID 10 FNR 44

### RENAME

`RENAME` |  |  | `ALL` `CATALOGED` `SAVED` `STOWED` |  |  |  |  |  |  |  |
`name AS` new-name [with-clause]
|  | `FM` [`LIBRARY`] lib-name |  | [where-clause] |
|  | `TO` [`LIBRARY`] lib-name | [where-clause] |

#### Beispiele:

    RENAME PGM1 AS PROG1 FM TESTLIB

    R PGM1 AS PROG1 FM TESTLIB DBID 1 FNR 5 TO PRODLIB DBID 2 FNR 6

    R PGM* TYPE PS RCOP FM TESTLIB TO PRODLIB

### where-clause

[`WHERE`] [`DBID` dbid] [`FNR` fnr] [`NAME` vsam-name] [`CIPHER` cipher]
|  |  |  |  | `PASSWORD` `PSW` |  | password |  |  |  |  |  |  |  |  |  |  |  |
|  |  | [`DIC` (dbid,fnr,password,cipher)]
|  |  | [`SEC` (dbid,fnr,password,cipher)]

#### Trennzeichen

Kommas müssen als Trennzeichen zwischen den Werten nach dem Schlüsselwort `SEC` verwendet werden, oder wenn ein Wert fehlt. Zum Beispiel: `SEC (10,,secret,2a)`. Wenn der Session-Parameter `ID` (siehe ID - Input-Begrenzungszeichen in der Parameter-Referenz-Dokumentation) auf Komma (`,`) gesetzt wurde, verwenden Sie einen Schrägstrich (`/`) als Trennzeichen zwischen den Werten.

### with-clause

[`WITH`] | [`TYPE` type] | [`FMDATE` date-from] | [`TODATE` date-to] | [`FMTIME` time-from] |  |  |  |
| [`TOTIME` time-to] | [`USER` user-id] | [`TID` terminal-id] | [`XREF` xref] [`HELP`]
| [`REPLACE`] | [`RCOP`] | [`EXTEND`] |  | `PROMPT` `NOPROMPT` |  |  | `MON` `NOMON` |
| [`SETUSER` set-user] | [`SETNO` set-number] | [`SETLIBRARY` set-library] |  |  |  |  |

### On this page

- Felder in den Menüs für Programmierobjekte
- Profilparameter RECAT verwenden
- Auswahllisten für Programmierobjekte
- Besonderheiten bei XRef
- Angabe zusätzlicher Kriterien
- Direktkommando-Syntax für Programmierobjekte