View Full Version : ALCOBJ + DDM
Hallo,
ich habe einen DDM-Dtaara, der von verschiedenen Prozessen *EXCL gesperrt wird (lokal sowie DDM über IP). Die Prozesse sollen nur 1 Sekunde warten, wenn der Dtaara bereits gesperrt ist: ALCOBJ OBJ(DTAARA *DTAARA *EXCL) WAIT(1)
Das funktioniert nur im lokalen System. Bei einem ALCOBJ auf einen DDM-Dtaara wird im anderen System ein Kommunikationsjob in Sbs QCMN gestartet, der dann die Standard-Wartezeit wartet (120 Sekunden).
Hat jemand eine Idee wie man für DDM die Wartezeit für Sperren dynamisch übergeben kann?
Gruß
Stefan
Die Standardwartezeit wird in der Klassenbeschreibung hinterlegt.
Diese wiederum wird über den Leitwegeintrag des Subsystems ermttelt.
Der Default für die Klasse ist QBATCH !
Per "CHGCLS QBATCH" kann diese Wartezeit verändert werden. Da diese Klasse aber für alle Batchjob's verwendet wird, gilt die Änderung systemweit sofort für alle neuen Batchjob's !
Alternativ kann man den passenden Leitweg des QCMN (ich weiß nur nicht welcher) auf eine andere, vorher erstellte, Klasse ändern, so dass diese Wartezeit nur für diesen Aufruf gilt.
Allerdings sollte nach PTF, Cumtape, OS-Update die Einstellung überprüft werden.
Danke, das funktioniert. Es ist der Eintrag 300 "PGMEVOKE". Dann gilt es aber auch für alle QCMN-Jobs. Das Problem ist jetzt das Timeouts von anderen Protokollen (zB Telnet) nicht mehr funktionieren. Ich prüfe noch ob es einen speziellen Eintrag für DDM gibt bzw. ob man einen neuen hinzufügen kann ....
Ggf. ist ein neuer Eintrag mit dem Namen des Startprogrammes des Job's erforderlich (Vergleichsdaten). Dazu kannst du den Programmstack des aktiven Jobs überprüfen.
genau das, danke: Leitwegeintrag auf Position 270 mit Vergleichswert "QCNTEDDM" ab Pos 37 mit einer User-definierten Klasse DFTWAIT=1
Da das 2-te System ein Backup-System ist, gibt es eh keine weiteren DDM-Prozesse die dadurch behindert werden könnten. Schade ist nur das DDM im allgemeinen die Jobeinstellungen nicht mit auf das Remote-System nimmt.
Gruß
Stefan
Jobbeschreibungen sind nun mal immer lokal beschränkt.
Allerdings frage ich mich, was du da treibst und ob es nicht eine einfachere Lösung gibt.
Eine Datei statt DTAARA kann genau den Satz sperren per CHAIN (auch über DDM) und dann gilt die Satzwartezeit, die man auch auf 0 (*IMMED) setzen kann.
Der Dtaara dient nur als Semaphor. Wusste vorher nicht das es so kompliziert wird. Werde bei Gelegenheit Dtaara autauschen gegen File mit einem Satz.