-
Ausnahmebedingung im QSH-Cmd ls
Hallo Forum,
ich habe folgendes Problem:
Eine Funktion in einem CL-Programm (Einlesen des Inhaltes eines IFS-Verzeichnisses mittels
Qsh cmd(‚ls /dirname1/dirname2 > qsys.lib/mylib.lib/filename.file/mbrname.mbr')
hat jahrelang problemlos funktioniert und sendet plötzlich die Fehlermeldung
QSH0007 - Befehlwurde durch eine Ausnahmebedingung beendet.
Im Joblog habe ich noch folgende Ergänzung gefunden
"Deskriptor 0 ist in dem Job nicht zugeordnet"
Hat jemand eine Erklärung dafür bzw. eine Idee, wie ich das lösen kann?
Vielen Dank im Voraus
-
Ggf. ist dein HOME-Verzeichnis (USRPRF) nicht mehr "/", so dass der relative Pfad "qsys.lib" nun nicht mehr greift.
Stelle mal ein "/" vor QSYS.LIB.
-
/qsys.lib/mylib.lib etc. war leider auch nicht erfolgreich.
-
Diesen Text hatte ich übersehen:
"Deskriptor 0 ist in dem Job nicht zugeordnet" deutet auf eine Überschreibung von STDIN hin, die allerdings ungültig ist. Somit ist die Eingabe nicht geöffnet.
Da stellt sich nun die Frage, welchen Fehler das Kommando ursächlich hat um dann auf STDIN zugreifen zu wollen.
Standardmäßig gibt es 3 Deskriporen:
0 = STDIN, umleitbar mit "< /Dir/File"
1 = STDOUT, umleitbar mit "> /Dir/File"
2 = STDERR, umleitbar mit "2 > /Dir/file" oder " 2 > &1"
Wenn also ein Deskriptor nicht zugeordnet ist, hast du ein Ressourcenproblem in deinem Job.
Nun ist du Ursache natürlich schwer zu finden.
Hast du die QSH mal manuell gestartet und den Befehl ausprobiert?
Passiert dies bereits immer beim 1. Mal im Job?
Hast du ggf. aktive Überschreibungen auf oben genannte Dateien?
Letzteres verwende ich z.B. für FTP-Aufrufe um FTP zu automatisieren:
OVRDBF STDIN TOFILE(MYLIB/MYFILE)
OVRDBF STDOUT TOFILE(MYLIB/MYFILE)
OVRDBF STDERR TOFILE(MYLIB/MYFILE)
Damit habe ich dann eine Kette von Befehlen:
OVRxxx
STRFTP
DLTOVR
QSH ...
-
1.) Eingabe qsh und dann in der qsh-Befehlseingabe ls /dirname1 --> funktioniert
2.) Eingabe von qsh cmd('ls /dirname1 > /qsys.lib/ ... ) -->es kommt sofort die Meldung mit der Ausnahmebedingung; unabhängig davon welches Verzeichnis angeführt wird.
3.) Es gibt keine OVR auf die Dateien STDIN, STDOUT , STDERR
Könnte es sein, dass da irgendwelche Log-Einträge erstellt werden, die zu einem Überlauf führen?
Die ls-FUnktion läuft seit Jahren täglich in 15-Miinuten-Abständen...
-
Da bin ich überfragt. Ggf. ist da nun ein IBM-Call aufzumachen.
Vielleicht irgend ein PTF dazugekommen?
-
PTF ist keines dazugekommen; danke für deine Bemühungen. Werde wie vorgeschlagen den IBM-Weg beschreiten.
-
Hallo fpxx,
prüfe mal ob du ein /dev/null hast.
Wenn nicht, dann mach folgendes:
CALL QP2TERM
cd /dev
mknod null c 32769 1
chmod 666 null
MFG Zerberus
MFG Zerberus
-
Hallo Zerberus77,
ich habe nicht einmal ein /dev
Habe /dev angelegt und dann deine Schritte vollzogen.
Bei Schritt "mknod null c 32769 1" bekomme ich dann die Message "mknod: null: Not owner"
-
-
Hallo fpxx,
probier vorher mal ein
CALL QP2TERM
chmod 2775 /dev
MFG Zerberus
MFG Zerberus
-
Hallo Zerberus77,
Leider das selbe Ergebnis --> "mknod: null: Not owner"
LG
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks