cancel
Showing results for 
Search instead for 
Did you mean: 

BD64 - filter does not work for BATMAS03 IDOC

0 Kudos

Dear Experts

I have set up the Filter group and mentioned a Plant as filter group under BD64 configuration.

For example :

BD64 --->

XXXX -

               -> Batch Replicate -

                              - BATMAS IDOC -

                                             -> Filter = Plant = 1000

With this setting my expectation is When a batch is created for Plant 1000, the IDOC should be triggered and when a batch is created for other plant the IDOC should not be triggered.

However actual problem here is irrespective of the filteration criteria, the IDOC gets triggered every time (after executing BD21).

Can someone please help to understand why this is happening and is there any solution for this?

Regards

Rahul Soman

Accepted Solutions (0)

Answers (1)

Answers (1)

JL23
Active Contributor
0 Kudos

Does the Idoc have the plant 1000 within?

0 Kudos

Hi Juergen

Thanks for your response. The IDOC does not have the field plant within it.

I think the reason being - the batch is set at a material level.

IDOC :  Segment :

Corresponding Batch is created for the plant GB10

However I observe that the batch is NOT created at the plant level but at the material level and that might be the cause why the information is not flowing through the IDOC.

However what I need to understand is - if there is any way to filter the IDOC based on the Plant - Material combination?

Regards

Rahul Soman

JL23
Active Contributor
0 Kudos

Exact, you distributed the general data only as you filtered the plant specific data.

If you want prevent sending the general data if the plant is filtered then you need to create a filter dependend on class membership.

An example is given in this docu:

Contract Distribution with Classification - Distributed Contracts (MM-PUR, MM-SRV) - SAP Library

0 Kudos

Hi Juergen

Thank you for response, I went through the given document however for some reason, the same analogy is not getting applied for the BATMAS IDOC.

Tried to maintain following for BATMAS IDOC

However did not find the exact point where the filter can be set using the condition.

Question to this group -

-Is it possible to use any User Exit to explicitly block IDOCs from being triggered if a particular condition is not met?

- Am I missing on any point of the configuration here?

Regards

Rahul Soman

JL23
Active Contributor
0 Kudos

You are right, this logic does not apply to batches.

We used for one of our objects (not batches) a BADI implementation  BDCP_BEFORE_WRITE for a similar reason. OSS note 733978 gives the introduction for BOMs, it may be a way to proceed

former_member330924
Discoverer
0 Kudos

We use BAdI IDOC_CREATION_CHECK to stop the creation of an IDoc.  It allows you to inspect the Communication IDoc that is about to be created for the target system, and stop the creation of the IDoc by setting the Changing parameter CREATE_IDOC to space.