First of all excuse me for my english.
My problem is very simple to explain:
in my program PROGA i want to delete a TS queue before writing into it.
When i do like this:
...
EXEC CICS HANDLE CONDITION QIDERR(label1)
END-EXEC.
EXEC CICS DELETEQ TS QUEUE(TS-QUEUE) NOHANDLE
END-EXEC.
EXEC CICS WRITEQ TS QUEUE(TS-QUEUE) FROM(TS3-ENR)
NOHANDLE AUXILIARY LENGTH(TS-LENGTH)
END-EXEC.
labe1.
move 'err' to ws-erreur
go to label2.
F-labe1.
EXIT.
...
Everything is working perfectly and when i go to the CEBR screen i found my TS queue.
This work very well because in the deleteq statement i specify NOHANDLE so the program delete de
TS queue if it exists and if it doesn't exist it will genrerate an QIDERR which has no effect since we specify
that we don't want to handle an error from this statement (which key word NOHANDLE)
But...When i want to handle the fact that the TS queue doen't exit (with the qiderr) like this:
EXEC CICS HANDLE CONDITION QIDERR(label1)
END-EXEC.
EXEC CICS DELETEQ TS QUEUE(TS-QUEUE)
END-EXEC.
END-EXEC.
EXEC CICS DELETEQ TS QUEUE(TS-QUEUE)
END-EXEC.
I remove the nohandle option from the DELETQ statement
My program doesn't go to the label1 and the program loop with the DELETEQ statement until the system bring an abend AICA.
My question is why the handle of the qiderr doesn't work and doesn't go to the label "label1" statement.
Thanks in advance...