Anmelden

View Full Version : OPENDIR, READDIR, CLOSEDIR



Seiten : [1] 2

geschi_01
14-12-21, 12:55
Hallo,

ich habe aktuell mit dem opendir auf der neuen TESTMaschine ein Problem.
Auf der PROD, 7.3 mit java 1.6 funktioniert das öffnen und lesen ohne erkennbare Probleme.
Auf der neuen Test, 7.4 mit java 1.8 scheitert es schon beim öffnen.
Lizenzprogramme sind geprüft und installiert . nichts zu erkennen .
Serviceprogramm QP0LLIB1 auf beiden Maschinen zu finden.
DSPLNK funktioniert auf beiden. Berechtigungen sind geprüft , voller Zugriff definiert.

Gibt es Einstellungen/Definitionen/Systemwerte , die dediziert einzurichten sind , an die möglicherweise nicht gedacht wurde ( z.b. /home/UserProfil , oder Systemwerte Q ) ?

Wir kann ich den Fehler bestimmen ? Im Programm wurde dazu ( leider ) keine Fehlerbehandlung integriert , nur ein Abfrage auf NULL . Wenn diese zutrifft , also das öffnen fehlschlägt , wird eine eigene Programm-Fehler-Meldung angezeigt , der ERRNO nicht ausgewertet .

Wie kann ich die ERRNO auswerten und über diesen Weg versuchen das Problem einzugrenzen ?

Gruß

Danke vorab für eure Hilfe ...

Andreas_Prouza
14-12-21, 14:38
Dies sind C Funktionen und haben mit Java nichts zu tun.
Wenn ich das richtig verstehe ...
Ein Programm ruft ein anderes auf welches eine C-Funktion aufruft und diese wirft einen Fehler wo man nicht weiß was für ein Fehler (nichts im Jobog?, generierte Spools oder sonst was).
Ohne mehr Infos ist es schwer hier was sagen zu können.

geschi_01
14-12-21, 14:46
Im LOG finde ich nichts , da hab ich schon geschaut .
Es muss etwas umgebungsspezifisches sein , denn , auf der PROD funktioniert es ja und dies seit Jahren . Da hat man auch nicht mehr rengeschaut , seit Urzeiten :-)))
Eine meiner Ideen war und ist , die ERRNO auszuwerten , aber Ergebnis offen ....
Die andere , dass durch die Tatsache , dass es sich um eine neue Maschine handelt , es sich , was ich glaube , um eine nicht komplett vollständige saubere Installation handelt , etwas im OS , oder etwas mit Rechten , hier das Problem auslöst . Womöglich dies schon jemand hatte und hier helfen kann ..

Andreas_Prouza
14-12-21, 14:57
Folgendes müsstest du im Programm einbinden:


D get_errno pr * ExtProc('__errno')
D ptrToErrno s *
D errno s 10I 0 based(ptrToErrno)
D strerror pr * ExtProc('strerror')
D errno_val 10I 0 value


ptrToErrno = get_errno();
text = %char(errno);
text2 = %str(strerror(errno));


Wenn beim Opendir NULL zurück kommt, rufst du die get_errno() Prozedur auf und bekommst die Infos.

Fuerchau
14-12-21, 15:14
Wenn es wie du sagst seit Jahren läuft, kann es nur an Berechtigungen liegen.

geschi_01
15-12-21, 08:55
Hallo Andreas ,

danke für das Script . Haben es integriert , hat auf Anhieb geklappt ( danke dafür ) und warten nun auf Feedback .. Der Admin prüft die Berechtigungen , denn laut Meldung ( Fehlercode 3025 ) würde kein Pfad oder Bibliothek mit diesem Namen zu finden sein .

malzusrex
15-12-21, 15:18
Servus,

3025 schmeißt er immer raus, wenn es die Datei (Pfad) so nicht gibt.
Dieser Fehler kommt auch bei einem banalen CPYFRMIMPF, wenn man sich bei dem Namen der Datei im IFS vertippt hat.
Prüfe mal ob es den Pfad und Datei im IFS gibt

Gruß
Ronald

Andreas_Prouza
16-12-21, 06:22
... oder falls ein relativer Pfad angegeben wird und jetzt ein anderes Current Directory gesetzt ist als zuvor.
... oder beim Pfad der Root Slash (/) vergessen wurde
... oder Blanks vorne oder hinten hinterlegt sind und nicht getrimmt wird
... oder das Verzeichniss hinten blanks im Namen hat und deshalb nicht gefunden werden kann
... usw.

Am Besten lässt du dir den Pfad (auf das Byte genau) ausgeben und probierst mit WRKLNK ganz genau diesen Pfad in Hochkomma aufzurufen.

lg Andreas

geschi_01
20-12-21, 11:01
wie kann ich prüfen , ob das current directory , ein anderes ist ?
Slash ist gesetzt , sauber getrimmt ist auch , blanks hat das Verzeichnis nicht ,
denke das current directory , dies wirds sein ...

Robi
20-12-21, 11:08
strqsh
pwd

fettich
(Auffüllung wegen 20 Zeichen ...)