Anfang des Inhaltsbereichs

Vorgehensweisen (Sub-)Controller aufrufen  Dokument im Navigationsbaum lokalisieren

Verwendung

Sub-Controller können von einem übergeordneten Controller (Haupt-Controller) oder von einem View oder einer Page instantiiert und aufgerufen werden.

Empfehlung

Wir empfehlen, einen Sub-Controller von einem übergeordneten Controller aus in der Methode DO_INIT anzulegen, die Parameter entsprechend zu setzen und dann vom zugehörigen View aus aufzurufen.

Voraussetzungen

Controller aufrufen

  1. Erzeugen Sie die Controller-Instanz. Dafür haben Sie die folgenden Möglichkeiten:

oder

application_namespace und application_name sind optional. Falls nicht angegeben, werden die aktuellen Werte genommen.

Hinweis

Die Controller-ID kann hier jeweils mitgegeben werden.

  1. Setzen Sie bei Bedarf die Request-Parameter:
  2. l_ctrl->do_initattributes( ).

  3. Setzen Sie weitere Attribute:
  4. l_ctrl->set_attribute( name = name value = value ).

  5. Rufen Sie den Request auf:

call_controller( l_ctrl ).

Sub-Controller aufrufen

  1. Instantiieren Sie Ihren Sub-Controller.
    Legen Sie Ihren Sub-Controller dazu in der Methode
    DO_INIT an:
    subcontroller = create_controller (controller_name = ‚name.do‘
                                     controller_id = 'id' ).
  2. Beispiel:
    flightdetails ?= create_controller( controller_name = 'flightdetails.do'
                                     controller_id = 'fld' ).

    Hinweis
    Achten Sie darauf, die controller_id mit anzugeben.

  3. Rufen Sie Ihren Sub-Controller auf.
    1. Sie können den Aufruf aus dem Controller heraus durchführen.
      Dies ist insbesondere dann sinnvoll, wenn von dem aufrufenden Controller kein Layout beigesteuert wird. Hier gibt es zwei Aufruf-Möglichkeiten:

oder

    1. Sie können den Aufruf aus dem View heraus durchführen. Hier gibt es drei Aufruf-Möglichkeiten, die alle über das BSP-Element <bsp:call> realisiert sind. Die hier verwendete comp_id entspricht der controller_id aus create_controller.
  1. Legen Sie die Parameterübergabe fest.
    1. Sie können die Parameterübergabe aus dem Controller heraus durchführen.
    1. Sie können die Parameterübergabe aus dem View heraus durchführen.

<bsp:call>
  <bsp:parameter name = "…" value = "…" />
</bsp:call>

Ende des Inhaltsbereichs