cancel
Showing results for 
Search instead for 
Did you mean: 

Failed Messages

Former Member
0 Kudos

Hi,

What are the options of handling failed messages that sit in the message monitor? These are IDoc messages coming from SAP and are processed by the 'Transaction' type. I prefer the failed messages to automatically reprocess. Please advise. Thanks.

Regards,

V M.

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Wahallah...it worked! The problem is I configured the Query Messages action block with the same settings as I used in the 'Message Monitor' (in the main screen). But the '*' in the 'Message Category' made the difference. It works in the former and not in the latter. All is well that ends well!

No wonder...now I can see the node for 'Message Id' in the 'Query Messages' action block...:)

Thanks everybody.

Regards,

V M.

Former Member
0 Kudos

V.M.,

what about using a scheduled job which calls a BLT. This BLT can read messages with status failed and reprocess them.

Or do you think of other solutions?

Michael

Former Member
0 Kudos

Hi Michael,

Thanks for the idea. But shouldn't the message have a 'Category' in that case? These failed messages don't have a 'Category'. Not sure if that will work here. Thanks.

Regards,

V M.

Former Member
0 Kudos

V.M.,

you do not need the category. Use the "Query Messages" action with start and end date, a message type ("IDOC", "RFC", "Web Service") and a status ("Failed" in your case), and you will get a list of messages with those selection criteria.

Using this list, you can go on process the messages.

Michael

jcgood25
Active Contributor
0 Kudos

VM,

A Category will be added to the inbound message upon receipt, only if you are not synchronously calling a transaction. This mechanism will allow you to catalog inbound messages and provide them with a Category for scheduled asynchronous batch processing in BLS.

If you are calling a transaction immediately upon receipt of the message (no Category) and it fails you should still be able to have a scheduled transaction that processes these failed messages. The Message Services action block category should give you all the components you need, and the Query Messages action block gives you all sorts of filtering capabilities, such as Server Name, Message Name, and Message Status. I should think that along with the other filter options that this action block contains you should be able to create a scheduled transaction like Michael suggested that reprocesses the Failed messages as needed.

Regards,

Jeremy

Former Member
0 Kudos

Thanks Michael and Jeremy. Guess that will work. I can't find a node for 'Message Id' in 'Query Messages' output. I am on MII 12.0.4 Build(120) system. Thanks.

Regards,

V M.

Former Member
0 Kudos
Query_Messages_0.BufferListDoc{/JCOMessageList/JCOMessage/MessageId}
Former Member
0 Kudos

Christian,

I tried that. I keep getting an error message -

[INFO ]: Execution Started At: 09:39:39

[INFO ]:

[ERROR]: Read Data Buffer Message Error: For input string: ""

[ERROR]: ACTION FAILED: End Action Read_Message_0 : ( )

[INFO ]: Execution Started At: 09:39:39

[INFO ]: Execution Completed At: 09:39:39 Elapsed Time was 188 mS

[INFO ]: Execution Completed At: 09:39:39 Elapsed Time was 219 mS

Not sure if I am missing something. Thanks.

Regards,

V M.

Former Member
0 Kudos

You are getting that error because you are not finding any messages.

Message Type and Message Status are required inputs for the Query Messages Action.

Also, make sure the date range set on the action is appropriate.

Former Member
0 Kudos

V M,

if you feed the Query Message action like Christian said, then you should configure a repeater with the string output of the action:

getMessageList.BufferListDoc{/JCOMessageList/JCOMessage}

Inside the repeater use a Read Message action and link the Message ID which comes from the repeater to the Read Message property "MessageId":

forAllMessages.Output{/JCOMessage/MessageId}

If there are no messages found, the repeater will not execute and there will be no error.

Michael

Former Member
0 Kudos

Thank you both for the ideas. I've been trying all those options for a while now. But to Chritian's point its not picking up the messages according to the filter criteria. Its rather strange 'coz when I apply the same filter criteria in the 'Message Monitor' (in the main screen) it would display the 2 failed messages I have in the system; but the same is not being picked up by the 'Query Messages' action block. Hmm...!

Regards,

V M.

Former Member
0 Kudos

Did you use the Configuration Dialog of the Query Message action, or did you use the link editor to feed the selection parameters?

If you use the Configuration, you just have to mark the type "IDOC" and status "Failed" and set the start/endtime.

In the link editor, you have to use exactly the same writing (upper/lowercase) for type and status. If you want to select more than one value, separate it by a comma.

Then everything should work fine.

Good luck.

Michael

Former Member
0 Kudos

I tried both options and it didn't work. I did pay attention to the syntax. Although I preferred the 'Configure Object' method. Its fast and easy.

I will try it again and keep you posted if I have any luck. Thanks.

Regards,

V M.