View Full Version : SNDBRKMSG an Benutzer senden ?
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
Hallo,
wie wäre es denn mit "sndmsg" ?
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 ...
@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
[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
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
Super vielen Dank hat mit sehr geholfen