on 03-12-2009 11:10 AM
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.
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
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
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.
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
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.
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
User | Count |
---|---|
12 | |
7 | |
3 | |
2 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.