Hallo,
ich würde gerne ein Command "manipulieren". Ich habe gelesen, dass es sogenannte exit points gibt, an die man Exit Programme hängen kann. Ich habe das aber noch nie gemacht.

Bisher bin ich auf folgende Infos gestoßen:

  1. Um ein Command während der Ausführung zu manipulieren, sollte man den Exit Point QIBM_QCA_CHG_COMMAND verwenden.
  2. Es wird noch der Point QIBM_QCA_RTV_COMMAND in diesem Zusammenhang genannt. Ich weiß aber nicht, ob den zusätzlich benötige.
  3. Mit WRKREGINF bzw. mit ADDEXITPGM bzw. RMVEXITPGM kann man den Exit-Points Programme hinzufügen.


Was ich erreichen möchte, ist folgendes:

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?

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.

Sind meine Überlegungen da richtig?
Hat schon jemand so etwas gebaut?
Gibt es vielleicht ein Beispiel dafür?
Ist das ganze ein Performanceproblem, wenn ab jetzt bei jeder Command-Ausführung ein Programm aufgerufen wird?

Vielleicht bin ich da aber auch voll auf dem Holzweg!

Dieter