05-13-2009 4:40 AM
Hi ,
I have created an Idoc filter for a customer message type through BD64 and wanna assign a field object with value not equal to Blank. But it seems there is no option to implement this. Any pointer to this?
Thanks for your input in advance.
05-26-2009 1:10 PM
Hi,
You could identify a field which is not being used or have a custom field in another segment.
Now based on that you can populate it in the user exit with a particular value depending on its blank or not and then add this field as a filter object in BD59 and BD95.
Then in BD64 you can have the corresponding filter object set.
I had done that for a customer master where I was blocking all customers blocked for billing and the field does not take blank values in BD64.
Hope this helps.
Regards,
Siddharth
05-13-2009 7:22 AM
Hi,
Can you tell me briefly what message type you are using and you scenario
Warm Regards,
Shobhan
05-16-2009 5:59 AM
It's a Customer message type used in BD10 to control sending material master data. We have assigned a field object to the message type and wanna filter some segment data based on the field value. The field value should be not equal to blank. I have created a filter through BD64 for the message type. But can't assign value in that way to the field but only a single value.
05-16-2009 11:19 AM
Hi Vindy, There has to be some Value which you can specify in filter group. We can not just specify value not equal to BLANK there.
Regards
Shital
05-16-2009 11:34 AM
Hi vindya,
for the BD10 the message type is matmas01 nad Matmas02..
for idoc type MATMAS
the user exit is MGV00001( in smod t-code) Material master
the function module is IDOC_INPUT_MATMAS01..
serach the user exit and try to write your own code to resrict the field segment data.
Regards,
Prabhudas
05-18-2009 6:00 AM
HI
I also need to do the same.Some of my collegues have tried setting the filters using BD59 but were unsuccesful
so they want to set the filters using ABAP Code .
Can some one suggest me a way to do that and if thats the case which function module is used .
Thanks
Anjali
05-18-2009 8:07 AM
Hi,
Filtering at the Idoc level creates a communication Idoc in which an objects views are filtered out,based on the filtered specified in the distribution model.
HOW FILTERING AT THE IDOC LEVEL WORKS:
Whena master Idoc is created,The Idoc consults the distribution model and determination whether any filter objects are specified for a receiver.If so, value in the filter object is compared to values in the master idoc's data records.If the values do not match,the data record is stopped.It is also possible to filter out a whole idoc using a single value filter.This might happen if the concern field is being filtered our belongs to a mandatory segment and the hierarchy in which this mandatory segment resides at the top of the Idoc structure.
Configaration:
1.Identify the Filter Object in TC : BD59
Refer Some OSS notes : 208716,339622,197215
Warm Regards,
Shobhan.
05-18-2009 2:28 PM
05-21-2009 5:13 AM
Hi ,
Could you please tell me how to view OSS note such as 208716 etc.?
Regards
Vindy He
05-21-2009 5:45 AM
Hi,
Go to service.sap.com. Click the link SAP notes search under SAP support portal .
Enter the username and password. Then give your OSS number.
Thanks,
Asit Purbey.
05-13-2009 9:47 AM
I dont think you can do this. However, if you know what values are expected for this object then you can include all these values in filter group.
05-13-2009 12:25 PM
Try searching in BD64. You can create filters there against values for fields
05-22-2009 9:08 AM
Hello ,
You can add filter to MATMAS using following steps
1: port definition : we21
2.Partner profile :we20
Now double click on MATMAS and enter message type , receiver port.pack size , basic type and select the radio button 'transfer Idoc'.
3. then go to distribution model through BD64,
, When the master Idoc got created , the IDOCconsulta the distribution model and have to check whether any filter objects specified for the receiver, If so value of the filter object is comapred with master data record and if dont match then its dropped.
Regards
Sathish
05-26-2009 11:28 AM
hi
as u know tcode : BD64 is to create a distribution model and have filters to it.
but what field to act as a filter ?
for this go to tcode : BD59 enter the message type (eg : MATMAS)
click on new entries and then enter the field that u want as a filter and the corresponding
segment type and save it.
go again to tcode : BD64 to create the filters then at last save it.
Regards
05-26-2009 1:10 PM
Hi,
You could identify a field which is not being used or have a custom field in another segment.
Now based on that you can populate it in the user exit with a particular value depending on its blank or not and then add this field as a filter object in BD59 and BD95.
Then in BD64 you can have the corresponding filter object set.
I had done that for a customer master where I was blocking all customers blocked for billing and the field does not take blank values in BD64.
Hope this helps.
Regards,
Siddharth
06-03-2009 3:00 AM
Hi Siddharth,
We have a mandatory customer segment. Then the subsequent higher segments are also mandatory. Can I add an additional field in the customer segment for setting value based on BISMT blank or not? Does it effect the receiver side(XI) for the IDOC type is changed in the sender side? Any configuration need in Receiver side?
Regards
Edited by: Vindy_he on Jun 3, 2009 4:02 AM
06-03-2009 9:21 AM
Hi Vindy,
If I understand your requirement correctly, you are trying to stop material IDocs which would not have the Old Material Number field (MARA-BISMT) populated.
You can add another custom segment field and then add that as a ALE object in BD95 and then add it to your message type in BD59.
This will ensure it would be visible in your distribution model filter for your message.
Since you would be changing the IDoc structure, it would mean refreshing the XSD structure in XI.
Alternately you can make use of any unused field in the existing IDoc structure which would then not require any refresh of the idoc structure in the receiving system
Regards,
Siddharth
05-26-2009 4:08 PM
hi,
in filter u can specify a condition only,but in u r case filters will not solve u r issue,
so,the exits also wont work,beacuse this exist will triggerr at tha time of zsegments only,
so best opt is go for badi,
there is badi BADI_MATMAS_ALE_CRE, just check it out,now in this badi read u r idoc with segements and put condition on which field u want ..
if any probs let me know...........
06-25-2015 9:17 AM
Hi,
plz check the screen shots where i have made the idoc filter for material type matmas