CICS DPL programs and transactions can be driven through the CICS bridge when the client application resides on a workstation.
The main consideration when programming for the distributed environment is data conversion between the different encoding schemes and CCSID values of the workstation and z/OS. Conversion is carried out by two different routines, one for the MQCIH structure and another for the vector.
You can ensure that conversion of the MQCIH is achieved by specifying MQFMT_CICS in the MQMD.Format field. Vector conversion, however, requires a little more consideration.
Conversion is only supported by the CICS bridge for the outbound SEND MAP and RECEIVE MAP request vectors, and for the inbound RECEIVE MAP vector.
To achieve conversion of the SEND MAP and RECEIVE MAP vectors, do this:
If you want to use vectors other than SEND MAP and RECEIVE MAP to drive transactions in the distributed environment, you must either write your own data conversion routines or create and interpret the data streams in the format required by z/OS.
The MQCIH.Format is always set to CSQCBDCO in outbound messages. If you want to specify another format type for outbound conversion, you must intercept the message by writing to a local reply queue. Change the value of MQCIH.Format to specify your own routine before sending it on to the remote environment.
No support is provided for conversion between workstation and mainframe formats of vectors other than SEND MAP (outbound) and RECEIVE MAP (both inbound and outbound).
If you are driving a DPL program that neither receives nor returns COMMAREA data, or if the COMMAREA data is purely character data, you can achieve data conversion by specifying MQFMT_STRING in field MQCIH.Format. If your COMMAREA data is not purely character data, you must write your own conversion routine.