null

Skip to end of banner
Go to start of banner

SCHRITTE ERSETZEN UND ERWEITERN

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Version History

Version 1 Next »

Durch den sehr modularen Aufbau von Befehlen ist es möglich sehr gezielt einzelne Teile der Standardlogik zu ersetzen.
Um einen einzelnen Schritt vollständig zu ersetzen oder um eine eigene, zusätzlich Logik zu erweitern muss das BAdI /PCH/CFW_CTRL_COMMAND des Erweiterungsspot /PCH/CFW_APPLICATION implementiert werden. Das BAdI verfügt über einen Filter, mit dem definiert werden kann, in welchen Anwendungen die Erweiterung aktiviert werden soll.
Es stehen grundsätzlich zwei Methoden zu Verfügung, die pro Schritt je einmal aufgerufen werden:

  • BEFORE_DO_COMMAND_STEP
  • AFTER_DO_COMMAND_STEP
  • Beiden Methoden wird als Hauptinformation der Befehl und der Schritt übergeben. Die Methode BEFORE_DO_COMMAND_STEP wird vor der Ausführung der Standardfunktion aufgerufen und beinhaltet den Parameter CV_SUPPRESS_STEP, mit dem die Ausführung des Standardschrittes unterdrückt werden kann. Ein Transport von Befehls-spezifischen Daten (Befehlsparameter) ist in der Schnittstelle nicht vorgesehen, da diese vom eigentliche Befehl abhängig sind. Das Lesen und Schreiben von Parametern ist nur direkt über den Command Controller möglich. Der Zugriff erfolgt dabei über die ebenfalls in der Schnittstelle enthaltene zentrale Framework-Instanz (IO_FRW):
  • io_frw->mo_ctrl_command->parameter_[set,...get,exists,delete]

Zusätzliche Schritte
Durch die Implementierung der BAdI-Methode AFTER_READ_COMMAND können die Schritte eines Befehls verändert werden. Es wird dringend davon abgeraten, Standardschritte zu entfernen oder zu verändern. Es ist jedoch möglich weitere Schritte hinzuzufügen. Hierzu muss ein einzelner Schritt jedoch vollständig spezifiziert werden und zur Tabelle der Schritte (Parameter CT_COMMAND_STEPS) hinzugefügt werden (Siehe Kapitel Befehle definieren der API Dokumentation). Anschliessend kann der Schritt wie oben beschrieben behandelt werden.
Eigene Daten
Die Daten eines Befehls werden also sog. Befehlsparameter durch den Command Controller verwaltet. Es besteht keine Möglichkeit diese Parameter zu erweitern. Stattdessen sind eigene Daten selber zu verwalten. Hierzu bieten sich besonders die Methoden BEFORE_DO_COMMAND und AFTER_DO_COMMAND an. Letztere Methode wird aufgerufen, wenn der Befehl beendet ist oder frühzeitig abgebrochen wurde.

  • No labels