[NEWSboard IBMi Forum]
Seite 1 von 2 1 2 Letzte
  1. #1
    Registriert seit
    Jun 2006
    Beiträge
    348

    Question Nachricht CPA4262 empfangen bei Befehl SAVLIB

    Hallo,

    wenn man in einem Batchjob SAVLIB ausführt, aber das Band schreibgeschützt ist wird ja die Nachricht CPA4262 (Datenträger xxx in Einheit TAP01 ist schreibgeschützt (C R)) erzeugt.

    Damit der Job nicht auf MSGW läuft habe ich entsprechend die JOBD angepasst, sodass diese Nachricht automatisch mit C (Cancel) beantwortet wird.

    Jedoch kann ich diese Nachricht nicht mit MONMSG empfangen. Mein CL dazu sieht so aus:

    SAVLIB LIB(XXX) DEV(TAP01)
    MONMSG MSGID(CPF0000) EXEC(DO)
    RCVMSG MSGTYPE(*LAST) MSG(&RETTEXT) MSGID(&RETID)
    ENDDO

    Mit diesen Zeilen empfange ich jedoch nur die Meldung CPF3794 (Sichern/Zurückspeichern ohne Erfolg beendet.) Ich habe auch schon versucht RCVMSG ein zweites Mal auszuführen. Dabei wird jedoch keine Nachricht mehr empfangen.

    Was kann ich tun um die wirkliche Fehlermeldung zu empfangen?

    Gruß
    Matthias Schatte

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.247
    Doch, und zwar die Antwort. Die Nachricht ist dann nochmal davor, also 3. RCVMSG.
    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

  3. #3
    Registriert seit
    Aug 2004
    Beiträge
    923
    Hello,

    mir ist noch nicht ganz klar, was der Sinn dieser ganzen Geschichte sein soll.

    Die CPA könntest Du ja auch direkt abfangen?

    k.

  4. #4
    Registriert seit
    Sep 2006
    Beiträge
    162
    Vorausgesetzt du hast das richtige iSeries Release, schau dir die API QTARDSTS an. Damit ermittelst du (vor dem SAV.. Befehl) ob das Band schreibgeschütz ist.

    Gruß
    DVE

  5. #5
    Registriert seit
    Jun 2006
    Beiträge
    348
    Den CPA kann ich leider nicht direkt abfangen. Das habe ich bereits versucht. Leider springt er darüber.

    Ich benötige die Fehlermeldung und die MSGID jeweils in einer Variable.

    Ich hab V5R3 als Release.

  6. #6
    Registriert seit
    Sep 2006
    Beiträge
    162
    Bei dem Release kein Problem. Du schreibst Programm in dem du die API aufrufst und ermittelst damit vor dem SAV.. Befehl ob das Band ein Schreibschutz hat.
    Damit brauchst du den SAV.. Befehl bei Schreibschutz nicht aufzurufen, oder ??

    Gruß
    DVE

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.247
    Wenn du das testest (STRDBG), dann schau doch mal ins Joblog wo die Nachricht steht.

    Ggf. kann man auch selber per SNDPGMMSG eine Nachricht ins Joblog stellen, erhält eine KEYVAR zurück und empfängt eben ab KEYVAR alle folgenden Nachrichten (*NEXT) bis zum Ende.
    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

  8. #8
    Registriert seit
    Jun 2006
    Beiträge
    348
    Leider bin ich mit der API Programmierung im Moment noch nicht so vertraut. Muss ich mir mal anschauen.

    3 mal RCVMSG hat leider nicht funktioniert.
    Kann das sein, dass man mit RCVMSG nur Nachrichten empfangen kannn, die man auch mit MONMSG abfangen könnte?
    CPA4262 konnte ich ja nicht mit MONMSG abfangen.

    PS: Danke schonmal für eure schnellen Antworten!

  9. #9
    Registriert seit
    Sep 2006
    Beiträge
    162
    Willst du das Programm (incl. Source) haben ??
    Gruß
    DVE

    Kostenlos 'latürlich

  10. #10
    Registriert seit
    Jun 2006
    Beiträge
    348
    Ich habe jetzt meinen Breakpoint an der Stelle gesetzt wo SAVLIB ausgeführt wird. Nach dem ich nun einen Schritt weiter gehe sieht mein Joblog so aus:

    6>> call lgsavlib
    Datenträger MAT in Einheit TAP01 ist schreibgeschützt. (C R)
    ? C
    Abbruchantwort auf Nachricht CPA4262 empfangen.
    Sichern/Zurückspeichern ohne Erfolg beendet.
    Schritt in Zeile 45 beendet.

    Als nächstes wird das erste RCVMSG ausgeführt. Das joblog sieht dann so aus:
    6>> call lgsavlib
    Datenträger MAT in Einheit TAP01 ist schreibgeschützt. (C R)
    ? C
    Abbruchantwort auf Nachricht CPA4262 empfangen.
    Schritt in Zeile 46 beendet.

    Man sieht, dass die empfangene Nachricht entfernt wurde. Danach kommen noch 2 weitere RCVMSG, bei denen jedoch die Variablen alle nicht mehr gefüllt werden und sich auch das Joblog nicht mehr verändert.



  11. #11
    Registriert seit
    Jun 2006
    Beiträge
    348
    Zitat Zitat von DVE
    Willst du das Programm (incl. Source) haben ??
    Gruß
    DVE

    Kostenlos 'latürlich
    Ja gerne. In die API Programmierung wollte ich mich sowieso mal einarbeiten.

    Kannst du das in einem CL oder Cobol Programm schicken oder nur als RPG Programm?

  12. #12
    Registriert seit
    Sep 2006
    Beiträge
    162
    Das Programm ist in RPG. API in CL zu Programmieren ist für mich immer ein Grauen (wegen den binären Variablen).
    Schicke mir eine Nachricht mit deiner eMail Adresse und du erhälst spätestens Morgen, Programm und Source.

    Gruß
    DVE

Similar Threads

  1. Frage zum Befehl STRPCCMD
    By stoerfang in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 24-01-13, 10:27
  2. Nachricht CPDB053 beim Zugriff auf Windows Freigabe
    By schatte in forum NEWSboard Windows
    Antworten: 7
    Letzter Beitrag: 21-11-06, 11:37
  3. Befehl zum Konvertieren DDS in SQL
    By deni87991 in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 31-08-06, 12:05
  4. SQL Befehl?
    By mikex01 in forum IBM i Hauptforum
    Antworten: 9
    Letzter Beitrag: 01-06-06, 11:55
  5. Fehler im CPY Befehl
    By NEich in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 10-05-06, 08:42

Berechtigungen

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