cancel
Showing results for 
Search instead for 
Did you mean: 

Changing datatype, afterwards Message-Mapping cannot produce target element

Former Member
0 Kudos

Hi,

we use PI/700.

I changed a working system by changing a datatype of an existing message (adding a new element). My interface mapping contains two mappings: an XSL-Mapping and afterwards a Message-Mapping.

My interface mapping looks like this:

Message-Type A ->

XSL-Mapping ->

Message-Type B ->

Message-Mapping ->

Message-Type B

When I test each mapping alone everything works fine (with the new element I added).

But if I test my interface mapping in IBD with both mappings together, I'll get an error:

"Cannot produce target element /MT_EDM_OUTBOUND_LASTGANG_TO_SAP/LASTGANG/MASSEINHEIT. Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd".

Is it possible that XI has problems in refreshing the XSDs?

I tried this:

(1) I changed my Message-Mapping and now all elements are mapped 1:1 -> no success!

(2) Later I changed my Message-Mapping and build in "exists" with "if" to check whether the element "MASSEINHEIT" is generated by the XSL-Mapping -> It doesn't exists (??? - WHY? - when I test it, everything works fine)

(2) Afterwards I changed my interface mapping and take only the XSL-Mapping (without the following Message-Mapping) -> the element "MASSEINHEIT" exists now!

I'm totally confused!

Any ideas?

Regards

Wolfgang Hummel

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Hi,

If you have made structural changes to the data type..such as number of fields have decreased/increased..or some new fld altogether, then you have to activate the datatype..goto message mapping and then re-do the mapping...but if you have made "typo" changes like names have been changed, etc..then i think it should be alrite..i have sometimes made changes to my datatype, but after activating it, i had to redo the mapping..that was it!...the rest would fall into place:) No changes had to be made in the interface mapping..

Regards,

Sushumna

Former Member
0 Kudos

Hi,

thanx a lot for all your help - but I have no success!

Now I start from scratch and create the whole objects new - :-((

Hope it'll work ... or I'll come back to this forum

Regards

Wolfgang

Former Member
0 Kudos

Hi,

Don't do that. Just reactivate your Message mapping and Interface mapping .

Also, if you are using the IM in the Integration directory , just do a dummy change and reactivate that too.

It should work fine

Regards

Vijaya

bhavesh_kantilal
Active Contributor
0 Kudos

Hi,

Whenever you change the source datatype, even if you activate it, you need to reload the message type in your message mapping.

Try doing this.

regards,

Bhavesh

Shabarish_Nair
Active Contributor
0 Kudos

First try a cache refresh in SXI_CACHE.

Next make sure your change is reflected in your MT, MI and MM etc. Independently test the mappings and IMs.