[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Dec 2005
    Beiträge
    131

    CPYTOSTMF in "/home/..."

    Hallo liebe Helfer!
    Ich will in einem CL-Programm einen relativ einfach gestrickten Befehl einsetzen:
    CPYTOSTMF (mit folgenden Parametern)
    CHGVAR VAR(&DBPFAD) VALUE('qsys.lib/' *TCAT &BIBL *TCAT '.lib/' *TCAT &DATEI *TCAT '.file/' *TCAT &MEMBER *TCAT '.mbr')

    CHGVAR VAR(&ZIELPFAD) VALUE('mail/' *CAT &ANHA)

    CPYTOSTMF FROMMBR(&DBPFAD) TOSTMF(&ZIELPFAD) STMFCODPAG(*PCASCII)

    Leider kommt eine Fehlermeldung "Objekt ist kein QSYS.LIB-Objekt. Das Objekt ist
    /home/USER/qsys.lib/LIB1.lib/FILE.file/MBR1.mbr"

    Wieso wird das /home/USER vorangestellt?
    Wo konfiguriere ich diese Einstellung ggf.?
    Denn interessanterweise läuft das Programm durch, wenn es jemand anderes aufruft!

  2. #2
    Registriert seit
    Nov 2003
    Beiträge
    2.307
    Da fehlt ein / (Schrägstrich) vor qsys.lib

  3. #3
    Registriert seit
    Dec 2005
    Beiträge
    131
    Das klingt auf den ersten Blick logisch...
    aber warum funktioniert es trotzdem bei anderen Usern?

  4. #4
    Registriert seit
    Nov 2003
    Beiträge
    2.307
    Wenn als aktuelles Verzeichnis / eingestellt ist, geht das natürlich. Sieh mal bei den betreffenden Benutzerprofilen nach (DSPUSRPRF), was da als "Benutzerverzeichnis" eingestellt ist. Eventuell wird von diesen Bentzern irgendwo auch ein cd / abgesetzt.

  5. #5
    Registriert seit
    Dec 2005
    Beiträge
    131
    Auch das wäre logisch...wäre, denn bei beiden Benutzern steht
    "/home/USER" im Benutzerverzeichnis.
    Und ein cd / wird auch nicht abgesetzt, denn wenn ich z.B. das Programm mit den o.g. Befehlen als SBMJOB unter dem anderen Benutzer laufen lasse, klappt es auch.
    Mystisch, oder?

  6. #6
    Registriert seit
    Nov 2003
    Beiträge
    2.307
    Wenn es das entsprechende Arbeitsverzeichnis nicht gibt, wird / als Arbeitsverzeichnis genommen (sowas steht zumindest im Hilfetext zum Parameter "Arbeitsverzeichnis" beim WRKUSRPRF und DSPUSRPRF). Mach mal WRKLNK bei den betreffenden Benutzern und guck mal in welchem Verzeichnis du landest.

  7. #7
    Registriert seit
    Dec 2005
    Beiträge
    131
    Das ist tatsächlich unterschiedlich...
    bei mir: /home/USER
    bei "dem anderen": /

    Ist denn das Benutzerverzeichnis = Arbeitsverzeichnis?
    Und wenn ja: warum steht beim DSPUSRPRF dennoch bei beiden quasi das gleich, in Wirklichkeit arbeitet das System aber mit anderen Werten?

    Ich habe es auf jeden Fall mal auf / geändert und teste jetzt.

  8. #8
    Registriert seit
    Nov 2003
    Beiträge
    2.307
    Also vor qsys.lib muß auf jeden Fall ein / egal was als Benutzerverzeichnis oder Arbeitsverzeichnis bei den Benutzern eingetragen ist!

    Sind denn die ganzen Benutzerverzeichnisse wirklich im Dateisystem vorhanden oder gibt's da einige vielleicht nicht (sieh' mal nach mit WRKLNK)?

  9. #9
    Registriert seit
    Dec 2005
    Beiträge
    131
    Ich glaube, da liegt der Hund begraben.
    Mein Verzeichnis gibt es unter /home.
    "Die anderen" sind nicht vorhanden...

    Somit wird bei Nicht-Finden wahrscheinlich die Root verwendet, oder?

    Wir ändern auf jeden Fall den Eintrag mit /qsys.

    Wenn man weiß, wo man suchen muss, ist es ja richtig einfach

  10. #10
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Bei Nicht-Finden gibts immer eine Escape-Nachricht !
    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

  11. #11
    Registriert seit
    Nov 2003
    Beiträge
    2.307
    Im Hilfetext zum Parameter "Benutzerverzeichnis" beim Befehl DSPUSRPRF steht folgendes:
    Das Benutzerverzeichnis ist das Anfangsarbeitsverzeichnis des Benutzers für das Integrated File System (Integriertes Dateisystem). Das einem Prozess zugeordnete Arbeitsverzeichnis wird für die Auflösung von Pfadnamen verwendet, die nicht mit einem Schrägstrich (/) beginnen. Ist das im Benutzerprofil angegebene Benutzerverzeichnis bei der Anmeldung nicht vorhanden, ist das Stammverzeichnis (/) das Anfangsarbeitsverzeichnis.

Similar Threads

  1. CPYTOSTMF
    By Joe in forum IBM i Hauptforum
    Antworten: 24
    Letzter Beitrag: 16-05-07, 13:05
  2. CPYTOSTMF
    By hell in forum IBM i Hauptforum
    Antworten: 18
    Letzter Beitrag: 19-01-06, 11:53
  3. CPYTOSTMF
    By KaFi in forum NEWSboard Programmierung
    Antworten: 6
    Letzter Beitrag: 02-06-05, 13:34
  4. Fehlermeldung CPFA0A8 bei CPYTOSTMF
    By Günter Majewski in forum IBM i Hauptforum
    Antworten: 7
    Letzter Beitrag: 06-07-04, 10:02
  5. CPYTOSTMF / Zugriff auf Verz. in Root
    By Frank Wagner in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 26-04-04, 17:05

Berechtigungen

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