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: 

Problem with idoc filtering in BD64

Former Member
0 Kudos
1,970

Hi,

My main goal is filter idoc matmas04 by plant. At distribution level (in trans. BD64) there is a filter by plant, but when the idocs are generated, the only thing i get is idocs with no e1marcm segment when plant is not contained in the set of values of the filter.

I know if segment e1marcm segment is mandatory, then the segment e1maram would be erased, and the idoc should not be generated. But e1marcm is optional, and this explains what's happening of above.

So, i made an extension for this matmas04 called zmatmas, and insert a z-segment <b>mandatory</b>, with a field <b>werks</b>. Then in user exit for FM of matmas idoc processing (ZXMGVU03), i assigned the value of plant into my z-segment. Then updated the fields in BD59, in order to point the filter to my zsegment-werks.

When i try to execute the rbdmidoc, then i get an error:

Internal error: Program read table idoc_structure,

comand data_select_for_block, argument Z1MARCM

So, i still can't filter this material idocs by plant... Anyone knows how?

2 REPLIES 2

Former Member
0 Kudos
962

I know this question was posted several years ago, but it may help someone else reading this.  I had a similar problem not too long ago where I was working with ZMATMAS03.  The reason why you get that error message is because based on the latest SAP note applied on to the system it has a hard coded field in there to use MATMAS05 as the idoc type (the latest and greatest).  If you look at the code below, the other idoc types have been commented out.  So when your filters are being applied, the 05 idoc type doesn't contain the custom ZSEGMENT and therefore errors out.  The solution is to extend only the latest and greated (05 idoc type) so that the filters can work.  Hope this makes sense.

Function Module: MASTERIDOC_CREATE_MATMAS

...

  F_IDOC_HEADER-MESTYP = MESSAGE_TYPE.

* f_idoc_header-idoctp = c_idoctp_matmas02.    " //br010797

* F_IDOC_HEADER-IDOCTP = C_IDOCTP_MATMAS03.                 " zu 4.0

  F_IDOC_HEADER-IDOCTP = C_IDOCTP_MATMAS05.    "note 501051

...


0 Kudos
962

Thanks That was very helpful. Now they are using MATMAS07.