cancel
Showing results for 
Search instead for 
Did you mean: 

IDoc syntax check!

Former Member
0 Kudos

Hi all,

I don’t know if is possible deactivate the check of an IDoc! When I try to send an IDoc without all the records filled. The Integration Server gives me this error message: <SAP:Code area="MAPPING">EXCEPTION_DURING_EXECUTE</SAP:Code> I know this is produced because I don’t have filled all the records required… But I don’t care, these records are optional and I need to deactivate some IDoc checks to fix this issue.

I saw in sxmb_adm > Integration Engine Configuration a parameter “SYNTAX_CHECK” for category “IDOC”, and it means to me if I fill with “0” in current value, the syntax check takes no effect… But I try and nothing happens!!! The verification still continues…

How I can deactivate this kind of checks for IDoc’s?

Thanks in advance,

Ricardo.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

I donot know about the checks that you are refering, but i think this is a runtime mapping exceptions, are you trying an outbound scenario like idoc --xi --file, try sending from we19, and see if you have correctly mapped all the mandatory fields of the idoc to the target in message mapping.

Did you test you message mapping in standalone from the test tab??

Regards,

Anirban.

Former Member
0 Kudos

Hi Anirban,

My scenario is: IDoc adapter <-> XI <-> xi adapter.

I'm using we19 to send IDoc's from an IS-U. Everything ran ok if all the fields coming filled! When I erase some fields in any IDoc record. The error occurs!

How can I distinguish mandatory fields in we19?

Cheers,

Ricardo.

Former Member
0 Kudos

Hi Ricardo,

In your message mapping you can see which all are the segments of the idoc type which are mandatory bases on its occurrence/cardinality. This holds good for each field also. Now in the target structure if you have any field as 1:1 and from teh idoc which you are triggering from WE19 is not having any data then the mapping fails.

Try using mapwithdefault. i.e., source field->mapwithdefault->target field. This should be done for all the fields. Now your problem should be resolved even if you are not filling all the fields.

Cheers

JK

bhavesh_kantilal
Active Contributor
0 Kudos

Hi Ricardo

<i>//How can I distinguish mandatory fields in we19?</i>

I dont think this is possible. To see the madatory fields of your IDOC, one way though tedious would be to open up your Mapping and look in the idoc structur there and then populate only the madatory fields in We19 while triggering the idoc.

Regards,

Bhavesh

Former Member
0 Kudos

Hi,

<i>How can I distinguish mandatory fields in we19?

</i>

You can not i guess in we19, in we30 u can, you need to double click on a segment and a mandatory segment is marked with a checkbox.

Please check in message mapping if you have missed any mandatory field. and try to run the mapping by using the test tab.

Regards,

Anirban.

Former Member
0 Kudos

Hi JK,

I don't understanding mapwithdefault well!!!

What is mapwithdefault and where I can use it?

Cheers,

Ricardo.

Former Member
0 Kudos

Hi Ricardo,

Mapwithdefault function passes defalut value to the target if my source field does not appear.

You can set a default value by clicking the function in Mapping editor.

Former Member
0 Kudos

Thanks a lot!

It fix my problem

10 points

Cheers,

Ricardo.

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi Ricardo,

The syntax check for the IDoc is checking for the compatibility of the idoc structure created in the target side of the mapping with the metadata thats imported. Default value is 1 and current value you would have set to 0.

This check happens at the target side also where you post the idoc. This is based on the partner profile parameter which you have maintained in the Receiver R/3 system and at the time when the idoc is pushed into the target system. This you can check in WE20 transaction where you maintain the partner profile for the idoc type and the message type.

Cheers

JK