
Ein Token kann als Wertzuweisung für ein Attribut verwendet werden. Der eingegebene Wert wird durch die Anwendung validiert und gegebenenfalls um einen Validierungstext erweitert. Der Wert wird zusammen mit dem Text als Token angezeigt. Dies hat den Vorteil, dass der Schlüssel durch den Benutzer sofort validiert werden kann.
Ein Implementierungsbeispiel finden Sie in CL_WDR_TEST_SEL_OPT_AUTO_20, die dazugehörige Anwendung ist WDR_TEST_SEL_OPT_AUTO_20. Wählen Sie den Link ‚Testcase: Tokenizer‘.
Für manche Selektionsszenarios muss der Benutzer einen Wert auswählen, der dem Benutzer normalerweise nicht angezeigt wird (z.B. eine GUID). Der Benutzer kennt diesen Schlüssel nur unter einer anderen Nummer oder einem Beschreibungstext. Diese sind aber für eine Selektion auf der Datenbank nicht geeignet. Ein solches Attribut lässt sich als Token mit externem Key abbilden.
In diesem Fall besteht eine Attributbewertung aus drei Feldern:
| Feld | Beschreibung |
|---|---|
| INTERNAL_KEY | Der interne Schlüssel wird im Datenaustausch mit der Anwendung über die Methoden GET_INPUT_COMPLETE, RESET usw. verwendet. |
| EXTERNAL_KEY | Sofern angegeben, ist dies die Benutzereingabe bei sprachabhängigen Schlüssel oder GUIDs. In diesem Fall wird INTERNAL_KEY niemals vom Benutzer gesehen. F4-Hilfe müssen diesen Wert zurückzugeben. Der externe Schlüssel muss eindeutig sein. |
| DESCRIPTION | Enthält die Beschreibung, die vom Token angezeigt wird. |
Der interne Schlüssel wird innerhalb des Datenaustausches mit der Anwendung in der Struktur WDR_SO_S_VALUES verwendet. Der externe Schlüssel wird nur innerhalb der Interfacemethoden IF_WD_SELOPT_20_TOKEN-> VALIDATE_VIA_INT_KEY und IF_WD_SELOPT_20_TOKEN-> VALIDATE_VIA_EXT_KEY verwendet. Eine Typbeschreibung für den externen Schlüssel muss in WDR_SO_S_ATTRIBUTE-TOKEN- EXTERNAL_KEY mitgegeben werden.
Die Eingabe von Teil-Strings ist nicht möglich, da der interne Schlüssel für einen unvollständigen externen Schlüssel nicht ermittelt werden kann. Die Operatoren ( starts_with, contains ) können daher nicht verwendet werden.