cancel
Showing results for 
Search instead for 
Did you mean: 

Multiple IDoc Message Listener Loading Issue

Former Member
0 Kudos

Hello Partha & Others,

I am following the same approach as mentioned, but, I am running into queuing issue which creates a bottle neck.

MII Version: 12.2.5 Build 72

I have 2 Message Listener XMIIIDOC01 and XMIIIDOC02 receiving IDOCS from 2 separate ECC systems

XMIIIDOC01 receives LOIPRO.

XMIIIDOC02 receives LOIPRO, HRCC1DNPERSO, MATMAS, DOCMAS.

MaxReaderThreadCount: 5 (For Both Listeners)

I have set the Processing Type as "transaction" and have separate processing rules set for both the Message Listener/Message Name types resulting in 5 processing rules.

XMIIIDOC01 receives only around 100 messages in 1 HR.

But, XMIIIDOC02 receives more than 2500 in 1 HR

Even though I have separate rules set for XMIIIDOC02 for LOIPRO, MATMAS, etc...when I receive the IDOCS from ECC they get processed in sequence and not in parallel, meaning under Message Monitor I see LOIPRO getting processed first and MATMAS waiting in queue and when LOIPRO gets processed then MATMAS processes.

Ideally the above scenario should not happen as I have separate rules for them.

Is there any setting that needs to be changed? Do I need to increase the "MaxReaderThreadCount"?

Any help is highly appreciated.

Thank You,

Thejo

Accepted Solutions (1)

Accepted Solutions (1)

former_member193328
Active Participant
0 Kudos

Hi Thejo

This is by design. This was introduced to ensure the MII server does not crash with very heavy loads by spawning too many threads.

Unfortunately there is nothing you can do to change this. However I think in one of the higher versions there is an improvement on this. I think this is in MII15.0

Regards

Partha

Former Member
0 Kudos

Hello Partha & All,

Thank You for your reply. I was thinking of another workaround for my bottleneck issue.

Even if I have multiple message listeners (XMIIIDOC 01, 02, 03) in the same MII system listening for IDOCS from ECC sent through multiple RFC Destination/Program ID (XMIIIDOC01, 02, 03) all the IDOCS are received by only one of the MII message listener (either XMIIIDOC01 or 02 or 03). I tried this and in my situation all IDOCS go only into listener XMIIIDOC03.

So, what if I configure 2 RFC Destination/Program ID in ECC say XMIIIDOC01 & XMIIIDOC02 and have 2 MII servers (MII_01 & MII_02) listening for IDOCS from the same ECC system, but, with different message listeners:

MII_01 listening for XMIIIDOC01 (LOIPRO, HRCC1DNPERSO, MATMAS, DOCMAS)

MII_02 listening for XMIIIDOC02 (LOIPRO, HRCC1DNPERSO, MATMAS, DOCMAS)

Will this work? I can change the workflow in ABAP to send Plant X IDOCS to XMIIIDOC01 and Plant Y IDOCS to XMIIIDOC02.

So, now MII_01 server will listen to XMIIIDOC01 and receive Plant X data and MII_02 listen to XMIIIDOC02 and receive Plant Y data.

I have not tried this though, but, I would like to know the possibility of this working correctly and then talk to my organization and do the necessary changes in ECC & MII to handle the bottlenecks.

Thank You,

Thejo

former_member193328
Active Participant
0 Kudos

Hi Thejo

The issue with only 1 listener receiving all idocs is most probably due to the missing SAP Server, SAP Client and Program Id. Select the listener in MII and click on Update to fill these values. This will make MII correctly identify the listener.

Processing of the received idocs is another matter altogether.

The internal thread that processes the messages is created 1 per ERP Server sending messages. So even if you have multiple processing rules of message listeners receiving messages if the sender ERP is the same they would be processed sequentially.

Regards

Partha

Former Member
0 Kudos

Hi Partha,


Thank you for the reply. I had configured the required steps in ECC & MII for receiving the IDOCS via multiple message listeners. The screenshot below shows IDOCS sent from ECC using different Logical System and Message Type, I also maintain different Program ID in SM59:

In MII, under message monitor, XMIIIDOC 03, 04 & 05 listen to the same ERP server/client but have different Program ID:

The IDOCS that were received in MII also have the correct ERP partner/port:

But, all the messages are received by listener XMIIIDOC05:

I guess the current MII architecture is not designed to achieve the above requirement. The same was also confirmed by Michael in this thread:


As stated in my previous discussion, I will work on the model of having 2 MII servers. 1 listening to XMIIIDOC 01 and the other 02.


Thank You,

Thejo

former_member193328
Active Participant
0 Kudos

Hi Thejo

I am not sure which version of MII you are using but it looks like 12.2. However the exact SP version I do not know. I checked on MII 14.0 and the Message Listener screen looks like this

When the program ID is filled then the routing will work correctly. This should also be there in one of the later versions of 12.2 as well. Not sure which SP though.

However this approach will not solve your main problem that messages are processed sequentially. This will still be the case.

Regards

Partha

Answers (0)