C または C++ では、XMS との間でオブジェクトの受け渡しを行う一連の文字データは、変換が必要な場合があります。 オブジェクトの XMSC_CLIENT_CCSID プロパティーは、オブジェクトが使用しているコード・ページを XMS に通知する機能を持っています。
C または C++ アプリケーションのオブジェクトが文字データのストリングを API を介して XMS に渡すと、 XMS は、必要に応じて、 オブジェクトが使用するコード・ページから XMS がデータに対して設定する必要があるコード・ページへストリング内の文字データを変換します。 同様に、オブジェクトが API を介して文字データのストリングを XMS から受け取ると、XMS は、必要に応じて、ストリング内の文字データが現在使用しているコード・ページから、オブジェクトが使用しているコード・ページに文字データを変換します。 このため、ストリング内の文字データを変換するには、オブジェクトが使用しているコード・ページを XMS が認識する必要があります。
ConnectionFactory、Connection、Session、MessageProducer、MessageConsumer の各オブジェクトの XMSC_CLIENT_CCSID プロパティーは、オブジェクトが使用するコード・ページを指定するプロパティーです。 XMSC_CLIENT_CCSID プロパティーの値は、コード・ページを識別するコード化文字セット ID (CCSID) です。 XMS は、これらのうちいずれかのオブジェクトをアプリケーションが作成するとプロパティーを設定しますが、アプリケーションは後でその値を変更できます。
アプリケーションが始動すると、XMS は、アプリケーションが実行されている環境から、アプリケーションに合わせて適切な CCSID を導出します。 この CCSID のことをプロセス CCSID といいます。 アプリケーションは、xmsSetClientCCSID() を呼び出すことにより、プロセス CCSID を随時変更できます。 これはいずれのクラスにも属さない C 関数ですが、C++ アプリケーションはこの関数も同様に使用できます。
アプリケーションが接続ファクトリーを作成すると、XMS はオブジェクトの XMSC_CLIENT_CCSID プロパティーを設定します。接続ファクトリーが、管理対象オブジェクトのリポジトリーから取り出したオブジェクト定義を基に作成され、このオブジェクト定義によって XMSC_CLIENT_CCSID プロパティーの値が指定される場合、 XMS は、この値を使用してこのプロパティーを設定します。 それ以外の場合、XMS はこのプロパティーを特殊値 XMSC_CCSID_PROCESS に設定します。これは、接続ファクトリーが使用しているコード・ページは、プロセス CCSID で指定されたコード・ページであるという意味です。
アプリケーションが接続ファクトリーを使用して接続経路を作成すると、XMS は、ConnectionFactory オブジェクトの XMSC_CLIENT_CCSID プロパティーを、新しく作成した Connection オブジェクトにコピーします。 XMS がプロパティーをコピーするのは、アプリケーションが接続経路を作成するときに限られます。 アプリケーションが ConnectionFactory オブジェクトの XMSC_CLIENT_CCSID プロパティーの値を後で変更した場合、XMS は、この変更内容を Connection オブジェクトの XMSC_CLIENT_CCSID プロパティーには波及させません。
同様に、アプリケーションが接続経路を使用してセッションを作成すると、XMS は、Connection オブジェクトの XMSC_CLIENT_CCSID プロパティーを、新しく作成した Session オブジェクトにコピーします。 さらに、アプリケーションがセッションを使用してメッセージ・プロデューサーまたはメッセージ・コンシューマーを作成すると、XMS は、Session オブジェクトの XMSC_CLIENT_CCSID プロパティーを、新しく作成した MessageProducer オブジェクトまたは MessageConsumer オブジェクトにコピーします。 いずれの場合も、XMS がプロパティーをコピーするのは、アプリケーションがオブジェクトを作成するときだけです。
これはプロパティーの特殊値であり、実際の CCSID ではありません。
これはプロパティーの特殊値であり、実際の CCSID ではありません。
これはプロパティーの特殊値であり、実際の CCSID ではありません。
XMS が出力メッセージ内のストリングを変換する必要がある場合、XMS は、そのメッセージを作成したセッションに関連したコード・ページを使用します。XMS が着信メッセージ内のストリングを変換する必要がある場合、XMS は、そのメッセージを受信したメッセージ・コンシューマーに関連したコード・ページを使用します。XMS は、関連する Session オブジェクトまたは MessageConsumer オブジェクトの XMSC_CLIENT_CCSID プロパティーの値を基にコード・ページを判別します。