Interface IF_UKM_ID_THESAURUS
Meaning
As part of the Unified Key Mapping Service (UKMS), interface IF_UKM_ID_THESAURUS provides methods that permit you to read and change objects and object identifiers. ID mappings that build on these objects are ignored.
Use
Class CL_UKM_FACTORY provides context-dependent instances of the interface.
Example
DATA: lr_thesaurus TYPE REF TO if_ukm_id_thesaurus.
DATA: ls_messages TYPE ukm_s_messages.
‑{}‑CALL METHOD cl_ukm_factory=>get_instance_id_thesaurus
EXPORTING
iv_main_context_id = 'MyContext'
iv_direct_db_insert = abap_false
iv_runtime_generated_context = abap_true
IMPORTING
er_if_ukm_id_thesaurus = lr_thesaurus
es_message = ls_messages-general_message.
IF ls_messages-general_message-message_type_indicator-type_error = abap_true OR
ls_messages-general_message-message_type_indicator-type_abort = abap_true.
* Error handling.
ENDIF.
************************************************************************
* Add an object with 2 object keys
************************************************************************
DATA: lt_objects_add TYPE ukm_t_objects_external.
DATA: ls_object_add LIKE LINE OF lt_objects_add.
DATA: ls_key_add LIKE LINE OF ls_object_add-keys.
ls_key_add-leading_key = abap_true.
ls_key_add-internal_key = abap_true.
ls_key_add-scheme_id = 'ProductGUID'.
ls_key_add-scheme_version_id = ''.
ls_key_add-scheme_agency_id = 'AE1_000'.
ls_key_add-scheme_agency_scheme_id = ''.
ls_key_add-scheme_agency_scheme_agency_id = 'ZZZ'.
ls_key_add-value = '77186408AB006541AF3761F4FDCD97BB'.
APPEND ls_key_add TO ls_object_add-keys.
ls_key_add-leading_key = abap_false.
ls_key_add-internal_key = abap_false.
ls_key_add-scheme_id = 'ProductID'.
ls_key_add-scheme_version_id = ''.
ls_key_add-scheme_agency_id = 'AE1_000'.
ls_key_add-scheme_agency_scheme_id = ''.
ls_key_add-scheme_agency_scheme_agency_id = 'ZZZ'.
ls_key_add-value = 'FK20060522'.
APPEND ls_key_add TO ls_object_add-keys.
APPEND ls_object_add TO lt_objects_add.
CALL METHOD lr_thesaurus->add
EXPORTING
it_objects = lt_objects_add
IMPORTING
es_messages = ls_messages.
* ATTENTION: The ADD does not include SAVE. This has to be done explicitly!
IF ls_messages-general_message-message_type_indicator-type_error = abap_true OR
ls_messages-general_message-message_type_indicator-type_abort = abap_true.
* Error handling.
ENDIF.
************************************************************************
* Get the keys of an object
************************************************************************
DATA: lt_objects_get TYPE ukm_t_objects_external_get.
DATA: ls_object_get LIKE LINE OF lt_objects_get.
DATA: ls_key_get LIKE LINE OF ls_object_get-keys.
ls_object_get-search_key-scheme_id = 'ProductGUID'.
ls_object_get-search_key-scheme_version_id = ''.
ls_object_get-search_key-scheme_agency_id = 'AE1_000'.
ls_object_get-search_key-scheme_agency_scheme_id = ''.
ls_object_get-search_key-scheme_agency_scheme_agency_id = 'ZZZ'.
ls_object_get-search_key-value = '67186408AB006541AF3761F4FDCD97BA'.
APPEND ls_object_get TO lt_objects_get.
CALL METHOD lr_thesaurus->get
EXPORTING
iv_read_buffer = abap_true
iv_update_buffer = abap_true
IMPORTING
es_messages = ls_messages
CHANGING
ct_objects = lt_objects_get.
IF ls_messages-general_message-message_type_indicator-type_error = abap_true OR
ls_messages-general_message-message_type_indicator-type_abort = abap_true.
* Error handling.
ENDIF.
READ TABLE lt_objects_get INDEX 1 INTO ls_object_get.
LOOP AT ls_object_get-keys INTO ls_key_get.
* Each key of the object.
ENDLOOP.
Additional Information
For details about the functions of interface IF_UKM_ID_THESAURUS, see the relevant method documentation.
UKMS provides additional interfaces that can be instantiated with class CL_UKM_FACTORY. These are also documented. You can find an overview of the interfaces in the documentation for class CL_UKM_FACTORY.