[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    May 2006
    Beiträge
    88

    CPFA097 bei CPYTOSTMF

    Wir kopieren mittels CPYTOSTMF Dateien auf den Folder. Der dazugehöhrige Job kann von verschiedenen Benutzern gleichzeitig benutzt werden, so das es vorkommen kann das zwei Dateien mit gleichen Namen und Inhalt geschrieben werden sollen. Sobald die zweite Datei geschrieben werden soll wird ein Fehler ausgegeben. Die Fehlernummer ist CPFA097. Der Grund hierfür ist mir klar, aber ich möchte den Fehler und nur den Fehler mittels Monitor im RPGLE-Programm abfangen.

    Kann mir wer sagen auf welche ERROR-Kennung ich abfragen muss?

  2. #2
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    Hallo,

    verwendest Du QCMDEXC um den Befehl auszuführen?
    Wenn Ja müsstest Du bei Verwendung der Erweiterung (E) im CALLP, die CPF-Nachricht aus der Programm-Status-Datenstruktur Stelle 40-46 ermitteln und abfagen können.

    PHP-Code:
    D PGMDS          SDS                 
    D  SDSMsgId              40     46   
    D  SDSMsgTxt             91    140

     
    /Free
        CAllP
    (EQCmdExc(.....)
        If %
    Error and SDSMsgId 'CPFA097';
           
    // Source Code
        
    ElseIf %Error;
           
    // Sonstiges Fehlerhandling
        
    EndIf; 
    Ob das auch mit Monitor klappt, müsstest Du ausprobieren, da MONITOR i.d.R. erst die nächste Fehlermeldung (die RPG-Meldung RNXirgendwas) abfangen kann.
    Falls Du die RNX-Nachricht ermitteln kannst, hast Du auch den Status. (einfach die letzten 4 Stellen in der RNX-Message-Id ) Ich vermute allerdings, dass der Status mehr pauschal ist.

    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  3. #3
    Registriert seit
    May 2006
    Beiträge
    88
    Also es ist so:

    Der CPYTOSTMF wird über eine Prozedur in einem Serviceprogramm aufgerufen. Da diese Prozedur auch von anderen Programmen verwendet wird kann ich die Prozedurenschnittstelle nicht ohne weiteres geändert werden. Was ich allerding schon ausprobiert habe ist das ich um den Aufruf der Prozedur einen Monitor gemacht habe. Dies funktioniert auch, nur habe ich dabei jetzt generell alle Fehler die auftreten abgefangen.

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Dann würde ich dir eine Sperrmimik drumrum empfehlen (z.B. DTAARA) um den parallelen Aufruf vorab zu verhindern.
    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

  5. #5
    Registriert seit
    May 2006
    Beiträge
    88
    Vielleicht habe ich nicht weit genug dafür ausgeholt. In die Datei auf dem IFS werden Daten geschrieben die dann zu einem späteren Zeitpunkt von einem PC-Programm abgegriffen werden. Dabei sind diese Dateien aber nur so was wie ein Flag der kennzeichnet das der Satz auf der AS bearbeitet wurde. Es währe auch denkbar dass bei einer zweiten Übertragung die erste Datei gelöscht wird, falls sie schon vorhanden ist.

    Da aus der Prozedur aber nur die beiden Fehler CPFA097 und CPFA085 kommen können(sind die einzigen möglichen Fehlermeldungen des CPYTOSTMF) funktioniert das jetzt schon wenn ich einen Monitor um den Prozeduraufruf setze.

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
  •