MQ

MQ

Join this online group to communicate across IBM product users and experts by sharing advice and best practices with peers and staying up to date regarding product enhancements.

 View Only
  • 1.  What does MQCCSI_APPL really mean?

    Posted Fri January 28, 2022 04:13 AM
    The doc says
    The initial value of this field is MQCCSI_APPL, which is defined by MQ to indicate that it should be changed to the true character set identifier of the current process.

    I am running on z/OS in Unix System Services with a particular code page, with a C program compiled as ASCII:
    What value is picked up?  Or does it mean the platform CCSID rather than the current process's CCSID?
    Can I change this value programmatically?
    regards

    Colin


    ------------------------------
    Colin Paice
    ------------------------------


  • 2.  RE: What does MQCCSI_APPL really mean?

    Posted Fri January 28, 2022 04:23 AM

    The constant MQCCSI_APPL is similar to MQCCSI_Q_MGR in that it says, take the CCSID from the environment in some way.

    MQCCSI_Q_MGR means that the QMgr's CCSID is used for a local binding application, and the client environment sets it if it is a client binding application.

    MQCCSI_APPL needed to be a bit more flexible than that given it was invented for the MQCHARV structure which was likely to contain 1208 strings for topic strings and such.

    MQCCSI_APPL is also allowed to be redefined by an application to another number if you want, which is not allowed for other constants. See Redefinition of MQCCSI_APPL

    However, the exact answer to your question can be found in the description of the MQCHARV VSCCSID (MQLONG) field.

    On z/OS® systems, the default application CCSID used by MQCCSI_APPL is defined as follows:
    • For batch LE applications using the DLL interface, the default is the CODESET associated with the current locale at the time MQCONN is issued (default value is 1047).
    • For batch LE applications bound with one of the batch MQ stubs, the default is the CODESET associated with the current locale at the time of the first MQI call issued after MQCONN (default value is 1047).
    • For batch non-LE applications running on a z/OS UNIX System Services thread, the default is the value of THLICCSID at the time of the first MQI call issued after MQCONN (default value is 1047).
    • For other batch applications, the default is the CCSID of the queue manager.

    Hope that helps?

    Cheers,
    Morag



    ------------------------------
    Morag Hughson
    MQ Technical Education Specialist
    MQGem Software Limited
    Website: https://www.mqgem.com
    ------------------------------



  • 3.  RE: What does MQCCSI_APPL really mean?

    Posted Mon January 31, 2022 03:15 AM
    Brill...

    Thank you.  I'll raise a PCF and ask for mentions to MQCCSI_APPL to point to this text

    Colin