[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Jan 2021
    Beiträge
    26

    OPENDIR, READDIR, CLOSEDIR

    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 ...

  2. #2
    Registriert seit
    Nov 2020
    Beiträge
    315
    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.

  3. #3
    Registriert seit
    Jan 2021
    Beiträge
    26
    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 ..

  4. #4
    Registriert seit
    Nov 2020
    Beiträge
    315
    Folgendes müsstest du im Programm einbinden:

    Code:
    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.

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Wenn es wie du sagst seit Jahren läuft, kann es nur an Berechtigungen liegen.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  6. #6
    Registriert seit
    Jan 2021
    Beiträge
    26
    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 .

  7. #7
    Registriert seit
    May 2002
    Beiträge
    1.121
    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

  8. #8
    Registriert seit
    Nov 2020
    Beiträge
    315
    ... 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

  9. #9
    Registriert seit
    Jan 2021
    Beiträge
    26
    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 ...

  10. #10
    Registriert seit
    Jun 2001
    Beiträge
    1.973
    strqsh
    pwd

    fettich
    (Auffüllung wegen 20 Zeichen ...)
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

  11. #11
    Registriert seit
    Nov 2020
    Beiträge
    315
    Zitat Zitat von Andreas_Prouza Beitrag anzeigen
    Am Besten lässt du dir den Pfad (auf das Byte genau) ausgeben und probierst mit WRKLNK ganz genau diesen Pfad in Hochkomma aufzurufen.
    Wie gesagt, am besten Copy-Paste und testen.
    Und gibst vor und nach dem Pfad noch ein Zeichen mit aus um sicher zu sein, dass da nichts verstecktes dabei ist.

    Wenn du den Slash am Anfang hast, dann ist das Current Directory hinfällig.
    Im Benutzerprofil ist ein Home-Verzeichnis hinterlegt und ist beim Start einer Session das Current Directory und kann jederzeit geändert werden.
    Meist ist zwas bei den Usern ein Home-Verzeichnis hinterlegt (mit /home/{username}) jedoch existiert dieses Verzeichnis meistens nicht.

    lg Andreas

  12. #12
    Registriert seit
    Jan 2021
    Beiträge
    26
    hab mit DSPCURDIR das Directory geprüft .. ist unterschiedlich ..
    in der source ...
    pfad ist in länge 70 definiert ,
    dirname = 100
    dirname als entry empfangen (/xxxxxxx/xxxxx/xxxxx);
    pfad = %trimr(dirname) + null
    der aufruf erfolgt mit opendir(%addr(pfad));

Similar Threads

  1. OpenDir, ReadDir, CloseDir
    By Frank ter Duis in forum NEWSboard Programmierung
    Antworten: 8
    Letzter Beitrag: 17-09-14, 16:04

Tags for this Thread

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •