Inside a test case, we are using the “MQ Native Send Receive” step which connects to an MQ Manager running on IBM Mainframe (Codepage 1026). We want to put a ‘mixed’ message on the queue. Mixed meaning mixture of text ie. PIC X and PIC 9 fields and also some binary fields like COMP and COMP-3, basically mixed is like a copybook string.
The problem we are having is that MQ converts the whole payload to codepage 1026 and as such messes up the COMP and COMP-3 fields.
If we do the payload creation including the codepage conversion completely on the client side (inside some beanshell scriptin) then we put an already correct EBCDIC Cp1026 mixed payload in the message queue ready for the mainframe COBOL program to consume. But MQ converts it’s a second time yet again and now its completely messed up. How do we instruct MQ to not convert that message again? What MQ headers to use?
Fact is that the default format for Native Send Receive step in the MQMD is MQSTR, which indicates to MQ that this payload is all text, so it makes sense that MQ does the codepage conversion for the whole payload. But when we set the format to MQFMT_NONE then we would expect that MQ does not do the conversion and leaves the payload as is. (In this case of MQFMT_NONE we do the codepage conversion already in a java step inside the .tst and we obviously only convert the text fields. So we want MQ to leave it alone, but it doesn’t...)
Open a new support case and refer to defect DE398615.