View Full Version : TFRJOB aus Startprogramm
oopsy-dear
22-02-10, 12:13
Wir möchten benutzerabhängig Jobs bei der Anmeldung in verschiedene (interaktive) Subsysteme transferieren. Im Startprogramm des Benutzers wird dann der TFRJOB aufgerufen. Der Job schleift aber endlos, d.h. dieses Startprogramm scheint permanent aufgerufen zu werden. Was ist da falsch organisiert?
In welche Jobwarteschlange wird denn der Job übertragen, welchem Subsystem ist diese zugeordnet und welcher Leitwegeintrag wird dort gefunden?
Es ist gut, dass die source des Startprogramms nicht bekannt ist. So können wir wieder fröhlich das "wir stochern mit der langen Stange im Nebel" spielen, was hier in den Foren besonders beliebt ist.
So geht es, wenn QPGMR das gewünschte sbs ist:
dcl &intjobid *char 16 ' '
dcl &qjob *char 26 '*'
dcl &rcvvar *char 256
dcl &sbs *char 10
call qUsrJobI ( +
&rcvVar /* Receiving variable */ +
X'00000100' /* Recv variable length (256) */ +
'JOBI0200' /* API data format */ +
&qJob /* Job name */ +
&intJobId /* Internal job identifier */ +
)
chgVar &sbs %SST( &rcvvar 63 10 )
if (&sbs *ne 'QPGMR') then(do)
strSbs sbsD(qpgmr)
monMsg cpf0000
tfrJob jobQ(qpgmri)
monMsg cpf0000
endDo
Rolf
Wir möchten benutzerabhängig Jobs bei der Anmeldung in verschiedene (interaktive) Subsysteme transferieren. Im Startprogramm des Benutzers wird dann der TFRJOB aufgerufen. Der Job schleift aber endlos, d.h. dieses Startprogramm scheint permanent aufgerufen zu werden. Was ist da falsch organisiert?
So was habe ich schon öfters realisiert.
Aber ohne die Source Deines CL-Programms können wir nur rätseln.
Deswegen sag ich lieber nix. :rolleyes:
Wichtig ist abei doch nur, zu kontrollieren, daß das Startprogramm
den Job nicht immer wieder transferriert. Wie oben:
if (&sbs *ne 'QPGMR') then(do) ...
oder
if (&sbs *EQ'QINTER') then(do) ...
oopsy-dear
22-02-10, 13:20
Danke für Deine Hilfe Rolf! Ich wusste nur nicht, wie ich das rufende SBS abprüfen konnte. Ich kannte die API QUSRJOBI nicht!
Fliegt jetzt!