diff --git a/code/pymqi/__init__.py b/code/pymqi/__init__.py index 522f6c4cabe109c1d6f41ecb53cff1c4646bd665_Y29kZS9weW1xaS9fX2luaXRfXy5weQ==..a7cfa3da02779b6b18aa3942e964238c8700288a_Y29kZS9weW1xaS9fX2luaXRfXy5weQ== 100644 --- a/code/pymqi/__init__.py +++ b/code/pymqi/__init__.py @@ -2591,10 +2591,5 @@ 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], @@ -2600,4 +2595,5 @@ Command=CMQCFC.__dict__[self.__name], + Type=CMQCFC.MQCFT_COMMAND_XR, ParameterCount=len(args_dict) + len(filters)) message = mqcfh.pack() @@ -2669,4 +2665,10 @@ 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( @@ -2672,6 +2674,5 @@ 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