I recently implemented some tcl code that does a call (from the system level) of an exe that calls a stored procedure in informix. My code parses out ORU result messages, gets order# and dr# and passes this to the exe which calls an informix stored procedure with these 2 parms. If it returns successfully, I display a message in the tcl procedure. I have catch logic that displays the returned error message.
this call to the stored procedure was tested extensively from the command line at windows. Also, I tested it from both tps and route testing before it was implemented.
It will run fine for some time and then it seems like our process gets hung for our production site (we only have the one process with approx 20 threads) on this site.
I get no error messages in my process log files. I can see maybe one state 14 messages but not a bunch going to the same thread.
I put displays with timestamps in my tcl code to display at the beginning of the tcl code and at the end so I can see how long it takes to return and what the args passed to the call are.
I am attaching my tcl code.
Does anyone have any ideas to troubleshoot what is going on. It seems to run fine and then we have an issue. Most of the time there is a problem, the procedure has just completed. Sometimes, I will get one of my threads that disconnects and connects again (external system) that shows up as pdl error in the process log right after the tcl call and it is the last thing in the process log.
Is there something different that I need to do with my catch logic in the tcl procedure, any other ideas? What happens if a system call gets hung, should it be hanging our process if it is just hung on my thread?
I appreciate any assistance on this.
thanks,
Nancy