PDA

View Full Version : CRTLIB ASPDEV(*SAVASPDEV)



Daechsle
29-11-13, 09:33
Hallo Welt

Wir haben ein altes CL-Programm, in dem der Befehl CRTLIB mit dem Parameter ASPDEV(*SAVASPDEV) aufgerufen wird.

Im Joblog erscheint die Fehlermeldung, dass der Wert *SAVASPDEV ungültig ist. Es muss ihn aber anscheinend in einer früheren OS-Version gegeben haben.

Die Frage lautete daher: Was muss man in OS-Version 6.1 angeben, damit es den gleichen Effekt hat wie *SAVASPDEV? Was genau bedeutet *SAVASPDEV überhaupt?
Zur Auswahl stehen *ASP, *ASPGRPPRI und *SYSTEM.

Schöne Grüsse aus der Schweiz

KingofKning
29-11-13, 09:58
Gibt die Nummer des System- oder des Basis-Benutzer-ASPs (ASP =
Zusatzspeicherpool) an, auf dem Speicher für die Bibliothek
zugeordnet ist. Bei Bibliotheken, die in einem ASP erstellt wurden,
müssen alle Objekte in der Bibliothek im selben ASP wie die
Bibliothek sein. Wurde für den Parameter ASP-Einheit (ASPDEV) ein
anderer Wert als *ASP angegeben, ist *ASPDEV der einzig gültige Wert
für den Parameter ASP-Nummer (ASP) Wenn für den Parameter ASPDEV ein
anderer Wert als *ASP angegeben wurde, kann der Parameter ASP
ausgelassen werden, und der dafür eingesetzte Standardwert wird
ignoriert.

1
Der Speicherplatz für die Bibliothek wird aus dem
Systemzusatzspeicherpool (ASP 1) zugeordnet.

*ASPDEV
Der Speicherplatz für die Bibliothek wird aus dem primären oder
dem sekundären ASP zugeordnet, der für den Parameter ASPDEV
angegeben wurde.

Nummer
Einen Wert zwischen 1 und 32 für die Nummer des System- oder
Basis-Benutzer-ASP angeben.

Hilfetext der AS/400

GG

BTW, Einfach mal den Befehl aufrufen und F10 drücken und dann F1 drücken.......

Daechsle
29-11-13, 10:27
Danke für die Antwort, aber F1 drücken kann ich selber, und zwar beim richtigen Parameter, nach dem ich gefragt habe, nämlich ASPDEV und nicht ASP.

Meine Frage war, was anstelle von CRTLIB ASPDEV(*SAVASPDEV) zu verwenden ist, weil es diesen Wert für Parameter ASPDEV unter OS 6.1 nicht gibt, aber unter einer früheren OS-Version anscheinend schon, weil es in diesem CL-Programm aus dem Jahr 2005 so drin ist.
Ich vermute jetzt, dass es ASPDEV(*SYSTEM) sein müsste - oder vielleicht doch der Default-Wert *ASP?

Fuerchau
29-11-13, 12:12
Vielleicht guckst du nur falsch.
Beim CRTLIB gabs das noch nie, sondern nur beim RSTLIB!

*SAVASPDEV = zurückladen wie gesichert

Kann es doch beim CRTLIB gar nicht geben.

KingofKning
29-11-13, 12:18
Für mich gehören die 2 Werte zusammen, wollte aber nicht alles kopieren.


@ (http://newsolutions.de/forum-systemi-as400-i5-iseries/members/160-Fuerchau)Fuerchau (http://newsolutions.de/forum-systemi-as400-i5-iseries/members/160-Fuerchau)

Beim CRTLIB steht doch folgendes.

Auswahl eingeben und Eingabetaste drücken.

Bibliothek . . . . . . . . . . . Name
Bibliotheksart . . . . . . . . . *PROD *PROD, *TEST
Text 'Beschreibung' . . . . . . *BLANK


Zusätzliche Parameter

Berechtigung . . . . . . . . . . *LIBCRTAUT Name, *LIBCRTAUT, *CHANGE...
ASP-Nummer . . . . . . . . . . . 1 1-32, *ASPDEV
ASP-Einheit . . . . . . . . . . *ASP Name, *ASP, *ASPGRPPRI...
Berechtigung für neue Objekte . *SYSVAL Name, *SYSVAL, *CHANGE...
Objektprotokollierung . . . . . *SYSVAL *SYSVAL, *NONE, *USRPRF...


Habe ich allerdings auch noch nie benutzt.

GG

Pikachu
29-11-13, 12:20
Dieser Wert macht so wie er heißt eigentlich nur bei den RST...-Befehlen Sinn. Wurde dieses Programm wirklich so gewandelt oder kam die Änderung später in den Quelltext rein? Was ermittelt denn ein RTVCLSRC für dieses Programm?

Fuerchau
29-11-13, 12:47
Wenn in der Quelle wirklich CRTLIB mit *SAVASPDEV steht gabs mit Sicherheit einen Umwandlungsfehler.
Wird der Befehl zur Laufzeit zusammengebaut und per QCMDEXC ausgeführt, kann auch das nicht zum Erfolg geführt haben und wurde sicherlich mit MONMSG abgefangen.

Beim CRTLIB kann ich eben bestimmen, in welchem ASP (AuxilaryStoragePool) die Lib angelegt werden soll (wenn man denn mehrer hat).

Daechsle
29-11-13, 13:13
Es stimmt, *SAVASPDEV ergibt bei CRTLIB wirklich keinen Sinn.

Das Programm konnte compiliert werden, weil der Wert nicht direkt, sondern als Variable angegeben war, die sowohl beim CRTLIB als auch beim RSTLIB verwendet wurde.
Ich verwende beim CRTLIB stattdessen jetzt *SYSTEM, damit funktioniert es.

Das Problem ist damit gelöst.
Vielen Dank an alle!