Before calling MQPUT, you MUST establish a connection (MQCONN) and open the queue (MQOPEN). These are prerequisites. However, MQCLOSE is called AFTER operations complete, not before, and MQPUT1 is an alternative single-call API that doesn't need to precede MQPUT. Therefore, MQCLOSE and MQPUT1 are not mandatory pre-conditions for MQPUT.