2013 Aug 26 7:58 AM
Good morning,
I'm not very familar with Idoc's but have one questiion:
We are using message type orders with orders05 for transferring SAP purchase orders to a specific port.
In the Idoc there is a segment included (E1EDPT1 GRUN) which contains a purchase order text. This is just needed for printouts or emails to the supplier.
When we are transferring the po via EDI this specific segment shouldn't be transferred.
Example:
E1EDP01
- E1EDP20
- E1EDP19 001
- E1EDP19 014
- E1EDPT1 GRUN
-- E1EDPT2
-- E1EDPT2
-- E1EDPT2
How can this be easily done?
Cheers
Wolf.
2013 Aug 27 10:57 AM
Hi Oliver,
thanks for your recommendation.
Will give Userexits EXIT_SAPLEINM_011 or EXIT_SAPLEINM_002 a try.
Best regards
Wolf.
Good morning,
I'm not very familar with Idoc's but have one questiion:
We are using message type orders with orders05 for transferring SAP purchase orders to a specific port.
In the Idoc there is a segment included (E1EDPT1 GRUN) which contains a purchase order text. This is just needed for printouts or emails to the supplier.
When we are transferring the po via EDI this specific segment shouldn't be transferred.
Example:
E1EDP01
- E1EDP20
- E1EDP19 001
- E1EDP19 014
- E1EDPT1 GRUN
-- E1EDPT2
-- E1EDPT2
-- E1EDPT2
How can this be easily done?
Cheers
Wolf.
2013 Aug 26 8:26 AM
Hi,
Add a condition in a appropriate user exit for a orders05 and clear the value in field E1EDPT1-GRUN.
Regards,
Shruti D
2013 Aug 26 8:59 AM
Hi,
thanks for your response, I thought about a solution with idoc filters or reduced idocs, but I don't know exaclty how it works.
Cheers
Wolf.
2013 Aug 26 9:39 AM
Hi Wolfgang,
You can create an idoc style in WE32 in which you can filter out this segment. Assign this style in the partner definition in WE20.
Best regards,
Oliver
2013 Aug 26 10:06 AM
Hi Oliver,
thanks for your reply. This is going for sure into the right direction 🙂
This will exclude all segments E1EDPT1, right?
How can I exclude just E1EDPT1 GRUN with the text-id TDID = GRUN?
Cheers
Wolf.
2013 Aug 26 10:29 AM
Hi Wolfgang,
Yes, using an idoc style would remove this segment unconditionally independent of any qualifier.
If this is not what you want I also would use an user exit that deletes this segment and its children. In this case see what Sujeet already mentioned.
Best regards,
Oliver
2013 Aug 26 8:40 AM
2013 Aug 26 9:18 AM
Hello,
You can do it in User-exit EXIT_SAPLEINM_002.
Regards,
Sujeet
2013 Aug 26 9:28 AM
Hi Wolf,
The IDOC filters can be created using transactions BD59 and BD95. After creating filters you can set the filter in transaction BD64.
While you are creating a filter, you have two options :
1) The IDOC itself would not pass
2) The IDOC is passed, but the segment of that IDOC will not be passed.
You can find both options by searching for the transactions BD59 and BD95.
Thanks,
Sumit
2013 Aug 26 11:39 AM
Had a look into BD59 (assignment of object type to message) and BD95 (ALE object type), but didn't understand the meaning?
2013 Aug 26 12:06 PM
BD56 is used to filter the idoc segments.
If a particular system is not interested in receiving specific segments you can filter this by specifying the details in BD56.
Type corresponds to type of sending system or receiving system(LS for logical system)
Specify the list of segments to be filtered under column segment type.
Please note that mandatory segments cannot be filtered.
Regards,
Sumit
2013 Aug 26 12:23 PM
Need to select existing object type (based on table and field) from BD59 and then assign it to messsage type in BD95.
So if you want to set up filter based on Customer Number then your setting in BD95 will look like
then in your distribution model you get a chance to set filter based on this field and perticular customer value
2013 Aug 26 1:26 PM
But this is for filtering the complete IDOC. If you put filter like this, then whole IDOC will be blocked.
Transaction BD56, is used for segment filtering.
2013 Aug 26 11:00 AM
Hello,
I am not suggesting anything different from what others have already suggested. Just informing about my views on the approach suggested by others.
BR,
Mrugesh
2013 Aug 27 7:46 AM
No I'm very confused 😞
One says use BD59, then BD95, then BD64, others recommend to use BD56 instead?
Another option WE32 cannot be used as it excludes every E1EDPT1 segment.
Does someone has a step by step explanation how to exclude E1EDPT1 GRUN segment?
Last option I want to use is a Userexit.
Thanks in advance.
2013 Aug 27 8:36 AM
I dont want to preach but i think best solution is to test these option on your own in your sand box system.
2013 Aug 27 9:12 AM
Hi Wolfgang,
From my EDI/idoc experiences I would recommend to implement this filtering in an userexit. In this case either in enhancement spot ES_BADI_ME_EDI, method PROCESS_IDOC_COMPLETE or in SMOD enhancement MM06E001, EXIT_SAPLEINM_011. Both are called when SAP has finished creating the standard idoc and you can apply any changes here.
I personally prefer to see such changes to standard idoc processing at one glance in one place in the system (if that is feasable) instead of loooking up customizing here and there. But, of course, that is my personal preference.
I don't know how you want to process the idoc further down in the process but if you send it to an EDI converter for mapping then you could filter out these segments there.
Best regards,
Oliver
2013 Aug 27 10:57 AM
Hi Oliver,
thanks for your recommendation.
Will give Userexits EXIT_SAPLEINM_011 or EXIT_SAPLEINM_002 a try.
Best regards
Wolf.
2016 Aug 02 3:58 PM
Hi Reader
before you start development (as suggested here) please check your customizing in t166k, t166p, t166a.
When not selected there the text ID will not get sent in the idoc.
Cheers!