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.