View Full Version : prüfen ob Job schon läuft
sorry,
hast natürlich recht.
vergiss die letzte Frage von mir einfach
(war wohl mit meinen Gedanken mom. wo anders) :-(
hab grad mal so wegen JobQ's (zum Testen, etc.) geschaut!
(hat zwar nicht's mit dem eigentlichen Thema zu tun, interessiert mich aber trotzdem)
haben hier auf unserem System eine JobQ mit Namen "QNIGHT" die aber nirgends (außer mit dem Befehl wrkobj) auftaucht!
(ist auch nicht eingens von erstellt sonder mit User "QSYS")
was hat es mit der auf sich?
Das kann ich dir auch nicht beantworten.
Wo diese verwendet wird, müsstest du sämtliche SBS durchsuchen.
Bei mir gibts die nicht.
ThomasJoachimFuchs
31-05-10, 11:48
Das geht mit dem API qwcrjbst
:
pgm /* Display Job Status */
copyright text('(C) Copyright APL Services 2010-05-28')
dcl &brk *char 001
dcl &ds *char 060
dcl &dslen *int 004 60
dcl &hexnull4 *char 004 x'00000000'
dcl &job *char 010
dcl &jobq *char 010
dcl &jobqlib *char 010
dcl &jobsts *char 010
dcl &msgdta *char 256
dcl &msgf *char 010
dcl &msgflib *char 010
dcl &msgid *char 007
dcl &nbr *char 006
dcl &qualjobnam *char 026
dcl &qusbavl *char 004 x'00000000'
dcl &qusbprv *char 004 x'0000003C'
dcl &qusec *char 004 x'00000000'
dcl &sndmsg *lgl value('0')
dcl &user *char 010
rtvjoba user(&user)
chkobj qgpl/&user *dtaara
monmsg CPF9801 exec(do)
crtdtaara dtaara(qgpl/&user) type(*lgl) value('0') aut(*all)
enddo
chgdtaara qgpl/&user value('0')
sbmjob cmd(call pgm(dspjobtstc)) job(dspjobsts) jobq(&user) hold(*yes)
rcvmsg msgtype(*last) rmv(*yes) msgdta(&msgdta) msgid(&msgid) +
msgf(&msgf) msgflib(&msgflib)
chgvar &brk ' '
if cond(&msgid = 'CPC1221') then(do)
chgvar &job &msgdta
chgvar &nbr %sst(&msgdta 21 6)
chgvar &jobq %sst(&msgdta 27 10)
chgvar &jobqlib %sst(&msgdta 37 10)
chgvar &qualjobnam (&job *cat &user *cat &nbr)
call qwcrjbst parm(&ds &dslen &qualjobnam 'JOBS0300' &qusec)
chgvar &jobsts %sst(&ds 9 10)
chgvar &brk ' '
rlsjob job(&nbr/&user/&job)
chgvar &qusbavl x'00000000'
dlyjob dly(10)
call qwcrjbst parm(&ds &dslen &qualjobnam 'JOBS0300' &qusec)
chgvar &jobsts %sst(&ds 9 10)
chgvar &brk ' '
chgdtaara dtaara(qgpl/&user) value('1')
dlyjob dly(10)
chgvar &qusbavl x'00000000'
call qwcrjbst parm(&ds &dslen &qualjobnam 'JOBS0300' &qusec)
chgvar &jobsts %sst(&ds 9 10)
chgvar &brk ' '
enddo
end:
if cond(&sndmsg) then(do)
sndpgmmsg msgid(&msgid) msgf(&msgflib/&msgf) msgdta(&msgdta)
enddo
return
endpgm
pgm
copyright text('(C) Copyright APL Services 2010-05-31')
dcl &end *lgl
dcl &user *char 010
rtvjoba user(&user)
dountil cond(&end)
rtvdtaara dtaara(qgpl/&user) rtnvar(&end)
enddo
end:
endpgm