Quantcast
Channel: SCN : Discussion List - SAP Master Data Governance
Viewing all articles
Browse latest Browse all 2047

Two internal tables are not compatible or convertible - MDG-M

$
0
0

Hi,

 

I'm am currently extending MARM and the UNITOFMSR entity with some custom fields.

 

Here's what I did:

  • Extended MARM
  • Extended SMEINH (change table for MARM)
  • Extended the MARM X and UI structures
  • Added the fields on to T130F
  • Added them to Data Model
  • Generated structures
  • Did SMT mapping
  • Adjusted Staging for MM
  • Cleared the UI Metadata buffer
  • Added fields to UI
  • Added some rules in the rule service to default the fields in certain circumstances  (I know this is not the problem because I commented out all the new code and the issue is still happening)

 

Here comes the problem - whenever I try to start or continue a process in MDG I get a short dump with description:

Two internal tables are not compatible or convertible

 

I have extended hundreds of fields the same way and never encountered this issue. The dump is happening in standard method read_entity_buffer of class CL_USMD_GOV_API:

 

CREATE DATA lr_data LIKE LINE OF et_data.

* analyse requested data structure

* this has to be done anyway as the write buffer needs the component table too.

* For this reason we get it here and provide the result in et_components

* to be reused then in WRITE_ENTITY_BUFFER.

   lr_data_struc ?= cl_abap_typedescr=>describe_by_data_ref( p_data_ref = lr_data ).

   lt_components  = lr_data_struc->components.

* Try to read the data from the READ BUFFER

   READ TABLE mt_entity_read_buffer WITH KEY entity       = iv_entity_name   "key

                                             entity_key   = <ls_key>         "key

                                             edition      = iv_edition       "key

                                             read_mode    = iv_data_source   "key

                                             request_mode = iv_request_mode

                                             components   = lt_components

                                   ASSIGNING <ls_buffer>.

   IF sy-subrc = 0.

     ASSIGN <ls_buffer>-result->* TO <lt_data>.

     CHECK sy-subrc = 0. "Write was not called-> Exception raised by READ/RETRIEVE_CHAR_VALUE

     et_data  = <lt_data>.

 

I've highlighted in bold the problem when it hits one of the UNITOFMSR buffer entries. I can see no difference between et_data and <lt_data> at the time of the dump except that et_data is a sorted table and <lt_data> a standard table.

 

Any ideas on what could be causing the problem and how to solve?


Viewing all articles
Browse latest Browse all 2047

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>