PDA

View Full Version : Suche API: Bildschirm eines Benutzers



stadt-soltau
03-03-03, 10:47
Hallo, ich suche eine Möglichkeit, um für einen angemeldeten Benutzer einen Sitzungsnamen zu finden, an den dann eine Durchbruchsnachricht gesendet werden kann.
Bekannt ist nur der Benutzername, keine Jobnummer o.ä.
Vermutlich läuft die Suche auf ein API, rufbar aus einem CL-Programm hinaus.

Danke erstmal fürs Zuhören.

malzusrex
03-03-03, 11:14
spontan fällt da mir nur ein, in einem cl-proggi

wrkusrjob BENUTZERNAME *active *print

den spool mit cpysplf in eine datei kopieren

die datei dann mit einem kleinen proggie auswerten

tschau ronald

rmittag
03-03-03, 11:25
<BLOCKQUOTE><font size="1" face="Verdana, Arial">Zitat:</font><HR>
... auf ein API ...
[/quote]

QUSLJOB
http://publib.boulder.ibm.com/pubs/html/as400/v4r5/ic2924/index.htm?info/apis/qusljob .htm (http://publib.boulder.ibm.com/pubs/html/as400/v4r5/ic2924/index.htm?info/apis/qusljob.htm)

gibt in etwa dieselben infos wie WRKUSRJOB

<BLOCKQUOTE><font size="1" face="Verdana, Arial">Zitat:</font><HR>
... rufbar aus einem CL-Programm hinaus
[/quote]

leider nicht, das API füllt einen user space

Gruß
Rolf

[Dieser Beitrag wurde von rmittag am 03. M&auml;rz 2003 editiert.]

B.Hauser
03-03-03, 12:08
Wenn es Dir nur darum geht eine Durchbruch-Nachricht an einen Benutzer zu schicken, kannst Du das API QEZSNDMG benutzen.

Rufst Du das API direkt von der Befehlszeile ohne Parameter auf, erhälst Du eine Eingabe-Maske.

Birgitta

malzusrex
03-03-03, 12:40
hier ein kleines anregungsbeispiel
cl-proggie
[code]
pgm (&user &msg)

/* Variablen deklarieren */
dcl &user *char 10
dcl &msg *char 100


/* Work-File löschen */
dltf qtemp/userjob
monmsg cpf0000

/* Work-File erstellen */
crtpf qtemp/userjob rcdlen(132)
monmsg cpf0000

/* Benutzer-Jobs ermittel */
wrkusrjob &user *active *print

/* SpoolFile kopieren */
cpysplf qpdspsbj qtemp/userjob splnbr(*last)

/* SpoolFile löschen */
dltsplf qpdspsbj splnbr(*last)

/* Msg senden */
call sendmsg (&user &msg)



endpgm
</font><HR><pre>
</BLOCKQUOTE>
und hier das rpg-proggie sendmsg
[code]
h dftactgrp(*no) bnddir('QC2LE')

fuserjob if f 132 disk

d system pr 10i 0 extproc('system')
d * value options(*string)

d user s 10a Benutzer
d msg s 100a Nachricht
d cmdstring s 255a

iuserjob rm 01
i 1 132 zeile

c *entry plist
c parm user
c parm msg
c
c read userjob
c dow not %eof(userjob)
c if %scan('INTER':zeile) > *zeros
c eval cmdstring = 'sndbrkmsg ''' +
c %trimr(msg) + ''' ' +
c %subst(zeile:4:10)
c callp system(cmdstring)
c
c endif
c read userjob
c enddo
c
c eval *inlr = *on
</font><HR><pre>
</BLOCKQUOTE>

tschau ronald



[Dieser Beitrag wurde von malzusrex am 03. M&auml;rz 2003 editiert.]