Show TOC Anfang des Inhaltsbereichs

Beispiel zu Instanzen von Funktionsgruppen  Dokument im Navigationsbaum lokalisieren

Das folgende Beispiel zeigt den objektorientierten Aspekt von Funktionsgruppen im einfachen Fall eines Zählers:

Beispiel

Stellen Sie sich eine Funktionsgruppe namens counter vor:

FUNCTION-POOL counter.

DATA count TYPE i.

FUNCTION set_counter.
* Local Interface IMPORTING VALUE(SET_VALUE)
  count = set_value.
ENDFUNCTION.

FUNCTION increment_counter.
  ADD 1 TO count.
ENDFUNCTION.

FUNCTION get_counter.
* Local Interface: EXPORTING VALUE(GET_VALUE)
  get_value = count.
ENDFUNCTION.

Die Funktionsgruppe counter arbeitet als Zähler. Sie enthält ein globales Integerfeld count und drei Funktionsbausteine set_counter, increment_counter und get_counter, die mit diesem Feld arbeiten. Zwei der Funktionsbausteine haben Ein- bzw. Ausgabeparameter und definieren somit die Datenschnittstelle der Funktionsgruppe. Im Sinne der Objektorientierung hat eine Funktionsgruppe ausschließlich private Attribute und ausschließlich öffentliche Methoden.

Ein beliebiges ABAP-Programm kann, z.B. wie folgt, mit dieser Funktionsgruppe arbeiten:

REPORT demo_function_group_counter.

DATA number TYPE i VALUE 5.

CALL FUNCTION 'SET_COUNTER'
     EXPORTING
          set_value = number.

DO 3 TIMES.
  CALL FUNCTION 'INCREMENT_COUNTER'.
ENDDO.

CALL FUNCTION 'GET_COUNTER'
     IMPORTING
          get_value = number.

WRITE number.

Nach der Ausführung dieses Programmteils hat die Programmvariable number den Wert 8.

Das Programm hat keinen Zugriff auf das Feld count der Funktionsgruppe. Die Operationen auf diesem Feld sind vollständig in den Funktionsbausteinen gekapselt. Das Programm kann nur über den Aufruf von Funktionsbausteinen und deren Schnittstelle mit der Funktionsgruppe kommunizieren.

 

 

 

Ende des Inhaltsbereichs