cancel
Showing results for 
Search instead for 
Did you mean: 

DATA in the IDOC triggered via change pointers in ECC

AnkitB
Participant
0 Kudos
1,054

Hello Experts,

We have built custom IDOC message type of MATMAS. Activated change pointers and updated the change document field in BD52. Updated BD64 with the filter criteria.

BD52 config works, such that if field is present there in that t code and change made in that will generate change pointer.

> MARC-SOBSL (If change done, IDOC should get generated)
> MARC-PSTAT (If change done, IDOC should not get generated)

1) We are having a problem with BD64 or can say not able to filter the data. We need change pointer should get generated for particular plant alone:
> 5010 (Updated in BD64 and change pointer should get generated followed by MATMAS IDOC)
> 5012 (does not exist in BD64. No IDOC should get generated)
> 5013 (Updated in BD64 and change pointer should get generated followed by MATMAS IDOC)

Now problem is, If we make a change in MARC-SOBSL for plant 5012, then IDOC is generated with data of plant 5010 & 5013. Our expectation is that IDOC should not get generated based on setup done in BD64.

2) Another problem is that let's say all is good. Change is made in MARC-SOBSL for plant 5013, then IDOC is required to be generated but should contains data for plant 5013. Right it carries the data for plant 5013 & 5010.

Appreciate your comments/guidance on the issue. Due to this issue, lot of change IDOCS are getting generated and resource utilization in destination system is very high. Unneccessary IDOCS are getting generated.

Regards, Ankit

Accepted Solutions (1)

Accepted Solutions (1)

DominikTylczyn
Active Contributor
0 Kudos

Hi ankit_012

I'm afraid you won't be able to achieve what you need with standard IDoc filtering.

Instead you can use BADI BDC_BEFORE_WRITE to implement any custom filtering logic and disable change pointers creation as you wish.

This approach has an advantage over IDoc filtering that you filter early on, already during change pointers creation; so you don't need to process them later on.

HTH, BR

Dominik Tylczynski

AnkitB
Participant
0 Kudos

For us change pointers are getting stored in BDCP2 table and not BDCPV. Is this a right BADI to be used or we have any updated or newer version?

DominikTylczyn
Active Contributor
0 Kudos

Hi ankit_012 That is the right BADI.

Answers (2)

Answers (2)

DominikTylczyn
Active Contributor
0 Kudos

Hello ankit_012

I'd say you have three ways of filtering data in your scenario:

  1. Filter change pointers during their creation with BADI BDC_BEFORE_WRITE
  2. Use standard IDoc filtering in ALE distribution model
  3. Write your own function to process change pointers and create an IDoc - see SP Help: Distributing Master Data Using the SMD Tool

Best regards

Dominik Tylczynski

AnkitB
Participant
0 Kudos

Hello 3a9e4ce873a94034b33dc62b0ce600ee

Thank you so much for your answer. We started the process for implementing this BADI. Just one help required.

When a change is made for a plant, change pointer created (Good) > IDOC generated (Good) but IDOC contains the data for 2 plant or can say all the plants to which the material is extended. Is there a way to restrict the data in IDOC via standard config related to custom message type or any other place.