Zitat Zitat von dschroeder Beitrag anzeigen
Wenn das Command aufgerufen wird, möchte ich vor der Ausführung mein eigenes Programm aufrufen (im Prinzip so wie ein *before Trigger). Mein Programm soll prüfen, ob es eingreifen muss. Falls ja, soll es den Befehl "ins leere" laufen lassen und stattdessen selber die erforderlichen Dinge ausführen. Wenn mein Programm feststellt, dass es kein interessanter Fall ist, soll mein Programm den Befehl einfach weiterlaufen lassen.

Erste Frage: Ist das so möglich?
Ausser dem angeführten command exit gibt es noch den validity checker (CHGCMD VLDCKR(...), oder einen davor gestellten command. Der command exit wurde eingeführt, weil die älteren Methoden bei Release Wechsel (oder auch bei PTFs) dasselbe Problem haben wie mit CHGCMDDFT geänderte commands - die Änderungen können bei diesen events verschwinden..
Zitat Zitat von dschroeder Beitrag anzeigen
Nächste Überlegung: Da ich ja nur einen Exit Point angeben kann, wirkt der ja auf alle Commands. Ich muss natürlich sicherstellen, dass mein Programm nur bei einem ganz bestimmten Command anspringt.
Das Verfahren kommt mit sehr heikel vor. Ich will ja auf keinen Fall riskieren, dass kein Command auf der Anlage mehr läuft, weil mein eventuell fehlerhaftes Programm bei jedem Command anspringt.

Dieter
Für diese exit points können beliebig viele Einträge hinterlegt werden, die jeweils nur auf einen einzelnen command verweisen. Bei einem fehlerhaften Eintrag geht der dann nicht mehr. Da der command qualifiziert anggeben wird, kann das ohne Risiken getestet werden, bevor man das scharf schaltet. Was das an Strom kostet, hängt von Deinem Programm ab, den System seitigen Overhead kann man vernachlässigen. (Ich habe bereits vor Jahrzehnten mit validity checkern für CHGSPLFA gearbeitet und das war nicht spürbar langsamer als ohne.)
Kompliziert an der ganzen Sache sind die Parameter Schnittstellen, die undokumentiert sind und die man genau kennen muss. Zu einigen validity checkern gab es auch diverse Artikel von mir.

D*B