Interface IF_UKM_ID_DICTIONARY
Meaning
As part of the Unified Key Mapping Service (UKMS), interface IF_UKM_ID_DICTIONARY provides methods that permit you to read and change ID mapping. This includes both grouped positive and grouped negative mapping.
Use
Class CL_UKM_FACTORY provides context-dependent instances of the interface.
Example
DATA: lr_dictionary TYPE REF TO if_ukm_id_dictionary. DATA: ls_messages TYPE ukm_s_messages. CALL METHOD cl_ukm_factory=>get_instance_id_dictionary EXPORTING iv_main_context_id = 'MyContext' iv_direct_db_insert = abap_false iv_runtime_generated_context = abap_true IMPORTING er_if_ukm_id_dictionary = lr_dictionary 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 2 objects each with 2 object keys ************************************************************************ DATA: lt_groups_add TYPE ukm_t_groups_external. DATA: ls_group_add LIKE LINE OF lt_groups_add. DATA: ls_object_add LIKE LINE OF ls_group_add-objects. DATA: ls_key_add LIKE LINE OF ls_object_add-object-keys. * Object 1 key 1 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 = '57186408AB006541AF3761F4FDCD97BA'. APPEND ls_key_add TO ls_object_add-object-keys. * Object 1 key 2 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 = 'FK20060601'. APPEND ls_key_add TO ls_object_add-object-keys. APPEND ls_object_add TO ls_group_add-objects. CLEAR: ls_object_add, ls_key_add. * Object 2 key 1 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 = 'BCE_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-object-keys. * Object 2 key 2 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 = 'BCE_000'. ls_key_add-scheme_agency_scheme_id = ''. ls_key_add-scheme_agency_scheme_agency_id = 'ZZZ'. ls_key_add-value = 'FK20060601b'. APPEND ls_key_add TO ls_object_add-object-keys. APPEND ls_object_add TO ls_group_add-objects. APPEND ls_group_add TO lt_groups_add. CALL METHOD lr_dictionary->add EXPORTING it_groups = lt_groups_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 objects and keys mapped to a specific key ************************************************************************ DATA: lt_groups_get TYPE ukm_t_groups_external_get. DATA: ls_group_get LIKE LINE OF lt_groups_get. DATA: ls_object_get LIKE LINE OF ls_group_get-objects. DATA: ls_key_get LIKE LINE OF ls_object_get-object-keys. * Search with key 2 of object 1 ls_group_get-search_key-scheme_id = 'ProductID'. ls_group_get-search_key-scheme_version_id = ''. ls_group_get-search_key-scheme_agency_id = 'AE1_000'. ls_group_get-search_key-scheme_agency_scheme_id = ''. ls_group_get-search_key-scheme_agency_scheme_agency_id = 'ZZZ'. ls_group_get-search_key-value = 'FK20060601'. APPEND ls_group_get TO lt_groups_get. CALL METHOD lr_dictionary->get EXPORTING iv_read_buffer = abap_true iv_update_buffer = abap_true IMPORTING es_messages = ls_messages CHANGING ct_groups = lt_groups_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_groups_get INDEX 1 INTO ls_group_get. LOOP AT ls_group_get-objects INTO ls_object_get. * Each object of the mapping group. LOOP AT ls_object_get-object-keys INTO ls_key_get. * Each key of the object. ENDLOOP. ENDLOOP.
Additional Information
For details about the functions of interface IF_UKM_ID_DICTIONARY, 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.