# HG changeset patch
# User salapat <subhashini_alapati@optum.com>
# Date 1591667125 14400
#      Mon Jun 08 21:45:25 2020 -0400
# Node ID a7cfa3da02779b6b18aa3942e964238c8700288a
# Parent  522f6c4cabe109c1d6f41ecb53cff1c4646bd665
GH #92 Support for zos

diff --git a/code/pymqi/__init__.py b/code/pymqi/__init__.py
--- a/code/pymqi/__init__.py
+++ b/code/pymqi/__init__.py
@@ -2591,13 +2591,9 @@
         else:
             args_dict, filters = {}, []
 
-        if filters:
-            cfh_version = CMQCFC.MQCFH_VERSION_3
-        else:
-            cfh_version = CMQCFC.MQCFH_VERSION_1
-
-        mqcfh = CFH(Version=cfh_version,
+        mqcfh = CFH(Version=CMQCFC.MQCFH_VERSION_3,
                     Command=CMQCFC.__dict__[self.__name],
+                    Type=CMQCFC.MQCFT_COMMAND_XR,
                     ParameterCount=len(args_dict) + len(filters))
         message = mqcfh.pack()
 
@@ -2669,9 +2665,14 @@
         command_queue.put(message, put_md, put_opts)
         command_queue.close()
 
+        gmo_options = CMQC.MQGMO_NO_SYNCPOINT + CMQC.MQGMO_FAIL_IF_QUIESCING + \
+                      CMQC.MQGMO_WAIT
+
+        if self.__pcf.convert:
+            gmo_options = gmo_options + CMQC.MQGMO_CONVERT
+
         get_opts = GMO(
-            Options=CMQC.MQGMO_NO_SYNCPOINT + CMQC.MQGMO_FAIL_IF_QUIESCING +
-            CMQC.MQGMO_WAIT,
+            Options=gmo_options,
             Version=CMQC.MQGMO_VERSION_2,
             MatchOptions=CMQC.MQMO_MATCH_CORREL_ID,
             WaitInterval=self.__pcf.response_wait_interval)
@@ -2716,7 +2717,8 @@
                  model_queue_name=b'SYSTEM.DEFAULT.MODEL.QUEUE',
                  dynamic_queue_name=b'PYMQPCF.*',
                  command_queue_name=b'',
-                 response_wait_interval=100):
+                 response_wait_interval=100,
+                 convert=False):
         # type: (Any, bool, bytes, bytes, bytes) -> None
         """PCFExecute(name = '')
 
@@ -2725,6 +2727,7 @@
         used for the connection, otherwise a new connection is made """
 
         self.response_wait_interval = response_wait_interval
+        self.convert = convert
 
         if command_queue_name:
             self._command_queue_name = command_queue_name