Die in den Natural-Systemdateien FNAT
und FUSER
gespeicherten Natural-Objekte sind in logische Konstrukte unterteilt, die als
Libaries (Bibliotheken) bezeichnet werden. Eine Natural-Library dient dazu,
Objekte nach bestimmten funktionalen Kriterien zusammenzufassen. So kann eine
Library beispielsweise aus einem Satz von Objekten bestehen, die eine bestimmte
Aufgabe zu erledigen haben. Wenn das Add-on-Produkt Natural Security
installiert ist, kann man eine Library auch verwenden, um den Zugriff auf
Objekte auf bestimmte Benutzergruppen, z.B. Administratoren, einzuschränken.
Eine Natural-Anwendung kann, je nachdem wie die Umgebung eingerichtet ist, auf Objekte in mehreren Libraries zugreifen.
Alle Operationen auf Libraries werden mit Hilfe von Menüfunktionen oder entsprechenden Kommandos ausgeführt. Siehe auch den Abschnitt Kommandos und Menü-Funktionen benutzen.
Natural-Systemdateien - System-Architektur-Dokumentation
Libraries in Systemdateien - System-Architektur-Dokumentation
Library Maintenance - Natural Security-Dokumentation
Dieser Abschnitt behandelt folgende Themen:
Siehe auch Namenskonventionen für Libraries.
Eine Library enthält Objektmodule (Source-Objekt und ggf. katalogisiertes Objekt) der folgenden Arten von Natural-Objekten: Programm, Subprogramm, Subroutine, Copycode, Helproutine, Class, Function, Text, Recording, Map, Local Data Area, Global Data Area, Parameter Data Area, Command Prozessor Source, Error Message, Dialog, Debug Environment, Adapter und Resource.
Im folgenden Abschnitt werden die verschiedenen Arten von Libraries vorgestellt:
Eine Benutzer-Library enthält Objekte einer Benutzer-Anwendung, die
speziell zu dieser Anwendung gehören und zum Ausführen dieser Anwendung
benötigt werden. Benutzer-Libraries sind in der Systemdatei FUSER
untergebracht.
Die Pflege einer System-Library obliegt der Software AG.
System-Libraries sind in der Systemdatei FNAT
untergebracht.
In einer System-Library sind alle Objekte enthalten, die zum Ausführen einer Natural-Systemanwendung benötigt werden.
Darüber hinaus gibt es System-Libraries, die Objekte des Typs Programm enthalten, die zu Demonstrationszwecken geliefert werden, siehe Example Libraries (Beispielprogramm-Libraries).
Auf die System-Libraries SYSLIB
und SYSLIBS
können Sie nicht zugreifen. Diese sind zur internen Verwendung durch die
Software AG bestimmt. Wenn Sie es dennoch versuchen, erhalten Sie die
Fehlermeldung: Libraries SYSLIB and SYSLIBS reserved for system
usage
.
Wichtig:
Speichern Sie keine benutzerspezifischen Objekte in einer
Natural-System-Library. Diese Objekte können überschrieben werden, wenn
Software AG-Installations-Datasets bzw. Dateien (zum Beispiel beim Umstieg auf
einen höheren System Maintenance (SM) Level, neue Versionen oder beim
Einspielen von Fix-Bändern) in die Systemdateien geladen werden.
Eine Steplib ist eine Natural-Benutzer-Library oder System-Library, die mit der aktuellen Benutzer- oder System-Library verkettet ist. Eine Steplib kann als einziger Speicherort für mehrere Objekte dienen, die von verschiedenen Anwendungen gemeinsam genutzt werden. Dadurch wird die redundante Speicherung von identischen Objekten vermieden und die Strukturierung von Anwendungen erleichtert.
Eine Steplib ist eine Library, in der Natural sucht, wenn ein Objekt in
der aktuellen Library nicht gefunden werden konnte (siehe auch den folgenden
Abschnitt). Als Standard-Steplibs dienen die Libraries SYSTEM
in
den Systemdateien FUSER
und FNAT
.
Dieser Abschnitt behandelt folgende Themen:
Wenn Natural Security aktiv ist, können Sie im Security-Profil zu jeder
Library zusätzliche Steplibs festlegen. Die Einträge in einem
Library-Security-Profil haben Vorrang vor jeglichen außerhalb von Natural
Security vorgenommenen Festlegungen. Diese Steplibs werden nach einem Objekt
durchsucht, bevor in den Standard-Steplibs SYSTEM
in den
Systemdateien FUSER
und FNAT
danach gesucht wird.
Steplibs - Natural Security-Dokumentation
Wenn kein Natural Security aktiv ist, können Sie beim Session-Start
eine zusätzliche Steplib mit Hilfe des Natural-Profilparameters
STEPLIB
angeben. Darüber hinaus können Sie weitere
Steplibs unter Verwendung der Programmierschnittstellen (APIs, z.B.
USR1025N
oder USR3025N
) definieren. Diese und weitere
APIs finden Sie in der System-Library SYSEXT
.
Diese Steplibs werden nach einem Objekt durchsucht, bevor in den
Standard-Steplibs SYSTEM
in den Systemdateien FUSER
und FNAT
danach gesucht wird.
STEPLIB - Parameter-Referenz-Dokumentation
Um die Steplib-Einstellung Ihrer aktuellen Library zu überprüfen
Geben Sie folgendes Systemkommando ein:
TECH
Das Fenster TECH erscheint.
Blättern Sie nach unten, indem Sie solange EINGABE drücken, bis die Tabelle mit der Spalte Steplib erscheint.
TECH - Systemkommandos-Dokumentation
Dieser Abschnitt beschreibt, in welcher Reihenfolge Natural-Libraries und Systemdateien nach einem angeforderten Objekt durchsucht werden, das entweder aus einer Benutzer-Library oder einer System-Library heraus ausgeführt werden soll.
Anmerkung:
Wenn der Profilparameter BPSFI
auf
ON
gesetzt ist (Standard-Einstellung ist OFF
), wird
zunächst nach Objekten im Buffer
Pool gesucht.
Die aktuelle Library in der Systemdatei FUSER
gemäß
Definition durch die Systemvariable *LIBRARY-ID
.
Die Steplibs (sequenziell) gemäß Angaben im Natural-Security-Profil für die aktuelle Library oder in der Steplib-Tabelle.
Die Standard-Steplib gemäß Definition in der Systemvariablen
*STEPLIB
.
Die Library SYSTEM
in der Systemdatei
FUSER
.
Die Library SYSTEM
in der Systemdatei FNAT
.
Die aktuelle Library in der Systemdatei FNAT
gemäß
Definition durch die Systemvariable *LIBRARY-ID
.
Die Steplibs (sequenziell) gemäß Angaben im Natural-Security-Profil für die aktuelle Library oder in der Steplib-Tabelle.
Die Library SYSLIBS
in der Systemdatei FNAT
,
die Objekte enthält, die gemeinsam von Systemkommandos und Utilities verwendet
werden.
Die Library SYSTEM
in der Systemdatei
FNAT
.
Die Library SYSTEM
in der Systemdatei
FUSER
.
Da die Systemdatei FUSER
zuletzt durchsucht wird, dürfen
Sie ein Objekt, das sowohl in der Systemdatei FUSER
als auch in
FNAT
verwendet wird (z.B. eine User Exit Routine für eine
Natural-Utility) nur an einer Stelle vorhalten, und zwar in FUSER
.
*LIBRARY-ID - Systemvariablen
Wenn Sie eine Natural-Session starten, loggen Sie sich automatisch in eine von Natural zugewiesene Library ein. Auf Natural-Bildschirmen ist normalerweise ein Feld vorhanden (z.B. Library oder LIB=), in dem der Name (die ID) Ihrer Library angezeigt wird, d.h. die aktuelle Library (z.B. LIB=SYSTEM), in der Natural-Objekte gespeichert werden und aus der sie abgerufen werden.
Um festzustellen, welche Ihre aktuelle Library ist
Geben Sie folgendes Systemkommando ein:
TECH
Das Fenster TECH erscheint. Der Name (die ID) der Library, in der Sie zurzeit angemeldet sind, wird im Feld Library angezeigt.
Wenn der Natural-Profilparameter AUTO
auf
OFF
gesetzt ist, weist Natural Ihnen standardmäßig die Library ID
SYSTEM
zu. Sie können beim Starten der Session die
Standard-Library ändern, indem Sie AUTO
auf
ON
setzen. AUTO=ON
bewirkt das automatische
Einloggen in die Library, die Ihrer Benutzerkennung (ID) entspricht. Wenn Ihr
Natural unter Natural Security läuft, gelten besondere Regeln für das
Einloggen. Diese sind in der Natural
Security-Dokumentation beschrieben.
Es kann sein, dass Sie sich in eine andere Library einloggen müssen, wenn eine Verwaltungsfunktion ausführen oder an einer anderen Anwendung arbeiten möchten; siehe Abschnitt Einloggen in eine Library.
TECH - Systemkommandos-Dokumentation
AUTO - Parameter-Referenz-Dokumentation
Logging On - Natural Security-Dokumentation
Wenn Sie ein Natural-Objekt erstellen oder pflegen oder ein Natural-Programm in einer bestimmten Library ausführen möchten, müssen Sie unter Umständen zuerst die Library wechseln und sich in die Library oder Steplib (siehe Steplib-Libraries) einloggen, die das Objekt enthält bzw. aufnehmen soll.
Zum Einloggen in eine Library benutzen Sie normalerweise das
Systemkommando LOGON
. Wenn Ihr Natural unter Natural
Security läuft, gelten besondere Regeln. Diese sind in der Natural
Security-Dokumentation beschrieben.
Nach dem erfolgreichen Einloggen in eine Library, die noch keine Objekte
enthält, lautet die Bestätigungsmeldung: This library is
empty
(Diese Library ist leer.).
Anmerkung:
Das Systemkommando LOGON
berücksichtigt
keine Objekte des Typs Error Message und Debug Environment. Deshalb bezieht
sich die o. g. Meldung nur auf die anderen Objekttypen. Um festzustellen, ob
eine Library Objekte des Typs Error Message und Debug Environment enthält,
können Sie, zum Beispiel, die Utility SYSMAIN
oder die Utilities
SYSERR
bzw. den Debugger benutzen.
Darüber hinaus können Sie auch das Systemkommando
LIST
(siehe
Objekte in einer Library
auflisten) benutzen, um festzustellen, ob eine Library
leer ist.
Die Library, in die Sie sich eingeloggt haben, bleibt solange aktiv, bis Sie sich in eine andere Library einloggen oder Ihre Natural-Session beenden.
Um sich in eine andere Library einzuloggen
Geben Sie folgendes Systemkommando ein:
LOGON library-ID
Dabei ist library-ID der Name (ID) der Library, auf die Sie zugreifen wollen.
Oder:
Im Natural-Hauptmemü (Main Menu) oder einem der
untergeordneten Menüs:
Überschreiben Sie in der rechten oberen Ecke des Bildschirms im Feld Library die dort vorhandene Library ID mit der ID der gewünschten Library (siehe auch Beispiel für eine Menü-Funktion.
Drücken Sie EINGABE.
Vorausgesetzt, die von Ihnen eingegebene Library ID erfüllt
Namenskonventionen für
Libraries, dann erscheint die folgende Meldung zur Bestätigung:
Logon in Library library-ID
accepted.
LOGON und LOGOFF - Systemkommandos-Dokumentation
Logging On - Natural Security-Dokumentation
Um eine neue Library anzulegen, benutzen Sie entweder das Systemkommando
LOGON
, mit dem Sie eine leere Library erhalten, in
der Sie ein Objekt erstellen können, oder Sie verwenden die Move- oder
Copy-Funktion einer Natural-Utility, wenn Sie Objekte übertragen.
Um eine neue Library anzulegen
Wenn Sie das Systemkommando LOGON
benutzen, folgen Sie der Beschreibung im Abschnitt
Einloggen in eine
Library. Geben Sie die ID der neuen Library an. Diese
enthält noch keine Objekte. Erstellen Sie in dieser Library mindestens ein
katalogisiertes Objekt oder ein Source-Objekt.
Wenn Sie Objekte aus einer vorhandenen Library in eine neue Library verschieben oder kopieren möchten, folgen Sie der Beschreibung im Abschnitt Libraries kopieren, verschieben und umbenennen.
Eine Liste aller in Ihrer aktuellen Natural-Systemumgebung vorhandenen
Libraries erhalten Sie, zum Beispiel, indem Sie die Utility
SYSMAIN
benutzen.
Die folgende Anleitung enthält Beispiele dafür, wie Sie entweder die
SYSMAIN
-Menü-Funktionen oder die entsprechenden Kommandos benutzen
können, um Libraries aufzulisten.
Um mittels der SYSMAIN-Menü-Funktionen alle Libraries aufzulisten
Wählen Sie im Natural-Hauptmenü (Main Menu) den Eintrag aus.
Drücken Sie EINGABE.
Der Bildschirm Maintenance and Transfer Utilities erscheint.
Wählen Sie Transfer Objects to Other Libraries.
Oder:
Geben Sie das folgende Systemkommando ein:
SYSMAIN
Drücken Sie EINGABE.
Das Hauptmenü (Main Menu) der Utility
SYSMAIN
erscheint, zum Beispiel:
14:09:48 ***** NATURAL SYSMAIN UTILITY ***** 2013-05-02 User SAG - Main Menu - Code Object Code Function A Programming Objects C Copy D Debug Environments D Delete E Error Message Texts F Find P Profiles L List R Rules M Move S DL/I Subfiles R Rename V DDMs ? Help X Predict Sets ? Help . Exit . Exit Object Code .. A Function Code .. _ Command ===> Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--- Help Menu Exit Copy Del Find List Move Ren |
Geben Sie im Feld Object Code ein A
ein (Standardeinstellung), um alle Libraries aufzulisten, die Natural-Objekte
(Fehlermeldungen und Debug-Umgebungen) enthalten. (Für Fehlermeldungen müssen
Sie ein E
eingeben, für Debug-Umgebungen ein D
).
Geben Sie im Feld Function Code ein
L
(für List) ein.
Drücken Sie EINGABE.
Es erscheint der Bildschirm List Programming Objects.
Geben Sie im Feld Code ein A
ein,
um nach Libraries zu suchen, die alle Arten von Objektmodulen enthalten:
katalogisierte Objekte und Source-Objekte.
Geben Sie im Feld Source Library einen Stern (*) ein, um nach allen Libraries zu suchen.
(Informationen zu gültigen Namensbereichen siehe Specifying a Range of Names in der SYSMAIN Utility-Dokumentation.)
Lassen Sie die übrigen Eingabefelder unverändert.
Drücken Sie EINGABE.
Es erscheint der Bildschirm Library Selection. Er enthält eine Liste aller in der aktuellen Systemdatei vorhandenen Libraries.
Drücken Sie EINGABE, um in der Liste nach unten zu blättern bzw. PF11, um nach rechts und PF12, um nach links zu blättern.
Auf dem Bildschirm Library Selection können Sie eine bestimmte Library auswählen und die in ihr enthaltenen Objekte auflisten. Weitere Informationen finden Sie im Abschnitt Library Selection, siehe Verwandtes Thema weiter unten.
Um alle Libraries mit einem Kommando aufzulisten
Geben Sie das folgende Kommando ein:
SYSMAIN LIST ALL * IN LIBRARY *
Drücken Sie EINGABE.
Der Bildschirm Library Selection erscheint mit einer Liste aller in der aktuellen Systemdatei vorhandenen Libraries.
Listing and Selecting Libraries - SYSMAIN Utility-Dokumentation
Eine Liste der in einer Library enthaltenen Objekte erhalten Sie, indem
Sie entweder das Systemkommando LIST oder die entsprechende Funktion der
Natural-Utility SYSMAIN
oder den Object Handler
benutzen.
Anmerkung:
Das Systemkommando LIST
kann keine
Objekte des Typs Fehlermeldung oder Debug-Umgebung verarbeiten. Letztere können
Sie, zum Beispiel, mit der Utility SYSMAIN
auflisten.
Dieser Abschnitt beschreibt, wie Sie sich eine Liste von Objekten mit
Hilfe des Systemkommandos LIST
anzeigen lassen
können.
Um Objekte mit
LIST
aufzulisten
Geben Sie das folgende Kommando ein:
LIST *
Dabei bedeutet die Angabe eines Sterns (*), dass alle Source-Objekte und alle katalogisierten Objekte aufgelistet werden sollen.
(siehe auch: object-name-range im Abschnitt LIST in der Systemkommandos-Dokumentation).
Drücken Sie EINGABE.
Es erscheint der Bildschirm LIST Objects in a
Library (siehe Beispiel). Er enthält eine Liste der Source-Objekte
und der katalogisierten Objekte, die in der aktuellen Library (in diesem
Beispiel: TEST
) in der aktuellen Systemdatei vorhanden sind.
10:53:59 ***** NATURAL LIST COMMAND ***** 2012-07-24 User SAG - LIST Objects in a Library - Library TEST Cmd Name Type S/C SM Version User ID Date Time --- *________ *__________ *__ * *______ *________ *__________ *________ __ COPYLDA Copycode S R SAG 2012-07-23 17:58:19 __ DEMOSPGM Subprogram S/C S SAG 2012-07-23 17:58:34 __ EMP-L Local S/C SAG 2012-07-23 17:58:47 __ GDATEST Global S SAG 2012-07-24 10:09:25 __ HELPR1 Helproutine S/C S SAG 2012-07-24 10:02:59 __ LDATEST Local S/C SAG 2012-07-23 17:59:16 __ MAPTEST Map S/C S SAG 2012-07-24 10:04:44 __ MAP01 Map S/C S SAG 2012-07-24 10:04:25 __ PDASTUB Subprogram S/C S SAG 2012-07-24 10:03:41 __ PDATEST Parameter S/C SAG 2012-07-24 10:03:47 __ PGMTEST Program S/C S SAG 2012-07-24 10:03:53 __ PGM01 Program S S SAG 2012-07-23 17:59:02 __ SUBPGM1 Subprogram S S SAG 2012-07-23 17:59:08 __ SUBRTEST Subroutine S/C R SAG 2012-07-24 10:07:58 14 Objects found Top of List. Command ===> Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--- Help Print Exit Sort -- - + ++ > Canc |
Sortiert ist die Liste nach dem Objektnamen (in der Spalte
Name). Sie enthält zusätzlich Informationen zu jedem
Objekt (z. B. Program
), zur Art des vorhandenen Objektmoduls (in
der Spalte S/C: S
=
Source-Objekt, C
= katalogisiertes Objekt) und die ID des
Benutzers, der das Objekt angelegt oder geändert hat.
Auf dem Bildschirm LIST Objects in a Library können Sie ein Objekt zur weiteren Verarbeitung auswählen. Sie können sich z. B. den Sourcecode eines Objekts anzeigen lassen oder Objekte aus einer Library löschen; siehe To delete objects using LIST.
Weitere Informationen zum Bildschirm LIST Objects in a
Library sowie zu weiteren Optionen, die Ihnen beim Systemkommando
LIST
zur Verfügung stehen, siehe Verwandte
Themen unten.
object-name-range - LIST, Systemkommandos-Dokumentation
Erklärung der Spaltenüberschriften - LIST, Systemkommandos-Dokumentation
Inhalt der Auswahlliste sortieren - LIST, Systemkommandos-Dokumentation
Eine Funktion auf einem Objekt ausführen - LIST, Systemkommandos-Dokumentation
Sie können sich eine Liste der in der aktuellen Library in der aktuellen Systemdatei enthaltenen Objekte ausdrucken lassen.
Um eine Objektliste zu drucken
Rufen Sie dir Funktion LIST Objects in a Library auf; siehe Schritte 1 und 2 von Um Objekte mit LIST aufzulisten .
Drücken Sie PF2 (Print).
Es erscheint das Fenster PRINT.
Geben Sie im Feld Destination einen gültigen Druckernamen ein. (Fragen Sie ggf. Ihren Natural-Administrator nach dem Namen eines in Ihrer Umgebung zur Verfügung stehenden Druckers.) Falls Sie dies wünschen, können Sie die Seitenlänge ändern (standardmäßig hat eine Seite 60 Zeilen).
Drücken Sie EINGABE.
Es erscheint der Bildschirm Printout Specification, auf dem Sie Druckereinstellungen, z. B. die Anzahl der zu druckenden Exemplare vornehmen können.
Drücken Sie EINGABE.
Die Liste der in der Library enthaltenen Objekte wird auf dem angegebenen Drucker gedruckt.
LIST - Systemkommandos-Dokumentation
Sie können die in der Liste angezeigten Objekte weiter eingrenzen, indem Sie zusätzliche Auswahlkriterien angeben, z. B. die ID des Benutzers, der ein bestimmtes Objekt oder eine bestimmte Zeichenkette in einer Objekt-Source angelegt hat.
Dieser Abschnitt beschreibt, wie Sie unter Angabe von Suchkriterien
Objekte suchen können. Dazu können Sie entweder die Utility
SYSMAIN
oder das Systemkommando SCAN
benutzen.
Der folgende Abschnitt enthält Beispiele dafür, wie Sie Objekte durch
Angabe von Suchkriterien suchen können, indem Sie entweder die Funktionen des
SYSMAIN
-Menüs oder das entsprechende Kommando benutzen.
Um Objekte mit Hilfe der Menüfunktionen zu suchen
Rufen Sie das Hauptmenü (Main Menu) der Utility
SYSMAIN
auf; siehe Schritte 1 bis 4 von Um
mittels der SYSMAIN-Menü-Funktionen alle Libraries aufzulisten.
Geben Sie im Feld Object Code ein
A
ein (Standardeinstellung), um nach allen Objekttypen zu
suchen.
(Ausnahmen: Für Fehlermeldungen geben Sie ein E
, für
Debug-Umgebungen ein D
.)
Geben Sie im Feld Function Code ein
F
für (Find) ein.
Drücken Sie EINGABE.
Der Bildschirm Find Programming Objects erscheint.
Geben Sie im Feld Code ein A
ein,
um nach allen Arten von Objektmodulen zu suchen: katalogisierte Objekte und
Source-Objekte.
Geben Sie im Feld Object Name einen Stern (*) ein, um nach allen Objektnamen zu suchen. Dies ist die Standardeinstellung.
(Gültige Namensbereiche siehe Specifying a Range of Names in der SYSMAIN Utility-Dokumentation.)
Geben Sie im Feld Source Library die ID der Library ein, die die zu suchenden Objekte enthält.
Überschreiben Sie im Feld Criteria das
N
(No) durch Y
(Yes). N ist die Standardeinstellung.
Lassen Sie alle übrigen Eingabefelder unverändert.
Drücken Sie EINGABE.
Es erscheint das Fenster Additional Criteria, in dem Sie Suchkriterien eingeben können, zum Beispiel:
18:23:16 ***** NATURAL SYSMAIN UTILITY ***** 2009-05-20 User SAG - Find Programming Objects - +------------------------------------------+ ! --- Additional Criteria --- ! ! ! ! Object Type ..... PM__________________ ! ! Date/Time From .. 2006-05-09 _____ ! ! Date/Time To .... 2009-05-01 _____ ! ! User ID ......... SAG______ ! ! Terminal ID ..... ________ ! ! ! ! ! ! Command ===> ! Code .. ! ! Object Name .. +------------------------------------------+ Source Library ... TEST____ Database .... 10___ File .. 32___ Options 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 eines oder mehrere Suchkriterien ein und drücken Sie EINGABE.
Das Fenster verschwindet. Ein Plus-Zeichen (+) vor dem Feld Criteria zeigt an, dass in dem Fenster außer dem Objekttyp noch andere Suchkriterien angegeben wurden.
Drücken Sie noch einmal EINGABE.
Der Bildschirm Find Selection erscheint. Er
enthält eine Liste aller Source-Objekte und katalogisierten Objekte, die in der
angegebenen Library in der aktuellen Systemdatei vorhanden sind. In dem obigen
Beispiel werden alle Objekte der Typen P
(Programm) und
M
(Map) angezeigt, die zwischen 2006-05-09
und
2009-05-01
durch den Benutzer SAG
angelegt oder
geändert wurden.
Drücken Sie EINGABE, um in der Liste nach unten zu
blättern, bis die folgende Meldung erscheint: Library has been
successfully listed
(Library erfolgreich aufgelistet).
Auf dem Bildschirm Find Selections haben Sie die Möglichkeit, ein Objekt zur Weiterverarbeitung auszuwählen, zum Beispiel, können Sie sich den Sourcecode eines Objekts anzeigen lassen; siehe Selection Lists for Programming Objects (SYSMAIN Utility-Dokumentation).
Using Menu Functions and Commands - SYSMAIN Utility-Dokumentation
Um Objekte mittels Kommando zu suchen
Geben Sie das folgende Kommando ein:
SYSMAIN FIND ALL * TYPE PN WITH USER user-ID IN library-ID
Dabei gibt ALL
an, dass alle Source-Objekte und
katalogisierten Objekte in die Suche einbezogen werden sollen.
Der Stern (*) gibt an, dass alle Objektnamen in die Suche einbezogen werden sollen (siehe auch: Specifying a Range of Names in der SYSMAIN Utility-Dokumentation).
PN
gibt die Objekttypen an, nach denen gesucht werden
soll (P
bedeutet Programm, N
bedeutet
Subprogramm.
library-ID ist die ID der zu durchsuchenden Library.
user-ID ist die ID des Benutzers, nach dem gesucht werden soll.
Drücken Sie EINGABE.
Es erscheint der Bildschirm Find Selection. Er enthält eine Liste aller Source-Objekte und katalogisierten Objekte der Typen Programm und Subprogramm, die von dem angegebenen Benutzer angelegt oder geändert wurden.
Keywords and Variables in Direct Commands - SYSMAIN Utility-Dokumentation
Der folgende Abschnitt enthält Beispiele dafür, wie Sie Objekte finden
können, indem Sie ihre Sourcen nach einer bestimmten Zeichenkette mit Hilfe des
Systemkommandos SCAN
durchsuchen.
Anmerkung:
Das Systemkommando SCAN
verarbeitet
keine Objekte des Typs Error Message und Debug-Environment. Zum Durchsuchen von
Fehlermeldungen können Sie die Funktion
Scan
in messages der Natural-Utility SYSERR verwenden.
Um Sourcen mit Hilfe von Menüfunktionen zu durchsuchen
Geben Sie das folgende Systemkommando ein:
SCAN
Drücken Sie EINGABE.
Der Bildschirm Scan Objects in Libraries erscheint (siehe folgendes Beispiel). Sie können hier einen Objektbereich und einen Suchwert eingeben:
18:24:53 ***** NATURAL SCAN COMMAND ***** 2009-05-20 User SAG - Scan Objects in Libraries - Library TEST Code Function T Statistics L List of Objects Containing Scan Value S Object Lines with Scan Value ? Help . Exit Code ............ L Scan value ...... LOCAL___________________________ Replace value ... GLOBAL__________________________ Library ......... TESTLIB_ Object name ..... *________ Selection list .. N Object type(s) .. *_____________ Absolute scan ... N Trace ........... N Command ===> Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--- Help Menu Exit |
Geben Sie im Feld Code ein L
(für
) ein und geben
Sie einen Suchwert, eine Library und einen Objektbereich ein. Mit
Stern-Notation (*) können Sie alle Objektnamen und Objekttypen auswählen.
Geben Sie im Feld Replace value eine
Zeichenkette (z. B. GLOBAL
) ein, durch die der angegebene Suchwert
(z. B. LOCAL
) ersetzt werden soll.
Drücken Sie EINGABE.
Der Bildschirm Select Objects for Library
erscheint. Er enthält für die angegebene Library in der aktuellen Systemdatei
eine Liste aller Source-Objekte, die die angegebenen Suchkriterien erfüllen. Im
Fall des obigen Beipiels werden alle Objekte in der Library
TESTLIB
ausgewählt, die die Zeichenkette LOCAL
enthalten.
Auf dem Bildschirm Select Objects for Library können Sie ein Objekt auswählen und die Source-Zeile, die den Suchwert enthält, anzeigen oder ändern.
Um Sourcen mit Hilfe eines Kommandos zu durchsuchen
Geben Sie das folgende Kommando ein:
SCAN FUNC=L,SVAL=scan-value,LIB=library-ID,*
Dabei ist:
scan-value die Zeichenkette (z. B.
LOCAL
), nach der die Sourcen durchsucht werden sollen.
library-ID library-ID die ID der
Library, die durchsucht werden soll (z. B. TESTLIB
).
Verwenden Sie Stern-Notation (*), wenn nach allen Source-Objekten in der Library gesucht werden soll.
Drücken Sie EINGABE.
SCAN - Systemkommandos-Dokumentation
Sie können eine Library kopieren oder verschieben, indem Sie alle Natural-Objekte von einer Quell-Library in eine vorhandene oder neue Ziel-Library kopieren oder verschieben.
Beim Umbenennen einer Library sind dieselben Schritte wie beim Verschieben einer Library nötig. Sobald alle Objekte einer Library in eine neue Ziel-Library verschoben worden sind, wird die alte Library automatisch gelöscht.
Sie können einzelne oder mehrere Objekte von einer Library in eine
andere Library kopieren oder verschieben, indem Sie entweder die
Natural-Utility SYSMAIN
oder den Object Handler benutzen. Die
folgende Anleitung enthält Beispiele für das Kopieren oder Verschieben aller
Objekte mit SYSMAIN
, und zwar mit Hilfe von Menüfunktionen oder
den entsprechenden Kommandos.
Um alle Objekte mit Hilfe von Menüfunktionen zu kopieren oder zu verschieben
Rufen Sie das Hauptmenü (Main Menu) der Utility SYSMAIN auf; siehe Schritte 1 bis 4 von Um mittels der SYSMAIN-Menü-Funktionen alle Libraries aufzulisten.
Geben Sie im Feld Object Code ein A
ein (Standardeinstellung), um alle Objekttypen auszuwählen.
(Ausnahmen: für Error Messages geben Sie ein E
, für
Debug-Umgebungen ein D
ein.)
Geben Sie im Feld Function Code ein
C
(für Copy) oder ein M
(für Move) ein.
Drücken Sie EINGABE.
Je nachdem, welchen Funktionscode Sie eingegeben haben, erscheint entweder der Bildschirm Copy Programming Objects oder der Bildschirm Move Programming Objects.
Geben Sie im Feld Code ein A
ein,
um alle Arten von Objektmodulen auszuwählen: katalogisierte Objekte und
Source-Objekte.
Überschreiben Sie im Feld Sel. List (Selection
List) das Y
(Yes) mit einem N
(No). Y
ist die Standardeinstellung.
Geben Sie im Feld Object Name einen Stern (*) ein, um alle Objektnamen auszuwählen. Dies ist die Standardeinstellung.
(Informationen zu gültigen Namensbereichen finden Sie unter Specifying a Range of Names in der SYSMAIN Utility-Dokumentation.)
Geben Sie im Feld Source Library die ID der Library ein, die die zu kopierenden oder zu verschiebenden Objekte enthält.
Geben Sie im Feld Target Library die ID einer vorhandenen oder einer neuen Library ein, in die Sie die Objekte kopieren oder verschieben wollen.
Alle anderen Eingabefelder lassen Sie unverändert.
Drücken Sie EINGABE.
Alle Source-Objekte und katalogisierten Objekte werden von der
angegebenen Quell- in die Ziel-Library in der aktuellen Systemdatei kopiert
bzw. verschoben. Danach erscheint die Meldung Function completed
successfully
(Funktion erfolgreich beendet).
Um alle Objekte mit Hilfe von Kommandos zu kopieren oder zu verschieben
Geben Sie eines der folgenden Kommandos ein:
SYSMAIN COPY ALL * FM old-library TO new-library
(kopiert Objekte)
bzw.
SYSMAIN MOVE ALL * FM old-library TO new-library
(verschiebt Objekte)
Dabei gibt ALL
an, dass alle Source-Objekte und
katalogisierten Objekte ausgewählt werden sollen.
Der Stern (*) gibt an, dass alle Objektnamen ausgewählt werden sollen (siehe auch Specifying a Range of Names in der SYSMAIN Utility-Dokumentation).
old-library ist die ID der Library, die die zu kopierenden oder zu verschiebenden Objekte enthält.
new-library ist die ID einer vorhandenen oder neuen Library (siehe auch Namenskonventionen für Libraries).
Drücken Sie EINGABE.
Wenn der Kopier- oder Verschiebevorgang erfolgreich beendet wurde,
wird das verarbeitete Kommando angezeigt, und die folgende Meldung erscheint:
Function completed successfully
(Funktion erfolgreich
beendet).
Weitere Informationen zu den Funktionen, die Ihnen bei der Utility SYSMAIN zur Verfügung stehen, zum Beispiel zum Ersetzen und Umbenennen von Objekten, finden Sie in der Utilities-Dokumentation.
Eine Library wird in einer Natural-Umgebung nur so lange gepflegt, wie sie wenigstens ein Source-Objekt oder ein katalogisiertes Objekt enthält. Wenn Sie in einer Library alle Objekte löschen, ist diese Library nicht mehr vorhanden.
Sie können einzelne oder mehrere Objekte aus einer Library löschen,
indem Sie das Systemkommando LIST
oder eine
Natural-Utility benutzen.
Die folgende Anleitung enthält Beispiele dafür, wie Sie Objekte mit
Hilfe des Systemkommandos LIST
aus der aktuellen
Library löschen können und wie Sie unter Verwendung der Menüfunktionen bzw.
Kommandos der Utility SYSMAIN
Objekte aus einer anderen Library
löschen können.
Um Objekte mit
LIST
zu löschen
Geben Sie folgendes Kommando ein:
LIST *
Der Stern (*) gibt an, dass alle Source-Objekte und katalogisierten Objekte aufgelistet werden sollen.
(siehe auch object-name-range im Abschnitt LIST in der Systemkommandos-Dokumentation).
Drücken Sie EINGABE.
Es erscheint der Bildschirm LIST Objects in a Library. Er enthält eine Liste der in der aktuellen Library in der aktuellen Systemdatei vorhandenen Source-Objekte und katalogisierten Objekte.
Geben Sie in der Spalte Cmd neben dem oder den gewünschten Objekt oder Objekten folgendes Zeilenkommando ein:
DE
Siehe auch den Beispielschirm weiter unten.
Drücken Sie EINGABE.
Es erscheint ein DELETE-Fenster (ähnlich dem unten gezeigten):
17:04:25 ***** NATURAL LIST COMMAND ***** 2010-03-01 User SAG - LIST Objects in a Library - Library TEST Cmd Name Type S/C SM Version User ID Date Time --- *________ *__________ *__ * *______ *________ *__________ *________ DE COPYLDA Co +---------------DELETE---------------+ 010-03-01 15:10:48 DE DEMOSPGM Su | | 010-02-05 19:00:08 DE EMP-L Lo | Please select one item: | 010-03-01 15:31:31 DE GDATEST Gl | | 010-03-01 15:23:37 __ HELPR1 He | _ Confirm each deletion | 010-03-01 15:13:12 __ LDATEST Lo | _ Delete without confirmation | 010-02-05 18:49:14 __ MAPTEST Ma | _ Exit (no deletion) | 010-03-01 15:14:16 __ PDASTUB Su | | 010-03-01 15:31:18 __ PDATEST Pa +------------------------------------+ 010-03-01 15:31:24 __ PGM01 Program S S SAG 2010-03-01 15:29:31 __ SUBPGM1 Subprogram S S SAG 2010-03-01 15:25:02 __ SUBRTEST Subroutine S/C R SAG 2010-03-01 15:30:12 __ TESTPGM Program S S SAG 2010-03-01 15:26:40 __ TEXTTEST Text S SAG 2010-03-01 15:05:23 14 Objects found Command ===> Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--- Help Print Exit Sort -- - + ++ > Canc |
Wählen Sie eine Option aus, indem Sie ein beliebiges Zeichen in dem Feld neben der gewünschten Option eingeben und EINGABE drücken:
Wenn Sie Confirm each deletion wählen,
erscheint ein Fenster zu jedem zu löschenden Objekt, in dem Sie jeweils den
Namen des Objekts eingeben müssen, um die Löschung zu bestätigen.
Wenn Sie Delete without confirmation
wählen, erfolgt die Löschung sofort.
Wenn Sie Exit wählen, erfolgt keine
Löschung, und das Fenster verschwindet.
Um Objekte mit SYSMAIN-Menüfunktionen zu löschen
Rufen Sie das Hauptmenü (Main Menu) der Utility
SYSMAIN
auf; siehe Schritte 1 bis 4 von Um
mittels der SYSMAIN-Menü-Funktionen alle Libraries aufzulisten.
Geben Sie im Feld Object Code ein A
ein (Standardeinstellung), um alle Typen von Objekten auszuwählen.
(Ausnahmen: Für Error Messages geben Sie ein E
, für
Debug-Umgebungen ein D
ein.)
Geben Sie im Feld Function Code ein
D
(Delete) ein.
Drücken Sie EINGABE.
Der Bildschirm Delete Programming Objects erscheint.
Geben Sie im Feld Code ein A
ein,
um alle Arten von Objekten auszuwählen: katalogisierte Objekte und
Source-Objekte.
Überschreiben Sie im Feld Sel. List (Selection
List) das Y
(Yes) mit einem N
(No). Y
ist die Standardeinstellung.
Geben Sie im Feld Object Name einen Stern (*) ein, um alle Objektnamen auszuwählen. Dies ist die Standardeinstellung.
(Bezüglich gültiger Namensbereiche siehe Specifying a Range of Names in der SYSMAIN Utility-Dokumentation.)
Geben Sie im Feld Source Library die ID der Library ein, die Sie löschen möchten.
Die übrigen Eingabefelder lassen Sie unverändert.
Drücken Sie EINGABE.
In der angegebenen Library in der aktuellen Systemdatei werden alle
Source-Objekte und katalogisierten Objekte gelöscht, und es erscheint die
folgende Meldung: Function completed successfully
(Funktion erfolgreich ausgeführt).
Um alle Objekte mit einem SYSMAIN-Kommando zu löschen
Geben Sie folgendes Kommando ein:
SYSMAIN DELETE ALL * FM library-ID
Dabei gibt ALL
an, dass alle Source-Objekte und
katalogisierten Objekte ausgewählt werden sollen.
Der Stern (*) gibt an, dass alle Objektnamen ausgewählt werden sollen (siehe auch Specifying a Range of Names in der SYSMAIN Utility-Dokumentation).
library-ID ist die ID der Library, die die zu löschen Objekte enthält.
Drücken Sie EINGABE.
Wenn der Löschvorgang erfolgreich beendet wurde, wird das
verarbeitete Kommando angezeigt, und die folgende Meldung erscheint:
Function completed successfully
(Funktion erfolgreich
beendet).