0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

DataSpiderとDTR/Jで解決!メインフレーム漢字コードのノーコード変換

0
Last updated at Posted at 2026-09-11

はじめに

セゾンテクノロジーが提供するDataSpider Servista(以下、DataSpider)は、GUI操作だけで多種多様なシステム間データ連携を実現できる強力なEAI/データ統合プラットフォームです。1

しかし、メインフレームとのデータ連携を試みた際に「文字コードの壁」に直面することがあります。DataSpiderの文字コード変換機能は、実行基盤であるJava 21がサポートするエンコーディングに準拠しています。2 日立KEIS、富士通JEF、NEC JIPS、BIPROGY(旧ユニシス)LETS-Jなどのメインフレーム固有の漢字コードはカバーされておらず、そのままでは変換できません。

「DataSpiderのノーコード開発の恩恵を受けつつ、レガシーなメインフレームのデータもスムーズに取り込みたい」
このような課題のスマートな解決策として、BIPROGYのデータ変換ツール「DTR/J」があります。3

DTR/JをDataSpiderに組み込むことで、Java標準では扱えないメインフレーム漢字コードをDataSpider上で変換できるようになります。この記事では、DTR/Jのセットアップ手順から、DataSpider上でメインフレーム漢字コードを変換するスクリプトを開発する一連の流れを解説します。

この記事はユーザー視点の検証記事であり、メーカーの公式見解ではありません。

対象読者

  • DataSpiderでメインフレーム連携を担当している方
  • メインフレームの漢字コード変換に悩んでいるエンジニア

DTR/Jとは

DTR/JはBIPROGYのデータ変換ツールDTRのファミリー製品です。
DTRIIやDTR/LinuxがOSで稼働するプログラムであるのに対し、DTR/JはJavaのライブラリであり、JavaプログラムからDTRの機能を利用できるようにしました。

DTR/Jでは以下のキャラクタセットを提供しています。

キャラクタセット名 説明 シフトコード有無
DTR_LETSJ BIPROGY LETS-J 漢字コードとASCII 半角コード ○
DTR_LETSJ_K BIPROGY LETS-J 漢字コード(2 バイト文字のみ) ×
DTR_JB7 BIPROGY JB7 漢字コードとEBCDIC 半角コード ○
DTR_JB7_K BIPROGY JB7 漢字コード(2 バイト文字のみ) ×
DTR_JB8 BIPROGY JB8 漢字コードとEBCDIC 半角コード ○
DTR_JB8_K BIPROGY JB8 漢字コード(2 バイト文字のみ) ×
DTR_JEF 富士通JEF 漢字コードとEBCDIC 半角コード ○
DTR_JEF_K 富士通JEF 漢字コード(2 バイト文字のみ) ×
DTR_KEIS 日立KEIS 漢字コードとEBCDIC 半角コード ○
DTR_KEIS_K 日立KEIS 漢字コード(2 バイト文字のみ) ×
DTR_JIPS 日電JIPS 漢字コードとEBCDIC 半角コード ○
DTR_JIPS_K 日電JIPS 漢字コード(2 バイト文字のみ) ×
DTR_JIPSE 日電JIPS(E)漢字コードとEBCDIC 半角コード ○
DTR_JIPSE_K 日電JIPS(E)漢字コード(2 バイト文字のみ) ×
DTR_IBM IBM 漢字コードとEBCDIC 半角コード ○
DTR_IBM_K IBM 漢字コード(2 バイト文字のみ) ×
DTR_SJIS シフトJIS 漢字コードとASCII 半角コード -
DTR_EUC EUC 漢字コードとEUC 半角コード -

シフトコード有無
○ :漢字(2 バイト文字)とANK: Alphabet, Numerical digit, Katakana(1 バイト文字)がシフトコードで区切られる
× :漢字のみ
- :漢字とANK がシフトコードで区切られることなく混在する

さらにDTR/Jでは外字ファイルを用いて、既存のキャラクタセットに外字変換を追加した新たなキャラクタセット名を追加できます。この機能を利用することでIBM漢字コードのようにバリエーションがあるものにも対応できます。
キャラクタセット追加

検証環境

以下の環境で検証しました。

  • OS: Windows
  • DataSpider Servista 5.0.1
  • DTR/J 1R8H

DTR/J配備

最初にDTR/JをDataSpiderに配備します。
DTR/Jの実体はjarファイルdtr.jarです。
このファイルを以下のパスに格納します。
<導入ディレクトリ>\server\system\common\lib
DataSpiderサービスを再起動します。

以下はDTR/J配備の確認方法です。

  • DataSpider Studioにログインします。
  • コントロールパネルを開きます。
  • 「DataSpiderServerの設定」を開きます。
  • 「全般」タブが表示されていることを確認します。
  • システムプロパティのjava.class.path欄にdtr.jarが存在することを確認します。

漢字コード出力

シフトJISのCSVファイルをBIPROGYメインフレームの漢字コードLETS-Jに変換します。

最初に入力ファイルとしてエフティーアドニャンのプロフィールをまとめたCSVファイルを作成し、シフトJISで保存します。

ftadnyan.csv
名前,エフティーアドニャン
属性,ファイルの妖精
役割,ファイルの転送を見守る
好きな食べ物,ちらし寿司
好きな花,蝋梅
好きなスポーツ,バドミントン
話し方,語尾にニャンを付ける

検証用に親しみやすいサンプルデータを使用しています。エフティーアドニャンはファイルの転送を見守るファイルの妖精という架空の自作キャラクターです。私のアイコン画像のキャラクターです。

DataSpider Studioでスクリプト「エフティーアドニャンSJIS2LETSJ」を作成します。
デザイナのスクリプトキャンパスで以下のコンポーネントを配置します。

エフティーアドニャンSJIS2LETSJ.png

Start
↓
CSVファイル読み込み処理

  • ファイル:/data/ftadnyan.csv
  • エンコード:Shift_JIS
  • 最初の行は値として取得しない:チェックしない

↓
CSVファイル書き込み処理

  • ファイル:/data/ftadnyan_letsj.csv
  • エンコード:DTR_LETSJ
  • 1行目に列名を挿入:チェック

↓
End

変換前と変換後の相違を強調するために入力ファイルはヘッダーなし、出力ファイルはヘッダーありとしました。

スクリプトを実行すると、正常終了し、ファイルftadnyan_letsj.csvが出力されます。

DTR/Jを配備していない場合、DTR_LETSJというエンコードをJava 21でサポートしていないため、スクリプト実行は「java.io.UnsupportedEncodingException」でエラーになります。

出力されたファイルをシフトJISで開いても文字化けします。

ftadnyan_letsj.csv
菟ケ猯ワ二,菟テヘ二
菟フセチー二,菟・ィ・ユ・ニ・」。シ・「・ノ・ヒ・罕・
菟ツータュ二,菟・ユ・。・、・・ホヘナタコ二
菟フ苴・菟・ユ・。・、・・ホナセチォシ鬢・・
菟ケ・、ュ、ハソゥ、ルハェ二,菟、チ、鬢キシハ二
菟ケ・、ュ、ハイヨ二,菟マケヌ゚二
菟ケ・、ュ、ハ・ケ・ン。シ・ト二,菟・ミ・ノ・゚・ネ・・
菟マテ、キハ二,菟ク・ヒ・ヒ・罕ユ、ア、・・

LETS-Jへの変換はDataSpider Studioのプレビュー機能で確認できます。

  • デザイナでスクリプト「エフティーアドニャンSJIS2LETSJ」を開きます。
  • CSVファイル書き込み処理のプロパティを開きます。
  • 「必須設定」タブのプレビューをクリックします。
    プレビュー画面右下の「表示キャラクタセット」がDTR_LETSJとなっており、DTR_LETSJで読み込んだ値が表示されています。
    エフティーアドニャンLETSJ

表示キャラクタセットのプルダウンでShift_JISに変更するとテキストエディタで開いた場合と同じ文字化けで表示されます。
エフティーアドニャン文字化け

JEF出力

今度は富士通JEF漢字コードに変換します。
スクリプト「エフティーアドニャンSJIS2LETSJ」をコピーし、「エフティーアドニャンSJIS2JEF」にリネームします。
CSVファイル書き込む処理のプロパティを開き、以下のように修正します。

  • ファイル:/data/ftadnyan_jef.csv
  • エンコード:DTR_JEF

スクリプトを実行すると、正常終了し、ファイルftadnyan_jef.csvが出力されます。
JEF漢字コードとEUC-JPは重なるものも多いため、エディタからEUC-JPで開くと文字化けしつつも多くの文字が読めます。

ftadnyan_jef.csv
(項目)k(値)
 (名前)k(エフティーアドニャン)
 (属性)k(ファイルの妖精)
 (役割)k(ファイルの転送を見守る)
 (好きな食べ物)k(ちらし寿司)
 (好きな花)k(c鞠潯
 (好きなスポーツ)k(バドミントン)
 (話し方)k(語尾にニャンを付ける)
  

DataSpider Studioのデザイナのプレビュー機能で表示すると表示キャラクタセットはDTR_JEFとなり、正常に表示されます。
エフティーアドニャンJEF

漢字コード入力

漢字コードを入力する場合も出力の場合と構造は同じです。
上で出力したftadnyan_letsj.csvをUTF-8に変換するスクリプト「エフティーアドニャンLETSJ2UTF8」を作成します。
デザイナのスクリプトキャンパスで以下のコンポーネントを配置します。
Start
↓
CSVファイル読み込み処理

  • ファイル:/data/ftadnyan_letsj.csv
  • エンコード:DTR_LETSJ
  • 最初の行は値として取得しない:チェック

↓
CSVファイル書き込み処理

  • ファイル:/data/ftadnyan_utf8.csv
  • エンコード:UTF-8
  • 1行目に列名を挿入:チェック

↓
End

スクリプトを実行すると、正常終了します。出力されたファイルftadnyan_utf8.csvはUTF-8になっています。

おわりに:レガシーとモダンをシームレスにつなぐ

メインフレームとのデータ連携において、エンジニアを長年悩ませてきた「文字コードの壁」。モダンなEAIツールであればあるほど逆にメーカー固有のメインフレーム漢字コードをサポートしていない傾向があります。

この記事で紹介した DataSpider × DTR/J の組み合わせは、その問題をシンプルに解決するアプローチです。

  • jarファイルを1つ配備するだけで、DataSpiderからメインフレーム漢字コードを指定できるようになる
  • 独自コンポーネントを開発することなく、標準の読み込み/書き込み処理(ノーコード)のまま直感的に連携処理を開発できる
  • DataSpider Studioのプレビュー機能により、確認もGUI上で完結する

メインフレームに眠るレガシーデータを、モダンなデータ基盤やクラウドへ解放するための「最小工数・最大効果」な一手として、ぜひアーキテクチャの選択肢に加えてみてください。レガシーを足かせにせず、資産として活かす連携処理を、スマートに構築していきましょう。

We Are Hiring!

  1. DataSpider Servista
    https://www.saison-technology.com/service/product/lineup/dataspider/ ↩

  2. java 21サポートされるエンコーディング
    https://docs.oracle.com/javase/jp/21/intl/supported-encodings.html ↩

  3. データ変換DTR
    https://www.biprogy.com/solution/service/dtr.html ↩

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?