While working on the Asynchronous Consumption of Messages in CICS, I found out this issue while putting messages to a queue (from which MQ passes the data to callback consumer routine in the form of channels and container over the default channel - MQ_ASYNC_CONSUME.
I noticed in my callback consumer module - that as soon as its GETs the container 'Buffer' - it is supposed to get the refreshed copy. But, if the 'now' data area is changed to something not-spaces/blanks, then it gets a refreshed copy.
But, when that data area is changed to blanks/spaces, then it doesn't refreshes that particular area. However, in the same LUW -it does gets the refreshed copy of other fields if I change them to non-blanks characters.
Eg: first PUT to MQ:
status-type - Processed
status-reason-desc - 0080
Buffer container has the same value for these two fields.
But, now in second try, I supply these values while putting to the queue:
status-type - Rejected
status-reason-desc - <blanks>.
In this case, it does takes the new value of status-type supplied to the queue, but it doesn't takes the new <blank> value of status-reason-desc field. That is, the value of status-reason-desc is still '0080' which ideally should have been <blanks>.
Does anybody has any idea on such a behaviour. Does it have to do anything with GMO fields?