IBM Support

DataStageサーバージョブ用NLSマップの追加方法

Question & Answer


Question

DataStageサーバージョブ用のNLSマップの追加方法の例

Answer

サーバージョブ用のNLSマップの追加は、NLS管理ツール(NLS.ADMIN)を使用して行います。
NLS.ADMIN は、uvsh から起動します。
以下に、既存のNLSマップ JPN-SJIS の一部を変更した JPN-SJIS-N1 というNLSマップを新しく作成する手順の例を示します。
 
[NLS.ADMINの起動]
Linux/AIX環境:
ターミナルエミュレーター(teraterm, putty等)からInformation Serverのエンジン層にDataStage管理ユーザー(dsadm等)でログインしてuvshからNLS管理ツールを起動します。
(製品インストールディレクトリは/opt/IBM/InformationServerとします)
 
$ cd /opt/IBM/InformationServer/Server/DSEngine
$ .  ./dsenv
$ bin/uvsh
 <<複数行メッセージ>>
> NLS.ADMIN
 
Windows環境:
・telnetコマンドを使用します。Windows環境にtelnetがインストールされていない場合は、あらかじめインストールしておいてください。
・"DataStage Telnet サービス"(dstelnet)を停止している場合は、あらかじめ起動しておいてください。
 ("DataStage Telnet サービス"は製品インストール時に合わせてインストールされ、デフォルトではシステム起動時に自動で起動されるように設定されています。)
 
Information Serverのエンジン層がインストールされているWindows環境で、コマンドプロンプトからtelnetコマンドを起動し、"DataStage Telnet サービス"を介して接続して、NLS管理ツールを起動します。
(製品インストールフォルダはC:\IBM\InformationServerとします)
 
C:\Users\Administrator>telnet エンジン層ホスト名 2300
 
Welcome to the DataStage Telnet Server.
Enter user name:
dsadm
Enter password: XXXXX
Account name or path: c:\IBM\InformationServer\Server\DSEngine
DataStage Command Language 11.7 Licensed Materials - Property of IBM
 <<複数行メッセージ>>
>SET.TERM.TYPE ansi-uv
ANSI Standard Terminal (ansi-uv)
>NLS.ADMIN
 
 
NLS.ADMIN を起動すると、以下の様なメニューが表示されます。
NLSマップの追加は、[Mappings]メニュー内の機能を使用して行います。
                              NLS ADMINISTRATION
 Unicode        Mappings       Locales        Categories     Installation
 
 
[マップテーブルの作成]
 マップテーブル JPN-SJIS-N1 を作成します。
 A) [Mappings] --> [Tables] --> [Create] と選択します。
 B) 以下の様に入力を求められます。
   マップテーブル名として JPN-SJIS-N1 と入力します。
   Enter map table record ID (Create), Q to quit: JPN-SJIS-N1 <RETURN> 
 C) 以下の様に入力を求められます。
  今回はJPN-SJISの一部を変更するので、マップテーブル JPN-SJIS をコピーして使います。
  JPN-SJIS と入力します。
   You may copy an existing record to form the basis of the new one...
  Enter a map table ID (Copy), '?' for a list, or Q to quit: JPN-SJIS <RETURN>
 D) 以下の表示がされ、ここで直接マップを変更することができますが、ここでは、EX と入力して、メニューに戻ります。
  EDITING FILE: NLS.MAP.TABLES / JPN-SJIS-N1
  6933 lines long.
  ----:EX <RETURN>
 
 上記までの操作を行うと、/opt/IBM/InformationServer/Server/DSEngine/nls/maps/MAP.TABLES  以下に、JPN-SJIS からコピーされた JPN-SJIS-N1 というファイルが作成されています。
 このJPN-SJIS-N1 というマップファイルを希望に合う様にエディタ等を使用してマップを変更して保存してください。
 
 ・マップファイルの構文は、
   ローカルコードページ UNICODE
  という構文になります。
  以下は、JPN-SJIS マップのSJIS全角の0から9までをUNICODEのFULLWIDTH DIGIT ZEROからFULLWIDTH DIGIT NINEまでのマップしている部分になります。
   824F FF10
   8250 FF11
   8251 FF12
   8252 FF13
   8253 FF14
   8254 FF15
   8255 FF16
   8256 FF17
   8257 FF18
   8258 FF19
 ・行の先頭の * は、コメント行となります。
  コメントの例(先頭の2行がコメント行となります。)
   * JAPANESE: alternate shift-JIS map -- JPN-SJIS-N1
   *SJIS Unicode
   8140 3000
   8141 3001
 
[Descriptionの作成] 
 JPN-SJIS-N1のDescription(NLSマップ)を作成します。
 A) [Mappings] --> [Descriptions] --> [Create] と選択します。
 B) 以下の様に入力を求められます。
   NLSマップ名として JPN-SJIS-N1 と入力します。
   Enter map description record ID (Create), Q to quit: JPN-SJIS-N1 <RETURN> 
 C) 以下の様に入力を求められます。
  今回はNLSマップ JPN-SJIS の一部を変更しているので、JPN-SJIS の Description をコピーして使います。
  JPN-SJIS と入力します。
   You may copy an existing record to form the basis of the new one...
  Enter a map description ID (Copy), '?' for a list, or Q to quit: JPN-SJIS <RETURN>
 D) JPN-SJIS の Description が、JPN-SJIS-N1 の Description としてコピーされ以下の様に表示されます。
  1  MAP ID     JPN-SJIS-N1
  2  Descript.  #JAPANESE: Shift-JIS Enhanced map
  3  Based on   JPN-JIS-RTE
  4  Map type   DBCS
  5  Table ID   JPN-SJIS
  6  Disp. len  2
  7  Prefix
  8  Offset
  9  Unknown
  10 Compose
  11 I/P table
 
  CHANGE=
 E) JPN-SJIS の Description を JPN-SJIS-N1 のDescription としてコピーしたので、5 の Table ID のマップテーブル名が JPN-SJIS のままになっているので、これを 1.で作成した マップテーブル JPN-SJIS-N1 に変更します。
   CHANGE= で、5と入力し、次に出力されたTable ID= に JPN-SJIS-N1 と入力します。
  
  CHANGE=5 <RETURN>
  Table ID= JPN-SJIS-N1 <RETURN>
  CHANGE=
 F) 変更箇所は5のTable ID だけなので、CHANGE=に対して、<RETURN>を入力します。さらにMAP ID=と出力されますので、再度、<RETURN>を入力します。メニューに戻ります。
  CHANGE=<RETURN>
 
  MAP ID=<RETURN>
 
 
[マップのビルド]
 NLSマップ JPN-SJIS-N1 をビルドします。
 A) [Mappings] --> [Build] と選択します。
 B) 以下の様に入力を求められます。
   はじめに<RETURN>を入力した後、Description 名である JPN-SJIS-N1 を入力して、<RETURN>を入力するとNLSマップのビルドが始まります。
   Would you like a detailed listing (default N) <RETURN>
   Enter a map description ID, '?' for a list, or Q to quit: JPN-SJIS-N1 <RETURN>
   マップビルド時には以下の様なメッセージが出力されます。  
   MAP ID: JPN-SJIS-N1 (#JAPANESE: Shift-JIS Enhanced map )
   Compose sequence disabled by map ASCII+C1
   "Unknown character" sequence defaults to: 3F (?)
   Table IDs          Len.  Referenced from map...
   JPN-SJIS-N1         2    JPN-SJIS-N1
   MS932-RTE           2    JPN-JIS-RTE
   JISX0201-K          1    JISX0201
   JISX0201-A          1    JIS-ROMAN
   ASCII               1    ASCII+C1
   C1-CONTROLS         0    C1-CONTROLS
   C0-CONTROLS         0    C0-CONTROLS
   No input tables referenced
   Processing mapping table: C0-CONTROLS
   Processing mapping table: C1-CONTROLS
   Processing mapping table: ASCII
   Processing mapping table: JISX0201-A
   Processing mapping table: JISX0201-K
   Processing mapping table: MS932-RTE
   WARNING: Character(s) in Unicode Private Use Area [E000-F8FF] - first is E800
   Processing mapping table: JPN-SJIS-N1
   1000 lines read
   2000 lines read
   Press any key to continue...
 C) 出力メッセージが多いと、途中で、"Press any key to continue..." という様なメッセージが出力されますので、スペースキーなど押して先に進めます。
 D) 最後に以下の様に入力を求められます。
   N を入力します。
   Would you like to view it (default Y)? N <RETURN>
 
 NLSマップのビルドが終了すると、メニューに戻ります。
 [ESC」キーで、NLS.ADMIN を終了します。
 
 
[追加したマップの有効化]
 追加したマップをサーバージョブ内で使用できるようにするために、DSエンジンを再起動します。
 再起動例:
 $ su - dsadm
 $ cd  /opt/IBM/InformationServer/Server/DSEngine
 $ .  ./dsenv
 (停止)
 $ bin/uv -admin -stop
 (起動)
 $ bin/uv -admin -start
 
 
参考:
[マップのビルド]のB)の、
  Would you like a detailed listing (default N)
で、Y を入力して進めると、マップのビルドが終わると、/opt/IBM/InformationServer/Server/DSEngine/nls/maps/listing 以下に、NLSマップ名と同じ JPN-SJIS-N1 というファイルが作成されます。
このファイルの中には、JPN-SJIS-N1 の Description 情報やコントロールコード、1バイト文字、2バイト文字を含むJPN-SJIS-N1 に含まれるSJISコードとUNICODEの対応マップ全体の情報が含まれます。
 
 
 
 
 
 
   

Related Information

[{"Type":"MASTER","Line of Business":{"code":"LOB10","label":"Data and AI"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSZJPZ","label":"IBM InfoSphere Information Server"},"ARM Category":[{"code":"a8m0z000000cx5nAAA","label":"NLS"}],"ARM Case Number":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"All Versions"}]

Document Information

Modified date:
13 November 2023

UID

ibm17058201