View Full Version : Warum macht eine QSH-Befehl nichts im Batchmodus.
Um einiges richtig zu stellen
Der Befehl ist wie Folgt.
> SBMJOB CMD(CALL PGM(PEUR31)) JOB(EUREKA_PDF) JOBQ(KBEGKLAS) JOBPTY(4) USE
R(SYS) MSGQ(QSYSOPR)
Ich habe heute diesen Befehl im QBATCH im Batchmodus erfolgreich ausgeführt.
Aber im JOBQ KBEGKLAS ging es wieder in die Hose.
Im Protokoll habe ich tatsächlich einen Abbruch Code gefunden und der sieht wie Folgt aus.
QSH0002 Abbruch 40 25.09.17 08:20:21.237601 QZSHQSHC QSHELL *STMT QSQRUN4 QSYS *STMT
Ausgangsmodul . . . . . . . : QZSHQSHC
Ausgangsprozedur . . . . . : SendMsg__FPcT1Pvi
Anweisung . . . . . . . . . : 2
Zielmodul . . . . . . . . . : QSQCALLSP
Zielprozedur . . . . . . . : CALLPROGRAM
Anweisung . . . . . . . . . : 44826
... ob ich das mit dem "richtig stellen" glaube, sei mal dahingestellt. Die Fehlermeldung ist zwar wieder unvollständig, da steht nämlich genau drin, warum das nicht funzt - es wird wohl daran liegen, dass das Subsystem nur einen Job zulässt.
D*B
Danke BenderD,
Das ist es meine Jobq lasst nur einen Job zugleich.
Danke sehr.
... ob ich das mit dem "richtig stellen" glaube, sei mal dahingestellt. Die Fehlermeldung ist zwar wieder unvollständig, da steht nämlich genau drin, warum das nicht funzt - es wird wohl daran liegen, dass das Subsystem nur einen Job zulässt.
D*B
Das ist der Unerschied:
Eine JOBQ erlaubt nur, dass genau 1 Job gestartet wird.
Ein Subsystem bestimmt, wieviele Job's parallel erlaubt sind, zumal ich mehrere JOBQ's an einem Subsystem haben kann.
Hinzu kommt, dass ein QSH-Aufruf im selben Kontext (z.B. gleiche QTEMP) einen weiteren Job startet der natürlich zugelassen werden muss.
Startet man aus QSH dann Java, kommt dann sogar ein dritter Job hinzu.
Sorry ich meinte meine Subsytem nur eine Job zulasst.
Danke Fuerchau.:D
Das ist der Unerschied:
Eine JOBQ erlaubt nur, dass genau 1 Job gestartet wird.
Ein Subsystem bestimmt, wieviele Job's parallel erlaubt sind, zumal ich mehrere JOBQ's an einem Subsystem haben kann.
Hinzu kommt, dass ein QSH-Aufruf im selben Kontext (z.B. gleiche QTEMP) einen weiteren Job startet der natürlich zugelassen werden muss.
Startet man aus QSH dann Java, kommt dann sogar ein dritter Job hinzu.
Dann kannst du in dem Subsystem kein QSH/Java aufrufen.
Dann kannst du in dem Subsystem kein QSH/Java aufrufen.
Der Groschen ist gefallen Fuerchau.
Ein separate Subsystem für diese Aufgabe muss erstellt werden der mindestens 3 Jobs zugleich ausführen kann. Sonst wird es eng.
Ich weiß nicht, warum du für diese Aufgabe ein eigenes Subsystem benötigst.
QBATCH reicht doch da allemal aus.
Eine JOBQ stellt sicher, dass über diese (ggf. je Prio auch unterschiedlich) nur eine bestimmte Anzahl Jobs ins Subsystem geladen werden.
Es können mehrere JOBQ's einem Subsystem zugeordnet werden.
Das Subsystem kann dann max. n Jobs gleichzeitig, wobei die Summe durchaus kleiner sein kann, als die Summe der möglichen Jobs über die Jobq's.
Was dann u.U. dazu führen kann, dass QSH/Java-Jobs nicht mehr ausgeführt werden können.
Hallo Fuerchau,
Ich habe der Zeit drei Zeit-kritische Jobs zur Steuerung von Anlagen, zwei weniger Kritsch zur Datenaustausch mit unsern Spediteuren und externen Lagern und andere nicht weniger wichtige Datenaustausch von PDF-Dokumente. Die Gemeinsamkeit alle diese Jobs ist der IFS-Verzeichnis. Ich habe eine Prog. zur Überwachung von bestimmten Verzeichnisse geschrieben und entsprechen die Prog. dazu anstößt. Es ist nicht unwahrscheinlich das mehrere Jobs zugleich springen müssen. Für die XML Datei-Verarbeitung wird sogar Java herangezogen. Übrigens ich habe bereits 5 jobq an die QBatch angehängt. Wie du bereits geschrieben hast dass es unter Umstände eng werden kann. Oder habe ich dich miss verstanden?
Eng wird es nur dann, wenn die Anzahl der Jobs im Subsystem beschränkt ist und ein weiterer Job, der nicht über eine Jobq kommt (QSH/Java) dann gestartet werden muss.
Ansonsten bedeutet eng ggf. nur langsam, wobei langsam aber auch schön sein kann.