一部のアプリケーションでは、メッセージをメッセージ・カタログに
保管します。これらのメッセージ・カタログを変更して、メッセージを別の言語に変換したり、
ご使用のシステムに合うようにカスタマイズすることができます。
始める前に
以下の情報を検討してください。
次の情報について把握する必要があります。
- これらのステップで示されているコマンドは、z/OS® UNIX コマンドです。これらのステップはすべて、z/OS UNIX シェルから実行してください。
- これらのステップは sample.cat と呼ばれるメッセージ・カタログを使用します。また、アプリケーション・コードとカタログが正しいレベルであることを前提としています。カタログをカスタマイズする場合、IBM® サービス担当員が、出荷時レベルのカタログを使用して、報告された問題の再現と診断を行うように求める場合があります。
手順
変更されたメッセージ・カタログを作成するには、以下のステップを実行します。
- 現在の z/OS UNIX カタログをバックアップ・ファイルにコピーして、必ず元のカタログのコピーを取っておくようにしてください。
cp /usr/lpp/tcpip/lib/nls/msg/C/sample.cat /usr/lpp/tcpip/lib/nls/msg/C/sample.cat.backup
- z/OS UNIX dspcat コマンドを使用して、コピーしたばかりのバックアップ・カタログのコピーを、編集可能なコピーに変換します。
dspcat -t -g /usr/lpp/tcpip/lib/nls/msg/C/sample.cat.backup > /tmp/sample.cat.copy
sample.cat.copy ファイルは、タイム・スタンプを保存しつつ、メッセージをカスタマイズする更新を行おうとしているファイルです。
- カタログの最初の行をコメントから z/OS UNIX gencat コマンドの $timestamp ディレクティブに変更します。 これにより、新しいカタログを作成する時に、元のタイム・スタンプをそのカタログに組み込むことができます。アプリケーションはメッセージ・カタログを開くときに、カタログの一番上のタイム・スタンプをチェックしてアプリケーションのタイム・スタンプと一致することを確認する場合があります。タイム・スタンプが異なる場合、アプリケーションはメッセージ・カタログを使用しません。以下のステップを実行して、新しいメッセージ・カタログに元のメッセージ・カタログのタイム・スタンプが確実に含まれるようにします。
- 更新するファイルを編集します。
oedit /tmp/sample.cat.copy
- ディレクトリーの作成時のタイム・スタンプを保存できるようにするために、最初の行のコメントを変更して gencat コマンドの $timestamp ディレクティブを追加します。ファイルの先頭行は、次の行のようになっています。
The time stamp of catalog /usr/lpp/tcpip/lib/nls/msg/C/sample.cat.backup is: 2010 095 20:30 UTC
次のように、この行の先頭のテキストを $timestamp ディレクティブで置き換えます。$timestamp 2010 095 20:30 UTC
このステップを省略し、元の行が変更されないままカタログに残っている場合、このファイルからカタログの生成を試みると、次のようなメッセージが表示されます。FSUM5108 gencat: Invalid message number.
- ファイルを保管します。
- カタログ (/tmp/sample.cat.copy) をローカル変更で更新し、ファイルを保管します。
- z/OS UNIX gencat コマンドを使用して、カスタマイズされた新規カタログを作成します。
gencat /tmp/sample.cat /tmp/sample.cat.copy
正しい応答では、次のメッセージが表示されます。FSUM5105 gencat: Message catalog generated normally.
ヒント: gencat コマンドを発行する前に、変更が正しく行われていることを確認してください。エラーによっては gencat コマンドが失敗する場合もありますが、そのほかのエラーについては、メッセージが表示されるまで分からないこともあります。
- 新しいカタログをブラウズし、ステップ 3 からのタイム・スタンプが、ファイル内の内容と一致することを確認します。
obrowse /tmp/sample.cat
最初のレコードには、タイム・スタンプ (yyyy ddd hh:mm UTC) が含まれています。以下に例を示します。...2010 095 20:30 UTC
- 出荷時にこのリリースに付属している z/OS UNIX カタログを、ステップ 5 で作成した更新済みカタログで置き換えます。
cp /tmp/sample.cat /usr/lpp/tcpip/lib/nls/msg/C/sample.cat
次のタスク
dspcat および
gencat ユーティリティーについて詳しくは、「
z/OS UNIX System Services コマンド解説書」を参照してください。