Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Idoc Segments:

Former Member
0 Likes
816

Hi Gurus

I have one Inbound Idoc which has 3 z segments... out of this 3 z segment only one zsegment is usefull for RX end..others has no use for receiving system,

So shall i need to extend my Idoc for all 3 z segment ?

or shall i extend my idoc in reciving system only those is useful for me?> system will give error in this case as sending system is sending all segment and our rx system has only one identified segment?

Regards

Subham

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
722

Hi Subham,

As long as you're receiving the complete IDoc with all three Z-segments, you should define all those Z-segments in the receiving system as well. If you don't have all the segments, you'd have to ensure that in the receiving system the IDoc syntax check is disabled (flag in the partner profile), because otherwise all those IDocs will be rejected.

If I remember correctly though, there is a very good reason to define those three segments even with disabled syntax check: The IDoc display in WE02 (detailed display of single IDoc) should look pretty bad, because the tree on the left hand side showing the data records should be completely flat and not resembling the IDoc structure (assuming that you have an IDoc with nested segments). For larger IDocs like sales orders with header and item information, this can be quite annoying when you try to investigate issues or simply look at the IDoc.

However, if you control the sending system or the middleware layer in between (if any) you could filter out the Z-segments that you don't need. The advantage would be saving some space in the receiving system, though in general my experience is it's better to have all the data, because sooner or later somebody requests some functionality for previously unused fields...

Cheers, harald

2 REPLIES 2
Read only

anup_deshmukh4
Active Contributor
0 Likes
722

Not be necessery Coz. in your Inbound Function your must be handling your z segments in your case just extract data from your segment and ignore unwanted segments ....

But it is always best practice to have the Basic Idoc structre same.ie ..you never know when do you need them

Read only

Former Member
0 Likes
723

Hi Subham,

As long as you're receiving the complete IDoc with all three Z-segments, you should define all those Z-segments in the receiving system as well. If you don't have all the segments, you'd have to ensure that in the receiving system the IDoc syntax check is disabled (flag in the partner profile), because otherwise all those IDocs will be rejected.

If I remember correctly though, there is a very good reason to define those three segments even with disabled syntax check: The IDoc display in WE02 (detailed display of single IDoc) should look pretty bad, because the tree on the left hand side showing the data records should be completely flat and not resembling the IDoc structure (assuming that you have an IDoc with nested segments). For larger IDocs like sales orders with header and item information, this can be quite annoying when you try to investigate issues or simply look at the IDoc.

However, if you control the sending system or the middleware layer in between (if any) you could filter out the Z-segments that you don't need. The advantage would be saving some space in the receiving system, though in general my experience is it's better to have all the data, because sooner or later somebody requests some functionality for previously unused fields...

Cheers, harald