PDA

View Full Version : Symbolischer Link auf *SAVF in Bibl. QTEMP unter V6R1



Seiten : [1] 2

Peet
28-05-09, 09:55
Hallo zusammen,
bis V5R4 hat folgendes wunderbar funktioniert:
Einmalig dies:
CRTSAVF QTEMP/TRANSFER,
ADDLNK 'qsys.lib/qtemp.lib/transfer.file' 'qtemp_transfer'

und immer, wenn ich dann eine *SAVF als StreamFile hatte, die ich dann zurückspeichern wollte, wie folgt:
cpyfrmstmf ('isfdir/savefile.svf' 'qtemp_transfer')
DIE DATEI QTEMP/TRANSFER musste nicht vorhanden sein, diese
wurde automatisch erstellt !

Seit V6R1 geht das nicht mehr, anlegen des Symbolischen Link schon (wenn, wie vorher auch, die *SAVF TRANSFER in QTEMP vorhanden war), aber alles andere funktioniert nur noch, wenn die *SAVF QTEMP/TRANSFER bereits vorhanden ist.


Hat jemand da eine Info, vielleicht ein Fehler der durch ein PTF behoben wird ??

Bitte nicht FTP, oder *SAVF in einer anderen Bibliothek oder sonstiges empfehlen, die o.g. Vorgehensweise ist seit Jahren bewährt und in vielen Programmen verankert !

Und für alle, die bis V5R4 auf der Büchse haben, wer es noch nicht kannte, ist wirklich eine "geile" Sache !!!

Vielen Dank im Voraus !
Peet

Pikachu
28-05-09, 10:14
Vor qsys.lib fehlt ein /

holgerscherer
28-05-09, 13:45
Hat jemand da eine Info, vielleicht ein Fehler der durch ein PTF behoben wird ??

Schliesse mich Jürgen an, habe aber Deinen Text dreimal gelesen und immer noch nicht kapiert, was Du mit dieser "durch die Brust, an der Wirbelsäule vorbei mitten ins Auge"-Methode erreichen willst...

-h

Peet
28-05-09, 19:34
Vor qsys.lib fehlt ein /

Leider nein, dass hat damit nichts zutun !

Aber vielen Dank !

Neuhauser
29-05-09, 09:21
Das könnte etwas mit dem Parameter HOMEDIR am Benutzerprofil zu tun haben. Möglichkeiten wären Unterschiede beim Benutzerverzeichnis zwischen den beiden Systemen am Benutzerprofil oder ob das Benutzerverzeichnis existiert oder nicht (s. F1-Hilfe).

Pikachu
29-05-09, 10:47
Wird eine Fehlernachricht gesendet? Falls ja, wie heißt sie (CPFxxxx oder ähnlich) und wie ist ihr Text? Gibt es sonst noch irgendwelche Einträge im Jobprotokoll?

Peet
30-05-09, 20:53
Wird eine Fehlernachricht gesendet? Falls ja, wie heißt sie (CPFxxxx oder ähnlich) und wie ist ihr Text? Gibt es sonst noch irgendwelche Einträge im Jobprotokoll?


Ja, aber die sagt nur aus, dass das Objekt (qtemp/transfer) nicht
vorhanden ist.
Manchmal kommt auch der Hinweis auf "Nicht Verwendbarkeit" des
Objektes.

Ich lasse mal bei IBM anfragen, was da los ist.

Vielen Dank !

holgerscherer
30-05-09, 21:43
Und für alle, die bis V5R4 auf der Büchse haben, wer es noch nicht kannte, ist wirklich eine "geile" Sache !!!


Hallo Peet,
es ist meines Erachtens sogar eher ein Bug, dass es bis V5R4 funktioniert hat, denn Du vergewaltigst hier eine LIC-Funktion:
QTEMP ist eine "normale" Bibliothek, deren kompletter Name (inklusive Jobnummer und eindeutiger Adresse) dem Benutzer nur versteckt wird. Intern besteht jeder Bibliotheksname aus einem 30stelligen eindeutigen Code.
Nun Symlinkst Du vom IFS auf diese temporäre Struktur und würdest damit diese als "permanent" festlegen wollen. Das widerspricht aber der Natur der QTEMP-Bibliothek; der Symlink muss ja nach Beenden des Jobs verschwinden.
Tut er auch, aber nur halbherzig - nach dem Beenden des Jobs (der den Symlink auf seine QTEMP setzt), bleibt der Symlink bestehen (File-ID existiert weiterin), verzweigt aber ins leere - das ist schon mal eine Verletzung von SecLvl40. Und ausserdem darf das Ziel eines CPYFRMSTMF nur im QSYS.LIB-System liegen. Das ist ja bei einem Symlink nicht immer zwingend gegeben - also eine Gefahrenquell.

Kurze Schlussfolgerung: lass solche Krücken lieber links liegen. Ich vermute, Dir geht es um das einlesen von Savefiles, die jemand per FTP aufs System ballert. Mach es richtig und lass diese Savefiles gleich nach /qsys.lib/irgendwo.lib schieben. Denn dann wird bereits während des Transfers geprüft, ob das Savefile eine gültige Struktur hat; das beruhigt.

-h

Pikachu
02-06-09, 08:18
Hallo Peet,
Nun Symlinkst Du vom IFS auf diese temporäre Struktur und würdest damit diese als "permanent" festlegen wollen. Das widerspricht aber der Natur der QTEMP-Bibliothek; der Symlink muss ja nach Beenden des Jobs verschwinden.
Es ist doch nur eine symbolische Verbindung, da muß das Objekt auf das sie zeigt nicht vorhanden sein.

Fuerchau
02-06-09, 08:25
QTEMP.LIB wird zur Laufzeit auf den zugreifenden Job aufgelöst.
Lege die SAVF vor dem Zugriff einfach an, dann klappt das auch.