Show TOC Anfang des Inhaltsbereichs

Einfacher Modulaufruf  Dokument im Navigationsbaum lokalisieren

Für den einfachen Aufruf wird in der Dynproablauflogik folgende Anweisung verwendet:

MODULE mod.

Das Modul mod des ABAP-Programms wird aufgerufen. Es muss ein Modul vorhanden sein, das zum dem Ereignisblock passt, in dem der Aufruf erfolgt.

Wenn in der Dynproablauflogik ausschließlich der einfache Modulaufruf verwendet wird, findet der Datentransport zwischen ABAP-Programm und Dynpro wie folgt statt:

·        Beim Ereignis PAI werden nach den automatischen Eingabeüberprüfungen des Dynpros und vor dem Aufruf des ersten PAI-Moduls alle Daten zwischen gleichnamigen Feldern vom Dynpro an das ABAP-Programm transportiert. Hierzu gehört auch der Inhalt der Systemfelder, wie z.B. sy-ucomm, das den aktuellen Funktionscode enthält.

·        Am Ende des letzten PBO-Moduls und vor dem Senden des Bildschirmbilds werden alle Daten zwischen gleichnamigen Feldern vom ABAP-Programm an das Dynpro transportiert.

Diese Grafik wird im zugehörigen Text erklärt

Der Datentransport zwischen Dynpro und ABAP-Programm findet also am Anfang und am Ende eines Dialogschritts auf dem Applikationsserver statt. Dieser Datentransport ist nicht zu verwechseln mit dem Datentransport zwischen einem Dynpro auf dem Applikationsserver und dem SAP-GUI auf dem Präsentationsserver.

Beispiel

Einfacher Modulaufruf.

PROGRAM demo_dynpro_module.

TABLES demo_conn.

DATA: ok_code TYPE sy-ucomm,
      save_ok LIKE ok_code,
      wa_spfli TYPE spfli.

CALL SCREEN 100.

MODULE init_screen_100 OUTPUT.
  MOVE-CORRESPONDING wa_spfli TO demo_conn.
ENDMODULE.

MODULE status_0100 OUTPUT.
  SET PF-STATUS 'STATUS_100'.
  SET TITLEBAR '100'.
ENDMODULE.

MODULE clear_ok_code INPUT.
  save_ok = ok_code.
  CLEAR ok_code.
ENDMODULE.

MODULE get_data INPUT.
  MOVE-CORRESPONDING demo_conn TO wa_spfli.
  CLEAR demo_conn.
ENDMODULE.

MODULE user_command_0100 INPUT.
  CASE sy-dynnr.
    WHEN 0100.
      CASE save_ok.
        WHEN 'CANCEL'.
          LEAVE PROGRAM.
        WHEN 'DISPLAY'.
          PERFORM read_data.
        WHEN 'CLEAR'.
          CLEAR wa_spfli.
      ENDCASE.
      ...
  ENDCASE.
ENDMODULE.

FORM read_data.
  SELECT  SINGLE
          cityfrom airpfrom cityto airpto fltime deptime arrtime
    INTO  CORRESPONDING FIELDS OF wa_spfli
    FROM  spfli
    WHERE carrid = wa_spfli-carrid AND connid = wa_spfli-connid.
ENDFORM.

Die statische Folge-Dynpro-Nummer von Dynpro 100 ist 100 und sein Layout ist nach Übernahme von Komponenten der Struktur DEMO_CONN aus dem ABAP Dictionary wie folgt:

Diese Grafik wird im zugehörigen Text erklärt

Die Bildschirmablauflogik ist:

PROCESS BEFORE OUTPUT.
  
MODULE init_screen_100.
  MODULE status_0100.

PROCESS AFTER INPUT.
  MODULE clear_ok_code.
  MODULE get_data.
  MODULE user_command_0100.

Im GUI-Status STATUS_100 ist das Symbol Diese Grafik wird im zugehörigen Text erklärt (F12) durch den Funktionscode CANCEL aktiviert und den Funktionstasten F5 und Shift+F2 sind die Funktionscodes DISPLAY und CLEAR zugewiesen.

Die Funktionalität des Programms ist ähnlich wie im Beispiel unter Ein- und Ausgabefelder verarbeiten, wobei die Verarbeitungslogik hier über mehrere Dialogmodule verteilt ist und zum Lesen der Daten von der Datenbank ein Unterprogramm verwendet wird.

 

Ende des Inhaltsbereichs