Show TOC

Parameter-MappingLocate this document in the navigation structure

Das Parameter-Mapping kommt bei der Mehrfachverwendung von Aktionen zum Einsatz. Wenn Sie eine Aktion für mehrere Ereignisse benutzen, z.B. mehrere Buttons, benötigen Sie eine eindeutige Information, um die gewünschte Zuordnung einzurichten. Diese Information erhalten Sie über das Parameter-Mapping.

Hinweis Wir empfehlen nicht die Mitgabe des Standard-Parameters ID (siehe unten), da in diesem Fall Aktionen und UI-Elemente nicht klar getrennt sind.

Das Parameter-Mapping führen Sie programmatisch durch:

DATA PARAMETERS TYPE WDR_NAME_VALUE_LIST.

DATA PARAMETER  TYPE WDR_NAME_VALUE.

DATA data_ref TYPE REF TO data.

FIELD-SYMBOLS <data> TYPE any.

" Parameter können einfache Werte sein

PARAMETER-NAME   = 'LINES_TO_INSERT'.

PARAMETER-VALUE  = '3'.

PARAMETER-TYPE   = CL_ABAP_TYPEDESCR=>TYPEKIND_STRING.

INSERT PARAMETER INTO TABLE PARAMETERS.

" Parameter können Objekt-Referenzen sein

PARAMETER-NAME   = 'CUSTOMER'.

PARAMETER-OBJECT = customer_object.

PARAMETER-TYPE   = CL_ABAP_TYPEDESCR=>TYPEKIND_OREF.

INSERT PARAMETER INTO TABLE PARAMETERS.

" Parameter können tiefe Datenobjekte sein (Struktur/Tabelle)

CREATE OBJECT data_ref LIKE table.

ASSIGN data_ref->* TO <data>.

<data> = table.

PARAMETER-NAME = 'TABLE'.

PARAMETER-DREF = data_ref.

PARAMETER-OREF = CL_ABAP_TYPEDESCR=>TYPEKIND_DREF.

INSERT PARAMETER INTO TABLE PARAMETERS.

" Parameter-Mapping festlegen

CL_WD_BUTTON->MAP_ON_ACTION( parameters ).

" Parameter-Mapping auslesen

CL_WD_BUTTON->MAPPED_ON_ACTION( importing parameters = parameters ).

Bei Auslösen eines Ereignisses wird die damit verknüpfte Aktion mit folgenden Parametern aufgerufen:

  • Web Dynpro ABAPStandard-Parameter (ID und CONTEXT_ELEMENT)
  • Spezifische Parameter des UI-Elements
  • Im Parameter-Mapping angegebene Parameter des Ereignisses

Die Parameter können als Methoden-Parameter der Aktion definiert werden. Der Typ der Methoden-Parameter muss dabei MOVE-kompatibel zu den Parameter-Werten sein.

Achtung Methoden-Parameter können sowohl obligatorisch als auch optional sein. Für obligatorische Methoden-Parameter gilt: Werden beim Aufruf der Aktion nicht alle Methoden-Parameter durch Ereignis-Parameter befüllt, so tritt eine Ausnahme auf.

Die Parameter-Werte können auch über das WDEVENT-Objekt ausgelesen werden:

= WDEVENT->GET_INT( 'LINES_TO_INSERT' ).

= WDEVENT->GET_OBJECT( 'CUSTOMER' ).

= WDEVENT->GET_CONTEXT_ELEMENT( 'CONTEXT_ELEMENT' ).

oder

= WD_EVENT->GET_DATA( EXPORTING name = 'TABLE' importing value = table ).