Anmelden

View Full Version : SNDBRKMSG an Benutzer senden ?



Herbie
22-07-04, 13:19
Hallo
Wir haben jeden Tag einige Abschlüsse und dann soll an bestimmte User eine art SNDBRKMSG gesendet werden, damit diese wissen, dass der Abschluß fertig ist. Danch können Sie dann wieder in der Anwendung arbeiten. Im Standard kann ich mit SNDBRKMSG nur eine Nachricht an eine Datenstation schicken und nicht an ein Benutzer. In meinem Fall sind es ca. 10 Benutzer die den gleichen Text bekommen sollen. Das API Programm QEZSNDMG nützt mir nichts, weil ich das nicht in einem CL-Programm aufrufen kann. Kann mir hier jemand weiterhelfen ?

Vielen Dank

TARASIK
22-07-04, 13:35
Hallo,
wie wäre es denn mit "sndmsg" ?

Fuerchau
22-07-04, 13:35
Natürlich kannst du auch API's aus CLP aufrufen.
Für die Binär-Angaben verwendest du die Funktion %BIN(&VAR pos len), wobei "pos" die Position (default 1) im Feld und "len" die Länge (2- oder 4-Byte, default 4) angibt.

Also:
dcl &msgtp *char 10 '*INFO'
dcl &delmod *char 10 '*BREAK'
dcl &msgtext *char 512
dcl &msglen *char 4
dcl &usrlst *char 250
dcl &nbrusr *char 4
dcl &msgind *char 4
dcl &funreq *char 4
dcl &errcod *char 8 x'0000000000000000'

chgvar &msgtext ('Nachricht ......')
chgvar %bin(&msglen) 80
chgvar &usrlst ('USER1.....USER2.....')
chgvar %bin(nbrusr) 2

call QEZSNDMG parm(&msgtp &delmod ...

Fuerchau
22-07-04, 13:38
@TARASIK
SNDMSG gibt eben keine Durchbruchnachricht an den User !

API-Beschreibung:
http://publib.boulder.ibm.com/iseries/v5r2/ic2924/info/apis/QEZSNDMG.htm

This API combines the functions of the Send Message (SNDMSG) and Send Break Message (SNDBRKMSG) commands. In addition, it provides the ability to:

Send inquiry messages to more than one user
Send break messages to user profiles
Send break and inquiry messages to all active users
Send nonbreak and inquiry messages to display stations

Herbie
23-07-04, 09:05
[Hallo Fuerchau

Vielen Dank für die Hilfe , klappt auch schon, allerdings wie kann ich das Programm in eine CL aufrufen , dass im Batch läuft. Geht das Überhaupt ?

Danke

Pikachu
23-07-04, 09:33
Hallo Herbie!

Ja das geht, du musst dazu noch die optionale Parameter-Gruppe 2 angeben. Darin sind 3 Parameter enthalten.




1. Parameter: CHAR(1) VALUE(N) /* Bedienerführung nicht anzeigen */
2. Parameter: CHAR(20) VALUE('QSYSOPR *LIBL ') /* Antwort-MSGQ */
3. Parameter: CHAR(4) VALUE(*USR) /* Benutzertyp */

Diese Parameter gibtst du einfach hinter dem Fehlercode-Parameter an das Programm QEZSNDMG weiter.

Viele Grüße
Jürgen

Herbie
23-07-04, 12:44
Super vielen Dank hat mit sehr geholfen