-
Kommando SNDRPY funktioniert nicht
Ich bin relativ neu in der IBM i Welt unterwegs und bin dabei ein CL Programm zu erstellen
welches im Batch laufen soll.
Problem habe ich mit dem Kommando SNDRPY.
Ich möchte Journale löschen. Falls diese noch nie gesichert wurden soll die Meldung
mit "C" automatisch beantwortet werden falls CPA7025 erscheint.
DLTJRNRCV JRNRCV(SAPSJ1RNL/QSQJRN*) DLTOPT(*NONE)
MONMSG MSGID(CPA7025) EXEC(SNDRPY MSGKEY(7025) +
MSGQ(QSYS/QSYSOPR) RPY('C'))
Beim Start im Batch wird die Fehlermeldung in die Message-Queue QSYSOPR/QSYS geschrieben.
Der MONMSG bzw. SNDPRY Befehl scheint nicht zu funktionieren.
Mache ich hier etwas falsch , z.B. bzgl. Message-Key ( 7025 ???? )
---> F1
-
Das ist auch kein Wunder.
Der DLTJRNRCV sendet die Nachricht an QSYSOPR und wartet auf die Antwort.
Dadurch kann dein MONMSG auch nicht wirken.
Ein SNDRPY geht nur, wenn man per RCVMSG vorher den MSGKEY einer Nachricht besorgt hat.
Um Nachrichten beantworten zu lassen, selber geht das nämlich nicht, muss man einen CHGJOB INQMSQRPY durchführen.
Hier gibt es 3 EInstellungen:
*RQD geht an den Requestor (Dialog oder QSYSOPR).
*DFT beantwortet mit dem Default der Nachricht
*SYSRPYL mit einer definierten Antwort.
*RQD hast du ja schon kennengelernt.
*DFT wird nicht helfen, da der Default wohl eher "C" für Cancel ist (siehe DSPMSGD)
Die einzige Chance ist *SYSRPYL.
Dies ist die Systemantwortliste, die per WRKRPYLE bearbeitet werden kann.
Hier kann man dann die von Default abweichende Antwort hinterlegen.
-
DLTJRNRCV DLTOPT(*IGNINQMSG) ist Dein freund.
D*B
-
DLTJRNRCV DLTOPT(*IGNINQMSG) löscht alle Jounale, auch die noch nicht gesicherten.
Ich möchte nur die Funktion im BATCH nachstellen die ich im DIALOG bekomme.
Also: Automatisches "C" setzen falls CPA7025 hochkommt damit der Job abgebrochen wird.
Reinhard Doeker
-
... dann zieht Baldurs CHGJOB (oder passende JOBD verwenden).
D*B
-
Also mit der Systemantwortliste funktioniert es.
Nur muss man dafür sorgen wenn zur Laufzeit CHGJOB INQMSQRPY abgesetzt wird die älteren Jobs
gelöscht sind ansonsten erhält man Meldung "doppelte Jobs....).
Bei SNDRPLY im CL habe ich folgendes probiert:
1) Message CPA7025 manuell erzeugt:
SNDPGMMSG MSGID(CPA7025) MSGF(QSYS/QCPFMSG) TOMSGQ(QSYS/QSYSOPR) MSGTYPE(*INQ)
DLYJOB DLY(5)
RCVMSG MSGQ(QSYS/QSYSOPR) MSGTYPE(*LAST) RMV(*NO) KEYVAR(&MSGKEY) MSGID(&MSGID)
IF COND(&MSGID *EQ 'CPA7025') THEN(DO)
SNDRPY MSGKEY(&MSGKEY) MSGQ(QSYS/QSYSOPR) RPY('C')
Hier funktioniert das Beantworten der Nachricht !
2) Lösch-Befehl ausgeführt der CPA7025 erzeugt:
DLTJRNRCV JRNRCV(SAPSJ1JRN/QSQJRN*) DLTOPT(*NONE)
DLYJOB DLY(5)
RCVMSG MSGQ(QSYS/QSYSOPR) MSGTYPE(*LAST) RMV(*NO) KEYVAR(&MSGKEY) MSGID(&MSGID)
IF COND(&MSGID *EQ 'CPA7025') THEN(DO)
SNDRPY MSGKEY(&MSGKEY) MSGQ(QSYS/QSYSOPR) RPY('C')
Hier klappt es nicht obwohl CAP7025 ebenfalls in der QSYSOPR steht.
Reinhard Doeker
-
Der CHGJOB sollte im eigenen Job durchgeführt werden, da (*) keine Duplikate bringt.
Was deinen DLT angeht, so stimmt das Muster in der Antwortliste nicht überein.
-
Sorry, verstehe ich nicht.
Im CL-Programm setze ich folgende Befehl ab: CHGJOB JOB(SAVE_JRN) INQMSGRPY(*SYSRPYL)
SAV_JRN ist ein gegeplanter Job.
Lasse ich den Job im Batch laufen ist alles soweit ok.
Bei einem zweiten Start erhalte ich Fehler:
Nachricht . . . : (C D I R) CPF1332 von SAVE_JRN_Y bei 200
Fehler bei Anweisung 2000 festgestellt. Der Nachrichtentex
Ende der doppelten Jobnamen..
In der Spool stehen Einträge vom ersten Job:
Datei Benutzer Warteschl. Ben.-Daten
QPDSPJOB DOEKREIN BETRX
QPPGMDMP DOEKREIN QEZDEBUG
QPJOBLOG DOEKREIN QEZJOBLOG SAVE_JRN
Dewegen lösche ich im CL als erstes mit DLTSPLF FILE(*SELECT) SELECT(DOEKREIN) die Dateien.
Der löscht dann aber auch alles, was eigentlich auch nicht sein soll.
Wie wären denn die richtigen Parameter beim CHGJOb Befehl ?
-
CHGJOB INQMSGRPY(*SYSRPYL)
-
Danke an beide, funktioniert nun.
-
Wie ich sagte, JOB(*) => Default, ist immer der eigene!
Similar Threads
-
By HELROHA in forum IBM i Hauptforum
Antworten: 5
Letzter Beitrag: 21-08-17, 08:07
-
By a.wojcik in forum NEWSboard Programmierung
Antworten: 7
Letzter Beitrag: 09-06-16, 16:14
-
By hs in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 31-01-14, 11:49
-
By JonnyRico in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 03-03-03, 08:59
Tags for this Thread
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks