cancel
Showing results for 
Search instead for 
Did you mean: 

Message services

Former Member
0 Kudos

Hi.

I have a question regarding message services in MII version 12. I have got it up and running and receive idocs from SAP (planned process orders). I can schedule a transaction and read the idocs fine. No problem.

But if I want to make a processing rule, I have a couple of problems.

1. The transactions is called once pr. idoc? If I receive many at a time, the transcations is called many times versus one transaction call that loops through all idocs? Or does the transaction only run as one instance ? What do you recomend?

2. I have also read that I can transfer the xml to a transaction parameter, but can not read anything about the parameter names? MessageXML og MessageID ??

BR.

Poul.

Accepted Solutions (1)

Accepted Solutions (1)

agentry_src
Active Contributor
0 Kudos

Hi Poul,

1. You were correct that it will execute a new instance of the transaction with each new IDoc. From the nature of the standard IDoc download, you will get one process order per IDoc. Some folks create a custom IDoc and have groups of Process Orders (or Materials, BOM, Routings, etc) come down as a single IDoc. Which would then be processed as a single transaction with a repeater to handle each Process Order within a single transaction. Others simply save the IDoc off into a folder for scheduled future processing using a Get Folder List to process them all within a single transaction. How you decide to go will depend on your particular situation. As long as you can process them as single IDocs, I would recommend doing them as they are received. Testing will probably be required to see what your performance level turns out to be.

2. I think you mean Transaction Property rather than Parameter, but the name does not matter. I tend to use InputXML as my default name, but again the name doesn't matter. It just needs to be defined as XML to handle the IDoc.

Hope this helps,

Mike

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi.

Michael thanks for your input, my ideas where not that bad. (And afterwards, thanks Jeremy !)

Here is a couple of basics, I have noticed afterwards and they are.

1.

Make a transaction that will process each IDOC / XML, and forget about messaging functions like message query and queue read / delete. Make one transaction that process one IDOC / XML and make this XML an transaction property. In this way the XML will get processed the moment it appear at MII and not after a scheduling period.

2.

Schedule the transaction in "Processing rule editor". The transaction parameters will apear at the bottom of the window. The XML transaction property, check the checkboks right after the parameter name. In this way the IDOC / XML will get mapped to the input parameter of the transaction.

3.

The transaction must complete in case of error using the terminate action block with a proper error text. This will cause the "Failed messages" menu item to show these IDOC's with the proper error text. If processed without errors, it will appears as processed ok.

4.

Make a "Message cleanup rule" that deletes all messages processed successfull.

5.

Take care of the failed idocs in any way. Correct the error or simply delete them. Or use message query to get the failed IDOCS.

I.e. straight forward, I just missed a good example within the help file and could not find it elsewhere.

Poul.

Edited by: Poul Klemmensen on Aug 4, 2008 8:27 PM

jcgood25
Active Contributor
0 Kudos

Poul,

When setting up your processing rule there should be a list of transaction input properties that show up when you browse and select your trx file. This should also include a checkbox option next to the transaction input name where you can bind the xml into the trx when it is processed.

Regards,

Jeremy