I have a requirement as below
1) MF appl.(uses IMS database) PUTS msg to a request Queue
2) JAVA appl. reads request Queue and PUTS a response to reply Queue.
3) MF appl has to GET the msg from reply Queue and do further processing.
As part of my testing, I would like to test option (3). Hence modified my program and then,
a) I am issuing a PUT call to store the test msg in the reply Queue with 'Datagram' message type.
b) After certain period of wait time, I am issuing a GET call to retreive the msg from the reply Queue.
At the step (b), I am receiving the 2033 (MQRC_NO_MSG_AVAILABLE) reason code, with COMP CODE=2. The reason code and COMP COde for step (a) are zeroes.
As mentioned, the MQGET call is returning 2033 (MQRC_NO_MSG_AVAILABLE).
When googled, I found that the NO-SYNCPOINT is used to operate outside the unit of work. So, I have tried MQCMIT and then issued PUT(with MQPMO-SYNCPOINT option) and GET(with MQGMO-SYNCPOINT option). This issued reason code 2012- MQRC_ENVIRONMENT_ERROR.
CALL 'MQCMIT' USING WS-CONN-HDL