本レポートは、富士通ホスト(MSP、HULFT 8)とRHELサーバー(HULFT 8または10)間におけるHULFTファイル転送の課題を解決し、最適な転送定義を提案するものです。特に、符号付き数値項目、PAC(16進数)項目、および全角文字項目(JEF漢字)の解釈における差異を吸収し、円滑な双方向データ連携を実現することを目的とします。

よくある課題

  • 符号付き数値項目の解釈
  • PAC(16進数)項目の解釈
  • 全角文字項目の解釈

これら3つの懸念点について、HULFTの標準機能を用いた解決策を以下に示します。

2. 課題の分析と解決策

2.1. 符号付き数値項目およびPAC項目の解釈

課題:
 •符号付き数値項目(例:S9(5)):5バイト目に数値と符号を保持する形式の解釈。
 •PAC項目(例:9(5) COMP-3):1バイトに2桁の値を保持するパック10進数形式の解釈。

解決策:
 HULFTのフォーマット転送機能を利用することで、これらの数値データ形式の差異を吸収できます。フォーマット転送では、データレイアウトを定義した「フォーマット情報」を用いることで、項目単位でのデータ変換が可能です [1]。

具体的には、フォーマット情報の項目タイプとして以下を指定します。

COBOL定義HULFT項目タイプ説明
PIC S9(n) DISPLAYS(サイン付外部10進数)ゾーン形式の符号付き10進数データを扱います。
PIC 9(n) COMP-3P(サイン付内部10進数)パック形式の10進数データを扱います。

これにより、HULFTは転送時にMSP(EBCDIC)とRHEL(ASCII)の数値表現の違いを自動的に変換します。

2.2. 全角文字項目(JEF漢字)の解釈

課題:
 •全角文字項目(例:N(5)):JEF漢字のシフトコード(SO/SI)が付与されないことによる文字化け。

解決策:
 この課題は、HULFTのコード変換機能とシフトコード制御機能を組み合わせることで解決します。

1.コード変換設定:
 •MSP側HULFTのシステム動作環境設定で、自機種のコードセットとして「富士通漢字(JEF)」を指定します
 •RHEL側HULFTでは、転送に使用するコードセット(例:UTF-8, EUC-JP, Shift-JIS)を指定します。
 •詳細ホスト情報で、相手ホストのコードセットを正しく設定することで、HULFTが自動的にJEFと指定のコードセット間の変換を行います [2]。

2.シフトコードの扱い:
 •ホスト(MSP)からRHELへの転送時: 配信管理情報の「シフトコードの扱い(SHIFT-CODE)」で「C(カットする)」または「S(スペースに変換)」を選択します。これにより、JEFのシフトコード(SO/SI)が削除され、RHEL側で正しく文字として認識されます [3]。一般的には「C(カットする)」が推奨されます。
 •RHELからホスト(MSP)への転送時: 配信管理情報の「シフトコードの扱い(SHIFT-CODE)」で「Y(付加する)」を選択します。これにより、ASCII系のデータにシフトコードが自動的に付加され、MSP側でJEF漢字として正しく認識されます [3]。

3. 最適な転送定義

以上の解決策を踏まえ、双方向転送における具体的なHULFT設定項目を以下に提案します。

3.1. ホスト(MSP)からRHELへの転送

管理情報パラメータ名設定値目的・理由
配信管理情報ファイルID任意転送定義の識別子
転送種別F(フォーマット転送)項目単位でのデータ変換を行うため
フォーマットID作成したフォーマットID上記2.1で定義したフォーマットを指定
コード変換S(配信側)MSP側でJEFから中間コードへ変換
シフトコードの扱いC(カットする)JEFのシフトコードを削除するため
集信管理情報ファイルID配信側と同一
作成モードC(作成)
詳細ホスト情報(MSP側)ホスト名RHELサーバーのホスト名
転送コードセットRHEL側のコードセット(例: U (UTF-8))変換先のコードセットを指定
詳細ホスト情報(RHEL側)ホスト名MSPのホスト名
転送コードセットJ(JEF)変換元のコードセットを指定
フォーマット情報COBOLレイアウトに基づき定義S、P、Nなどの項目タイプを適切に設定

3.2. RHELからホスト(MSP)への転送

管理情報パラメータ名設定値目的・理由
配信管理情報ファイルID任意転送定義の識別子
転送種別F(フォーマット転送)項目単位でのデータ変換を行うため
フォーマットID作成したフォーマットID上記2.1で定義したフォーマットを指定
コード変換S(配信側)RHEL側で指定コードから中間コードへ変換
シフトコードの扱いY(付加する)JEF用のシフトコードを付加するため
集信管理情報ファイルID配信側と同一
作成モードC(作成)
詳細ホスト情報(RHEL側)ホスト名MSPのホスト名
転送コードセットJ(JEF)変換先のコードセットを指定
詳細ホスト情報(MSP側)ホスト名RHELサーバーのホスト名
転送コードセットRHEL側のコードセット(例: U (UTF-8))変換元のコードセットを指定
フォーマット情報COBOLレイアウトに基づき定義S、P、Nなどの項目タイプを適切に設定

4. まとめと推奨事項

富士通ホスト(MSP)とRHELサーバー間のHULFTファイル転送における文字コードやデータ形式の差異は、HULFTのフォーマット転送機能と**コード変換設定(特にシフトコードの扱い)**を適切に組み合わせることで、完全に吸収することが可能です。

上記で提案した転送定義を適用することで、符号付き数値、PAC項目、JEF漢字を含むデータであっても、双方向でシームレスなファイル転送が実現できます。

重要な点として、実際のデータレイアウト(COBOL定義)に即した正確な「フォーマット情報」の作成が、本解決策の根幹となります。

5. 参考文献

[1] HULFT. (2025). フォーマット転送およびマルチフォーマット転送の場合のコード変換規則. Retrieved from https://www.hulft.com/help/ja-jp/HULFT-V10/COM-CNV/Content/HULFT_CNV/specific/CnvRule_Frmt_MultFrmtTrns.htm [2] HULFT. (2022). 日本語コードセット変換. Retrieved from https://www.hulft.com/help/ja-jp/HULFT-V8/COM-CNV/Content/HULFT_CNV/outline/CodeSetType_J.htm [3] HULFT. (2022). シフトコードの変換規則. Retrieved from

このページの内容はManusによって作成されました

インフォグラフィックWEBページ
https://blog.proastio.co.jp/HULFT-MSP2RHEL.html