It appears as though you are trying to resend the message with this proc. I am guessing PROTO is the key but it does not appear as though you have supplied a message handle to include as the value in the keyed list. Just like
KILL $mh
PROTO $mh
I do question why you would want to resend the message if the ACK back already indicated it was a bad message. I would suggest taking the Value in the ACK message located in MSA:3 and writing it to the USERDATA metadata of the original message and doing a disposition of
ERROR $mh
Or if you feel resending 3 times and then change the disposition to ERROR $mh.
I found some check ACK programs that send the message out. The program sends back a negative ACK and the check ACK resends the bad message again and once again you receive a bad ACK……this can be your loop. Hope this provides some help….
What version of Cloverleaf? If you have the check_ack proc from recover_33 and are running 5.6 or 5.7 this would make sense since the global is ot set.
Assuming you are on pre-5.6 then I would suggest you have not configured the send_OK proc and possibly not the resend proc. The variable my_mh is set from a global in pre_5.6 and from OBMSGID in 5.6+
I would suggest you contact Support with a copy of your NetConfig.
Kieth:
checkack has been used for years in thousands of interfaces with no problems. If properly configured it does exactly what it is supposed to do.
If indeed one does not want to resend after an AR response od check the ACK, then hcitpsmsgkill is the best option.
Understood Charlie. I don’t discount the value of a check ACK. I was simply stating that I have come across versions that would resend the message over and over each time after being Negatively Acknowledged thereby creating an infinite loop. They had no break value or condition defined to prevent this from happening.
Somewhere I have seen a pdl that will echo the entire message received as HEX in the process log. This might help you diagnose what the application is sending you. You could also try adding some echo statements in your check_ack program and save it to a different name called check_ack_debug and use that to try to track what is going on.
No need for a special PDL or modification to the existing PDL, just turn the engine noise level up (EO Config). Set properly it will display the PDL message received or sent in a hex dump.
email: jim.kosloskey@jim-kosloskey.com 29+ years Cloverleaf, 59 years IT - old fart.
Author
Replies
Viewing 5 reply threads
The forum ‘Cloverleaf’ is closed to new topics and replies.