!--a11y-->

以下の例では、汎用グループが持つオブジェクト指向の側面を、単純なカウンタのケースで示します。

COUNTER という汎用グループがあるとします。
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.
この汎用グループには、グローバル整数項目 COUNT と、この項目を処理する 3 つの汎用モジュール SET_COUNTER 、INCREMENT_COUNTER 、GET_COUNTER が含まれています。このうち 2 つの汎用モジュールには、入力パラメータと出力パラメータがあります。これらによって、汎用グループのデータインタフェースが形成されます。
この汎用グループは、どの ABAP プログラムでも処理することができます。次に例を示します。
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.
プログラムのこの部分が処理されると、プログラム変数 NUMBER の値が 8 になります。
プログラム自体は汎用グループ内の COUNT 項目にアクセスできません。この項目に対する操作は、汎用モジュール内で完全にカプセル化されています。プログラムは、汎用グループの汎用モジュールを呼び出すことによってのみ、汎用グループと通信することができます。