PDA

View Full Version : Cl zur Beantwortung von MSGW's



andyheim
20-01-09, 11:28
Hallo,
hat jemand eine Idee, wie ein Programm zur automatischen Beantwortung von bestimmten MSGW's aussehen kann.
Ich möchte auf spezielle Nachrichten verschieden reagieren und MSGW's über das PGM dann auch beantworten lassen, nachdem ich meine Aktionen per PGM durchgeführt habe.

Mir geht es hier speziell um das Filtern der zur Beantwortung anstehenden Fehlermeldungen und die entsprechende Beantwortung dieser.

Danke für Eure Hilfe und Euer Input
Gruss
Andy

angelone
20-01-09, 11:33
wir haben hier einen monitorjob, der überwacht die qsysopr meldungen und wenn was ist, gibts eine meldung an die it

automatisch beantworten wäre da auch drin, aber das machen wir hier nicht.

der job arbeitet extrem gruselig
der macht ein "dspmsg qsysopr *print" und arbeitet den spool durch.

ich bin momentan dabei den job auf apis umzubauen, da das konzept vor 15 jahren als das programm geschrieben wurde evtl. mal schön war, mittlerweile aber eher nimmer.

ich denke nur mit CL wirst du das eh nicht hinkriegen.
da programmierst du dich zu tode mit den ganzen substrings und api aufrufen

andyheim
20-01-09, 11:47
Genau sowas habe ich auch, war nicht so schlimm.
Nur wie kann ich dann die Fehlermeldungen aus dem CL beantworten?

Wenn Du das mit dem API hast, wäre nett das zu verteilen!!
Danke

andyheim
20-01-09, 16:05
also,
das mit dem API QUSLJOB habe ich hinbekommen. Allse MSGW werden mir angezeigt/zurück gegeben.

Nur will ich ja auf verschiedene Fehlermeldungen unterschiedlich reagieren.
Woher bekomm ich denn nun den MSGKEY her um per SNDRPY die Nachricht zu beantworten?

Danke für Eure Hilfe
Andy

angelone
21-01-09, 08:22
ich denke du solltest die nachrichten mit

http://publib.boulder.ibm.com/infocenter/iseries/v5r3/index.jsp?topic=/apis/QMHLJOBL.htm

durchlesen.

die api gibt dir alles zurück, was du brauchst zum beantworten


midrange.com -- MIDRANGE-L -- Re: QMHLJOBL API Example? (http://archive.midrange.com/midrange-l/199810/msg00146.html)
auf den ersten blick, ist das hier n passendes beispiel

Robi
22-01-09, 17:39
Schaut Euch mal STRWCH an
der hilft Euch (ab V5R4)

Robi

svente
06-03-09, 10:35
Danke für die Tips. Ich werde mich dann mal durch das iSeries Information Center, Version 5 Release 4 kämpfen.
Wenn ich was brauchbares draus gemacht habe, dann kann ich es ja mal hier posten.

Schönes Wochenende.

kitvb1
09-03-09, 14:52
Du kannst diese in CL nutzen, es klappt wundäboar. :) Das Auto-Reply wird nach Program lauf gelöscht.

DCL VAR(&SYSRPYCRT) TYPE(*LGL) LEN(1) VALUE('0')
DCL VAR(&JOBRPY) TYPE(*CHAR) LEN(10)
DCL VAR(&RPLYSEQ) TYPE(*DEC) LEN(4 0) VALUE(5555)
...
RTVJOBA INQMSGRPY(&JOBRPY)
CHGJOB INQMSGRPY(*SYSRPYL)
A32B2RETRY: CHGVAR VAR(&RPLYSEQ) VALUE(&RPLYSEQ + 1)
ADDRPYLE SEQNBR(&RPLYSEQ) MSGID(CPA32B2) RPY('I')
MONMSG MSGID(CPF2555) EXEC(GOTO CMDLBL(A32B2RETRY))
CHGVAR VAR(&SYSRPYCRT) VALUE('1')
...
do stuff
...
IF COND(&SYSRPYCRT *EQ '1') THEN(DO)
RMVRPYLE SEQNBR(&RPLYSEQ)
MONMSG MSGID(CPF0000)
CHGJOB INQMSGRPY(&JOBRPY)
ENDDO