interstage service integrator v9.6.0 fujitsu...

254
J2X1-7949-02Z0(00) 20155Windows/Solaris/Linux FUJITSU Software Interstage Service Integrator V9.6.0 解説書

Upload: others

Post on 29-Jan-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

J2X1-7949-02Z0(00)2015年5月

Windows/Solaris/Linux

FUJITSU SoftwareInterstage Service Integrator V9.6.0

解説書

まえがき

本書の目的

本書は、Interstage Service Integrator(以降、ISIと略します)の概要、また運用、使用するうえで必要な情報について説明しています。

本書の読者

本書は、ISIの導入を検討されている方や、ISIを運用する方、また利用する方を対象としています。

なお、本書を読むためには、以下の知識が必要です。

・ インターネットに関する知識

・ 使用するOSに関する知識

・ XMLに関する知識

・ Interstage Application Serverに関する知識

本書の構成

本書は、以下の構成になっています。

第1章 ISIの概要

ISIの概要について説明しています。

第2章 ISIの機能

ISIの機能について説明しています。

第3章 構成の詳細(J2EE実行環境)

J2EE実行環境のISIの基本構成について説明しています。

第4章 構成の詳細(Java EE実行環境)

Java EE実行環境のISIの基本構成について説明しています。

第5章 導入から運用までの流れ

ISIの導入から運用までの流れについて説明しています。

第6章 インタフェース調整機能の詳細

ISIのインタフェース調整機能の詳細について説明しています。

付録A 互換機能

ISIの旧バージョンとの互換機能について説明しています。

付録B BPEL機能

BPEL機能について説明しています。

付録C 他のISIサーバの処理に影響を与えない定義の操作

他のISIサーバの処理に影響を与えない定義の操作について説明しています。

お願い

・ このマニュアルは、予告なしに変更されることがあります。

・ このマニュアルを無断で他に転用しないようお願いします。

・ このマニュアルに記載されたデータの使用に起因する第三者の特許権、およびその他の権利の侵害については、当社はその責

を負いません。

2015年5月 第2版

- i -

2015年1月 初版

Copyright 2015 FUJITSU LIMITED

- ii -

目 次

第1章 ISIの概要........................................................................................................................................................................ 11.1 ISIを使用してできること...................................................................................................................................................................... 1

1.1.1 サービスの接続............................................................................................................................................................................ 11.1.2 メッセージの変換..........................................................................................................................................................................21.1.3 メッセージの活用..........................................................................................................................................................................31.1.4 メッセージの保証..........................................................................................................................................................................41.1.5 導入・運用支援機能.................................................................................................................................................................... 5

1.2 コンポーネント構成..............................................................................................................................................................................81.3 ISIの構成(J2EE実行環境)..................................................................................................................................................................8

1.3.1 基本構成...................................................................................................................................................................................... 81.3.2 拡張構成.................................................................................................................................................................................... 10

1.4 ISIの構成(Java EE実行環境)........................................................................................................................................................... 121.4.1 基本構成.................................................................................................................................................................................... 131.4.2 拡張構成.................................................................................................................................................................................... 13

第2章 ISIの機能...................................................................................................................................................................... 162.1 機能一覧........................................................................................................................................................................................... 162.2 メッセージング機能........................................................................................................................................................................... 16

2.2.1 サービス連携のための接続方式(J2EE実行環境)....................................................................................................................162.2.2 サービス連携のための接続方式(Java EE実行環境)............................................................................................................... 222.2.3 条件分岐機能............................................................................................................................................................................ 262.2.4 ルーティング機能....................................................................................................................................................................... 272.2.5 同報機能.................................................................................................................................................................................... 292.2.6 キュー間転送機能......................................................................................................................................................................30

2.3 インタフェース調整機能....................................................................................................................................................................322.3.1 コーディングレス......................................................................................................................................................................... 332.3.2 多様なフォーマット形式............................................................................................................................................................. 342.3.3 多様なフォーマット変換............................................................................................................................................................. 342.3.4 クライアント上でのシミュレーション............................................................................................................................................ 352.3.5 文字コード変換.......................................................................................................................................................................... 362.3.6 CSV変換.....................................................................................................................................................................................372.3.7 ファイル抽出............................................................................................................................................................................... 37

2.4 メディエーション機能.........................................................................................................................................................................372.4.1 共通メッセージ........................................................................................................................................................................... 392.4.2 サービスの呼出し....................................................................................................................................................................... 392.4.3 ペイロードのチェック...................................................................................................................................................................442.4.4 ペイロードの加工・編集..............................................................................................................................................................452.4.5 共通メッセージからの情報取得.................................................................................................................................................472.4.6 SOAPメッセージの操作............................................................................................................................................................. 482.4.7 ペイロードのフォーマット変換.................................................................................................................................................... 522.4.8 BPM Analyticsとの連携............................................................................................................................................................. 542.4.9 List Creatorとの連携...................................................................................................................................................................552.4.10 コマンドの実行......................................................................................................................................................................... 562.4.11 ファイル入出力......................................................................................................................................................................... 572.4.12 ユーザプログラムの呼出し....................................................................................................................................................... 572.4.13 メディエータファンクションの実行(シーケンスエンジン)......................................................................................................... 592.4.14 ファイルベースでのシーケンス処理........................................................................................................................................ 612.4.15 添付ファイルをもつSOAPメッセージの操作............................................................................................................................62

2.5 高信頼性機能................................................................................................................................................................................... 662.5.1 メッセージ蓄積機能................................................................................................................................................................... 662.5.2 順番保証機能............................................................................................................................................................................ 662.5.3 クラスタリングへの対応...............................................................................................................................................................672.5.4 負荷分散.................................................................................................................................................................................... 68

2.6 導入・運用支援機能......................................................................................................................................................................... 682.6.1 ISI Studio.................................................................................................................................................................................... 68

- iii -

2.6.2 Formatmanagerクライアント.........................................................................................................................................................692.6.3 ISI運用管理コンソール.............................................................................................................................................................. 692.6.4 Systemwalker SQCを使用した監視、分析................................................................................................................................ 692.6.5 業務に応じたリソース調整機能................................................................................................................................................. 70

第3章 構成の詳細(J2EE実行環境)..........................................................................................................................................713.1 サポートする構成.............................................................................................................................................................................. 713.2 基本構成........................................................................................................................................................................................... 71

3.2.1 同期メッセージング構成............................................................................................................................................................ 713.2.2 非同期メッセージング(メッセージ保証なし)構成.....................................................................................................................723.2.3 非同期メッセージング(メッセージ保証あり)構成..................................................................................................................... 72

3.3 拡張構成........................................................................................................................................................................................... 733.3.1 ISIサーバ分離構成....................................................................................................................................................................733.3.2 ISIサーバ連携構成....................................................................................................................................................................743.3.3 負荷分散構成............................................................................................................................................................................ 75

第4章 構成の詳細(Java EE実行環境)..................................................................................................................................... 764.1 サポートする構成.............................................................................................................................................................................. 764.2 基本構成........................................................................................................................................................................................... 76

4.2.1 ISI実行環境................................................................................................................................................................................764.3 拡張構成........................................................................................................................................................................................... 76

4.3.1 ISIサーバ分離構成....................................................................................................................................................................774.3.2 ISIサーバ連携構成....................................................................................................................................................................774.3.3 負荷分散構成............................................................................................................................................................................ 78

第5章 導入から運用までの流れ............................................................................................................................................... 795.1 導入................................................................................................................................................................................................... 79

5.1.1 システム構成とサービス連携のための接続方式の設計.......................................................................................................... 795.1.2 ISIの構成の選択........................................................................................................................................................................ 795.1.3 ソフトウェアのインストール..........................................................................................................................................................795.1.4 運用環境のセットアップ............................................................................................................................................................. 80

5.2 定義作成と開発.................................................................................................................................................................................805.2.1 フォーマット定義・変換定義の作成........................................................................................................................................... 805.2.2 ISI定義の作成............................................................................................................................................................................805.2.3 アプリケーションの作成..............................................................................................................................................................80

5.3 運用................................................................................................................................................................................................... 815.3.1 サーバの起動・停止...................................................................................................................................................................81

5.3.1.1 J2EE実行環境..................................................................................................................................................................... 815.3.1.2 Java EE実行環境................................................................................................................................................................ 83

5.3.2 運用と保守..................................................................................................................................................................................835.3.2.1 日常的な運用......................................................................................................................................................................835.3.2.2 異常発生時の運用..............................................................................................................................................................84

第6章 インタフェース調整機能の詳細....................................................................................................................................... 856.1 ユーザ固有フォーマットについて..................................................................................................................................................... 85

6.1.1 一般フォーマット.........................................................................................................................................................................856.1.2 複数一般フォーマット.................................................................................................................................................................876.1.3 伝票形式フォーマット.................................................................................................................................................................896.1.4 行終端可変長フォーマット.........................................................................................................................................................936.1.5 繰返し数指定可変長フォーマット..............................................................................................................................................946.1.6 短縮FLATファイル形式............................................................................................................................................................. 95

6.2 XML文書について........................................................................................................................................................................... 966.2.1 XML文書の形式........................................................................................................................................................................976.2.2 Formatmanagerで扱うことができないXML文書の形式............................................................................................................ 986.2.3 XML文書の空タグ................................................................................................................................................................... 104

6.3 項目の属性......................................................................................................................................................................................1046.3.1 ユーザ固有フォーマットの属性............................................................................................................................................... 1046.3.2 XML文書の属性......................................................................................................................................................................112

- iv -

6.3.3 各属性のデフォルト値..............................................................................................................................................................1166.3.4 部分指定時の扱い...................................................................................................................................................................118

6.4 一般フォーマットの自動登録.......................................................................................................................................................... 1196.4.1 COBOL COPY句の入出力仕様............................................................................................................................................. 1196.4.2 CSV読込みの登録仕様...........................................................................................................................................................1286.4.3 DTD読込みとDTD出力の登録仕様....................................................................................................................................... 1316.4.4 XML Schema読込みの登録仕様............................................................................................................................................ 1326.4.5 RDB読込みの登録仕様.......................................................................................................................................................... 135

6.5 フォーマット変換設定への自動登録.............................................................................................................................................. 1356.5.1 操作手順.................................................................................................................................................................................. 1356.5.2 定義形式.................................................................................................................................................................................. 136

6.6 変換定義の一括登録......................................................................................................................................................................1416.6.1 定義形式.................................................................................................................................................................................. 142

6.7 ユーザ固有フォーマットのフォーマット変換...................................................................................................................................1596.7.1 フォーマットの形式................................................................................................................................................................... 1596.7.2 項目変換の設定.......................................................................................................................................................................1606.7.3 ヘッダがあるフォーマット形式へのフォーマット変換.............................................................................................................. 1706.7.4 複数フォーマットを入力するフォーマット変換.........................................................................................................................1716.7.5 複数フォーマットが混在するフォーマットのフォーマット変換.................................................................................................172

6.8 ユーザ固有フォーマットのその他のフォーマット変換....................................................................................................................1736.8.1 文字コード変換........................................................................................................................................................................ 1736.8.2 CSV変換...................................................................................................................................................................................1826.8.3 ファイル抽出............................................................................................................................................................................. 1846.8.4 レイアウト調整...........................................................................................................................................................................186

6.9 XML文書のフォーマット変換......................................................................................................................................................... 1986.9.1 属性の変換ルール...................................................................................................................................................................2016.9.2 文字コードについて................................................................................................................................................................. 2096.9.3 改行コードについて................................................................................................................................................................. 2106.9.4 XML宣言について.................................................................................................................................................................. 2106.9.5 XML SchemaおよびDTDを使用しないXML文書について.................................................................................................. 2106.9.6 DTDについて........................................................................................................................................................................... 2106.9.7 XML Schemaについて.............................................................................................................................................................2146.9.8 XML属性について.................................................................................................................................................................. 2156.9.9 XMLタグ、XML属性の省略について.................................................................................................................................... 2166.9.10 入力データのチェック.............................................................................................................................................................2186.9.11 妥当性検証............................................................................................................................................................................ 2186.9.12 XML用利用者プログラム呼出し........................................................................................................................................... 2196.9.13 複数フォーマットが混在するフォーマットのXML変換..........................................................................................................220

6.10 変換パラメタID登録...................................................................................................................................................................... 2216.10.1 処理IDの登録........................................................................................................................................................................ 2216.10.2 変換パラメタIDの登録方式....................................................................................................................................................222

6.11 シミュレーションの実施..................................................................................................................................................................2226.11.1 入力データの作成..................................................................................................................................................................2236.11.2 入力データの形式..................................................................................................................................................................2236.11.3 資材の配置.............................................................................................................................................................................2236.11.4 シミュレーションの実行...........................................................................................................................................................2246.11.5 シミュレーション結果の確認...................................................................................................................................................224

付録A 互換機能.....................................................................................................................................................................225A.1 共通インタフェース機能................................................................................................................................................................. 225A.2 API利用機能.................................................................................................................................................................................. 225

A.2.1 RMI.......................................................................................................................................................................................... 225A.2.2 JMS.......................................................................................................................................................................................... 225A.2.3 JMS-R...................................................................................................................................................................................... 226A.2.4 SOAPのRPC機能(JAX-RPC)................................................................................................................................................. 226A.2.5 .NET通信機能.........................................................................................................................................................................227

A.3 共通インタフェースの機能詳細..................................................................................................................................................... 227

- v -

A.3.1 共通API................................................................................................................................................................................... 227A.4 メディエーション機能...................................................................................................................................................................... 230

A.4.1 メッセージの送信.....................................................................................................................................................................230A.4.2 Webサービスの同期呼出し.....................................................................................................................................................232A.4.3 JCAを利用した連携................................................................................................................................................................ 233

付録B BPEL機能...................................................................................................................................................................235B.1 機能概要.........................................................................................................................................................................................235B.2 WS-BPEL2.0の使用可能要素と各要素の機能............................................................................................................................ 235

B.2.1 基本アクティビティ................................................................................................................................................................... 236B.2.2 構造化アクティビティ............................................................................................................................................................... 237B.2.3 その他の要素...........................................................................................................................................................................237

B.3 システム構成...................................................................................................................................................................................238B.4 導入から運用までの流れ............................................................................................................................................................... 238

B.4.1 システム設計............................................................................................................................................................................239B.4.2 システム環境作成....................................................................................................................................................................240B.4.3 アプリケーションの開発........................................................................................................................................................... 240B.4.4 運用..........................................................................................................................................................................................240

付録C 他のISIサーバの処理に影響を与えない定義の操作.....................................................................................................241C.1 定義を分けた構成.......................................................................................................................................................................... 241C.2 運用までの導入の流れ.................................................................................................................................................................. 243C.3 登録済みの定義を取得する流れ.................................................................................................................................................. 244

索引...................................................................................................................................................................................... 246

- vi -

第1章 ISIの概要

ISIは、サービスを組み合わせて企業の業務システムを構築する製品です。インタフェースが異なるシステム間の差異を吸収し、接続

先ごとにプログラム開発しなくても、柔軟なシステム構築ができます。

1.1 ISIを使用してできること

ここでは、ISIを使用してできることを説明します。

1.1.1 サービスの接続

ISIが提供するメッセージング機能により、インタフェースの異なる業務システムや業務アプリケーションなどをサービス化し、標準技術

を使用してサービス同士を接続できます。サービス化できない場合でも、アダプタを利用することで既存資産を活かしながらサービス

同士を接続できます。

サービス連携のための接続方式

ISIは、サービスとサービスを接続するために、次の接続方式を提供しています。

以下の接続方式には標準アダプタを提供しています。

・ SOAP(Simple Object Access Protocol 以降、SOAPと略します)

・ CORBA(Common Object Request Broker Architecture 以降、CORBAと略します)

・ ファイル転送

・ データベース連携

・ MQD(MessageQueueDirector 以降、MQDと略します)

・ MQ(IBM WebSphere MQ 以降、MQと略します)

・ III(Interstage Information Integrator 以降、IIIと略します)

以下の接続方式を利用するにはアプリケーションの開発が必要です。

・ RMI(Remote Method Invocation 以降、RMIと略します)

・ JMS(Java Message Service 以降、JMSと略します)

・ JMS-R(JMS-Rは富士通の高信頼な非同期メッセージ機能です)

ルーティング機能

ルーティング機能は、ISIが受信したメッセージや実行中のメッセージ内の値によって、実行する処理(シーケンス)や呼び出すサービ

スを変更できます。

ルーティングには、“インバウンドルーティング”、“アウトバウンドルーティング”、“シーケンスルーティング”の3種類があります。

同報機能

1か所から受け取ったメッセージを、複数のあて先に送信したい場合、ISIの同報機能を使用することで実現できます。

例えば、マスタデータの更新情報を、複数の関連部署に同時に送信したい場合に利用できます。

キュー間転送機能

キュー間転送は、2つのキューがそれぞれ別のサーバにある場合、どちらかのキューに格納したメッセージを、確実に相手側のサーバ

のキューに転送する機能です。

キュー間転送機能の主な機能は、以下のとおりです。

- 1 -

・ サーバ間の転送でメッセージを保証します。通信エラーなどが発生した場合、双方にメッセージが残ったり、双方から同時にメッ

セージが削除されることはありません。インバウンドのキューへメッセージを格納するまで、アウトバウンドのキューのメッセージは削

除されません。

・ サーバ間のメッセージ転送処理を簡単に構築できます。ISIやアプリケーションによって、自サーバのキューにメッセージを格納す

るだけで、相手サーバに自動的に転送されます。通信エラー時の特別な処理などの開発が不要です。

・ 相手側サーバがダウンしたりキューが停止した場合でも、自サーバのキューにメッセージが蓄積されます。したがって、相手側サー

バの運用に影響を受けることなく、自サーバのアプリケーションを運用できます。相手側サーバが復旧すると、自動的にメッセージ

転送は再開されます。

1.1.2 メッセージの変換

ISIでは、インタフェース調整機能としてメッセージを変換する機能を提供しています。インタフェース調整機能を使用することにより、

コーディングレスでサービス間のメッセージの違いを吸収することができます。

図1.1 インタフェースの調整担当者の負荷軽減の仕組み

コーディングレス

プログラムやスクリプトを作成することなく、固定長メッセージの変換、および固定長メッセージとXMLメッセージの相互変換が可能で

す。

多様なフォーマット形式

固定長メッセージは、企業や団体で使用されているフォーマットの代表的なものを入出力として扱うことができます。

具体的には、「一般フォーマット」、「複数一般フォーマット」、「伝票形式フォーマット」、「行終端可変長フォーマット」、「繰返し数指定

可変長フォーマット」の5種類のフォーマットが扱えます。

XMLメッセージは、整形式(well-formed)XML文書を扱えます。XML Schema、XML名前空間に対応したものも扱うことができます。

多様なフォーマット変換

固定長メッセージのフォーマット変換では、値を単純にコピーするだけでなく、一部分だけのコピー、四則演算結果の出力、条件式に

よる出力値の変更、コード値変換、異なる属性へのコピーなどの変換を行えます。

さらに、プログラムを別途作成することによって特別な処理結果を出力することもできます。固定長メッセージ⇔CSV、固定長メッセー

- 2 -

ジ⇔XMLの相互変換も行えます。

XMLメッセージのフォーマット変換では、XSLTによるXML⇔XML変換を行えます。

クライアント上でのシミュレーション

固定長メッセージのフォーマット変換は、サーバ環境を構築することなく、クライアント上でフォーマット変換をシミュレーションすること

ができます。

シミュレーション結果は画面上で確認できます。

文字コード変換

メッセージの文字コードを変換できます。

CSV変換

CSV形式のメッセージを入出力できます。

ファイル抽出

メッセージ内の複数のレコードから、特定のレコードだけを抽出できます。

1.1.3 メッセージの活用

ISIでは、サービスの呼出しやメッセージの変換などの処理を部品として標準提供し、部品をつなぎ合わせることでコーディングレスで

のシステム構築ができます。

提供している部品のことをメディエータファンクションと呼び、これらをつなぎ合わせて実行することをメディエーション機能と呼びます。

サービスの呼出し

アダプタを使用してサービスを呼び出します。

メッセージのチェック・加工・編集・情報取得

ISIではコーディングレスで柔軟なシステム間連携、システム構築を実現するため、XML形式のメッセージやFLAT形式のメッセージに

対して以下の操作を可能とします。

・ DTDやXMLスキーマを利用した妥当性検証で、メッセージの事前チェック

・ 定義だけでメッセージの部分的な更新やデータの挿入・削除が可能

・ メッセージから情報を取り出し、後続の処理で活用

メッセージ変換の呼出し

インタフェース調整機能を呼び出します。

List Creatorとの連携

Interstage List Creatorと連携することで、業務で実行したメッセージを帳票出力(印刷、PDF出力、FAX送信)や電子保存できます。

BPM Analyticsとの連携

Interstage BPM Analyticsと連携することで、業務を流れるメッセージから業務のKPI(重要業績評価指標)などに利用するデータを抽

出・分析できます。

- 3 -

コマンドの実行

コマンドを実行し、外部システムと連携できます。

ファイルの入出力

メッセージに使用するデータをファイルから読み込むことや、メッセージをファイルに書き込むことができます。

ユーザプログラムの呼出し

製品提供している部品で足りない場合、ユーザプログラムを作成し、メディエーション機能から呼び出せます。

1.1.4 メッセージの保証

ISIが提供する高信頼性機能により、サービス連携時のメッセージ保証を実現します。

メッセージ蓄積機能

ISIは、受信したメッセージ、および送信したメッセージを、データベースに蓄積することでメッセージの永続性を保証します。これによ

り、ISIの処理中にエラーが発生したメッセージや、連携先のサービスやシステムが消失した送信済みのメッセージをISIから再送信す

ることができます。

順番保証機能

相手サービスによっては、エントリーされた順番にメッセージを渡さなければならない場合があります。例えば、登録メッセージと取消

メッセージが逆転すると、両方ともエラーになってしまう場合などです。

ISIでは1つのサービスに対して1つのキューを割当て、キュー単位でメッセージの送信順番を保証します。

クラスタリング

ハードウェアやソフトウェアの不測の事態によって、業務が長時間停止することがあります。例えば、ハードウェアや各種ソフトウェアに

異常によりシステムダウンに陥った場合、原因を取り除くのに時間がかかり、業務の再開が遅れることが考えられます。

ISIは、クラスタリングへの対応により、システムの信頼性をより高めることができます。

ISIが稼動するサーバで処理の継続が不可能な障害が発生しても、そのサーバの処理をほかのサーバに短時間で切り替え、業務へ

の影響を 小限に抑えることができます。

ほかのサーバへ切り替わっても、処理中のデータを消失したり、順番保証機能を利用している場合は、メッセージの順番を逆転したり

することなく、運用を再開できます。

ポイント

Microsoft Cluster Service(MSCS)を利用したクラスタリングに対応します。

PRIMECLUSTERを利用したクラスタリングに対応します。

負荷分散

負荷分散装置を利用することで、サービス利用側からISIを負荷分散することや、ISIから呼び出すサービス提供側を負荷分散すること

ができます。ISIで負荷分散が可能な通信プロトコルは以下のとおりです。

・ HTTPプロトコル

・ IIOPプロトコル

HTTPはSOAPのトランスポートプロトコル、IIOPはCORBAのプロトコルです。

負荷分散により複数台のサーバで処理を並列化することで、システム全体の負荷を均一にし、安定した運用ができます。また、異常が

発生したサーバを切り離すことで、残りのサーバで運用を続けることができます。

- 4 -

1.1.5 導入・運用支援機能

ISIを使用してシステムを構築する際に、定義の設計や作成を支援するGUIツールや、Webブラウザから運用管理の操作ができるGUIツールなどの支援機能を提供しています。

ISI Studioによる設計・導入支援

ISIの機能利用時に必要な定義を作成・登録するために、ISI Studioを提供します。

ISI Studioを利用すると、以下の効果があります。

・ メディエーション機能の呼出し順を、ビジュアルに定義できます。

・ 利用するプロトコルなど、メッセージング機能利用時の情報を設定できます。

・ 作成した定義をISIサーバの運用環境に登録・配置できます。

・ 操作しやすいGUIにより、運用する環境や業務に合わせた定義を設計・作成し、業務に合った環境を構築できます。

・ 標準テンプレートを使用することで、関係する定義を一括作成でき、定義の作成時間を短縮できます。

・ ユーザが作成したシーケンス定義をユーザテンプレートとして登録し、再利用することで、類似した定義の複製を簡単に作成でき

ます。

図1.2 ISI Studioの画面例

Formatmanagerクライアントによる変換定義作成

インタフェース調整機能で使用するメッセージのフォーマット定義やフォーマット変換定義などを作成するために、Formatmanagerクライアントを提供します。

Formatmanagerクライアントでは、以下の操作ができます。

・ フォーマット登録

・ フォーマット変換登録

・ 運用情報登録

- 5 -

・ シミュレーション

図1.3 FMクライアントの画面例

ISI運用管理コンソールによる運用管理

ISI運用管理コンソールは、Webブラウザを使用して、ISIを運用するための便利な操作を実現しています。

ISI運用管理コンソールでは、以下の操作ができます。

・ ISIサービスの起動、停止

・ 非同期通信でエラーが発生した場合のリカバリ操作

・ ISIが処理したシーケンスの実行件数・実行時間や、キューの滞留件数を監視

・ メッセージ蓄積データベースに格納されたメッセージの確認、再送

- 6 -

図1.4 ISI運用管理コンソールの画面例

Systemwalker SQC連携機能

ISIと連携する業務に影響が出ないよう、メッセージの処理量やキュー滞留数の異常を事前に察知しなければなりませんが、連携する

メッセージの種類が多いほど、現在の状況を監視するだけで異常を察知するのは難しくなります。

ISI運用管理コンソールの機能に加え、さらに、Systemwalker SQCと連携することで数分前のメッセージ量と比較することができます。

メッセージの急激な増加や滞留が、表やグラフでいち早く一目で確認できます。

図1.5 Systemwalker SQCコンソールの画面例

業務に応じたリソース調整機能

ISIがあらゆる業務からのメッセージを処理している場合、一部の業務からのメッセージが急激に増加すると、その他の業務の処理レス

ポンスまで低下してしまいます。例えばオンラインの業務とバッチの処理結果を連携する業務を1台のISIで運用している場合、バッチ

からの大量のデータが転送されたことにより、オンラインのレスポンスが低下するというケースが考えられます。

また、複数の業務と連携している場合、一部の業務の連携だけを停止したい場合でも、すべての業務を停止しなければなりません。

ISIは業務ごとに、サーバのリソースを独立することができるため、ほかの業務によってレスポンスが低下することを回避したり、運用を

分離することができます。

- 7 -

CentraSite連携

CentraSiteは、サービスのインタフェース情報となる国際標準言語WSDLをサポートしています。

CentraSiteに登録されたWSDLは、ISI Studioを使ってサービスエンドポイント定義としてインポートできます。

1.2 コンポーネント構成

ISIのコンポーネント構成を、以下に示します。

図1.6 コンポーネント構成

ISIサーバ

ISIサーバは、ISIを使用した業務(システム)を実行するための機能を備えています。

機能の一覧と詳細は、“2.1 機能一覧”を参照してください。

ISIクライアント(開発環境)

ISIクライアントは、ISIを使用した業務(システム)のための開発環境・開発支援機能を備えています。ISI StudioとFormatmanagerクライ

アントを含みます。

機能の一覧と詳細は、“2.6.1 ISI Studio”および“2.6.2 Formatmanagerクライアント”を参照してください。

1.3 ISIの構成(J2EE実行環境)J2EE実行環境のISIの構成について説明します。

1.3.1 基本構成

ISIには以下の3つの基本構成があります。

・ 同期メッセージング構成

・ 非同期メッセージング(メッセージ保証なし)構成

・ 非同期メッセージング(メッセージ保証あり)構成

それぞれの特長と用途について説明します。

- 8 -

同期メッセージング構成

図1.7 同期メッセージング構成

特長

同期メッセージング構成では、サービス利用側から受け付けた要求メッセージを使用してサービスを呼び出し、呼び出したサービ

ス提供側での処理結果を応答メッセージとしてサービス利用側へ返却までを同期処理(一筆書き)で行います。

サービス呼出しの前後でメッセージの変換や加工、検証などが実行できます。

サービス提供側の処理で失敗した場合、そのエラーをサービス利用側へ返却します。このとき、必要に応じて返却するエラー用メッ

セージをユーザが作成する必要があります。

用途

処理結果を即時に必要とする業務に適しています。呼び出した側のシステムは応答を受け取るまで、次の業務に進めません。処

理結果の応答を待てる場合は同期を使い、待てない場合は非同期を使用してください。

非同期メッセージング(メッセージ保証なし)構成

図1.8 非同期メッセージング(メッセージ保証なし)構成

特長

非同期メッセージング(メッセージ保証なし)構成では、サービス利用側から受け付けた要求メッセージをインバウンドキューに格納

したあと即座にサービス利用側へ復帰します。

ISIはサービス利用側とは非同期で動作し、インバウンドキューに格納された要求メッセージを取り出し、処理を開始します。サービ

ス提供側を呼び出すにはアウトバウンドキューへメッセージを格納したあと、アダプタによるサービス呼出しやアプリケーションによ

るメッセージ処理が行われます。

サービス呼出しの前後でメッセージの変換や加工、検証などが実行できます。

サービス提供側の処理で失敗した場合、エラーをサービス利用側へ返却できません。このため、依頼した結果を別途確認する必

要があります。

この構成では、システム停止やクラスタ運用時の切り換えが発生した場合、キューに格納されていたメッセージは保証されません。

(システム停止時にメッセージは消失します。)

用途

即時性は求めない場合や、サービス提供側(接続先システム)の影響を受けずに、サービス間を疎結合にしたい場合に適していま

す。

- 9 -

メッセージ保証よりも性能を重視する場合に使用してください。

非同期メッセージング(メッセージ保証あり)構成

図1.9 非同期メッセージング(メッセージ保証あり)構成

特長

非同期メッセージング(メッセージ保証なし)構成と同じ特長に加えて、メッセージ保証や順番保証といった高信頼なメッセージング

機能を提供します。

また、メッセージ蓄積機能を利用すると、ISI内部でエラーが発生した時の再送信や、接続先サービス側でデータを消失した場合

の再送信が可能です。

この構成では、システム停止やクラスタ運用時の切り換えが発生した場合、キューに格納されていたメッセージが保証されます。(シ

ステム停止時にメッセージは消失しません。)

用途

即時性は求めない場合や、サービス提供側(接続先システム)の影響を受けずに、サービス間を疎結合にしたい場合に適していま

す。

メッセージ保証や順番保証を重視する場合に使用してください。

1.3.2 拡張構成

ISIには以下の拡張構成があります。

・ ISIサーバ分離構成

・ ISIサーバ連携構成

・ 負荷分散構成

それぞれの特長と用途について説明します。

- 10 -

ISIサーバ分離構成

図1.10 ISIサーバ分離構成

特長

基本構成のISIサーバを複数作成し、各サーバで行う業務を分離できます。

業務システムが異なる複数の業務を処理したい場合、実行するISIサーバを業務単位で分離することで、安定したレスポンスや運

用影響の分離を実現します。

用途

例えば、リアルタイム性を求めるオンライン業務と一括処理が必要な業務を1台のサーバ上で運用する場合、一括処理の業務に依

頼された大量なデータ処理が、オンライン業務のレスポンスに影響しないように、ISIサーバを分離することでシステムリソースを効

率的に使用できます。

ISIサーバ連携構成

ISIサーバ連携構成には、以下の2つの方法があります。

・ SOAPを利用する方法

・ キュー間転送を利用する方法

図1.11 ISIサーバ連携構成(SOAPを利用する場合)

- 11 -

特長

別サーバマシンにあるISIサーバ、または他社ESB製品と連携させることができます。

用途

複数のシステムとの連携や他社ESB製品と連携する場合に使用できます。

図1.12 ISIサーバ連携構成(キュー間転送を利用する場合)

特長

別サーバマシンにある非同期メッセージング(メッセージ保証あり)構成のISIサーバ同士をメッセージ保証して連携させることがで

きます。

ISIサーバ同士を疎な関係で連携するため、相手サーバが停止していても自サーバの業務は継続できます。

用途

複数のシステムを連携し、各システムの独立性を高めたい場合に使用できます。

キュー間転送の詳細については、“2.2.6 キュー間転送機能”を参照してください。

負荷分散構成

特長

同期メッセージング構成のISIサーバ群を負荷分散装置に接続することで、仮想的な1台のサーバとして見せることが可能です。

これにより、大量のメッセージを複数のISIサーバで処理することができ、より安定した性能を実現できます。

また、負荷分散構成の中の1台がハードウェア障害などでダウンした場合でも、残りのサーバで業務を継続(縮退運用)できます。

用途

ISIサーバ1台にかかる処理負荷を分散し、システム全体の性能を安定させたい場合に使用できます。

1.4 ISIの構成(Java EE実行環境)Java EE実行環境のISIの構成について説明します。

- 12 -

1.4.1 基本構成

ISIの基本構成は1つのISI実行環境で構成されます。

図1.13 ISI実行環境

ISI実行環境は、各種プロトコルやAPIを利用したメッセージ交換を実行するための環境です。ISI実行環境はISIサーバとアダプタをグ

ループ化して管理するものです。ISI実行環境は1つの環境設定ファイルを持ち、ISI実行環境内のISIサーバとアダプタの全体にかか

わる設定を統合して1箇所で行うことができます。

・ ISIサーバ

ISIが受信したメッセージを加工・編集するメディエーションを実行するためのエンジンです。

・ インバウンドのアダプタ

ISIがサービス利用側からメッセージを受信するためのアダプタです。

・ アウトバウンドのアダプタ

ISIからサービス提供側のサービスを呼び出すためのアダプタです。

1.4.2 拡張構成

ISIには以下の拡張構成があります。

・ ISIサーバ分離構成

・ ISIサーバ連携構成

それぞれの特長と用途について説明します。

- 13 -

ISIサーバ分離構成

図1.14 ISIサーバ分離構成

特長

基本構成のISI実行環境を複数作成し、各ISI実行環境で行う業務を分離できます。

業務システムが異なる複数の業務を処理したい場合、ISI実行環境を業務単位で分離することで、安定したレスポンスや運用影響

の分離を実現します。

用途

例えば、リアルタイム性を求めるオンライン業務と一括処理が必要な業務を1つのISI実行環境上で運用する場合、一括処理の業

務に依頼された大量なデータ処理が、オンライン業務のレスポンスに影響しないように、ISI実行環境を分離することでシステムリ

ソースを効率的に使用できます。

ISIサーバ連携構成

ISIサーバ連携構成には、以下の2つの方法があります。

・ SOAPを利用する方法

・ CORBAを利用する方法

図1.15 ISIサーバ連携構成(SOAPを利用する方法)

- 14 -

図1.16 ISIサーバ連携構成(CORBAを利用する方法)

特長

別サーバマシンにあるISIサーバ、または他社ESB製品と連携させることができます。

用途

複数のシステムとの連携や他社ESB製品と連携する場合に使用できます。

負荷分散構成

特長

複数のISI実行環境を負荷分散装置に接続することで、仮想的な1台のサーバとして見せることが可能です。

これにより、大量のメッセージを複数のISIサーバで処理することができ、より安定した性能を実現できます。

また、負荷分散構成の中の1台がハードウェア障害などでダウンした場合でも、残りのサーバで業務を継続(縮退運用)できます。

用途

ISIサーバ1台にかかる処理負荷を分散し、システム全体の性能を安定させたい場合に使用できます。

- 15 -

第2章 ISIの機能

ここでは、ISIの機能について説明します。

2.1 機能一覧

ISIの機能は、以下のとおりです。

表2.1 機能の一覧

機能名 機能の概要

メッセージング機能 標準提供しているアダプタやカスタムアダプタを使用したメッセージ交換を可能にしま

す。

インタフェース調整機能 サービス間における、データのマッピングや共通フォーマットの作成を支援します。

わかりやすいGUIからの操作で、簡単にマッピング、共通フォーマットを作成できます。

メディエーション機能 サービス間におけるデータのチェック、加工・編集、変換などを部品の組み合わせで

行い、サービスの呼出しを実行します。

高信頼性機能 メッセージの整合性を保証します。

導入・運用支援機能 ISIシステムの構築・運用を支援します。

2.2 メッセージング機能

メッセージング機能は、サービスに合った接続方式を使用し、サービスとサービスを連携するための機能です。

2.2.1 サービス連携のための接続方式(J2EE実行環境)J2EE実行環境のISIは、以下のサービス連携のための接続方式に対応しています。

・ SOAP

・ DB(データベース連携)

・ ファイル・FTP(ファイル転送)

・ CORBA

・ MQ(MQ連携)

・ III連携

・ MQD

・ RMI (*1)

・ JMS (*1)

・ JMS-R (*1)

*1:サービス利用側アプリケーションとして、カスタムアダプタを作成する必要があります。

ISIではSOAPやCORBAなどの標準技術を使用したサービス連携の他に、ファイル・FTP(ファイル転送)を使用したサービス連携が可

能です。

次の図は標準技術を利用したサービス連携のイメージです。

- 16 -

図2.1 標準技術を利用したサービス連携

次の図はファイル・FTP(ファイル転送)を利用したサービス連携のイメージです。

図2.2 ファイル・FTP(ファイル転送)を利用したサービス連携

SOAP

SOAPのメッセージング機能は、SOAPアダプタを使用してSOAPメッセージの送受信を行う機能です。

サービス利用側アプリケーションからのメッセージをISIが受信する場合と、ISIからサービス提供側(Webサービス)を呼び出す場合に利

用します。

SOAPのメッセージング機能(SOAPアダプタ)の主な特長は、以下のとおりです。

インバウンド

・ 同期通信・非同期通信が可能

・ ISIがWebサービスとして、サービス利用側アプリケーションからのSOAPメッセージを受信

・ SOAPメッセージの受信にはSOAPアダプタを使用

・ サービス利用側アプリケーションは、一般的なWebサービスクライアントでSOAPメッセージを作成してISIに送信することで、ISIが接続しているサービスを利用可能

・ サービス利用側アプリケーションから受信したSOAPメッセージの要素内容をもとに、ISIでの処理内容、およびサービスのあて先を

動的に変更可能

・ Basic認証、SSL認証(サーバ認証、クライアント認証)を利用可能(Interstage Application Serverの認証機能を使用)

・ プロトコルにはHTTP/Sを使用

・ 添付ファイルの送受信が可能

- 17 -

・ SOAPメッセージの文字コードは“UTF-8”を利用可能

アウトバウンド

・ 同期通信・非同期通信が可能

・ ISIは、サービス提供側(Webサービス)を呼出し、SOAPメッセージを送信(SOAPクライアントとして動作)

・ SOAPメッセージはISIで加工せず、サービス利用側アプリケーションから受信したメッセージをそのままサービス提供側へ送信す

ることが可能(SOAP中継)

・ 送信するSOAPメッセージの要素内容をもとに、ISIから呼び出すWebサービスのあて先を動的に変更可能

・ Proxyを利用可能

・ Basic認証、SSL認証(サーバ認証、クライアント認証)を利用可能(Interstage Application Serverの認証機能を使用)

・ プロトコルにはHTTP/Sを使用

・ 添付ファイルの送受信が可能

・ SOAPメッセージの文字コードは“UTF-8”を利用可能

注意

以下は未サポートです。

・ SMIME形式(SOAP電子署名とは異なるMIME形式の電子署名)のSOAPメッセージ

・ Interstage Application Server以外のSOAPエンジン

・ 送達保証

・ 文字コードが“UTF-8”以外のSOAPメッセージ

以下に日本語は使用できません。

・ 接続先URL

・ Basic認証のユーザ名

・ Proxyを使用する場合のホスト名やユーザ名

ポイント

SOAPのメッセージング機能を利用した場合、SOAPメッセージ(ルート要素 soap:Envelope)全体が共通メッセージのペイロードに格納

されます。

共通メッセージのペイロードに格納されたXMLデータを操作したい場合、SOAPメッセージを意識したXPathの指定が必要です。

例:/soap:Envelope/soap:Body/ResponseData/name/text()

また、SOAP Operation機能を使用して共通メッセージのペイロードに格納されているSOAPメッセージからSOAPボディ(soap:Body)の子要素(例:ResponseData)を取得することで、SOAPメッセージを意識せずにXMLデータの操作が可能になります。

CORBA

CORBAのメッセージング機能は、CORBAアダプタを使用してCORBAアプリケーションとの同期通信を行う機能です。

サービス利用側アプリケーション(CORBAクライアントアプリケーション)からのメッセージをISIが受信する場合と、ISIからCORBAで作

成されたサービス提供側アプリケーション(CORBAサーバアプリケーション)を呼び出す場合に利用します。

CORBAのメッセージング機能(CORBAアダプタ)の主な特長は、以下のとおりです。

インバウンド

・ 同期通信(RequestResponse方式)が可能

- 18 -

・ ISIがCORBAサーバとして、サービス利用側アプリケーションからのメッセージの受信が可能

・ メッセージの受信にはCORBAアダプタを使用

・ サービス利用側アプリケーションからのメッセージの内容をもとに、ルーティング機能を利用して、ISIでの処理内容、およびサービ

スのあて先を動的に変更可能

・ サービス利用側アプリケーションからCORBAのサービスエンドポイント名を指定して、あて先を指定することも可能

・ 受信したメッセージをそのまま共通メッセージのペイロードに格納

・ 言語に依存しないアプリケーションの作成が可能

アウトバウンド

・ 同期通信(RequestResponse方式、Oneway方式)が可能

・ ISIからサービス提供側アプリケーションとしてCORBAサーバの呼出しが可能

・ 共通メッセージのペイロードをバイナリデータ(sequence<octet>)として、CORBAサーバへ送信

・ RequestResponse方式の場合は、CORBAサーバからの処理結果を共通メッセージのペイロードに格納

・ 言語に依存しないアプリケーションの呼出しが可能

ファイル・FTP(ファイル転送)

ファイル転送は、ファイルアダプタとして提供しているファイル監視アダプタを利用してファイルを受信する機能と、FTP送信コマンドに

よるファイルを送信する機能を指します。

サービス利用側アプリケーションからISIを使用する場合、およびISIからサービス提供側を呼び出す場合に利用します。

ファイル転送の主な特長は、以下のとおりです。

インバウンド

・ 非同期通信が可能

・ ファイルを受信するにはOSのFTP機能を使用

・ ファイルを受信すると自動でISIのシーケンスを実行

・ 受信ファイルの監視にはファイル監視アダプタを使用

・ 受信ファイルのデータはキューに格納し、ほかの非同期通信と同様に動作

・ 受信ファイルを分割可能(サイズ指定、改行コード)

・ 受信ファイルの監視方法を“時間監視”、“完了ファイル監視”から選択可能

・ 監視する受信ファイル名をワイルドカードで指定可能

・ メモリに展開できないサイズのファイルについて、ファイルベースでISIのシーケンスを実行可能

アウトバウンド

・ 非同期通信が可能

・ 送信時は、FTP送信用のキューから送信ファイルのデータを取り出して送信

・ 送信時には、キュー内のファイルを集約(ファイル連結)可能

・ 完了ファイルの送信による完了通知が可能

・ 送信時に、送信ファイル名に可変値を埋込むことが可能

・ ファイルベースで処理されたメッセージをFTP送信可能

DB(データベース連携)

データベース連携は、ISIのシーケンスからDBアダプタを利用して業務で利用するデータベースからデータの抽出や登録を行う機能

です。

- 19 -

データベース連携の主な特長は、以下のとおりです。

アウトバウンド

・ 同期通信・非同期通信が可能

・ JDBCを利用したデータベース管理システム(DBMS)への接続

・ SQL文の実行によるレコードの更新や検索

・ ストアドプロシージャの実行による高度なデータベース処理が可能

データベース連携では以下のDBMSとの接続をサポートしています。

・ Oracle 11g

・ SQL Server 2005, 2008

・ Symfoware Server V9, V10

・ FUJITSU Integrated System HA Database Ready SX1

MQ(MQ連携)

MQ連携は、MQアダプタを利用してIBMのWebSphere MQ のMQシステムと連携するための機能です。

MQアダプタは、ISIサーバの運用環境に設置されたWebSphere MQのキューに対してメッセージを送受信します。その際、Oneway方式でのメッセージ送受信だけではなく、RequestResponse方式の双方向での通信が可能です。

図2.3 MQ連携構成(Oneway方式)

図2.4 MQ連携構成(RequestResponse方式)

- 20 -

MQ連携の主な特長は、以下のとおりです。

インバウンド

・ WebSphere MQのキューから受信したメッセージを、ISIのシーケンスで同期処理

・ 受信したメッセージの内容をもとに、ルーティング機能を利用して、ISIでの処理内容、およびサービスのあて先を動的に変更可能

・ インバウンドのMQアダプタは、プロセス多重度1、スレッド多重度1での動作による順番保証

・ MQメッセージのMQMDのフィールドをISIの共通メッセージのヘッダにマッピング可能

アウトバウンド

・ ISIのシーケンスから同期サービス呼出しを使用し、WebSphere MQのキューへメッセージ送信(Oneway方式、RequestResponse方式)

・ ルーティング機能により送信先を動的に変更可能

・ ISIの共通メッセージのヘッダをMQメッセージのMQMDのフィールドにマッピング可能

ポイント

・ WebSphere MQと連携する場合、同一マシン内にWebSphere MQをインストールしてください。

・ MQ連携が可能なWebSphere MQのバージョンについては、“ISI 導入ガイド”の“ソフトウェア環境”を参照してください。

ISIがインストール済みのサーバマシンにWebSphere MQをインストールする場合、WebSphere MQのインストール後にISIを再起動して

ください。

ISIの起動・停止は、“ISI 運用ガイド”の“起動”および“停止”を参照してください。

III連携

IIIと連携し、IIIのデータ収集、データ配付機能を利用する機能です。IIIが持つ多彩なデータ収集、配付機能を利用することで、大量

データを一括処理する業務(バッチ業務)と連携したシステムを容易に実現できます。

III連携の主な特長は、以下のとおりです。IIIの機能の詳細についてはIIIのマニュアルを参照してください。

インバウンド

・ 同期通信が可能

・ IIIの持つデータ収集機能(ファイル転送機能・DB抽出機能など)を利用して収集した大量データの一括受信

アウトバウンド

・ 同期通信が可能

・ ISIが処理したデータをIIIのデータボックスに蓄積し、IIIの持つデータ配付機能(ファイル転送機能・DB格納機能など)によって一

括して配付

ポイント

・ III連携を利用したシステムを運用する場合、ISIサーバとIIIサーバを同一マシンにインストールし、セットアップする必要がありま

す。

・ III連携を利用する定義を作成するには、ISIクライアントとIIIクライアントを同一マシンにインストールする必要があります。

・ III連携が可能なIIIのバージョンについては、“ISI 導入ガイド”の“ソフトウェア環境”を参照してください。

- 21 -

MQD

MQDは、主としてサーバ間(ドメイン間)や既存システム間との非同期通信を行うメッセージング機能です。

サービス利用側アプリケーションからISIを利用する場合、およびISIからサービス提供側を呼び出す場合に利用します。

ISIがMQDと連携してできることは、以下のとおりです。

インバウンド

・ 非同期通信が可能

・ サービス利用側アプリケーションからMQDのAPIを使用してMQDキューへメッセージを送信

・ ISIはMQDキューからメッセージ受信

・ ISI側のメッセージ受信にはMQD受信アダプタを使用

・ メッセージ蓄積機能の利用が可能

・ メッセージの内容をもとに、ルーティング機能を利用して、ISIでの処理内容、およびサービスのあて先を動的に変更可能

・ 順番保証機能の利用が可能

- サービスエンドポイント単位にメッセージの順番を保証

- キュー単位にメッセージの順番を保証(推奨)

アウトバウンド

・ 非同期通信が可能

・ ISIからMQDキューへメッセージ送信

・ ISIからのメッセージ送信にはMQD送信アダプタを使用

・ サービス提供側アプリケーションからはMQDのAPIを使用してMQDキューからメッセージを受信

・ 順番保証機能の利用が可能

- サービスエンドポイント単位にメッセージの順番を保証

- キュー単位にメッセージの順番を保証(推奨)

・ 処理結果のペイロードを指定したサイズに分割して、MQDキューに格納することが可能

ポイント

MQDの接続方式は互換機能です。ISIでサーバ間(ドメイン間)や既存システム間の非同期通信を行う場合はキュー間転送機能を使

用してください。

2.2.2 サービス連携のための接続方式(Java EE実行環境)Java EE実行環境のISIは、以下のサービス連携のための接続方式に対応しています。

・ SOAP

・ CORBA

・ MQ(MQ連携)

・ III連携

・ MQD

ISIではSOAPなどの標準技術を使用したサービス連携の他に、MQやIII連携を使用したサービス連携が可能です。

次の図は標準技術を利用したサービス連携のイメージです。

- 22 -

図2.5 標準技術を利用したサービス連携

SOAP

SOAPのメッセージング機能は、SOAPアダプタを使用してSOAPメッセージの送受信を行う機能です。

サービス利用側アプリケーションからのメッセージをISIが受信する場合と、ISIからサービス提供側(Webサービス)を呼び出す場合に利

用します。

SOAPのメッセージング機能(SOAPアダプタ)の主な特長は、以下のとおりです。

インバウンド

・ RequestResponse型の通信が可能

・ ISIがWebサービスとして、サービス利用側アプリケーションからのSOAPメッセージを受信

・ SOAPメッセージの受信にはSOAPアダプタを使用

・ サービス利用側アプリケーションは、一般的なWebサービスクライアントでSOAPメッセージを作成してISIに送信することで、ISIが接続しているサービスを利用可能

・ サービス利用側アプリケーションから受信したSOAPメッセージの要素内容をもとに、ISIでの処理内容、およびサービスのあて先を

動的に変更可能

・ プロトコルにはHTTP/Sを使用

・ 添付ファイルの送受信が可能

・ SOAPメッセージの文字コードは“UTF-8”を利用可能

・ アダプタ出口機能を利用してユーザアプリケーションを呼出し可能

アウトバウンド

・ RequestResponse型の通信が可能

・ ISIは、サービス提供側(Webサービス)を呼出し、SOAPメッセージを送信(SOAPクライアントとして動作)

・ SOAPメッセージはISIで加工せず、サービス利用側アプリケーションから受信したメッセージをそのままサービス提供側へ送信す

ることが可能(SOAP中継)

・ 送信するSOAPメッセージの要素内容をもとに、ISIから呼び出すWebサービスのあて先を動的に変更可能

・ プロトコルにはHTTP/Sを使用

・ 添付ファイルの送受信が可能

・ SOAPメッセージの文字コードは“UTF-8”を利用可能

・ サービス提供側(Webサービス)からSOAP Faultを受信した時に、<Fault>タグ以下の内容をシステムのログおよびトレースログに出

力することが可能

・ アダプタ出口機能を利用してユーザアプリケーションを呼出し可能

- 23 -

注意

以下は未サポートです。

・ SMIME形式(SOAP電子署名とは異なるMIME形式の電子署名)のSOAPメッセージ

・ Interstage Application Server以外のSOAPエンジン

・ 送達保証

・ 文字コードが“UTF-8”以外のSOAPメッセージ

以下に日本語は使用できません。

・ 接続先URL

・ Basic認証のユーザ名

・ Proxyを使用する場合のホスト名やユーザ名

ポイント

SOAPのメッセージング機能を利用した場合、SOAPメッセージ(ルート要素 soap:Envelope)全体が共通メッセージのペイロードに格納

されます。

共通メッセージのペイロードに格納されたXMLデータを操作したい場合、SOAPメッセージを意識したXPathの指定が必要です。

例:/soap:Envelope/soap:Body/ResponseData/name/text()

また、SOAP Operation機能を使用して共通メッセージのペイロードに格納されているSOAPメッセージからSOAPボディ(soap:Body)の子要素(例:ResponseData)を取得することで、SOAPメッセージを意識せずにXMLデータの操作が可能になります。

CORBA

CORBAのメッセージング機能は、CORBAアダプタを使用してCORBAアプリケーションとのメッセージ送受信を行う機能です。

サービス利用側アプリケーション(CORBAクライアントアプリケーション)からのメッセージをISIが受信する場合と、ISIからCORBAで作

成されたサービス提供側アプリケーション(CORBAサーバアプリケーション)を呼び出す場合に利用します。

CORBAのメッセージング機能(CORBAアダプタ)の主な特長は、以下のとおりです。

インバウンド

・ RequestResponse方式の通信が可能

・ ISIがCORBAサーバとして、サービス利用側アプリケーションからのメッセージの受信が可能

・ メッセージの受信にはCORBAアダプタを使用

・ サービス利用側アプリケーションからのメッセージの内容をもとに、ルーティング機能を利用して、ISIでの処理内容、およびサービ

スのあて先を動的に変更可能

・ サービス利用側アプリケーションからCORBAのサービスエンドポイント名を指定して、あて先を指定することも可能

・ 受信したメッセージをそのまま共通メッセージのペイロードに格納

・ 言語に依存しないアプリケーションの作成が可能

アウトバウンド

・ RequestResponse方式、Oneway方式の通信が可能

・ ISIからサービス提供側アプリケーションとしてCORBAサーバの呼出しが可能

・ 共通メッセージのヘッダとペイロード、または共通メッセージのペイロードのみをCORBAサーバへ送信

・ RequestResponse方式の場合は、CORBAサーバからの処理結果を共通メッセージに格納

・ 言語に依存しないアプリケーションの呼出しが可能

- 24 -

ポイント

・ 対応しているCORBA規約のバージョンは以下の通りです。

- IIOP:1.0と1.2をサポートします

- GIOP : 1.1をサポートします。ただし、fragmentについては未対応です。

・ アウトバウンドのCORBAアダプタは、LOCATION_FORWARDに対応しています。

MQ(MQ連携)

MQ連携は、MQアダプタを利用してIBMのWebSphere MQ のMQシステムと連携するための機能です。

MQアダプタは、ISIサーバの運用環境に設置されたWebSphere MQのキューに対してメッセージを送受信します。

図2.6 MQ連携構成(Oneway方式)

MQ連携の主な特長は、以下のとおりです。

インバウンド

・ WebSphere MQのキューからメッセージを受信

・ 受信したメッセージの内容をもとに、ルーティング機能を利用して、ISIでの処理内容、およびサービスのあて先を動的に変更可能

・ MQメッセージのMQMDのフィールドをISIの共通メッセージのヘッダにマッピング可能

アウトバウンド

・ ISIのシーケンスから同期サービス呼出しを使用し、WebSphere MQのキューへメッセージ送信(Oneway方式)

・ ルーティング機能により送信先を動的に変更可能

・ ISIの共通メッセージのヘッダをMQメッセージのMQMDのフィールドにマッピング可能

ポイント

・ MQ連携が可能なWebSphere MQのバージョンについては、“ISI Java EE導入ガイド”の“ソフトウェア環境”を参照してください。

ISIがインストール済みのサーバマシンにWebSphere MQをインストールする場合、WebSphere MQのインストール後にISIを再起動して

ください。

ISIの起動・停止は、“ISI Java EE運用ガイド”の“起動”および“停止”を参照してください。

- 25 -

III連携

IIIと連携し、IIIのデータ収集、データ配付機能を利用する機能です。IIIが持つ多彩なデータ収集、配付機能を利用することで、大量

データを一括処理する業務(バッチ業務)と連携したシステムを容易に実現できます。

III連携の主な特長は、以下のとおりです。IIIの機能の詳細についてはIIIのマニュアルを参照してください。

インバウンド

・ 同期通信が可能

・ IIIの持つデータ収集機能(ファイル転送機能・DB抽出機能など)を利用して収集した大量データの一括受信

アウトバウンド

・ 同期通信が可能

・ ISIが処理したデータをIIIのデータボックスに蓄積し、IIIの持つデータ配付機能(ファイル転送機能・DB格納機能など)によって一

括して配付

ポイント

・ III連携を利用したシステムを運用する場合、ISIサーバとIIIサーバを同一マシンにインストールし、セットアップする必要がありま

す。

・ III連携を利用する定義を作成するには、ISIクライアントとIIIクライアントを同一マシンにインストールする必要があります。

・ III連携が可能なIIIのバージョンについては、“ISI Java EE導入ガイド”の“ソフトウェア環境”を参照してください。

MQD

MQDのメッセージング機能は、MQDアダプタを使用して、ISIサーバの運用環境に設置されたMQDシステムのキューに対してメッセー

ジを送受信します。

MQDのメッセージング機能(MQDアダプタ)の主な特長は、以下のとおりです。

インバウンド

・ MQDシステムのキューからメッセージを受信

・ 受信したメッセージの内容をもとに、ルーティング機能を利用して、ISIでの処理内容、およびサービスのあて先を動的に変更可能

アウトバウンド

・ ISIのシーケンスから同期サービス呼出しを使用し、MQDシステムのキューへメッセージ送信

・ ルーティング機能により送信先を動的に変更可能

2.2.3 条件分岐機能

条件分岐機能は、ISIを流れるメッセージ内の値によって、後続の処理を変更するための機能です。

条件分岐機能を使用する場合、開始から終了に進む途中で、指定した条件に一致するかで複数の経路に分岐するシーケンスを定義

します。ISIを流れるメッセージ内の値によって、条件に一致するか判定され、条件に一致した 初の経路に進みます。どの条件にも

一致しない場合は、条件不成立時の経路に進みます。

条件には、ISIを流れる共通メッセージのペイロード、または共通メッセージのヘッダパラメタの値が指定できます。

条件の指定については、以下の特長があります。

・ ペイロードまたはヘッダパラメタの値のどの位置を判断に使うかを「ポジション」として指定します。

- ペイロード

- ペイロードは、FLAT形式、CSV形式、およびXML形式を指定できます。

- FLAT形式の場合は、先頭からのオフセット、バイト数で値の位置を指定します。

- 26 -

- CSV形式の場合は、行数、カラム数で値の位置を指定します。

- XML形式の場合は、XPathで値の位置を指定します。

- 共通メッセージのヘッダパラメタの値

- ヘッダパラメタの値の場合は、ヘッダパラメタキーを指定します。

・ ポジションと条件を指定することによって、どの経路に進むか判断する条件を指定します。

・ 値の比較は、数値比較、文字列比較ができます。

- 数値比較の場合は、<、>、<=、>=、=、!=を指定します。

- 文字列比較の場合は、=、!=を指定します。

・ 複数の式をAND, ORで組み合わせた条件式を使用できます。

・ 以下の場合、指定した条件は不一致として扱います。また、ログの出力レベルに応じてシステムのログおよびトレースログに警告

メッセージを出力します。

- ポジションに指定したペイロードまたはヘッダパラメタの値が取得できなかった場合

- 数値比較時にポジションに指定したペイロードまたはヘッダパラメタの値が数値として扱えない場合

2.2.4 ルーティング機能

ルーティング機能は、ISIを流れるメッセージ内の値によって、後続の処理を変える機能です。

通常は定義時に一意に決定する“サービスエンドポイント”、“シーケンス”を、メッセージ内の値によって、動的に変更するときに使用します。

ISIは、以下のルーティング機能を提供します。

・ インバウンドルーティング

以下の場合で受信したメッセージ内の値によってインバウンドのサービスエンドポイントを決定します。

- SOAPアダプタでメッセージを受信したとき

- CORBAアダプタでメッセージを受信したとき

- インバウンドのカスタムアダプタでメッセージを処理するとき

- インバウンドのMQアダプタでメッセージを受信したとき

- MQDでメッセージを受信したとき

- キュー間転送でメッセージを受信したとき

・ アウトバウンドルーティング

同期サービス呼出し、または非同期サービス呼出しにおいて、共通メッセージの値によって、アウトバウンドのサービスエンドポイ

ントを決定します。

・ シーケンスルーティング

ISIサーバで受信した共通メッセージの値によって実行するシーケンスを決定します。

- 27 -

図2.7 ルーティング機能のイメージ

条件の指定については、以下の特長があります。

・ ペイロード

- ペイロードは、FLAT形式、CSV形式、およびXML形式でも、指定可能です。

- FLAT形式の場合は、条件(サービスエンドポイントやシーケンスを特定するための値とサービスエンドポイントまたはシーケン

ス)と、値の位置(先頭からのオフセット、バイト数)とともに指定します。

- CSV形式の場合は、振分け条件(サービスエンドポイントやシーケンスを特定するための値とサービスエンドポイントまたはシー

ケンス)と、値の位置(行数、カラム数)で指定します。

- XML形式の場合は、振分け条件(サービスエンドポイントやシーケンスを特定するための値とサービスエンドポイントまたはシー

ケンス)と、値の位置(XPath)で指定します。

- 条件に、<、>、<=、>=、=、!=を指定します。(文字列比較の場合は、=、!=)

・ 共通メッセージのヘッダパラメタの値

- 条件に、数値比較(<、>、<=、>=、=、!=)と文字列比較(一致、不一致)を指定します。

- 比較対象に、ダイレクト値、またはほかのヘッダパラメタキー名を指定します。

・ すべての振り分け条件に一致しなかった場合は、以下の動作をします。

- デフォルトの送信先が設定されている場合は、設定された送信先が呼び出されます。またJava EE実行環境の場合は、デフォ

ルトの送信先が呼び出されたことを示す情報メッセージを出力することができます。情報メッセージの出力設定の詳細につい

ては、“ISI Java EE導入ガイド”の“環境のカスタマイズ”を参照してください。

- デフォルトの送信先が設定されていない場合は、処理が異常終了します。

注意

・ アウトバウンドルーティングは、ペイロードの値に加え、共通メッセージのヘッダパラメタの値も指定できます。

- 28 -

・ CSVファイルは、以下の形式で記述されている場合だけ読込みができます。

- 値はカンマで区切られている

- 値にカンマが存在する場合、値はダブルクォーテーションで囲まれている(例:"123,45")

- 値に含まれるダブルクォーテーションは、連続したダブルクォーテーション("")とし、値全体はダブルクォーテーションで囲まれ

ている(例:"12" "34")

- 値に制御コードが存在しない

・ ペイロードの値が暗号化されている場合、ペイロードの値を利用したルーティングはできません。

2.2.5 同報機能

同報機能は、1か所から受け取ったメッセージを複数のあて先に送信する機能です。

以下の同報機能を提供します。本機能は、J2EE実行環境だけで使用できます。

アウトバウンド同報

同じメッセージを複数のサービスエンドポイントに送信する機能です。

アウトバウンド同報の主な特長は、以下のとおりです。

・ 非同期メッセージング構成で利用できます。

・ 接続方式を混在して指定できます。

・ あるメッセージの送信でエラーが発生した時、ほかの送信を継続して実施するか、送信を中断するかを選択できます。互換モード

のISIサーバでだけ利用可能です。

・ シーケンスにおいて、メッセージ送信(メディエータファンクション)の後続に、ほかのメディエータファンクションが存在し、同報機能

でエラーが発生した場合、シーケンス処理を継続して後続のメディエータファンクションを実行するか、処理を中断するかを選択す

ることができます。互換モードのISIサーバでだけ利用可能です。

図2.8 アウトバウンド同報のイメージ

シーケンス複数実行

ISIが受信した1つのメッセージを異なる複数のサービスエンドポイントに送信するための機能です。送信先に合わせてメッセージを作

成するために、シーケンスを複数実行します。互換モードのISIサーバでだけ利用可能です。

・ 非同期メッセージング(メッセージ保証あり)構成を使用した場合だけ使用可能です。

- 29 -

・ 順番保証機能が有効な場合は、各シーケンスは定義順に順番に実行します。順番保証機能が無効の場合は、各シーケンスは並

行して実行されます。

図2.9 シーケンス複数実行のイメージ

2.2.6 キュー間転送機能

キュー間転送機能は、キューとキューを連携し、キューに格納したメッセージを、確実に相手側のサーバのキューに転送する機能で

す。キュー間転送機能を使用することで、サーバ間の関係を疎にしたシステムを構築することができ、サーバのメンテナンスによる停止

時に、連携しているサーバを継続して運用することができます。本機能は、J2EE実行環境だけで使用できます。

図2.10 キュー間転送のイメージ

キュー間転送のパターン

キュー間転送では、複数の種類のキューとの連携ができ、対向側のキューとして以下のキューと連携できます。

・ JMS

・ JMS-R

・ MQD

注意

・ ISI側のキューはJMS-Rだけが連携可能です。

・ ISI側と対向側のキューは1対1で連携します。

・ 対向側サーバは、1つのサーバ上では同じ種類のキューだけが連携可能です。複数の種類のキューと連携する場合は対向側サー

バを分けてください。

JMS-R キューとの連携

JMS-Rキューと連携する場合、以下の連携パターンがあります。

・ ISIのアプリケーションとの連携(共通APIを使用)

・ ISIとの連携

- 30 -

図2.11 対向側がJMS-Rのパターン

JMSキューとの連携

JMSキューと連携する場合、以下の連携パターンがあります。

・ ISIのアプリケーションとの連携(共通APIを使用)

・ Interstage Application Serverのアプリケーションとの連携(JMSキューにアクセスするAPIを使用)

図2.12 対向側がJMSのパターン

注意

・ Interstage Application Serverのアプリケーションとの連携の場合でも、対向側にISI Enterprise Editionをインストールしてください。

・ Interstage Application Serverで開発したJMSを読書きするアプリケーションで作成するJMSメッセージは、バイナリ型で格納してく

ださい。

・ キューの種類が異なるペアのキュー間転送では、ISIアプリケーションで受信APIを使用する場合、取り出したい種類のメッセージ

だけを受信する機能(フィルタ設定)は利用できません。

MQDキューとの連携

MQDキューとの連携する場合、以下の連携パターンがあります。

・ Interstage Application ServerのMQDキューとの連携

・ グローバルサーバ上のMQDキューとの連携

- 31 -

図2.13 Interstage Application ServerのMQDキューとの連携パターン

注意

・ Interstage Application Serverのアプリケーションとの連携の場合でも、対向側にISI Enterprise Editionをインストールしてください。

・ Interstage Application Serverで開発したMQDを読書きするアプリケーションで作成するMQDメッセージは、バイナリ型で格納して

ください。

図2.14 グローバルサーバ上のMQDキューとの連携パターン

注意

・ 連携できるグローバルサーバ側のソフトウェアとバージョンについては“ISI 導入ガイド”の“動作環境”を参照してください。

・ ISIサーバからグローバルサーバへ送信可能なメッセージサイズの上限は1999996バイトです。

2.3 インタフェース調整機能

インタフェース調整機能は、サービス間の入出力データの違いを調整する作業を支援する機能です。

インタフェース調整機能を利用するには、FormatmanagerまたはXML Converterを使用します。Formatmanagerには、以下の2つの運

用形態があります。

・ Formatmanager変換機能(ISIサーバ一体型)

・ Formatmanager変換機能(ISIサーバ分離型)

Formatmanager変換機能(ISIサーバ一体型)

ISIサーバと同一プロセス上で動作するFormatmanager変換機能です。

起動・停止の運用操作はISIサーバと連動します。また、プロセス多重・スレッド多重の定義は、ISIサーバの定義に従います。

- 32 -

図2.15 Formatmanager変換機能(ISIサーバ一体型)

Formatmanager変換機能(ISIサーバ分離型)

ISIサーバと別プロセスで動作するFormatmanager変換機能です。

V9.2.0までのFormatmanagerサーバと同じ形態であり、メモリ所要量が大きくISIサーバと同一プロセスでの運用が困難な場合に使用し

ます。

起動・停止の運用操作はISIサーバとは別に行う必要があります。また、プロセス多重の指定はできません。

図2.16 Formatmanager変換機能(ISIサーバ分離型)

2.3.1 コーディングレス

固定長メッセージのフォーマット変換では、Formatmanagerクライアントでフォーマット変換定義を作成し、Formatmanager変換機能で

その定義に従ってフォーマット変換を実行します。

- 33 -

そのため、プログラムやスクリプトを作成することなく、メッセージのフォーマット変換が行えます。フォーマット変換定義の登録について

は、“ISI アプリケーション開発ガイド”の“変換定義の開発”を参照してください。

XMLメッセージのXML⇔XML変換では、任意のエディタでXSLTスタイルシートファイルを作成し、XSLTプロセッサでそのスタイル

シートに従ってフォーマット変換を実行します。

2.3.2 多様なフォーマット形式

固定長メッセージの種類

固定長メッセージ(ユーザ固有フォーマット)のフォーマットは、以下の種類が扱えます。

一般フォーマット

も基本的なフォーマットです。1レコードの中に複数の固定長項目があります。各項目は長さ、データ属性を持ち、決められた順

序で項目が並んでいます。

複数一般フォーマット

複数の定義済一般フォーマットを再利用して、1つのフォーマットに見たてたフォーマットです。フォーマットの定義作業を簡略化し

たい場合に使用します。

伝票形式フォーマット

「ヘッダレコード」、「明細レコード」、「トレーラレコード」という階層構造を持つフォーマットです。これらの組み合わせのひとまとまり

を1伝票と呼びます。

行終端可変長フォーマット

「ヘッダ部」、「明細部」、「行終端文字」で構成され、明細部が繰り返されるフォーマットです。明細部の繰返しは無制限で、レコー

ドごとに繰返し数が異なってもかまいません。明細部は、行終端文字が現れるまで繰り返します。

繰返し数指定可変長フォーマット

「ヘッダ部」と「明細部の繰返し回数を示す項目」と「明細部」で構成され、明細部が繰り返されるフォーマットです。明細部の繰返し

は無制限で、レコードごとに繰返し数が異なってもかまいません。明細部の繰返し数は、ヘッダ部内の「明細部の繰返し回数を示

す項目」の値で決まります。

固定長メッセージのデータレイアウトに適合するフォーマットを選択し、定義します。

フォーマット内の項目には、項目単位にデータの「属性」を定義できるため、テキストデータとバイナリデータを混在させることができま

す。項目は、「英数字」、「数字(ゾーン十進数、パック十進数、数値文字列、カンマ付き数値文字列)」、「2バイト文字」、「バイナリ(16進数)」、「ビット(2進数)」があります。

詳細については、“6.1 ユーザ固有フォーマットについて”を参照してください。

ユーザ固有フォーマットの登録は、Formatmanagerクライアントの画面上で行いますが、以下の機能により登録作業を簡略化することも

できます。

・ 変換定義の一括登録

詳細については、“6.6 変換定義の一括登録”を参照してください。

・ ひな型定義作成

詳細については、“ISI Formatmanagerクライアント(FEDIT/FL-TABLE)ヘルプ”の“ひな型定義作成”を参照してください。

XMLメッセージの種類

XMLメッセージは、整形式(well-formed)XML文書を扱えます。XML Schema、XML名前空間に対応したものも扱うことができます。

詳細については、“6.2 XML文書について”を参照してください。

2.3.3 多様なフォーマット変換

フォーマットの組み合わせ

固定長メッセージのフォーマット変換では、以下のフォーマットの組み合わせが変換できます。

- 34 -

・ 一般フォーマット

・ 複数一般フォーマット

・ 伝票形式フォーマット

・ 行終端可変長フォーマット

・ 繰返し数指定可変長フォーマット

詳細については、“6.7 ユーザ固有フォーマットのフォーマット変換”を参照してください。

固定長メッセージ⇔XMLメッセージのフォーマット変換では、以下のユーザ固有フォーマットと変換できます。

・ 一般フォーマット

・ 複数一般フォーマット

・ 伝票形式フォーマット

・ 行終端可変長フォーマット

・ 短縮FLATファイル形式

詳細については、“6.9 XML文書のフォーマット変換”を参照してください。

XMLメッセージ⇔XMLメッセージのフォーマット変換では、XSLTプロセッサでXMLメッセージを変換できます。詳細については、XSLTの規約を参照してください。

変換機能

固定長メッセージのフォーマット変換では、以下の変換が行えます。

適化転記

入力元項目と出力先項目とでデータ属性が異なっていても、出力先項目のデータ属性に合わせて整形してデータをコピーできま

す。

項目設定

一部分だけのコピー、位置を指定してのコピー、固定値のコピーができます。

条件設定

条件式を指定してフォーマット変換の動作を制御できます。

計算設定

入力元項目、出力先項目、固定値を使用した四則演算ができます。

項目コード変換設定(CSV)

入力元項目と出力先項目のコード値が異なる場合に、CSVファイルを使用して読み替えた値を出力できます。

項目コード変換設定(DB)

入力元項目と出力先項目のコード値が異なる場合に、リレーショナルデータベースを使用して読み替えた値を出力できます。

利用者プログラム設定

ユーザが別途作成したプログラムを呼び出し、プログラムが返した値を出力することができます。

詳細については、“6.7 ユーザ固有フォーマットのフォーマット変換”を参照してください。

2.3.4 クライアント上でのシミュレーション

固定長メッセージのフォーマット変換は、Formatmanagerクライアント上でシミュレーションすることができます。

シミュレーション機能では以下のことができます。

・ 実行結果のファイル出力

・ 画面による実行結果確認

- 入出力項目のデータ表示(入出力の変換状態(マッピング)もビューで表示)

- 35 -

- 入出力項目のデータの16進数表示への切替え

図2.17 シミュレーション結果表示画面例

詳細については、“6.11 シミュレーションの実施”を参照してください。

2.3.5 文字コード変換

メッセージの文字コードを変換できます。

以下の文字コードを扱えます。

・ シフトJIS

・ EUC

・ JEF

・ dbcs90

・ JISコード

・ KEIS

・ JIPS(E)

・ UNICODE(UCS-2BE)

・ UNICODE(UCS-2LE)

・ UNICODE(UTF-16BE)

・ UNICODE(UTF-16LE)

・ UNICODE(UTF-32BE)

・ UNICODE(UTF-32LE)

詳細については、“6.8.1 文字コード変換”を参照してください。

- 36 -

2.3.6 CSV変換

CSV形式のメッセージを入出力できます。

以下の形式を扱えます。

・ カンマ区切り形式

・ タブ区切り形式

詳細については、“6.8.2 CSV変換”を参照してください。

CSV⇔CSVの変換を行いたい場合は、固定長メッセージを介してCSV⇒固定長メッセージ⇒CSVの順に変換を行います。

2.3.7 ファイル抽出

メッセージ内の複数のレコードから、特定のレコードだけを抽出できます。

メッセージ内に同一フォーマットの複数のレコードがある場合、指定した条件に一致したレコードだけを抽出することができます。

詳細については、“6.8.3 ファイル抽出”を参照してください。

2.4 メディエーション機能

メディエーション機能は、サービスを呼び出すための部品、サービス間におけるインタフェースを調整するための部品、および部品を

実行するためのエンジンです。必要な部品を組み合わせて呼び出すことで、データのチェック、加工・編集、変換、ルーティングを実

行します。また、ユーザが作成した任意のプログラムを呼び出すこともできます。

ユーザがシーケンス定義にステップとして指定した順に、標準提供の部品やユーザプログラムを呼び出すコンポーネントを、“シーケ

ンスエンジン”と呼びます。シーケンスエンジンは、受信したメッセージを指定した順に処理し、サービスやサービス利用側アプリケー

ションに結果を送信します。

シーケンスエンジンから呼び出す部品を“メディエータファンクション”と呼びます。シーケンスエンジンからの呼出し単位を“ステップ”

と呼びます。

図2.18 メディエータファンクションとステップの関係

標準提供のメディエータファンクションを、以下に示します。

表2.2 メディエータファンクションの機能一覧

分類 機能 説明 参照ページ

サービス呼出し 同期サービス呼出し 指定された同期サービスを呼び出し

ます。

“2.4.2 サービスの呼出し”

ルーティングして同期サー

ビス呼出し

ルーティングで決定した同期サービ

スを呼び出します。

非同期サービス呼出し 指定された非同期サービスを呼び

出します。

- 37 -

分類 機能 説明 参照ページ

ルーティングして非同期サー

ビス呼出し

ルーティングで決定した非同期サー

ビスを呼び出します。

複数の非同期サービス呼出

指定された複数の非同期サービス

を呼び出します。

フォーマット変換 固定長メッセージの変換 固定長形式のメッセージのフォー

マットや文字コードを変換します。

“2.4.7 ペイロードのフォーマット変

換”

XMLメッセージの変換 XML形式のメッセージのフォーマッ

トを変換します。

データ編集 XMLメッセージの検証 XML形式のメッセージの妥当性を

チェックします。

“2.4.3 ペイロードのチェック”

XMLメッセージの編集 XML形式のメッセージに対して、要

素の追加・変更・削除を行います。

“2.4.4 ペイロードの加工・編集”

XMLメッセージから情報取

XML形式のメッセージから必要な情

報を取り出します。

“2.4.5 共通メッセージからの情報取

得”

固定長メッセージから情報

取得

固定長のメッセージから必要な情報

を取り出します。

SOAPメッセージの操作 SOAPメッセージの作成、必要な情

報の設定・取得を行います。

“2.4.6 SOAPメッセージの操作”

ユーティリティ コマンドの実行 コマンドラインで実行できるアプリ

ケーションをシーケンスから呼び出

し、実行します。

“2.4.10 コマンドの実行”

ファイルの入出力 ファイルの内容をペイロードに読み

込みます。

また、ペイロードの内容をファイルに

出力します。

“2.4.11 ファイル入出力”

ミドルウェア連携 List Creator連携 Interstage List Creatorと連携し、帳

票の一括管理、出力を行います。

本機能はJ2EE実行環境だけで使用

できます。

“2.4.9 List Creatorとの連携”

BPM Analytics連携 サービスの処理状況やイベントデー

タを収集します。

収集したデータをInterstage BPMAnalyticsで解析し、処理状況、稼動

状況などを確認できます。

本機能はJ2EE実行環境だけで使用

できます。

“2.4.8 BPM Analyticsとの連携”

ユーザプログラム ユーザプログラム呼出し Javaまたは.NET(*1)で作成した任意

のユーザプログラムを呼び出します。

*1:.NETのユーザプログラム呼出し

は、Windowsだけで使用できます。

“2.4.12 ユーザプログラムの呼出し”

以下のメディエータファンクションについては、“A.4 メディエーション機能”を参照してください。

分類 機能 説明 参照ページ

互換用 メッセージの送信 メッセージを他システムへ送信しま

す。

“A.4.1 メッセージの送信”

ルーティングしてメッセージ

の送信

ルーティング(条件に合った送信先

を選択)して、メッセージを送信しま

す。

- 38 -

分類 機能 説明 参照ページ

Webサービスの呼出し サービス提供側のWebサービスを、

同期(SOAP)で呼び出します。

“A.4.2 Webサービスの同期呼出し”

JCAを利用した連携 JCAをサポートするアダプタ製品や

企業情報システム(EIS)を呼び出し

ます。

“A.4.3 JCAを利用した連携”

2.4.1 共通メッセージ

共通メッセージは、“ヘッダ”と“ペイロード”で構成されています。

ヘッダはキー(ヘッダキーまたはヘッダパラメタキーとも呼びます)とパラメタ(ヘッダパラメタとも呼びます)で構成されています。

ヘッダには以下の情報などを設定します。

・ メディエータファンクションに渡す定数(変換IDなど)

・ メッセージ識別情報(送信メッセージと受信メッセージの関連付けのための情報)

ヘッダは、サービス利用側アプリケーションやシーケンス実行時に設定され、メディエータファンクションで編集されます。

ペイロードには、転送したいユーザデータを設定します。(業務データなど)ISIが処理後に、一般的なWebサービスへデータを渡すときは、ヘッダ部分を取り除き、ペイロードだけを送信します。

ペイロードは、履歴をもつことができます。

図2.19 共通メッセージの流れ

2.4.2 サービスの呼出し

サービス呼出しメディエーションでは、ISIのシーケンスからサービスやアダプタを呼び出します。

サービス呼出しメディエーションの主な機能は次のとおりです。

・ 製品が標準提供するアダプタの呼出し

・ JCA 1.0に準拠したリソースアダプタの呼出し

・ IndexedRecord、MappedRecordを使ったペイロードの受渡し(文字列型、バイナリ型)

・ 送信メッセージをもとにしたルーティングによるサービスの振り分け

・ 複数のサービス呼出し(非同期だけ)

次にサービスの呼出し方法別に詳細を説明します。

- 39 -

同期サービス呼出し

図2.20 同期サービス呼出し

・ 呼び出すサービスに合わせてフォーマット変換されたメッセージをサービス提供側へ渡します。

・ サービス呼出しメディエータファンクションから、アダプタを経由してサービスを呼び出します。

・ サービス呼出しメディエータファンクションは、サービス提供側からのレスポンスを待ち合わせ、サービス利用側に戻します。

・ レスポンスのメッセージは必要に応じてフォーマット変換してください。

・ J2EE実行環境の場合、呼び出せるサービスの接続方式(サービスエンドポイント)は以下のとおりです。

- SOAP(同期)

- DB(同期)

- CORBA

- MQ

- III

- カスタム(同期)

・ Java EE実行環境の場合、呼び出せるサービスの接続方式(サービスエンドポイント)は以下のとおりです。

- SOAP(同期)

- CORBA

- MQ

- III

- MQD

- カスタム(同期)

・ Java EE実行環境の場合、サービス提供側の呼出しでエラーが発生した際に、サービス呼出しをリトライできます。

- 40 -

ルーティングして同期サービス呼出し

図2.21 ルーティングして同期サービス呼出し

・ 呼び出すサービスに合わせてフォーマット変換されたメッセージをサービス提供側へ渡します。

・ 送信するメッセージの特定データをもとに振り分け条件を作成し、これに一致したサービスへ振り分け(ルーティング)します。

・ サービス呼出しメディエータファンクションから、アダプタを経由して振り分けられたサービスを呼び出します。

・ サービス呼出しメディエータファンクションは、サービス提供側からのレスポンスを待ち合わせ、サービス利用側に戻します。

・ レスポンスのメッセージは必要に応じてフォーマット変換してください。

・ J2EE実行環境の場合、呼び出せるサービスの接続方式(サービスエンドポイント)は以下のとおりです。

- SOAP(同期)

- DB(同期)

- CORBA

- MQ

- III

- カスタム(同期)

・ Java EE実行環境の場合、呼び出せるサービスの接続方式(サービスエンドポイント)は以下のとおりです。

- SOAP(同期)

- CORBA

- MQ

- III

- MQD

- カスタム(同期)

・ サービス提供側の呼出しでエラーが発生した場合、サービス呼出しをリトライできます。

- 41 -

非同期サービス呼出し

図2.22 非同期サービス呼出し

・ 呼び出すサービスに合わせてフォーマット変換されたメッセージをサービス提供側へ渡します。

・ サービス呼出しメディエータファンクションは指定されたキューへメッセージを登録し、すぐにシーケンスエンジンへ制御を戻しま

す。

・ アダプタはキューからメッセージを取り出し、指定されたサービスを呼び出します。(シーケンスエンジンとは切り離されて動作しま

す。)

・ 呼び出せるサービスの接続方式(サービスエンドポイント)は以下のとおりです。

- SOAP(非同期)

- DB(非同期)

- MQD

- キュー間転送

- カスタム(非同期)

- サービス呼出し無し(JMS, JMS-R)

- JMSは非同期メッセージング(メッセージ保証なし)構成で利用できます。

- JMS-Rは非同期メッセージング(メッセージ保証あり)構成で利用できます。

・ 本機能は、J2EE実行環境でのみ使用可能です。

ルーティングして非同期サービス呼出し

図2.23 ルーティングして非同期サービス呼出し

- 42 -

・ 呼び出すサービスに合わせてフォーマット変換されたメッセージをサービス提供側へ渡します。

・ 送信するメッセージの特定データをもとに振り分け条件を作成し、これに一致したサービスへ振り分け(ルーティング)します。

・ サービス呼出しメディエータファンクションは振り分けられたサービスに対応するキューへメッセージを登録し、すぐにシーケンスエ

ンジンへ制御を戻します。

・ アダプタはキューからメッセージを取り出し、指定されたサービスを呼び出します。(シーケンスエンジンとは切り離されて動作しま

す。)

・ 呼び出せるサービスの接続方式(サービスエンドポイント)は以下のとおりです。

- SOAP(非同期)

- DB(非同期)

- MQD

- キュー間転送

- カスタム(非同期)

- サービス呼出し無し(JMS, JMS-R)

- JMSは非同期メッセージング(メッセージ保証なし)構成で利用できます。

- JMS-Rは非同期メッセージング(メッセージ保証あり)構成で利用できます。

・ 本機能は、J2EE実行環境でのみ使用可能です。

複数の非同期サービス呼出し

図2.24 複数の非同期サービス呼出し

・ 呼び出すサービスに合わせてフォーマット変換されたメッセージをサービス提供側へ渡します。

・ サービス呼出しメディエータファンクションは指定されているすべてのサービスに対応するキューへメッセージを登録し、すぐにシー

ケンスエンジンへ制御を戻します。

・ アダプタはキューからメッセージを取り出し、指定されたサービスを呼び出します。(シーケンスエンジンとは切り離されて動作しま

す。)

・ 呼び出せるサービスの接続方式(サービスエンドポイント)は以下のとおりです。

- SOAP(非同期)

- DB(非同期)

- MQD

- 43 -

- キュー間転送

- カスタム(非同期)

- サービス呼出し無し(JMS, JMS-R)

- JMSは非同期メッセージング(メッセージ保証なし)構成で利用できます。

- JMS-Rは非同期メッセージング(メッセージ保証あり)構成で利用できます。

・ 本機能は、J2EE実行環境でのみ使用可能です。

2.4.3 ペイロードのチェック

XMLメッセージの検証(XML Validation)を利用して、XML形式のデータの文法をチェックし、妥当性を検証します。

外部システムとの連携時に、入力ファイルとなるXMLメッセージの妥当性を検証できます。

XML Validationの主な機能は、以下のとおりです。

・ ペイロ-ドがXML形式の場合、XMLの形式の妥当性を検証

・ DTDまたはXML Schemaでの検証

・ DTD、XML Schemaファイルに記述されている外部参照先の参照

図2.25 XML Validation

注意

・ DTD、XML Schemaファイルに記述されている外部参照先がISIサーバ内の場合だけ参照できます。

・ XML Validationで不当なXMLと判断した場合、ISIはエラー発生と判断し、シーケンス処理は先には進みません。エラー発生時

の処理ルートが登録されている場合は、その処理を実行します。

・ DTDファイル、XML Schemaファイルは、ISIサーバ内の以下のディレクトリに格納してください。

- 44 -

<INSDIR>\usr\schema

/opt/FJSVesi/usr/schema

・ エラーが発生すると、以下のディレクトリに作業用のファイルが作成されます。出力されるエラーメッセージを参照してエラー対処

後、作業用のファイルを削除してください。

<INSDIR>\var\temp

/opt/FJSVesi/var/temp

2.4.4 ペイロードの加工・編集

XMLメッセージの編集(XML Operation)を利用して、ペイロード内のXML文書に対して、要素の追加・変更・削除を行います。

XML文書へ要素または属性を追加・変更・削除することや、XML文書に別のXML文書の一部を挿入するなど、XMLメッセージを加

工・編集できます。

XML Operationの主な機能は、以下のとおりです。なお、XML Operationの操作対象は、共通メッセージ内のペイロード部分に格納さ

れている整形式XML文書です。

・ XML文書の要素、属性の追加

・ XML文書の要素の値、属性の値の更新

・ XML文書の要素、属性の削除

・ XML文書に対して、別のXML文書の一部を挿入

・ XPathによる要素、属性の位置の指定

要素の追加

図2.26 要素の追加

- 45 -

要素の変更

図2.27 要素の変更

要素の削除

図2.28 要素の削除

注意

・ XPathは、絶対パスで指定してください。

・ 複数の要素、属性を、同時に編集することはできません。

- 46 -

・ 要素名、属性名は、変更できません。

・ 編集後のXML文書の妥当性を検証する場合は、シーケンスの後続のステップ(編集後のステップ)に“XMLメッセージの検証(XMLValidation)”のメディエータファンクションを定義し、XML文書をチェックしてください。

2.4.5 共通メッセージからの情報取得

共通メッセージからの情報取得する方法には、以下の種類があります。メディエータファンクションのパラメタに、ペイロードの一部の値

を設定したい場合は、事前に共通メッセージからの情報取得を利用して、取り出した値を共通メッセージのヘッダパラメタに格納して

おきます。

・ XMLメッセージから情報取得(XML Emerger)

・ 固定長メッセージから情報取得(FLAT Emerger)

XMLメッセージからの情報取得(XML Emerger)

XML Emergerを利用して、XMLメッセージから必要な情報を取り出し、共通メッセージのヘッダに格納します。

XML Emergerの主な機能は、以下のとおりです。なお、XML Emergerの操作対象は、共通メッセージ内のペイロード部分の整形式

XML文書です。

・ XPathによる要素、属性の位置の指定

・ 格納する共通メッセージのヘッダパラメタキー名を自由に設定

図2.29 XML Emergerの機能

ポイント

同時に複数の値を取り出すことができます。

- 47 -

注意

XPathは、絶対パスで指定してください。

固定長メッセージからの情報取得(FLAT Emerger)

FLAT Emergerを利用して、固定長メッセージから必要な情報を取り出し、共通メッセージ内のヘッダに格納します。

FLAT Emergerの主な機能は、以下のとおりです。なお、FLAT Emergerの操作対象は、共通メッセージ内のペイロード部分のFLATフォーマットデータです。

・ 取り出す値の位置(バイト数)、桁数(バイト数)の指定

・ 格納する共通メッセージのヘッダパラメタキー名を自由に設定

図2.30 FLAT Emerger

注意

・ 同時に複数の値を取り出すことはできません。

・ バイナリデータの取得はできません。

2.4.6 SOAPメッセージの操作

SOAPメッセージの操作(SOAP Operation)を利用して、SOAPメッセージを操作します。

SOAP Operationの主な機能は、以下のとおりです。

- 48 -

・ SOAPメッセージの作成

・ SOAPメッセージからSOAPメッセージのボディ要素の情報取得

・ SOAPメッセージからSOAPメッセージのヘッダ要素の情報取得

・ XML文書にSOAPタグを追加

・ SOAPメッセージからSOAPタグを削除

SOAPメッセージの作成

Webサービスへ送信するためのSOAPメッセージを作成します。作成したSOAPメッセージは、共通メッセージのペイロードに格納されます。

SOAPメッセージの作成には、以下の方法があります。

・ SOAPメッセージのボディ要素だけを指定して作成

・ SOAPメッセージのヘッダ要素とボディ要素を指定して作成

以下は、SOAPメッセージのボディ要素だけを指定して作成した例です。

図2.31 SOAPメッセージの作成

注意

・ SOAPメッセージのヘッダ要素、およびボディ要素のXML文書の文字コードは、“UTF-8”を使用することを推奨します。

・ 作成したSOAPメッセージの文字コードは“UTF-8”です。

ボディ要素の情報取得

受信したSOAPメッセージからSOAPメッセージのボディ要素を取得します。取得したボディ要素は、共通メッセージのペイロードに格納

されます。

- 49 -

図2.32 ボディ要素の情報取得

注意

・ 取得元のSOAPメッセージの文字コードは“UTF-8”です。

・ 取得したSOAPメッセージのボディ要素のXML文書の文字コードは“UTF-8”です。

ヘッダ要素の情報取得

受信したSOAPメッセージからSOAPメッセージのヘッダ要素を取得します。取得したヘッダ要素は、共通メッセージのペイロードに格

納されます。

SOAPメッセージのヘッダ要素(SOAPヘッダ)は、標準規約の通信情報など特殊な用途で使用されます。通常のWebサービスでは、

SOAPメッセージのボディ要素(SOAPボディ)だけが使用されます。

ポイント

スキーマに関する名前空間は、SOAPメッセージから取得したボディ要素・ヘッダ要素に引き継がれます。

ボディ要素の情報取得の例では、SOAPメッセージから取得したXMLデータのルート要素に、以下の名前空間の宣言を追加しています。

xmlns:soapenc="http://shemas.xmlsoap.org/soap/encoding"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

注意

・ 取得元のSOAPメッセージの文字コードは“UTF-8”です。

・ 取得したSOAPメッセージのヘッダ要素のXML文書の文字コードは“UTF-8”です。

- 50 -

XML文書にSOAPタグを追加

XML文書にSOAPタグを追加します。SOAPタグが追加されたXML文書は、共通メッセージのペイロードに格納されます。

この機能は、XML文書にSOAPタグ(EnvelopeタグとBodyタグ)の追加だけを行います。このように処理の軽量化を行い、SOAPメッセー

ジの作成を高速化させています。

図2.33 XML文書にSOAPタグを追加

ポイント

この機能は、SOAPメッセージの作成機能よりも高速にSOAPメッセージが作成できますが、使用する際は、以下の留意事項がありま

す。留意事項が満たせない場合は、SOAPメッセージの作成機能を使用してください。

・ XML文書の文法チェックを行いません。そのため、SOAPタグを追加するXML文書は、整形式なXML文書を設定してください。

・ SOAPタグを追加するXML文書の編集を行いません。そのため、改行コードや名前空間はXML文書で考慮してください。

注意

・ XML文書の文字コードは“UTF-8”です。

・ 作成したSOAPメッセージの文字コードは“UTF-8”です。

SOAPメッセージからSOAPタグを削除

SOAPメッセージからSOAPタグを削除します。SOAPタグが削除されたXML文書は、共通メッセージのペイロードに格納されます。

この機能は、SOAPメッセージからSOAPタグ(Envelopeタグ、Header要素、およびBodyタグ)の削除だけを行います。このように処理の

軽量化を行い、ボディ要素の情報取得を高速化させています。

- 51 -

図2.34 SOAPメッセージからSOAPタグを削除

ポイント

この機能は、ボディ要素の情報取得機能よりも高速に情報を取得することができますが、使用する際は、以下の留意事項があります。

留意事項が満たせない場合は、ボディ要素の情報取得機能を使用してください。

・ XML文書の文法チェックを行いません。そのため、SOAPメッセージは、整形式なXML文書を設定してください。

・ ボディ要素内の編集を行いません。そのため、改行コードや名前空間はボディ要素内で考慮してください。

・ コメントタグのチェックを行いません。そのため、Bodyの開始タグ以前およびBodyの終了タグ以降にコメントタグを記述していない

XML文書を設定してください。

注意

・ 取得元のSOAPメッセージの文字コードは“UTF-8”です。

・ 取得したSOAPメッセージのボディ要素のXML文書の文字コードは“UTF-8”です。

2.4.7 ペイロードのフォーマット変換

フォーマット変換には、以下の種類があります。

・ 固定長メッセージの変換(Formatmanager)

・ XMLメッセージの変換(XML Converter)

固定長メッセージの変換(Formatmanager)

Formatmanager変換機能を利用して、固定長メッセージのフォーマットや文字コードを変換します。

Formatmanagerクライアント(FEDIT/FL-TABLE)からGUIの操作で、簡単にフォーマットの定義や変換ルールを作成できます。

- 52 -

図2.35 Formatmanager

XMLメッセージの変換(XML Converter)

XML Converterを利用して、XMLメッセージをXML-XML変換します。

システム間で利用できるXMLメッセージのフォーマットが異なる場合でも、フォーマット変換により、システム間でのメッセージの送受信

ができます。

XML Converterの主な機能は、以下のとおりです。なお、XML Converterの操作対象は、共通メッセージ内のペイロード部分の整形式

XML文書です。

・ ユーザが指定したXSLTの内容に沿った、フォーマット変換

図2.36 XML Converter

注意

・ XSLTを作成するためのGUIツールはありません。

- 53 -

・ 変換後の文字コードは“UTF-8”です。

・ 複数のXML文書を結合することはできません。

・ Interstage Application ServerのV10.0以降でISIを運用し、XSLTの処理中にエラーが発生した場合、ISIサーバおよびSOAPアダ

プタのワークユニットのコンテナログにエラーメッセージが出力され、処理が継続されます(コンテナログについては、“InterstageApplication Server J2EE ユーザーズガイド(旧版互換)”の“アプリケーションのデバッグ”を参照してください)。

XSLTの処理でエラーが発生した場合に処理を中断したい場合は、ISIサーバおよびSOAPアダプタのワークユニットのjava実行時

のオプションに以下の指定を追加してください。

"-Dcom.fujitsu.jdkext.jaxp.impl.compat"詳細は、“ISI リリース情報”の“互換に関する情報”の“Interstage Application Server V10.0以降でのXML処理の動作変更”を参照

してください。

2.4.8 BPM Analyticsとの連携

ISIから接続しているサービスの処理状況データや、ISIを流れる共通メッセージのペイロードを収集します。収集したデータは、InterstageBPM Analytics連携用のJMSキューに格納され、Interstage BPM Analyticsでデータを解析し、処理状況、稼動状況などを監視できま

す。本機能は、J2EE実行環境だけで使用できます。

BPM Analyticsと連携してできることは、以下のとおりです。

・ サービス実行の監視(実行時間や件数)のための情報出力

・ シーケンス実行の監視(実行時間や件数)のための情報出力

・ シーケンスを流れるユーザデータの収集、および情報出力

・ 異常監視のための情報出力

図2.37 BPM Analytics連携

- 54 -

2.4.9 List Creatorとの連携

ISIからInterstage List CreatorをWebサービスとして呼び出し、帳票データの保存による一括管理や、データ出力などができます。本機

能は、J2EE実行環境だけで使用できます。

Interstage List Creatorと連携してできることは、以下のとおりです。

・ 帳票の印刷

・ 帳票のFAX送信

・ 帳票の電子保存

・ 帳票のPDF保存

注意

List Creator連携を利用して帳票を保存、出力する場合は、事前に以下の操作が必要です。

・ Interstage List Creator Webサービスのセットアップ

・ 帳票定義フォーマットへの変換定義(フォーマット変換が必要な場合)

フォーマット変換を利用しない場合

図2.38 List Creator連携

- 55 -

フォーマット変換を利用する場合

図2.39 List Creator連携(Formatmanagerを利用する場合)

2.4.10 コマンドの実行

コマンドラインで実行する任意のアプリケーションを、ISIのシーケンス上から呼び出します。また、シーケンスを流れる共通メッセージの

ペイロードを、コマンドのパラメタに指定できます。

共通メッセージのヘッダに格納されたコマンドも実行できるため、動的にコマンドを変更することもできます。

コマンドの復帰値によって正常終了とエラー終了を自由に変更することができます。

図2.40 Command Launcherの機能

- 56 -

注意

以下の場合、シーケンスエラーとなります。

・ コマンド実行の復帰値が、正常として指定した復帰値に該当しなかった場合

・ 実行コマンドとして指定したコマンドが、存在しないなどの理由で実行できなかった場合

2.4.11 ファイル入出力

ファイルをペイロードに読み込みます。また、ペイロードの内容をファイルに出力します。

ファイルパスには、以下を埋込み文字列として使用できます。

・ 日時

・ シーケンス名

・ ISIのメッセージID

・ 共通メッセージのヘッダの値

ファイル出力は、ファイルの先頭からの書込みと追記書込みを選択できます。

図2.41 File Operatorの機能

2.4.12 ユーザプログラムの呼出し

Javaまたは.NET で作成したユーザプログラムを呼び出します。

共通メッセージのパラメタやペイロードの値を、ユーザプログラムのパラメタにセットし、任意のプログラムを呼び出します。

ユーザプログラムの呼出しの主な機能は、以下のとおりです。なお、呼出しの対象となるプログラムは、Javaまたは.NET で作成さ

れた任意のプログラムです。

・ 共通メッセージのパラメタ、およびペイロードの値をパラメタに設定

- 57 -

・ 復帰値を共通メッセージに格納

・ パラメタ、復帰値の型を自由に設定

図2.42 ユーザプログラムの機能

- 58 -

2.4.13 メディエータファンクションの実行(シーケンスエンジン)ユーザが指定した順に、メディエータファンクションを呼び出すのがシーケンスエンジンです。シーケンスエンジンは、受信したメッセー

ジを指定した順に加工・編集し、サービスやサービス利用側アプリケーションに結果を送信します。

メディエータファンクションとして作成するユーザプログラムに、エラー時の処理を登録しておくと、エラー発生時に自動的に呼び出さ

れます。

シーケンスエンジンは、メディエータファンクションの初期処理、実行処理、終了処理など処理全体の流れを制御します。

初期処理

ユーザが指定した順序で、すべてのメディエータファンクションの初期処理を実行します。

メディエータファンクション内に初期処理が登録されていない場合は、次のステップに移ります。

図2.43 初期処理の実行

実行処理

初期処理が完了すると、次にメディエータファンクションのサービス実行処理を実行します。

また、条件分岐機能を使用することで、処理の経路を動的に変更することができます。

- 59 -

図2.44 サービス実行処理の実行

終了処理

サービス実行処理が完了すると、次にすべてのメディエータファンクションの終了処理を実行します。

メディエータファンクション内に終了処理が登録されていない場合は、次のステップに移ります。

すべての終了処理が完了すると、シーケンスを終了します。

図2.45 終了処理の実行

エラー発生時の処理ルート

メディエータファンクション内にエラー時の処理を登録しておくと、メディエータファンクション実行時にエラーが発生した場合、エラー

時の処理が実行されます。この場合、エラーが発生した1つ前のステップから通常とは逆の順序で実行されます。また、条件分岐機能

を使用している場合は、実行処理で実行済みのメディエータファンクションのキャンセル処理だけが実行されます。

以下は、ユーザアプリケーションAがエラー時の処理として、キャンセル処理を登録していた場合の、ユーザアプリケーションBでエラー

が発生したときの動作イメージです。

- 60 -

図2.46 キャンセル処理の実行

エラーハンドリング

エラーが発生した場合に別のシーケンスを呼び出すことができます。エラー発生時に呼び出すシーケンスに、エラー処理メディエータ

ファンクションを指定することで、例外処理を段階的に整備できます。

エラーハンドリングのシーケンスが呼び出されるタイミングは、上記のエラー発生時の処理、および終了処理が完了したあとです。

エラーハンドリングのシーケンスには、以下の情報をもつ共通メッセージが渡されます。

・ ヘッダ

エラー発生時の処理、および終了処理が完了したあとのヘッダについて、“com.fujitsu.esi”で始まるキーのヘッダについては、

“com.fujitsu.esi”の部分が“com.fujitsu.esi.mainsequence”に置換されて渡されます。それ以外のヘッダはそのまま渡されます。

・ ペイロード

エラー発生時の処理、および終了処理が完了したあとのペイロード、またはシーケンス開始時のペイロードが渡されます。どちらを

渡すかは、シーケンス定義で指定します。

リトライ

エラーが発生した場合にシーケンスのリトライを行うことができます。

リトライは、上記のエラー発生時の処理、および終了処理が完了したあとに、初期処理から実行をやりなおします。

また、エラーハンドリングを指定している場合、リトライがすべて失敗したあとにエラーハンドリングで指定されたシーケンスを呼び出しま

す。

2.4.14 ファイルベースでのシーケンス処理

シーケンス実行時の入出力データをファイルで扱うことができます。これを“ファイルベースのシーケンス処理”と呼びます。

ファイルベースでシーケンス処理を行うと、メモリに展開できないサイズのデータを処理できます。

条件分岐機能では、データタイプにFLATまたはヘッダを指定した場合のみ、ファイルベースでの処理に対応しています。

標準メディエータファンクションでは、以下のメディエータファンクションがファイルベースでの処理に対応しています。

・ 同期サービス呼出し (*4)

・ ルーティングして同期サービス呼出し (*2, *4)

・ 非同期サービス呼出し (*1)

・ ルーティングして非同期サービス呼出し (*1, *2)

・ 複数の非同期サービス呼出し (*1, *3)

- 61 -

・ XMLメッセージの検証

・ 固定長メッセージから情報取得

・ XMLメッセージの変換

・ 固定長メッセージの変換

・ コマンドの実行

・ メッセージの送信(互換用) (*1, *3)

・ ルーティングしてメッセージの送信(互換用) (*1, *2)

注意

ファイルベースでシーケンス処理を行う場合、以下の注意事項があります。

*1:J2EE実行環境だけで使用できます。送信可能なサービスエンドポイントは、FTP送信だけです。

*2:ルーティング定義で指定可能なポジションアイテムは、FLAT形式だけです。

*3:同時に送信可能なサービスエンドポイントは、1つです。(同報送信はできません。)

*4:送信可能なサービスエンドポイントは、IIIだけです。

また、ファイルベースでの処理に対応したユーザプログラムを作成し、実行することができます。

図2.47 ファイルベースでのシーケンス処理

2.4.15 添付ファイルをもつSOAPメッセージの操作

添付ファイルをもつSOAPメッセージが使用できる環境は以下のとおりです。

表2.3 SOAPメッセージの形式と実行環境

J2EE実行環境 Java EE実行環境

SOAP1.1 添付なし ○ ○

WS-I Attachments Profile方式の添付

○ ×

MTOM方式の添付 × ○

SOAP1.2 添付なし × ○

WS-I Attachments Profile方式の添付

× ×

MTOM方式の添付 × ○

○:サポート

- 62 -

×:未サポート

添付ファイルをもつSOAPメッセージでは、メッセージの送受信とメッセージ内容の操作ができます。添付の種類と操作できるメディエー

ション機能は、以下のとおりです。

表2.4 メディエーション機能と添付方式

WS-I Attachments Profile方式の添付 MTOM方式の添付

SOAPインバウンド ○ ○

SOAPアウトバウンド ○ ○

添付操作

(getAttachment/setAttachment)

× ○

添付入出力

(readFile/writeFile)

× ○

添付変換 × ○

○:指定可能

×:指定不可

WS-I Attachments Profile方式の添付

シーケンス実行時のデータをWS-I Attachments Profile方式の添付ファイルをもつSOAPメッセージとするには、以下の方法がありま

す。

・ WS-I Attachments Profile方式の添付をもつSOAPメッセージを、SOAPアダプタのインバウンドで受信

・ WS-I Attachments Profile方式の添付をもつSOAPメッセージを、SOAPアダプタのアウトバウンドで受信

シーケンス実行時に、WS-I Attachments Profile方式の添付ファイルを操作するには、以下の方法があります。

・ ユーザメディエータファンクションを作成し、アプリケーションで操作することができます。詳細は、“ISI アプリケーション開発ガイド”

の“添付ファイルを操作する”を参照してください。

MTOM方式の添付

シーケンス実行時のデータをMTOM方式の添付ファイルをもつSOAPメッセージとするには、以下の方法があります。

・ MTOM方式の添付をもつSOAPメッセージを、SOAPアダプタのインバウンドで受信

・ MTOM方式の添付をもつSOAPメッセージを、SOAPアダプタのアウトバウンドで受信

- 63 -

・ インバウンドで添付ファイルとするデータを受信後、ファイルの入出力メディエータファンクションでSOAPメッセージをペイロードに

読み込み、添付操作メディエータファンクションで両者よりMTOM方式の添付をもつSOAPメッセージを作成

図2.48 MTOM方式の添付を持つSOAPメッセージの作成

※1

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:ser="http://service.fujitsu.com"

xmlns:xsd="http://wso.fujitsu.com/xsd">

<soap:Header/>

<soap:Body>

<ser:uploadFile>

<ser:param>

<xsd:dataType></xsd:dataType>

<xsd:file>ATTACHMENT</xsd:file>

<xsd:hash></xsd:hash>

</ser:param>

</ser:uploadFile>

</soap:Body>

</soap:Envelope>

添付ファイルとするデータにひも付けする項目に、“ATTACHMENT”という値を設定します。添付ファイルとして設定できるデータ

は1件だけです。

※2

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:ser="http://service.fujitsu.com"

xmlns:xsd="http://wso.fujitsu.com/xsd">

<soap:Header/>

<soap:Body>

<ser:uploadFile>

<ser:param>

<xsd:dataType></xsd:dataType>

<xsd:file><xop:Include xmlns="http://www.w3.org/2004/08/xop/include" href="cid: 8072d71e-24f2-4c5f-

[email protected]" /></xsd:file>

<xsd:hash></xsd:hash>

</ser:param>

</ser:uploadFile>

</soap:Body>

</soap:Envelope>

シーケンス実行時に、MTOM方式の添付をもつSOAPメッセージの添付を操作するには、以下の方法があります。

- 64 -

・ ユーザメディエータファンクションを作成し、アプリケーションで操作することができます。詳細は、“ISI アプリケーション開発ガイド”

の“添付ファイルを操作する”を参照してください。

・ 添付入出力メディエータファンクション(writeFile)、添付変換メディエータファンクション、および添付入出力メディエータファンクショ

ン(readFile)を使用して、Formatmanagerを使用したフォーマット変換および文字コード変換をすることができます。

- 添付入出力メディエータファンクション(writeFile)は、共通メッセージの添付をFormatmanager用に出力します。

- 添付変換メディエータファンクションは、添付入出力メディエータファンクション(writeFile)で出力した添付をFormatmanagerで変換します。

- 添付入出力メディエータファンクション(readFile)は、添付変換メディエータファンクションで変換した添付を共通メッセージに反

映します。

図2.49 MTOM方式の添付をもつSOAPメッセージの添付の操作

・ SOAP添付データの操作メディエータファンクションにより、MTOM方式の添付をペイロードに移動することで、各種メディエーショ

ン機能で操作できます。

図2.50 MTOM方式の添付をもつSOAPメッセージの添付の移動

※3

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:ser="http://service.fujitsu.com"

xmlns:xsd="http://wso.fujitsu.com/xsd">

<soap:Header/>

<soap:Body>

<ser:uploadFile>

- 65 -

<ser:param>

<xsd:dataType></xsd:dataType>

<xsd:file><xop:Include xmlns="http://www.w3.org/2004/08/xop/include" href="cid: 117ed850-4359-4a4d-

[email protected]" /></xsd:file>

<xsd:hash></xsd:hash>

</ser:param>

</ser:uploadFile>

</soap:Body>

</soap:Envelope>

2.5 高信頼性機能

高信頼性機能は、メッセージの消失や二重送信を防止し、相手サービスに正しくメッセージを届けることを保証する機能です。高信頼

性機能には以下があります。

・ メッセージ蓄積機能

・ 順番保証機能

・ クラスタリングへの対応

・ 負荷分散

2.5.1 メッセージ蓄積機能

メッセージ蓄積機能は、非同期通信の場合、ISIが受信したメッセージ、および送信したメッセージをデータベースに保存する機能で

す。

受信したメッセージを保存することで、ISIが稼動しているサーバでエラーが発生した場合でも、メッセージのロストを防ぎ、送信元に再

送信を依頼するケースをなくします。

メッセージを送信したことを記録しているため、送信先との通信エラーが発生しても、メッセージが送信済みなのか、未送信のため再送

信しなければならないかを判断できます。

さらに、送信メッセージを保存できるので、相手サービス側が何らかの原因でメッセージをロストしても、保存したメッセージを再送信で

きます。本機能は、J2EE実行環境だけで使用できます。

メッセージ蓄積機能の主な特長は、以下のとおりです。

・ 受信したメッセージを、データベースへ保存します。

・ 送信したメッセージを、データベースへ保存します。

・ データベースに保存されていないメッセージはインバウンドキューに到着していないため、相手側からの再送信が必要です。受信

後にエラーになったメッセージは未送信状態のため、データベースから未送信メッセージを検索し、メッセージを再送信します。

・ メッセージを再送信する場合は、ISI運用管理コンソールで、データベースに格納されたメッセージを検索し、再送信します。

・ メッセージを蓄積するデータベースは、Symfoware Serverをサポートしています。

2.5.2 順番保証機能

順番保証機能は、サービスエンドポイント単位またはキュー単位に受信したメッセージの順番に従って、処理することを保証する機能

です。本機能は、J2EE実行環境だけで使用できます。

順番保証機能の主な特長は、以下のとおりです。

・ キュー単位に受信したメッセージの順番に従って、シーケンスを処理します。

・ それぞれのシーケンスは1多重で動作しますが、ISIサーバが複数セットアップされている場合は、シーケンスごとに並列に処理し

ます。

・ 順番を保証するため、あるメッセージでエラーが発生した場合は、そのキューの次のメッセージの受信を停止します。ISI運用管理

コンソールで再送信を実行後、受信を再開できるようになります。

ほかのキューのメッセージの処理は、停止されることなく実行されます。

- 66 -

2.5.3 クラスタリングへの対応

運用サーバ1台と待機サーバ1台のフェイルオーバ運用でサーバを切り替えます。

クラスタリングの主な特長は、以下のとおりです。

・ 自動的に異常を検出し、待機サーバへ運用を切り替えます。

単一のシステムで運用している場合に比べ、運用再開までの時間が短縮されます。

・ 待機サーバに切り替わっても、運用サーバの資源を引き継ぎます。

引き継ぐデータは、共用ディスクに配置されます。

・ 運用サーバのIPアドレスを待機サーバが引き継ぎます。

・ メッセージ蓄積機能を利用している場合、データが流れている途中に待機サーバに切り替わっても、メッセージをロストしません。

・ 順番保証機能を利用している場合、データが流れている途中に待機サーバに切り替わっても、メッセージの順番を保証します。

待機サーバに切り替わるISIの異常は以下です。

・ ISIのFormatmanager、ファイル転送の停止

・ メッセージ蓄積機能が使用するデータベースの停止

・ 非同期メッセージング構成で使用するJMS、JMS-R、MQD の停止

注意

・ ISIサーバやアダプタで使用しているワークユニット(ESIServerなど)は、クラスタ監視の対象外です。

図2.51 フェイルオーバ運用の構成図

- 67 -

Microsoft Cluster Service(MSCS)を利用したクラスタリングに対応します。

PRIMECLUSTERを利用したクラスタリングに対応します。

注意

フェイルオーバ運用のスタンバイ機能を使用して、クラスタリング環境を構築します。

2.5.4 負荷分散

ISIでは負荷分散装置を利用してサーバマシンの負荷分散を行うことができます。

複数台のサーバマシンを同一システムとして処理を並列に行い、サービス利用側からの処理を自動的に分散させます。異常のあった

サーバはシステムから切り離すことで、残りのサーバで運用を続けることができます。

負荷分散が可能なISIの構成は、同期メッセージング構成です。

負荷分散についての詳細は、“Interstage Application Server 高信頼性システム運用ガイド”を参照してください。

2.6 導入・運用支援機能

導入・運用支援機能は、ISIを利用したシステムを容易に構築・運用するための機能です。

導入・運用支援機能には、以下の主な機能があります。

・ ISI Studio

・ Formatmanagerクライアント

・ ISI運用管理コンソール

・ Systemwalker SQC連携機能

・ 業務に応じたリソース調整機能

2.6.1 ISI StudioISI Studioを利用すると、サービス利用側アプリケーションとサービスの関係や、ISI内で処理する内容を簡単に定義できます。

ISI Studioには、以下の特長があります。

・ ISIプロジェクト、シーケンス、サービスエンドポイント、ルーティング、メディエータファンクション(ユーザプログラム呼出し)、キュー間

転送の一覧をツリー形式で表示

・ シーケンス、サービスエンドポイント、メディエータファンクション、ルーティング、キュー間転送の定義を、それぞれビジュアルに定

義可能

・ シーケンス、サービスエンドポイント、メディエータファンクション、ルーティング、キュー間転送編集時に発生した問題をISI問題

ビューで確認

・ アウトラインビューには、シーケンスに設定されているステップの一覧、キュー間転送を行うホストの一覧、ホスト間に定義されてい

るキュー間転送定義の一覧がツリー形式で表示

・ オーバービューには、シーケンス、キュー間転送の全容を小さなウィンドウで表示

・ 定義を保存・ISIサーバへの配置・ISIサーバからの取得などが、ボタン操作で可能

・ ネットワーク未開通、連携サービスが未稼動でも、サービスシミュレート機能を利用し、シーケンスの動作を確認

ISI Studioについては、“ISI Studio ヘルプ”を参照してください。

ISI Studioでは、テンプレート機能を提供しています。

- 68 -

テンプレート機能

ISI Studioで定義を作成する時、製品が提供する標準テンプレートを選択して定義作成できます。これにより、事前に用意されたシー

ケンスやサービスエンドポイントなどの定義がまとめて作成され、これらを流用することで定義の作成にかかる時間を短縮できます。

また、ユーザが作成した定義のセット(シーケンス、サービスエンドポイント、ルーティング)をユーザテンプレートとして登録することで、

類似した定義の複製を簡単に作成できます。

2.6.2 Formatmanagerクライアント

Formatmanagerクライアントの機能として、GUIのデザインツールであるFEDIT/FL-TABLEを提供しています。

FEDIT/FL-TABLEを利用し、一般フォーマット(固定長)や伝票フォーマット、変換定義などを定義することで、Formatmanager変換機

能による高度なフォーマット変換や文字コード変換が可能となります。

Formatmanagerクライアントについては、“ISI Formatmanagerクライアント(FEDIT/FL-TABLE)ヘルプ”を参照してください。

2.6.3 ISI運用管理コンソール

ISI運用管理コンソールは、Webブラウザを使用して、ISIを運用する上での便利な操作ができます。

ISI運用管理コンソールには、以下の特長があります。

・ ISIのサービスをボタン操作で起動・停止することが可能

・ システム環境設定や環境設定ファイルを、画面で編集可能

・ 実行モニタでは、以下の実行状況を表示

- シーケンスごとの実行件数、実行時間やペイロードのサイズ

- キューに滞留している件数

・ シーケンスでエラーが発生したメッセージの、内容の表示、再実行が可能

・ ログのダウンロード、ログの削除が、ボタン操作で可能

・ 蓄積メッセージに格納されたメッセージの検索、再実行、データのダウンロードが可能

ISI運用管理コンソールについては、“ISI 運用ガイド”または“ISI Java EE運用ガイド”の“ISI運用管理コンソールのヘルプ”を参照して

ください。

2.6.4 Systemwalker SQCを使用した監視、分析

Systemwalker SQCと連携することで、シーケンスの実行数や、ISIと連携するJMS、JMS-R、MQD のキュー滞留数の変化を監視/

分析することが可能です。本機能は、J2EE実行環境だけで使用できます。

Systemwalker SQCとの連携によりできることは、以下のとおりです。

・ モニタ表示

- メッセージのシーケンス実行数やキュー滞留数を、グラフ、および表形式で表示

- シーケンス実行数は、累積件数を表示

- キュー滞留数は、現在の滞留数を表示

・ ドリルダウン表示

- 指定した時間を機軸に、指定日時の範囲のシーケンス実行数やキュー滞留数を時系列で表示

- シーケンス実行数は、10分ごとに合計した処理件数の累積値を表示

- キュー滞留数は、10分単位の滞留数平均、滞留数 大、滞留数 小、滞留有無、増加傾向などで表示

・ レポート表示

- メッセージのシーケンス実行数やキュー滞留数の、総点検レポート、カテゴリ別診断レポート、詳細レポートなどを表示

- 69 -

・ しきい値監視

- イベントログ、またはシステムログ、Systemwalker Centric Managerメッセージ連携、メール、トラップ、ユーザ任意のコマンド実

行などで、しきい値超えを通知

機能の詳細については、Systemwalker SQCのマニュアルを参照してください。

ポイント

Systemwalker SQCは、グラフ、および表でシーケンス実行数やキュー滞留数の変化を時系列で監視できます。ISI運用管理コンソー

ルの実行モニタは、現在のシーケンス実行数とキュー滞留数を参照できます。

注意

Systemwalker SQC連携機能を利用するためには、Systemwalker Service Quality Coordinator Agentをインストールしてください。

2.6.5 業務に応じたリソース調整機能

1. J2EE実行環境の場合

業務に応じたリソース調整機能は、1台のサーバに複数のISIサーバを設定できるため、連携業務ごとの独立性を確保します。

業務に応じたリソース調整機能には、以下の特長があります。

- 1台のサーバに、複数のISIサーバ、SOAPアダプタ、CORBAアダプタを構築することが可能

- それぞれのワークユニットで、メモリのヒープ領域を設定や多重度設定などが可能

これにより連携業務の特長に合わせたチューニングが可能

- ISIサーバやSOAPアダプタなどのワークユニット単位で起動・停止が可能

- サービス利用側アプリケーションからは、接続先のSOAPアダプタやCORBAアダプタを選択、またはISIサーバを選択して実

行(サービスエンドポイント定義を利用)

- ISIサーバを1つだけセットアップする“デフォルト”のセットアップに加え、ISIサーバを“追加する”ためのセットアップが可能

業務に応じたリソース調整機能は、拡張構成のISIサーバ分離構成で利用できます。ISIサーバ分離構成の利用方法について

は、“ISI 導入ガイド”の“ISIサーバ分離構成のセットアップ”を参照してください。

2. Java EE実行環境の場合

業務に応じたリソース調整機能は、1台のサーバに複数のISI実行環境をセットアップできるため、連携業務ごとの独立性を確保

します。

業務に応じたリソース調整機能には、以下の特長があります。

- 1台のサーバに、複数のISI実行環境を構築することが可能

- それぞれのISIサーバやアダプタで、メモリのヒープ領域を設定や多重度設定などが可能

これにより連携業務の特長に合わせたチューニングが可能

- サービス利用側アプリケーションからは、接続先のSOAPアダプタを選択、またはISIサーバを選択して実行(サービスエンド

ポイント定義を利用)

業務に応じたリソース調整機能は、拡張構成のISIサーバ分離構成で利用できます。ISIサーバ分離構成の利用方法について

は、“ISI Java EE導入ガイド”の“ISIサーバ分離構成のセットアップ”を参照してください。

- 70 -

第3章 構成の詳細(J2EE実行環境)ここでは、J2EE実行環境のISIがサポートする構成の詳細について説明します。

3.1 サポートする構成

ISIがサポートする基本構成には以下の3つがあります。

・ 同期メッセージング構成

・ 非同期メッセージング(メッセージ保証なし)構成

・ 非同期メッセージング(メッセージ保証あり)構成

それぞれの構成を選択するポイントを説明します。

基本構成 選択のポイント

同期メッセージング構成 サービス提供側のアプリケーションやWebサービスを同期的に呼び出し、処理結果を受け取

るオンライン業務に使用します。

非同期メッセージング(メッセージ

保証なし)構成

サービス提供側のアプリケーションやWebサービスへの要求を突き放して実行し、処理結果を

後から受け取る場合や、処理結果が不要な業務に使用します。

非同期メッセージング(メッセージ

保証あり)構成

サービス提供側のアプリケーションやWebサービスへの要求を突き放して実行し、処理結果を

後から受け取る場合や、処理結果が不要な業務に使用します。

ISIが受信・送信したメッセージをメッセージ蓄積データベースに登録し、メッセージ保証した

い場合や、順番保証したい場合に使用します。

3.2 基本構成

基本構成の詳細について説明します。

3.2.1 同期メッセージング構成

図3.1 同期メッセージング構成

同期メッセージング構成では、要求応答型のオンライン業務で利用できます。

サービス利用側では、送信した要求メッセージに対する応答メッセージを待ち合わせる必要があります。

サービス提供側では、受け取った要求メッセージを処理した結果を応答メッセージとして返却します。

ISIでは、両者を連携するためにアダプタを使用して接続し、要求メッセージの受け付けから応答メッセージの返却までを同期的に処

理します。製品提供のアダプタ以外の接続方式を利用する場合は、カスタムアダプタを作成します。

本構成で利用可能なサービス連携のための接続方式は以下のとおりです。

・ SOAPメッセージの同期通信(RequestResponse)

・ データベースへの同期アクセス

- 71 -

・ CORBAサーバアプリケーションへの同期通信(RequestResponse/Oneway)

3.2.2 非同期メッセージング(メッセージ保証なし)構成

図3.2 非同期メッセージング構成(メッセージ保証なし)構成

非同期メッセージング(メッセージ保証なし)構成では、サービス利用側とサービス提供側を疎結合し、サービス提供側へメッセージを

渡すだけの業務や処理結果をすぐに返却しない業務で利用できます。非同期メッセージング(メッセージ保証あり)構成に比べて、性

能を重視する業務で利用します。

サービス利用側では、送信した要求メッセージがキューに格納された時点で即復帰するので後続の処理を継続できます。

サービス提供側では、受け取った要求メッセージを処理し、処理結果を返却しません。処理結果をサービス利用側へ返却する必要が

ある場合は、サービス提供側からサービス利用側へ送信処理が必要となります。

本構成では、キューに格納されたメッセージは揮発性になるため、サービスの停止やサーバマシンの停止により、メッセージは残りま

せん。

本構成で利用可能なサービス連携のための接続方式は以下のとおりです。

・ SOAPメッセージの非同期通信(Oneway)

・ データベースへの非同期アクセス

・ ファイルを使用した非同期連携

3.2.3 非同期メッセージング(メッセージ保証あり)構成

図3.3 非同期メッセージング構成(メッセージ保証あり)構成

非同期メッセージング(メッセージ保証あり)構成では、サービス利用側とサービス提供側を疎結合し、サービス提供側へメッセージを

渡すだけの業務や処理結果をすぐに返却しない業務で利用できます。非同期メッセージング(メッセージ保証なし)構成に比べて、メッ

セージの信頼性や順番保証を重視する業務で利用できます。

サービス利用側では、送信した要求メッセージがキューに格納された時点で即復帰するので後続の処理を継続できます。

サービス提供側では、受け取った要求メッセージを処理し、処理結果を返却しません。処理結果をサービス利用側へ返却する必要が

ある場合は、サービス提供側からサービス利用側へ送信処理が必要となります。

- 72 -

本構成では、キューに格納されたメッセージは不揮発性になるため、サービスの停止やサーバマシンの停止が起きても、キュー内の

メッセージは残り続けます。

本構成で利用可能なサービス連携のための接続方式は以下のとおりです。

・ SOAPメッセージの非同期通信(Oneway)

・ データベースへの非同期アクセス

・ ファイルを使用した非同期連携

・ キュー間転送を使用した非同期連携

ポイント

本構成では、データベースを別マシンに分離して運用することが可能です。

3.3 拡張構成

拡張構成の詳細について説明します。

3.3.1 ISIサーバ分離構成

図3.4 ISIサーバ分離構成

ISIサーバ分離構成では、基本構成のISIサーバを複数作成できます。

同期メッセージ構成を複数作成することで、それぞれのISIサーバで処理する業務に影響を与えずに運用・保守できます。

また、同期メッセージング構成と非同期メッセージング構成を分けて作成することで、オンライン業務と大量データ処理業務を並行に

実行しても、オンライン業務に影響を与えないようシステムリソースを効率利用できます。

- 73 -

3.3.2 ISIサーバ連携構成

ISIサーバ連携構成には、以下の2つの方法があります。

・ SOAPを利用する方法

・ キュー間転送を利用する方法

図3.5 ISIサーバ連携構成(SOAPを利用)

複数のサーバマシンに構築されたISIサーバ同士を連携します。

標準のプロトコルを利用することにより他社ESB製品との連携も可能です。

図3.6 ISIサーバ連携構成(キュー間転送を利用)

複数のサーバマシンに構築された非同期メッセージング(メッセージ保証あり)構成のISIサーバ同士をキュー間転送機能により接続す

ることで、メッセージの安全性や順番を保証して連携できます。

お互いのシステムにキューが存在し、ISIサーバ同士を疎結合するため、接続先の相手システムが停止していても自サーバの業務は

影響を受けずに継続できます。

キュー間転送の詳細については、“2.2.6 キュー間転送機能”を参照してください。

- 74 -

3.3.3 負荷分散構成

図3.7 負荷分散構成

同期メッセージング構成の複数のISIサーバを負荷分散装置に接続することで、サービス利用側からは仮想的に1台のサーバとして見

せることが可能です。

負荷分散構成にすることで、大量のメッセージを複数のISIサーバで同時に処理することができ、1台で構成したシステムよりも安定した

性能を実現できます。

また、負荷分散構成の中の1台がハードウェア障害などでダウンした場合でも、残りのサーバで業務を継続で業務を継続する縮退運

用が可能です。

負荷分散構成では、メッセージの順番保証はできません。

- 75 -

第4章 構成の詳細(Java EE実行環境)ここでは、Java EE実行環境のISIがサポートする構成の詳細について説明します。

4.1 サポートする構成

ISIがサポートする基本構成は以下のとおりです。

・ 同期メッセージング構成

構成のポイントを説明します。

基本構成 ポイント

同期メッセージング構成 サービス提供側のアプリケーションやWebサービスを同期的に呼び出し、処理結果を受け取

るオンライン業務に使用します。

4.2 基本構成

基本構成の詳細について説明します。

4.2.1 ISI実行環境

図4.1 ISI実行環境

ISI実行環境は、要求応答型のオンライン業務で利用できます。

サービス利用側では、送信した要求メッセージに対する応答メッセージを待ち合わせる必要があります。

サービス提供側では、受け取った要求メッセージを処理した結果を応答メッセージとして返却します。

ISIでは、両者を連携するためにアダプタを使用して接続し、要求メッセージの受け付けから応答メッセージの返却までを同期的に処

理します。製品提供のアダプタ以外の接続方式を利用する場合は、カスタムアダプタを作成します。

本構成で利用可能なサービス連携のための接続方式は以下のとおりです。

・ SOAPメッセージの同期通信(RequestResponse)

・ CORBAアプリケーションとの同期通信(RequestResponse/Oneway)

・ MQキューへのメッセージ送受信(Oneway)

・ III連携を使用した同期通信

4.3 拡張構成

拡張構成の詳細について説明します。

- 76 -

4.3.1 ISIサーバ分離構成

図4.2 ISIサーバ分離構成

ISIサーバ分離構成では、基本構成のISI実行環境を複数作成できます。

ISI実行環境を複数作成することで、それぞれのISI実行環境で処理する業務に影響を与えずに運用・保守できます。

注意

ISI実行環境を複数作成した場合、あるISI実行環境に属するISIサーバやアダプタから、別のISI実行環境に属するISIサーバやアダプ

タを呼び出すことはできません。

4.3.2 ISIサーバ連携構成

ISIサーバ連携構成には、以下の方法があります。

・ SOAPを利用する方法

・ CORBAを利用する方法

図4.3 ISIサーバ連携構成(SOAPを利用)

- 77 -

図4.4 ISIサーバ連携構成(CORBAを利用)

複数のサーバマシンに構築されたISIサーバ同士を連携します。

標準のプロトコルを利用することにより他社ESB製品との連携も可能です。

4.3.3 負荷分散構成

図4.5 負荷分散構成

複数のISI実行環境を負荷分散装置に接続することで、サービス利用側からは仮想的に1台のサーバとして見せることが可能です。

負荷分散構成にすることで、大量のメッセージを複数のISIサーバで同時に処理することができ、1台で構成したシステムよりも安定した

性能を実現できます。

また、負荷分散構成の中の1台がハードウェア障害などでダウンした場合でも、残りのサーバで業務を継続で業務を継続する縮退運

用が可能です。

負荷分散構成では、メッセージの順番保証はできません。

- 78 -

第5章 導入から運用までの流れ

ここでは、ISIの導入から運用までの概要について説明します。

ISIを使用したシステムの構築は以下の手順で行います。

1. 導入

- システム構成とサービス連携のための接続方式の設計

- ISIの構成の選択

- ソフトウェアのインストール

- 運用環境のセットアップ

2. 定義作成と開発

- アプリケーションの作成

- フォーマット定義・変換定義の作成

- ISI定義の作成

3. 運用

- サーバの起動・停止

- 運用と保守

5.1 導入

ISIを使用するためには以下の導入作業が必要です。それぞれの作業について概要を説明します。

・ システム構成とサービス連携のための接続方式の設計

・ ISIの構成の選択

・ ソフトウェアのインストール

・ システム環境のセットアップ

5.1.1 システム構成とサービス連携のための接続方式の設計

業務の内容と要件を明確にし、システムの全体像やハードウェア構成を設計します。また、連携するサービス(またはシステム)との接

続方式を決定します。

5.1.2 ISIの構成の選択

決定したシステム構成や接続方式からISIの構成を選択します。

5.1.3 ソフトウェアのインストール

ISIの構成に合わせて必要なソフトウェアをインストールします。

詳細は、“ISI 導入ガイド”または“ISI Java EE導入ガイド”の“インストール”を参照してください。

運用環境

・ ISIサーバ機能のインストール

開発環境

・ Interstage Studioのインストール

・ ISIクライアント機能のインストール

- 79 -

5.1.4 運用環境のセットアップ

ISIの構成に合わせて運用環境をセットアップします。

詳細は、“ISI 導入ガイド”または“ISI Java EE導入ガイド”の“セットアップの概要”、およびISIサーバの構成ごとのセットアップ方法を参

照してください。

5.2 定義作成と開発

ISIを使用するためには以下の定義作成と開発が必要です。それぞれについて概要を説明します。

・ フォーマット定義・変換定義の作成

・ ISI定義の作成

・ アプリケーションの作成

5.2.1 フォーマット定義・変換定義の作成

Formatmanager変換機能を使用して固定長形式、CSV形式、XML形式のメッセージを相互に変換したい場合や、メッセージの文字

コードを変換したい場合に以下の定義作成が必要です。定義の作成は、Formatmanagerクライアントで行います。本バージョンの

Formatmanagerクライアントは、本バージョンのFormatmanager変換機能の定義だけ作成できます。

詳細は、“ISI アプリケーション開発ガイド”の“変換定義の開発”を参照してください。

・ フォーマット定義の作成

・ 変換定義の作成(フォーマット変換、CSV変換、文字コード変換など)

・ 運用情報の登録

5.2.2 ISI定義の作成

ISIを使用するために以下の定義作成が必要です。定義の作成は、ISI Studioで行います。本バージョンのISI Studioは、本バージョン

のISIの定義だけ作成できます。

詳細は、“ISI Studio ヘルプ”を参照してください。

サービス利用側からISIを実行する、ISIからサービスを呼び出す場合

・ サービスエンドポイント定義の作成

・ シーケンス定義の作成

実行するシーケンスや呼び出すサービスを振り分けたい場合

・ ルーティング定義の作成

ユーザ作成のメディエータファンクションをISIのシーケンスから呼び出したい場合

・ メディエータファンクション定義の作成

キュー間転送を使用する場合

・ キュー間転送定義の作成

5.2.3 アプリケーションの作成

標準アダプタが対応している接続方式以外でISIとサービスとを接続したい場合、アプリケーションを開発する必要があります。

また、製品提供のメディエータファンクション以外のメディエータファンクションが必要な場合も、アプリケーションを開発する必要があり

ます。

詳細は、“ISI アプリケーション開発ガイド”の“アプリケーション開発の概要”を参照してください。

- 80 -

5.3 運用

ISIを使用したシステムの運用の概要を説明します。

・ サーバの起動・停止

・ 運用と保守

運用の詳細については、“ISI 運用ガイド”の“運用管理” 、または“ISI Java EE運用ガイド”の“運用管理”を参照してください。

5.3.1 サーバの起動・停止

ISIを使用したシステムを稼働させるために必要な各サービスをサーバ上で起動させる必要があります。

以下に起動と停止の順序を示します。

5.3.1.1 J2EE実行環境

同期メッセージング構成の場合

※ISIサーバには以下が含まれます。使用する機能だけを起動・停止してください。

・ ISIサーバ

・ Formatmanager変換機能(ISIサーバ分離型の場合だけ)

・ SOAPアダプタ

・ CORBAアダプタ

・ インバウンドのMQアダプタとアウトバウンドのMQアダプタ

- 81 -

非同期メッセージング(メッセージ保証なし)構成の場合

※ISIサーバには以下が含まれます。使用する機能だけを起動・停止してください。

・ ISIサーバ

・ Formatmanager変換機能(ISIサーバ分離型の場合だけ)

・ SOAPアダプタ

・ ファイル監視アダプタ

非同期メッセージング(メッセージ保証あり)構成の場合

※ISIサーバには以下が含まれます。使用する機能だけを起動・停止してください。

・ ISIサーバ

・ Formatmanager変換機能(ISIサーバ分離型の場合だけ)

・ SOAPアダプタ

・ ファイル監視アダプタ

- 82 -

・ MQD受信とMQD送信

・ キュー間転送サービス

5.3.1.2 Java EE実行環境

※ISIサーバには以下が含まれます。使用する機能だけを起動・停止してください。

・ ISIサーバ

・ Formatmanager変換機能(ISIサーバ分離型の場合だけ)

・ インバウンドのCORBAアダプタとアウトバウンドのCORBAアダプタ

・ インバウンドのMQアダプタとアウトバウンドのMQアダプタ

・ MQD受信とMQD送信

5.3.2 運用と保守

ISIを利用した運用では以下の操作が必要になります。

5.3.2.1 日常的な運用

ログファイルの削除

運用中に出力される以下のログファイルについて、定期的に削除する必要があります。

・ シーケンスログ

・ トレースログ

特にシーケンスログは日単位にファイルがバックアップされるため、処理量が多いシステムではディスクを圧迫する可能性があります。

シーケンスログ

ISIのシーケンス処理が実行された情報を出力するログです。

トレースログ

ISIの処理でエラーが発生した場合などに出力されるログです。

シーケンスログ、トレースログについては、“ISI 運用ガイド”の“ログファイル” 、または“ISI Java EE運用ガイド”の“ログファイル”を参照

してください。

メッセージ蓄積データベースの保守

メッセージ蓄積データベースの格納スペースを3ヶ月単位で切り換えてください。

- 83 -

5.3.2.2 異常発生時の運用

非同期メッセージング(メッセージ保証なし)構成利用時の失敗メッセージのリカバリ

メッセージのメディエーション処理または送信処理に失敗した場合、失敗したメッセージが退避キューに保存されます。このメッセージ

を再実行するか、退避キューから削除する必要があります。

非同期メッセージング(メッセージ保証あり)構成利用時の失敗メッセージのリカバリ

メッセージの処理に失敗した場合、失敗したメッセージがメッセージ蓄積データベースに保存されます。このメッセージを再送信する

か、再送対象外にステータス変更する必要があります。

- 84 -

第6章 インタフェース調整機能の詳細

ここでは、インタフェース調整機能の詳細を説明します。

6.1 ユーザ固有フォーマットについて

ここでは、FLATフォーマット(ユーザ固有フォーマット)について説明します。

1レコードは、フォーマットの単位データを指します。レコードの項目をフィールドと呼びます。

FLATフォーマットは複数レコードを一度に入出力することも可能です。

6.1.1 一般フォーマット

一般フォーマットとは、1レコードの中に複数の項目がある固定長のフォーマットのことです。各項目に、長さ、属性が決められていて、

項目の順番も入れ替わることなく並んでいる必要があります。

図6.1 一般フォーマット

ポイント

・ 1レコード内に定義できるフィールド数の 大は9999項目です。

・ 1フィールドの 大桁数は、属性によって異なります。詳細は、“ISI Formatmanagerクライアント(FEDIT/FL-TABLE)ヘルプ”を参

照してください。

・ 1レコードの 大レコード長は9,999,999バイトです。

さらに、一般フォーマットは、レコードの中に「集団項目」をもつことができます。集団項目には「繰返し」を定義することができます。

図6.2 集団項目について

上記の場合、項目Cと項目Dが3回順に繰り返しています。項目Cと項目Dをグループ化しており、これを1つの集団項目と呼びます。

- 85 -

ポイント

・ 1レコード内に定義できる集団項目数の 大は3,844個です。

・ 集団項目の繰返し数の 大は32,000回です。

・ 集団項目のネストレベルの 大は99階層です。

登録方法

[一般フォーマット登録]画面で、以下の内容を設定します。

・ フラットID

・ フィールド名

・ 属性

・ 桁数

フィールド名、属性、桁数を並び順に定義し、1つの一般フォーマットを「フラットID」で管理します。

図6.3 一般フォーマット

集団項目や繰返しを定義する場合には、以下の内容を設定します。

・ 集団項目(開始と終了の2項目)

・ 集団項目ヘッダ、および集団項目トレーラ(属性)

・ グループ区分

・ グループ繰返数

集団項目として扱う項目の集まりの前後に1行ずつ、開始と終了を表す「集団項目」を定義し、その属性に「集団項目ヘッダ」と「集団

項目トレーラ」をそれぞれ指定します。レコード内に複数個の集団項目がある場合の識別のために、集団項目のペア単位に「グルー

プ区分」に同一の値を指定します。また、「グループ繰返数」には、集団項目の繰返し数を指定します。

- 86 -

図6.4 集団項目の登録

項目ごとに「初期値」を設定できます。初期値を設定した場合、出力時に[フォーマット変換設定]画面の[初期値セット]ボタンをクリック

すると、自動的に初期値が「項目設定」として設定されます。

図6.5 集団項目登録の例

一般フォーマットの登録方法の詳細は、“ISI Formatmanagerクライアント(FEDIT/FL-TABLE)ヘルプ”、および“ISI Formatmanagerクライアント(FEDIT/FL-TABLE)チュートリアル”を参照してください。

ポイント

・ 一般フォーマットは、以下のフォーマットの一部として指定できます。

- 複数一般フォーマット

- 伝票形式フォーマット

- 行終端可変長フォーマット

- 繰返し数指定可変長フォーマット

・ 一般フォーマット登録を省力化するために、COBOL COPY句ファイル、CSVファイル、XMLのDTDファイルや、RDBファイルをも

とにして、自動登録する機能があります。(COBOL COPY句を自動出力する機能もあります)。詳細は、“6.4 一般フォーマットの自

動登録”を参照してください。

6.1.2 複数一般フォーマット

複数一般フォーマットとは、異なる一般フォーマットを複数個並べて、1つの一般フォーマットにするものです。

いくつかの一般フォーマットを登録する際に共通部分がある場合は、共通部分だけで1つの一般フォーマットを登録し、さらに残りをそ

れぞれ別に登録します。それらを組み合わせて1つの一般フォーマットを作成することにより、共通部分を何度も入力する必要がなる

ため、入力の負荷が削減されます。

- 87 -

図6.6 複数一般フォーマットについて

組み合わせるそれぞれの一般フォーマットは、“6.1.1 一般フォーマット”で説明した内容と同じです。

ポイント

・ 複数一般フォーマットは、共通のレイアウト定義を一元管理するためのものです。2レコードを一度にマージしながらトランスレーショ

ンする機能ではありません。

・ 複数一般フォーマット内に、同一の一般フォーマットを指定することはできません。

登録方法

[複数一般フォーマット登録]画面で、以下の内容を設定します。

・ 複数一般ID

・ フラットID

複数一般フォーマットは、登録済みの一般フォーマットを組み合わせて定義します。

結合する一般フォーマットの「フラットID」を並び順に定義し、1つの複数一般フォーマットを「複数一般ID」で管理します。

図6.7 複数一般フォーマットの登録

- 88 -

図6.8 複数一般フォーマット登録の例

一般フォーマット登録で登録したフラットIDを、正しい順序に指定します。

複数一般フォーマットの登録方法の詳細は、“ISI Formatmanagerクライアント(FEDIT/FL-TABLE)ヘルプ”を参照してください。

6.1.3 伝票形式フォーマット

伝票形式フォーマットとは、「ヘッダレコード」、「明細レコード」、「トレーラレコード」という異なるレイアウトの順に構成される、固定長の

レコードの集合体です。これらのレコードのひとまとまりを1伝票と呼びます。

図6.9 レコード区分について

ヘッダレコード、明細レコード、トレーラレコードを識別するための値を「レコード区分」といいます。ヘッダレコード、明細レコード、トレー

ラレコードには、それぞれの先頭から同じバイト位置に同じバイト数のレコード区分があり、その値の違いによりレコードの違いを判別し

ます。

- 89 -

図6.10 基本レコード長について

各レコード長の公約数を「基本レコード長」といいます。基本レコード長を定義し、各レコードのレコード長が基本レコード長の等数倍

であれば、それぞれのレコード長は異なっていてもかまいません。

図6.11 レベルについて

各レコードの階層構造を示す値を「レベル」といいます。

ヘッダレコード、明細レコード、トレーラレコードは複数の種類を定義することができます。また、ヘッダレコードとトレーラレコードはペア

で定義します。なお、トレーラレコードは省略可能なので、ヘッダレコードとトレーラレコードの数は一致していなくてもかまいません。

先頭の階層のヘッダレコードを「ファイルヘッダ」、2番目以降を「伝票ヘッダ」と呼びます。ヘッダレコードにはそれぞれレベルをつけて

管理します。レベルには先頭階層から順に、1~9を設定します。したがって、ファイルヘッダはレベル1で固定し、伝票ヘッダにはレベ

ル2~9を設定してください。

同様に、トレーラレコードも、 後尾を「ファイルトレーラ」、 後尾から2番目以前を「伝票トレーラ」と呼びます。レベルはヘッダレコード

と対応するので、「ファイルトレーラ」はレベル1で固定し、「伝票トレーラ」は後方から順に2~9を設定してください。

- 90 -

図6.12 明細レコードの省略について

明細レコードは一部を省略することができます。

明細レコードを複数種類定義した場合、明細レコードにはレベルがないので、複数の明細レコードは連続しています。連続している明

細レコードの一部を省略可能にすることもできます。

図6.13 ブロック長について

伝票形式フォーマットでは「ブロック長」を指定する必要があります。すべてのレコードの合計バイト数がブロック長の等数倍にならない

場合、その差のバイト数に空白が付加されます。

また、伝票形式フォーマットが入力の場合は、空白を外してから、処理します。

ポイント

・ 伝票形式フォーマットの1つのレコードは、一般フォーマットと同等です。

・ 1つの伝票形式フォーマットの中に指定できるレコード数の 大は20個です。

・ レコード区分にはワイルドカードの“?”が指定できます。“?”は任意の1バイト文字が指定されたものと判断します。2バイト文字に使

用する場合には“??”と指定します。

例1) “AA?”が指定された場合、“AAA”も“AAB”も対象になります。

例2) “小??” が指定された場合、“小一”も“小二”も対象になります。

登録方法

[伝票形式フォーマット登録]画面で、以下の内容を設定します。

・ 伝票形式ID

・ ブロック長

・ 基本レコード長

・ 判断位置、判断桁数

- 91 -

・ フラットID

- レコード種別

- 生成(必須/転記あり時だけ)

- レベル

- 条件

伝票形式フォーマットは、登録済みの一般フォーマットを組み合わせて定義します。

伝票を構成する一般フォーマットの「フラットID」を並び順に定義し、フラットIDごとにレコードの識別方法、および必須レコードかどうか

を定義します。そして、1つの伝票形式フォーマットを「伝票形式ID」で管理します。

図6.14 伝票形式フォーマット

伝票形式フォーマットは「ヘッダレコード」、「明細レコード」、「トレーラレコード」で構成され、それぞれ一般フォーマット登録で登録され

ているフラットIDを使っています。伝票内の順番どおりに、フラットIDを並べて登録します。

それぞれのレコードは、先頭から同じ位置に同じ桁数の項目をもち、その値によってレコードを識別します。その項目の先頭からの位

置を「判断位置」、桁数を「判断桁数」と呼びます。また識別する値を「条件」と呼びます。

図6.15 複数の明細レコードがある場合の伝票形式フォーマット

- 92 -

図6.16 複数の明細レコードがある場合の登録例

一般フォーマット登録で登録したフラットIDを、正しい順序に指定します。

伝票形式の登録方法の詳細は、“ISI Formatmanagerクライアント(FEDIT/FL-TABLE)ヘルプ”、および“ ISI Formatmanagerクライアン

ト(FEDIT/FL-TABLE)チュートリアル”を参照してください。

6.1.4 行終端可変長フォーマット

行終端可変長フォーマットとは、「ヘッダ部」、「明細部」、「行終端文字」で構成されており、明細部が繰り返されるフォーマットです。

明細部の繰返しは無制限で、レコードごとに繰返し数が異なってもかまいません。

ただし、繰返しの 終明細部の直後に、ここで明細部が終わることを示す識別記号(行終端文字)が付加されている必要があります。

識別記号には、「改行マーク」( “LF”、 “CR+LF”)などを使用します。

識別記号と同じ文字列が、データとして明細部のデータ中に現れても問題ありませんが、明細部の先頭には現れてはなりません。な

お、レコード長に識別記号は含まれません。

図6.17 行終端可変長フォーマット

登録方法

[行終端可変長フォーマット登録]画面で、以下の内容を設定します。

・ 可変長ID

・ ヘッダ部フラットID

・ 明細部フラットID

・ 行終端文字

- 93 -

行終端可変長フォーマットは、登録済みの一般フォーマットを組み合わせて定義します。

行終端可変長フォーマットは、ヘッダ部と明細部で構成されており、それぞれのフラットIDを1つずつ指定します。1つの行終端可変長

フォーマットを「可変長ID」で管理します。

図6.18 行終端可変長フォーマットの登録

図6.19 行終端可変長フォーマット登録の例

一般フォーマット登録で登録したフラットIDを、正しい順序に指定します。

行終端可変長フォーマットの登録方法の詳細は、“ISI Formatmanagerクライアント(FEDIT/FL-TABLE)ヘルプ”を参照してください。

6.1.5 繰返し数指定可変長フォーマット

繰返し数指定可変長フォーマットとは、「ヘッダ部」と「明細部」で構成されており、明細部が繰り返されるフォーマットです。

明細部の繰返しは無制限で、レコードごとに繰返し数が異なってもかまいません。

ここまでは「行終端可変長フォーマット」と同じですが、改行マークは不要で、代わりに「ヘッダ部」の1つの項目に「明細部の繰返し回

数を示す項目」をもち、その値が「明細部」の繰返し数を表します。

図6.20 繰返し数指定可変長フォーマット

ポイント

・ 明細部の中にさらに明細部をもつことはできません。また異なる明細部を1レコードの中に複数箇所もつこともできません。

・ 繰返し数指定可変長フォーマットは、Formatmanagerクライアントで定義することは可能ですが、XML変換の対象にはなりません。

- 94 -

登録方法

[繰返し数指定可変長フォーマット登録]画面で、以下の内容を設定します。

・ 可変長ID

・ ヘッダ部フラットID

・ 明細部フラットID

・ 繰返し回数を示す項目の指定

繰返し数指定可変長フォーマットは、登録済みの一般フォーマットを組み合わせて定義します。

繰返し数指定可変長フォーマットは、ヘッダ部と明細部で構成されており、それぞれのフラットIDを1つずつ指定します。1つの繰返し

数指定可変長フォーマットを「可変長ID」で管理します。

図6.21 繰返し数指定可変長フォーマットの登録

図6.22 繰返し数指定可変長フォーマット登録の例

一般フォーマット登録で登録したフラットIDを、正しい順序に指定します。

繰返し数指定可変長フォーマットの登録方法の詳細は、“ISI Formatmanagerクライアント(FEDIT/FL-TABLE)ヘルプ”を参照してくだ

さい。

6.1.6 短縮FLATファイル形式

短縮FLATファイル形式は、XMLメッセージのフォーマット変換時にだけ指定できます。固定長メッセージのフォーマット変換では、短

縮FLATファイル形式を使用できません。

集団項目を含む一般フォーマットでは、「データ繰返数」で定義された数だけ集団項目がなくてはなりません。しかし、「データ繰返数」

には、想定される 大値を定義していることも少なくありません。このような場合、有効なデータをもつ集団項目が「データ繰返数」より

も少ないときでも残りの繰返し部分には空の集団項目が設定されてしまうため、データに占める無駄な領域が大きくなってしまいます。

短縮FLATファイル形式では、このような空の集団項目を省くことによって無駄な領域を削減し、データサイズを抑えることができます。

- 95 -

短縮FLATファイル形式は、[一般フォーマット登録]画面において、属性が「集団項目ヘッダ」であるフィールドの「繰返し数変動」チェッ

クボックスをチェックすることにより指定します。繰返し数変動がチェックされた集団項目ヘッダが1つでも含まれるユーザ固有フォーマッ

トは、短縮FLATファイル形式として扱われます。

短縮FLATファイル形式では、「繰返し変動」のチェックが設定された集団項目データの直前にN属性9タイプ6桁のフィールドが挿入さ

れます。このフィールドには直後に続く集団項目の繰返し数が設定されます。そして、その直後にはその数だけ集団項目のデータが

設定され、空の集団項目は設定されません。そのため空データの繰返しが省かれます。

図6.23 短縮FLATファイル形式

ポイント

・ 短縮FLATファイル形式が有効なのは、一般フォーマットだけです。伝票形式フォーマットと行終端可変長フォーマットに、短縮

FLATファイル形式と指定された集団項目が含まれていた場合は、変換エラーとなります。

・ 入力XML文書の集団項目に対応するタグは、繰返し数が定義されている「グループ繰返数」以下ならば、繰返し数が一致してい

なくてもかまいません。「グループ繰返数」よりも多くのタグが現れた場合には、警告メッセージが出力され、それ以降の集団項目

に対応するタグは処理されません。

・ 入力XML文書の集団項目に対応するタグについて、集団項目に属するタグがすべて空タグの場合には、データがないものとして

扱います。また、集団項目のタグ自体が空タグの場合にも同様に扱います。なお、空タグの集団項目以降に有効なデータをもつ

集団項目が存在する場合には、空データの集団項目として扱います。

6.2 XML文書について

ここでは、XML文書について説明します。

- 96 -

6.2.1 XML文書の形式

Formatmanagerは、W3C(World Wide Web Consortium)によって制定されている“Extensible Markup Language (XML) 1.0”、“XMLSchema 1.0”、および“XML名前空間(Namespaces in XML)”に準拠している整形式の(well-formed)XML文書を扱うことができます。

ただし、Formatmanagerで入出力を行うには、一定のルールに従っている必要があります。

XML文書には、DTDで文書構造を規定したものとXML Schemaで文書構造を規定したものがあります。そのため、以降、DTDに沿っ

たXML文書とXML Schemaに沿ったXML文書とを明確に区別する場合には、前者を“XML文書(DTD)”、後者を“XML文書(Schema)”と表記し、両者をまとめて表すときには“XML文書”と表記します。

以下に、Formatmanagerで扱うことができるXML文書の構造を示します。

図6.24 Formatmanagerが入出力するXML文書(DTD)の例

・ XML宣言

XML宣言が先頭行にあります。XMLのバージョンは1.0です。

・ DTD部

文書型宣言(DOCTYPE宣言)によりXML文書の型が定義されます。DTDには、外部サブセット、または内部サブセットを指定でき

ます。ただし、外部サブセットと内部サブセットの混在はできません。

・ XMLインスタンス部

実際のデータ部分です。この部分がユーザ固有フォーマット上のデータに対応し、フォーマット変換の対象となります。

- 97 -

図6.25 Formatmanagerが入出力するXML文書(Schema)の例

・ XML宣言

XML宣言が先頭行にあります。XMLのバージョンは1.0です。

・ XML Schema参照部

XMLインスタンスが参照するXML名前空間と、XML Schemaファイル名などが宣言されます。

・ XMLインスタンス部

実際のデータ部分です。この部分がユーザ固有フォーマット上のデータに対応し、フォーマット変換の対象となります。

・ XML Schemaファイル

XML SchemaによってXMLインスタンスの構造が定義されているファイルです。

6.2.2 Formatmanagerで扱うことができないXML文書の形式

Formatmanagerでは、以下のようなXML文書を扱うことはできません。適切でない処理結果となる場合があります。

整形式(well-formed)XML文書ではないXML文書

XML規約で許されていない文字を含んでいる、開始タグと終了タグの対応が正しくない、タグの親子関係や入れ子が正しくない、など

の整形式XML文書ではないものが入力されても処理できません。

なお、XML規約で許されていない文字とは、以下に示す文字などです。

XML規約で許されていない文字

- 98 -

・ 半角カタカナ

・ 全角空白

・ 全角数字

・ 半角数字で始まるもの

・ 全角カンマ(,)

・ 半角カンマ(,)

タグの順序が不定なXML文書

DTDやXML Schemaにかかわらず、Formatmanagerクライアントで定義した順序でタグが現れないXML文書は処理できません。

Formatmanagerクライアントでフィールド名として定義できない長さのタグを持つXML文書

Formatmanagerクライアントでフィールド名として定義できない長さを持つタグ名は処理できません。

Formatmanagerクライアントでフィールド名として定義できる長さは以下のとおりです。

・ 大1000バイト

文字参照を使用したXML文書

文字のコード番号を指定して文字データを表す文字参照は処理できません。文字参照の文字列のまま出力されます。

複数レコードが記述されたXML文書

Formatmanagerは、Formatmanagerクライアントで定義したフォーマット定義に対して、すべてのXMLタグが揃っておらず、一部のXMLタグが省略されているようなXML文書も処理することができます。しかし、そのようなXML文書では、一般フォーマットにおけるレコード

の区切りが判定できなくなるため、「XMLタグが省略されていて、かつ複数のレコードが含まれる」XML文書は、フォーマット変換結果

を保証しません。

しかし、以下の条件を満たしている場合に限り、複数レコードを含むXML文書も入力データとすることができます。

・ ルート直下のタグは省略されていない。

Formatmanagerでこの条件を満たすXML文書を出力する場合には、Formatmanagerクライアントのフォーマット定義において、ルー

ト直下に該当する項目の「省略可能」欄はチェックしないでください。

- 99 -

図6.26 複数レコードが記述されたXML文書の例

- 100 -

- 101 -

再帰的な構造をもつXML文書

子要素、または孫要素のタグ名が、その親要素と同じタグ名をもつような再帰的な構造をもつXML文書は処理できません。

子要素をもたないタグともつタグが同じタグ名であるXML文書

子要素をもたない(Formatmanagerクライアントで単一の項目と定義される要素)タグと、親要素である(Formatmanagerクライアントで集

団項目ヘッダと定義される子要素をもつ要素)タグが、同じタグ名であるような、構造が異なる要素が同じタグ名をもっているXML文書

は処理できません。

- 102 -

構成の異なる複数の親要素が同じタグ名をもつXML文書

子要素の構成が異なる複数の親要素が、同じタグ名をもつようなXML文書は処理できません。(同じタグ名をもつ親要素は、その子要

素が同じ構成でなければなりません)

任意の階層の中でタグ名が一意でない定義になるXML文書

Formatmanagerクライアントでの定義において、任意の階層の中でフィールド名(タグ名)が一意にならない構造をもつXML文書は処理

できません。

- 103 -

上記のフォーマット定義は例であり、実際にはエラーとなり登録できません。

上記の「内容2」と「内容3」の<child1>のように、子要素をもたないタグが連続して繰り返されるXML文書は、[一般フォーマット登録]画面の「タグ繰返数」を指定することにより定義することが可能です。

ポイント

・ 集団項目トレーラに対応するタグは存在しません。

・ フォーマット定義において、フォーマットIDを定義した単位を1レコードとします。

6.2.3 XML文書の空タグ

XML文書の空タグの扱いについて、以下に説明します。

XML文書で内容をもたないタグ(空タグ)については、以下の形式のものが扱えます。

1. <A></A>

2. <A/>

ただし、ユーザ固有フォーマットからXML文書への変換時に、ユーザ固有フォーマット側の内容がデフォルト値でXML文書に空タグ

が出力される場合、Formatmanagerは、1の形式で空タグを出力します。このとき、変換対象の項目に「整形なし」フラグがチェックされ

ている場合には、属性の変換ルールは適用されずに、空白文字も含めて項目の内容がすべてそのまま出力されます。

6.3 項目の属性

ここでは、各フォーマットで定義されている項目に指定する属性について説明します。

属性とは項目の種類のことで、文字列、数値などを示します。属性の種類は、ユーザ固有フォーマットとXML文書で異なります。

6.3.1 ユーザ固有フォーマットの属性

ここでは、ユーザ固有フォーマットの属性について説明します。

- 104 -

属性の種類

ユーザ固有フォーマットには、以下の属性を定義することができます。

表6.1 属性の種類

属性 内容 例(1234を表す)

X属性 英数字文字列、およびマルチバイト文字 1234

K属性 2バイト文字(漢字など) 1234

B属性 ビット列(2進数) (0000010011010010)

H属性 16進数 0x04D2

N属性 数値文字列(先頭空白詰め、または先頭0詰め) □□1234001234

9属性 ゾーン10進数 001234

C属性 数値文字列カンマ付き(先頭空白詰め、または先

頭0詰め)□1,23401,234

P属性 パック10進数 0x012343

上記の例(1234を表す)は、以下のように表記しています。

・ □は空白を示します。

・ ( )でくくられているものはビット列(2進数)で表現しています。

・ 0xが先頭に書かれているものはバイナリ(16進数)で表現しています。

・ その他はテキスト(10進数)で表現しています。

ポイント

・ 半角全角(1バイト、2バイト)が混在する項目にはX属性を指定します。

・ 半角カナ文字を使用する項目にはX属性を指定します。

符号の表現

B属性、N属性、9属性、C属性、P属性は符号を表現することができます。以下に示す属性を指定することで、符号付きであることを表

現します。

表6.2 符号の表現

属性 データ例(-1234を表す) 備考

B属性 (11111111111111111111101100101110)0xFFFFFB2E

1の補数で表現

(4バイトの例)

N属性(符号有) □□-1234(空白詰めの場合)□□-1234(空白詰めで、+符号ありの場合)-001234(0詰めの場合)-001234(0詰めで、+符号ありの場合)

9属性(符号有) 000123T(0x30303031323354) マイナスコード“5”のとき

C属性(符号有) □-1,234(空白詰めの場合)□-1,234(空白詰めで、+符号ありの場合)-01,234(0詰めの場合)-01,234(0詰めで、+符号ありの場合)

P属性(符号有) 0x0012345 マイナスコード“5”のとき

- 105 -

上記のデータ例(-1234を表す)は、以下のように表記しています。

・ □は空白を示します。

・ ( )でくくられているものはビット列(2進数)で表現しています。

・ 0xが先頭に書かれているものはバイナリ(16進数)で表現しています。

・ その他はテキスト(10進数)で表現しています。

ポイント

・ 9属性、P属性で符号有の属性を指定したとき、プラスコード、マイナスコードは、JIS8/シフトJIS、およびJIS7/EUCの場合に変更す

ることができます(上記の例では、マイナスコードは“5”を使用)。EBCDICの場合はプラスコードが“C”、マイナスコードが“D”で固

定です。

・ 9属性、P属性で符号無の属性を指定したとき、JIS8/シフトJIS、およびJIS7/EUCでは“3”、EBCDICでは“F”で固定です。また、P属性(符号無)についてはFEDITシステムパラメタ定義ファイルでプラスコード、およびマイナスコードを変更することができます。FEDITシステムパラメタ定義ファイルについては、“ISI 導入ガイド”の“FEDITシステムパラメタ定義ファイルの変更” または“ISI Java EE導入ガイド”の“FEDITシステムパラメタ定義ファイルの変更”を参照してください。

・ なお、以下については区別する/しないを選択することができます。区別する場合は、ワーニングを出力します。

- 9属性(符号有)の項目に、符号なしのデータが入力された場合

- 9属性(符号無)の項目に、符号が正のデータが入力された場合

- P属性(符号有)の項目に、符号なしのデータが入力された場合

- P属性(符号無)の項目に、符号が正のデータが入力された場合

・ N属性(符号有)、C属性(符号有)を指定したときの符号文字の出力位置は、“空白詰め”の場合は数値の直前で、“0詰め”の場合

は項目の先頭です。

・ 変換結果が出力先桁数よりも大きくなるなど桁あふれが生じる場合、数値やカンマ文字よりも符号文字を優先して出力します。そ

のため、出力先項目の桁数は、長さやカンマ文字の位置などを考慮して定義してください。

・ N属性、C属性で符号有の属性を指定したとき、Formatmanagerクライアントの[運用情報登録(フォーマット変換)]の[0値の+符号有

無]項目で、 適化転記時に数値が0の場合に+符号を出力するかどうかを選択することができます。

正の整数の値について

正の整数を入力にする場合は、以下の形式で値が入っているようにしてください。正の整数を出力する場合は、以下の形式で値が出

力されます。

表6.3 正の整数の値

属性名 桁数 値(例:“1234”の扱い) 説明

X属性 8 1234□□□□ 値は左詰め。右側空白詰め。

K属性 8 1234 値は2バイトにして左詰め。右側空

白詰め。

B属性 4 0x000004D2 値は右詰め。左側0x00詰め。

H属性 8 0x00000000000004D2 値は右詰め。左側0x00詰め。

N属性(符号無)、空白詰め 8 □□□□1234 値は右詰め。左側空白詰め。

N属性(符号無)、0詰め 8 00001234 値は右詰め。左側0詰め。

N属性(符号有)、空白詰め、+符

号なし

8 □□□□1234 値は右詰め。左側空白詰め。

N属性(符号有)、0詰め、+符号な

8 00001234 値は右詰め。左側0詰め。

- 106 -

属性名 桁数 値(例:“1234”の扱い) 説明

N属性(符号有)、空白詰め、+符

号あり

8 □□□+1234 値は右詰め。数値の前に符号。左

側空白詰め。

N属性(符号有)、0詰め、+符号あ

8 +0001234 値は右詰め。左側先頭に符号。残

り0詰め。

N属性(符号有)、空白詰め、+符

号あり、小数部1桁8 □+1234.0 値は右詰め。数値の前に符号。左

側空白詰め。

N属性(符号有)、0詰め、+符号あ

り、小数部1桁8 +01234.0 値は右詰め。左側先頭に符号。残

り0詰め。

9属性(符号無) 8 00001234 値は右詰め。 終1バイトの上位4ビットが符号。このケースでは“3”。左側0詰め。

9属性(符号有) 8 00001234 値は右詰め。 終1バイトの上位4ビットが符号。このケースでは“3”。左側0詰め。

9属性(符号無)、小数部1桁 8 00012340 値は右詰め。 終1バイトの上位4ビットが符号。このケースでは“3”。左側0詰め。

9属性(符号有) 、小数部1桁 8 00012340 値は右詰め。 終1バイトの上位4ビットが符号。このケースでは“3”。左側0詰め。

C属性(符号無)、空白詰め 8 □□□1,234 値は右詰め。左側空白詰め。3桁ごとにカンマ。

C属性(符号無)、0詰め 8 ,001,234 値は右詰め。左側0詰め。3桁ごと

にカンマ。先頭がカンマになっても

補正はなし。

C属性(符号有)、空白詰め、+符

号なし

8 □□□1,234 値は右詰め。左側空白詰め。3桁ごとにカンマ。先頭がカンマになっ

ても補正はなし。

C属性(符号有)、0詰め、+符号な

8 ,001,234 値は右詰め。左側0詰め。3桁ごと

にカンマ。先頭がカンマになっても

補正はなし。

C属性(符号有)、空白詰め、+符

号あり

8 □□+1,234 値は右詰め。数値の前に符号。左

側空白詰め。3桁ごとにカンマ。先

頭がカンマになっても補正はなし。

C属性(符号有)、0詰め、+符号あ

8 +001,234 値は右詰め。左側先頭に符号。残

り0詰め。3桁ごとにカンマ。先頭が

カンマになっても補正はなし。

C属性(符号有)、空白詰め、+符

号あり、小数部1桁8 +1,234.0 値は右詰め。数値の前に符号。左

側空白詰め。3桁ごとにカンマ。先

頭がカンマになっても補正はなし。

C属性(符号有)、0詰め、+符号あ

り、小数部1桁8 +1,234.0 値は右詰め。左側先頭に符号。残

り0詰め。3桁ごとにカンマ。先頭が

カンマになっても補正はなし。

P属性(符号無) 8 0x0000000000012343 値は右詰め。 終4ビットは符号。

このケースでは“3”。左側0x00詰め。

- 107 -

属性名 桁数 値(例:“1234”の扱い) 説明

P属性(符号有) 8 0x0000000000012343 値は右詰め。 終4ビットは符号。

このケースでは“3”。左側0x00詰め。

P属性(符号無)、小数部1桁 8 0x0000000000123403 値は右詰め。 終4ビットは符号。

このケースでは“3”。左側0x00詰め。

P属性(符号有) 、小数部1桁 8 0x0000000000123403 値は右詰め。 終4ビットは符号。

このケースでは“3”。左側0x00詰め。

上記の値(例:“1234”の扱い)では、以下のように表記しています。

・ □は1バイトの空白

・ ( )でくくられているものはビット列(2進数)で表現

・ 0xが先頭に書かれているものはバイナリ(16進数)で表現

・ その他はテキスト(10進数)で表現

負の整数の値について

負の整数を入力にする場合は、以下の形式で値が入っているようにしてください。負の整数を出力する場合は、以下の形式で値が出

力されます。

表6.4 負の整数の値

属性名 桁数 値(例:“-1234”の扱い) 説明

X属性 8 -1234□□□ 値は左詰め。右側空白詰め。左側

先頭に符号。

K属性 16 -1234□□□ 値は2バイトにして左詰め。右側空

白詰め。左側先頭に符号。

B属性 4 0xFFFFFB2E 1の補数。値は右詰め。左側0x00詰め。

H属性 8 不可 H属性では設定不可。出力すると、

“0x00000000000004D2”となる。

N属性(符号無)、空白詰め 8 不可 (符号無)では設定不可。出力する

と“□□□□1234”となる。

N属性(符号無)、0詰め 8 不可 (符号無)では設定不可。出力する

と“00001234”となる。

N属性(符号有)、空白詰め、+符

号なし

8 □□□-1234 値は右詰め。数値の前に符号。左

側空白詰め。

N属性(符号有)、0詰め、+符号な

8 -0001234 値は右詰め。左側先頭に符号。残

り0詰め。

N属性(符号有)、空白詰め、+符

号あり

8 □□□-1234 値は右詰め。数値の前に符号。左

側空白詰め。

N属性(符号有)、0詰め、+符号あ

8 -0001234 値は右詰め。左側先頭に符号。残

り0詰め。

N属性(符号有)、空白詰め、+符

号あり、小数部1桁8 □-1234.0 値は右詰め。数値の前に符号。左

側空白詰め。

N属性(符号有)、0詰め、+符号あ

り、小数部1桁8 -01234.0 値は右詰め。左側先頭に符号。残

り0詰め。

- 108 -

属性名 桁数 値(例:“-1234”の扱い) 説明

9属性(符号無) 8 不可 (符号無)では設定不可。出力する

と“00001234”となる。

9属性(符号有) 8 0000123T(0x3030303031323354) 値は右詰め。 終1バイトの上位4ビットが符号。このケースでは“5”。左側0詰め。

9属性(符号無)、小数部1桁 8 不可 (符号無)では設定不可。出力する

と“0000123T”となる。

9属性(符号有) 、小数部1桁 8 0001234P(0x3030303132333450) 値は右詰め。 終1バイトの上位4ビットが符号。このケースでは“5”。左側0詰め。

C属性(符号無)、空白詰め 8 不可 (符号無)では設定不可。出力する

と“□□□1,234”となる。

C属性(符号無)、0詰め 8 不可 (符号無)では設定不可。出力する

と“□□□1,234”となる。

C属性(符号有)、空白詰め、+符

号なし

8 □□-1,234 値は右詰め。数値の前に符号。左

側空白詰め。3桁ごとにカンマ。先

頭がカンマになっても補正はなし。

C属性(符号有)、0詰め、+符号な

8 -001,234 値は右詰め。数値の前に符号。左

側0詰め。3桁ごとにカンマ。先頭が

カンマになっても補正はなし。

C属性(符号有)、空白詰め、+符

号あり

8 □□-1,234 値は右詰め。数値の前に符号。数

値の前に符号。左側空白詰め。3桁ごとにカンマ。先頭がカンマに

なっても補正はなし。

C属性(符号有)、0詰め、+符号あ

8 -001,234 値は右詰め。数値の前に符号。左

側先頭に符号。残り0詰め。3桁ご

とにカンマ。先頭がカンマになって

も補正はなし。

C属性(符号有)、空白詰め、+符

号あり、小数部1桁8 -1,234.0 値は右詰め。数値の前に符号。左

側空白詰め。3桁ごとにカンマ。先

頭がカンマになっても補正はなし。

C属性(符号有)、0詰め、+符号あ

り、小数部1桁8 -1,234.0 値は右詰め。左側先頭に符号。残

り0詰め。3桁ごとにカンマ。先頭が

カンマになっても補正はなし。

P属性(符号無) 8 不可 (符号無)では設定不可。出力する

と“0x0000000000012343”となる。

P属性(符号有) 8 0x0000000000012345 値は右詰め。 終4ビットは符号。

このケースでは“5”。左側0x00詰め。

P属性(符号無)、小数部1桁 8 不可 (符号無)では設定不可。出力する

と“0x0000000000123403”となる。

P属性(符号有) 、小数部1桁 8 0x0000000000123405 値は右詰め。 終4ビットは符号。

このケースでは“3”。左側0x00詰め。

上記の値(例:“-1234”の扱い)では、以下のように表記しています。

・ □は1バイトの空白

・ ( )でくくられているものはビット列(2進数)で表現

- 109 -

・ 0xが先頭に書かれているものはバイナリ(16進数)で表現

・ その他はテキスト(10進数)で表現

小数の表現

N属性、9属性、C属性、P属性は小数を表現することができます。

“小数部桁数”を指定することで、小数を表現します。

表6.5 小数の表現

属性 小数部桁数 データ例(123.4を表す) 備考

N属性 1桁 □123.4 明示的に小数点を表現

9属性 1桁 001234 暗示的に小数点を表現

C属性 1桁 □123.4 明示的に小数点を表現

P属性 1桁 0x012343 暗示的に小数点を表現

上記の例(123.4を表す)は、以下のように表記しています。

・ □は空白を示します。

・ 0xが先頭に書かれているものはバイナリ(16進数)で表現しています。

・ その他はテキスト(10進数)で表現しています。

小数の値について

小数を入力にする場合は、以下の形式で値が入っているようにしてください。小数を出力する場合は、以下の形式で値が出力されま

す。

表6.6 小数の値

属性名 桁数 値(例:“12.34”の扱い) 説明

X属性 8 12.34□□□ 値は左詰め。右側空白詰め。小数

点表示。

K属性 16 12.34□□□ 値は2バイトにして左詰め。右側空

白詰め。小数点表示。

B属性 4 不可 B属性では設定不可。出力すると、

“0x0000000C”となる。

H属性 8 不可 H属性では設定不可。出力すると、

“0x000000000000000C”となる。

N属性(符号無)、空白詰め 8 不可 小数部桁数の指定なしでは設定

不可。出力すると、“□□□□□□

12”となる。

N属性(符号無)、0詰め 8 不可 小数部桁数の指定なしでは設定

不可。出力すると、“00000012”となる。

N属性(符号有)、空白詰め、+符

号なし

8 不可 小数部桁数の指定なしでは設定

不可。出力すると、“□□□□□□

12”となる。

N属性(符号有)、0詰め、+符号な

8 不可 小数部桁数の指定なしでは設定

不可。出力すると、“00000012”となる。

N属性(符号有)、空白詰め、+符

号あり

8 不可 小数部桁数の指定なしでは設定

不可。出力すると、“□□□□□

+12”となる。

- 110 -

属性名 桁数 値(例:“12.34”の扱い) 説明

N属性(符号有)、0詰め、+符号あ

8 不可 小数部桁数の指定なしでは設定

不可。出力すると、“+0000012”となる。

N属性(符号有)、空白詰め、+符

号あり、小数部1桁~3桁8 小数部1桁: 不可(出力すると“□□□

+12.3”となる)小数部2桁: □□+12.34小数部3桁: □+12.340

値は右詰め。数値の前に符号。左

側空白詰め。小数点表示。

N属性(符号有)、0詰め、+符号あ

り、小数部1桁~3桁8 小数部1桁: 不可(出力すると“+00012.3”

となる)小数部2桁: +0012.34小数部3桁: +012.340

値は右詰め。左側先頭に符号。残

り0詰め。小数点表示。

9属性(符号無) 8 不可 小数部桁数の指定なしでは設定

不可。出力すると、“□□□□□□

12”となる。

9属性(符号有) 8 不可 小数部桁数の指定なしでは設定

不可。出力すると、“□□□□□□

12”となる。

9属性(符号無)、小数部1桁~3桁 8 小数部1桁: 不可(出力すると“00000123”となる)小数部2桁: 00001234小数部3桁: 00012340

値は右詰め。 終1バイトの上位4ビットが符号。このケースでは“3”。左側0詰め。小数点非表示。

9属性(符号有) 、小数部1桁~3桁 8 小数部1桁: 不可(出力すると“00000123”となる)小数部2桁: 00001234小数部3桁: 00012340

値は右詰め。 終1バイトの上位4ビットが符号。このケースでは“3”。左側0詰め。小数点非表示。

C属性(符号無)、空白詰め 8 不可 小数部桁数の指定なしでは設定

不可。出力すると、“□□□□□□

12”となる。

C属性(符号無)、0詰め 8 不可 小数部桁数の指定なしでは設定

不可。出力すると、“,000,012”となる。

C属性(符号有)、空白詰め、+符

号なし

8 不可 小数部桁数の指定なしでは設定

不可。出力すると、“□□□□□□

12”となる。

C属性(符号有)、0詰め、+符号な

8 不可 小数部桁数の指定なしでは設定

不可。出力すると、“,000,012”となる。

C属性(符号有)、空白詰め、+符

号あり

8 不可 小数部桁数の指定なしでは設定

不可。出力すると、“□□□□□

+12”となる。

C属性(符号有)、0詰め、+符号あ

8 不可 小数部桁数の指定なしでは設定

不可。出力すると、“+000,012”となる。

C属性(符号有)、空白詰め、+符

号あり、小数部1桁~3桁8 小数部1桁: 不可(出力すると“□□□

+12.3”となる)小数部2桁: □□+12.34小数部3桁: □+12.340

値は右詰め。数値の前に符号。左

側空白詰め。3桁ごとにカンマ。先

頭がカンマになっても補正はなし。

C属性(符号有)、0詰め、+符号あ

り、小数部1桁~3桁8 小数部1桁: 不可(出力すると“+00012.3”

となる)値は右詰め。左側先頭に符号。残

り0詰め。3桁ごとにカンマ。先頭が

カンマになっても補正はなし。

- 111 -

属性名 桁数 値(例:“12.34”の扱い) 説明

小数部2桁: +□□12.34小数部3桁: +□12.340

P属性(符号無) 8 不可 小数部桁数の指定なしでは設定

不可。出力すると、

“0x0000000000000123”となる。

P属性(符号有) 8 不可 小数部桁数の指定なしでは設定

不可。出力すると、

“0x0000000000000123”となる。

P属性(符号無)、小数部1桁~3桁 8 小数部1桁: 不可(出力すると

“0x0000000000001233”となる)小数部2桁: 0x0000000000012343小数部3桁: 0x0000000000123403

値は右詰め。 終4ビットは符号。

このケースでは“3”。左側0x00詰め。小数点は非表示。

P属性(符号有) 、小数部1桁~3桁 8 小数部1桁: 不可(出力すると

“0x0000000000001233”となる)小数部2桁: 0x0000000000012343小数部3桁: 0x0000000000123403

値は右詰め。 終4ビットは符号。

このケースでは“3”。左側0x00詰め。小数点は非表示。

上記の値(例:“1234”の扱い)では、以下のように表記しています。

・ □は1バイトの空白

・ ( )でくくられているものはビット列(2進数)で表現

・ 0xが先頭に書かれているものはバイナリ(16進数)で表現

・ その他はテキスト(10進数)で表現

6.3.2 XML文書の属性

ここでは、XML文書の属性について説明します。

XML Schemaの属性(データ型)

XML文書(Schema)には、以下のビルトインデータ型を指定することができます。

表6.7 ビルトインデータ型の種類

ビルトインデータ型 内容 例

string 文字列 ABC

boolean

ブール値 TRUEtrueFALSEfalse10

decimal

10進数 -1.2312678967.543233+100000.00210

float単精度32ビット浮動小数 1267.43233

12.7812

double倍精度64ビット浮動小数 1267.43233

12.7812

- 112 -

ビルトインデータ型 内容 例

duration期間 P1347Y

P1347MP1Y2MT2H

dateTime 日時 1999-05-31T13:20:00.00-05:00

time 時刻 13:20:00.00-05:00

date 日付 1999-05-31

gYearMonth 年と月 1999-05

gYear 年 1999

gMonthDay 年の中の月日 --05-31

gDay 月の中の日 ---31

gMonth 月 --05--

hexBinary 16進表記のバイナリデータ 0FB7

base64Binary Base64表記のバイナリデータ 5a+M5aOr6YCa

anyURI URI参照値 http://www.example.com/

QName 名前空間で修飾されたXMLの名前 po:USAddress

NOTATION XML 1.0のNOTATION属性

normalizedString 正規化された文字列 ABC

token トークン化された文字列 ABC

languageXML 1.0の言語識別子 en

ja

NMTOKEN XML 1.0のNMTOKEN属性

NMTOKENS XML 1.0のNMTOKENS属性

Name XML 1.0の名前 shipTo

NCName XML 1.0の名前からコロンを除いた名前 USAddress

ID XML 1.0のID属性

IDREF XML 1.0のIDREF属性

IDREFS XML 1.0のIDREFS属性

ENTITY XML 1.0のENTITY属性

ENTITIES XML 1.0のENTITIES属性

integer

整数 -1012678967543233+100000

nonPositiveInteger

非正の整数 -10-12678967543233-100000

negativeInteger負の整数 -1

-12678967543233-100000

long8バイト整数 -1

0

- 113 -

ビルトインデータ型 内容 例

12678967543233+100000

int

4バイト整数 -10126789675+100000

short

2バイト整数 -1012678+10000

byte

1バイト整数 -10126+100

nonNegativeInteger

非負の整数 1012678967543233+100000

unsignedLong非負の8バイト整数 0

12678967543233100000

unsignedInt非負の4バイト整数 0

1267896754100000

unsignedShort非負の2バイト整数 0

1267810000

unsignedByte非負の1バイト整数 0

126100

positiveInteger正の整数 1

12678967543233+100000

XML Schemaの制約ファセット

XML文書(Schema)とのフォーマット変換では、以下の制約ファセットをサポートしています。記述のない制約ファセットはサポートして

いません。

表6.8 サポートする制約ファセットの種類

ビルトインデータ型 サポートする制約ファセット 「制約内容」フィールド指定時の例

string length(注) length=5

boolean なし

decimaltotalDigitsfractionDigits

totalDigits=5,fractionDigits=1

floattotalDigitsfractionDigits

totalDigits=5,fractionDigits=1

doubletotalDigitsfractionDigits

totalDigits=5,fractionDigits=1

duration なし

- 114 -

ビルトインデータ型 サポートする制約ファセット 「制約内容」フィールド指定時の例

dateTime なし

time なし

date なし

gYearMonth なし

gYear なし

gMonthDay なし

gDay なし

gMonth なし

hexBinary なし

base64Binary なし

anyURI なし

QName なし

NOTATION なし

normalizedString length(注) length=5

token length(注) length=5

language なし

NMTOKEN なし

NMTOKENS なし

Name なし

NCName なし

ID なし

IDREF なし

IDREFS なし

ENTITY なし

ENTITIES なし

integer totalDigits totalDigits=5

nonPositiveInteger totalDigits totalDigits=5

negativeInteger totalDigits totalDigits=5

long totalDigits totalDigits=5

int totalDigits totalDigits=5

short totalDigits totalDigits=5

byte totalDigits totalDigits=5

nonNegativeInteger totalDigits totalDigits=5

unsignedLong totalDigits totalDigits=5

unsignedInt totalDigits totalDigits=5

unsignedShort totalDigits totalDigits=5

unsignedByte totalDigits totalDigits=5

positiveInteger totalDigits totalDigits=5

(注)ユーザ固有フォーマットの入力がX属性、K属性の場合だけです。

- 115 -

6.3.3 各属性のデフォルト値

ユーザ固有フォーマットとXML文書における各属性のデフォルト値を以下の表に示します。

表6.9 ユーザ固有フォーマットとXML文書のデフォルト値

属性 ユーザ固有フォーマット XML文書

X属性 全領域に半角空白 <A></A>

K属性 全領域に全角空白 <A></A>

N属性(符号無) 小数部

0桁領域の末尾に“0”残りの領域は半角空白

<A>0</A>

N属性(符号無) 小数部

1桁領域の末尾に“0.0”残りは半角空白

<A>0.0</A>

N属性(符号無) 小数部

9桁領域の末尾に“0.000000000”残りは半角空白

<A>0.000000000</A>

N属性(符号有) 小数部

0桁領域の末尾に“0”残りの領域は半角空白

<A>0</A>

N属性(符号有) 小数部

1桁領域の末尾に“0.0”残りは半角空白

<A>0.0</A>

N属性(符号有) 小数部

9桁領域の末尾に“0.000000000”残りは半角空白

<A>0.000000000</A>

C属性(符号無) 小数部

0桁領域の末尾に“0”残りの領域は半角空白

<A>0</A>

C属性(符号無) 小数部

1桁領域の末尾に“0.0”残りは半角空白

<A>0.0</A>

C属性(符号無) 小数部

9桁領域の末尾に“0.000000000”残りは半角空白

<A>0.000000000</A>

C属性(符号有) 小数部

0桁領域の末尾に“0”残りの領域は半角空白

<A>0</A>

C属性(符号有) 小数部

1桁領域の末尾に“0.0”残りは半角空白

<A>0.0</A>

C属性(符号有) 小数部

9桁領域の末尾に“0.000000000”残りは半角空白

<A>0.000000000</A>

9属性(符号無) 小数部0桁

全領域に“0” <A>0</A>

9属性(符号無) 小数部1桁

全領域に“0” <A>0.0</A>

9属性(符号無) 小数部9桁

全領域に“0” <A>0.000000000</A>

9属性(符号有) 小数部0桁

全領域に“0” <A>0</A>

9属性(符号有) 小数部1桁

全領域に“0” <A>0.0</A>

9属性(符号有) 小数部9桁

全領域に“0” <A>0.000000000</A>

P属性(符号無) 小数部

0桁領域の末尾に0x03残りの領域は0x00

<A>0</A>

P属性(符号無) 小数部

1桁領域の末尾に0x03残りの領域は0x00

<A>0.0</A>

- 116 -

属性 ユーザ固有フォーマット XML文書

P属性(符号無) 小数部

9桁領域の末尾に0x03残りの領域は0x00

<A>0.000000000</A>

P属性(符号有) 小数部

0桁領域の末尾に0x03残りの領域は0x00

<A>0</A>

P属性(符号有) 小数部

1桁領域の末尾に0x03残りの領域は0x00

<A>0.0</A>

P属性(符号有) 小数部

9桁領域の末尾に0x03残りの領域は0x00

<A>0.000000000</A>

H属性 全領域に0x00 “0x”のあとに“00”が定義した長さだけ出力されます。

<A>0x0000</A> (2バイトの場合)

B属性 全領域に0x00 1バイトごとに半角空白で区切り、“00000000”が定義した長

さだけ出力されます。

<A>00000000 00000000</A> (2バイトの場合)

ただし、ユーザ固有フォーマットからXML文書(Schema)への変換においてデフォルト値が出力される場合は、以下のようになります。

表6.10 ユーザ固有フォーマットからXML文書(Schema)への変換時のデフォルト値

ビルトインデータ型 出力先XML文書(Schema)

stringnormalizedStringtoken

<A></A>

boolean <A>0</A>

decimalintegernonPositiveIntegerdurationnegativeIntegerlongintshortbytenonNegativeIntegerunsignedLongunsignedIntunsignedShortunsignedBytepositiveIntegerfloatdouble

<A>0</A>

dateTimetimedategYearMonthgYeargMonthDaygDaygMonth

<A></A>

hexBinarybase64Binary

<A></A>

- 117 -

ビルトインデータ型 出力先XML文書(Schema)

anyURIQNameNOTATION

<A></A>

languageNMTOKENNMTOKENSNameNCNameIDIDREFIDREFSENTITYENTITIES

<A></A>

ポイント

全角空白の文字コードは、入出力先の文字コード体系に準じます。

6.3.4 部分指定時の扱い

条件設定、項目設定、計算設定は、主にほかの項目の値を参照して結果を設定(判断)します。参照項目の値は、全桁だけでなく「部

分指定」が可能です。

また、設定(出力)する項目でも「部分指定」での出力が可能です。部分指定する際には、属性ごとに扱いが異なる場合や、小数点をま

たぐ場合などの考慮が必要です。

以降では、そのルールについて説明します。

参照項目を部分指定する場合

参照項目を部分指定するとは、以下のケースのことをいいます。

・ 「条件設定」で、比較する項目(比較項目、および被比較項目)の位置・桁数を変更し、一部分を指定した場合

・ 「計算設定」で、計算式の中で使用する項目の位置・桁数を変更し、一部分を指定した場合

表6.11 参照項目を部分指定する場合のルール

属性 指定範囲 ルール

N属性、C属性 整数部だけ 符号なし整数として扱う。

小数部だけ 符号なし整数として扱う。

小数点をまたぐ 符号なし小数として扱う。

整数部+小数点 符号なし整数として扱う。

小数点+小数部 符号なし小数として扱う。

9属性 整数部だけ 符号なし整数として扱う。

小数部だけ 符号なし整数として扱う。

小数点をまたぐ 符号なし小数として扱う。

P属性 - 範囲指定不可。

B属性 - 範囲指定不可。(全桁を符号あり10進数に変換して扱う)

H属性 全桁指定/部分指定とも 4バイト以下の場合は16進数を10進数変換し、符号なし整数

として扱う。

4バイトを超える場合は下位4バイトの16進数を10進数変換し、

符号なし整数として扱う。

- 118 -

属性 指定範囲 ルール

X属性、K属性 全桁指定/部分指定とも 内容をそのまま扱う(実際の小数点文字を小数点として扱う)

出力項目を部分指定する場合

出力項目を部分指定するとは、以下のケースのことをいいます。

・ 「計算設定」で、結果を出力する項目の位置・桁数を変更し、一部分を指定した場合

表6.12 出力項目を部分指定する場合のルール

属性 指定範囲 ルール

N属性、C属性 整数部だけ 結果の整数部を右詰めで出力。

小数部だけ 結果の整数部を右詰めで出力。

小数点をまたぐ 結果の絶対値を小数点の位置に合わせて出力。

整数部+小数点 結果の整数部を右詰めで出力。小数点は保証。

小数点+小数部 結果の小数部を左詰めで出力。小数点は保証。

9属性 整数部だけ 結果の整数部を右詰めで出力。

小数部だけ 結果の整数部を右詰めで出力。

小数点をまたぐ 結果の絶対値を小数点の位置に合わせて出力。

P属性 - 結果を小数点の位置に合わせて符号付きで出力。

B属性 - 結果の整数部(符号付き)を16進数に変換して出力。

小数点以下切り捨て。

H属性 全桁指定/部分指定とも 結果の整数部(絶対値)を16進数に変換して出力。

小数点以下切り捨て。

X属性、K属性 全桁指定/部分指定とも 結果を文字列に変換して出力。結果の整数部(符号付き)を文

字列に変換して出力。K属性の場合は全角化あり。

項目設定を部分指定する場合

項目設定の部分指定とは、以下のケースのことをいいます。

・ 「項目設定」で、参照項目・出力項目の位置・桁数を変更し、一部分を指定した場合

表6.13 項目設定を部分指定する場合のルール

すべて、部分指定で指定した値を、そのまま部分指定した範囲に出力します。

(小数点、符号についても、一切意識しません。)

6.4 一般フォーマットの自動登録

ここでは、一般フォーマットの自動登録について説明します。

6.4.1 COBOL COPY句の入出力仕様

COBOL COPY句入力は、COBOL COPY句ファイルを入力して一般フォーマットを登録します。

COBOL COPY句出力は、登録済みの一般フォーマットをCOBOL COPY句ファイルに出力します。

COBOL COPY句入力

COBOL COPY句ファイルをあらかじめ用意し、[COBOL COPY句]画面から読み込みます。

ファイル内のCOPY句を、一般フォーマット登録の形に変換することができます。

- 119 -

・ COBOL COPY句が格納されているファイル形式・記述形式について

1ファイル内のCOBOL COPY句が、Formatmanagerクライアントの1つのフォーマットIDに相当します。

1ファイル内に2種類以上のCOBOL COPY句が存在しても、1つのフォーマットとみなします。

COPY句内のデータ記述項の書き方は、以下の形式で記述されているものとします。

以下の句については有効とならず、読み飛ばします。

- BLANK WHEN ZERO句

- CHARACTER TYPE句

- EXTERNAL句

- GLOBAL句

- JUSTIFIED句

- PRINTING POSITION句

- RENAMES句

- SIGN句

- SYNCHRONIZED句

- BASED ON句

(注) REDEFINES句がある場合は、選択画面が表示され、採用するデータ領域を選択します。

データ記述項1つの終了は、ピリオド(“.”)までと判断します。よって、ピリオド(“.”)で終了しない行については、次行も継続している

と判断します。

COBOL COPY句の各行の先頭にある「行番号」は、画面の「行番号桁数」で指定した桁数分あると判断します。その桁数分の記

述については、文法チェックは実施しません。

コメント行は、画面の「コメント行扱い文字」で指定された文字で判断します。行番号桁数の+1桁目に「コメント行扱い文字」が記

述している場合に、コメント行とみなします。

COPY句内にCOPY句名を記述しているものは、エラーになります。

- 120 -

・ PICTURE句について

PICTURE句の記述形式は、以下の場合だけ有効です。

使用できる属性文字、およびFormatmanagerとの関係は下表のとおりです。

(Formatmanagerでの表記はUSAGE句が指定されていない場合)

属性文字 Formatmanagerでの表記

A X属性

X X属性

N K属性 (注1)

9 9属性(符号無)

S9 9属性(符号有)

9.9 9属性(符号無) (注2)

9V9 9属性(符号有) (注2)

Z9 N属性(符号無)

SZ9 N属性(符号有)

-9 N属性(符号有)

Z,ZZ9 C属性(符号無) (注3)

-,--9 C属性(符号有) (注3)

1 B属性

(注1) 桁数は、FormatmanagerのK属性ではバイト数で表現します。よってN(n)の場合、K(2n)で表現します。

(注2) 小数点に指定できる桁数の 大は4桁です。5桁以上あるとエラーになります。

(注3) “,”は整数部の1の位から3桁ごとに挿入されている場合だけ、C属性に相当します。

以下の表現は同じとみなします。

(1) 03 WORK-A PIC 99999999.

03 WORK-B PIC 9(8).

03 WORK-C PIC 9(008).

(2) 03 WORK-A PIC XXXXXX.

03 WORK-A PIC X(6).

03 WORK-A PIC X(06).

(3) 03 WORK-B PIC 99999.999.

03 WORK-C PIC 9(5).9(3).

03 WORK-D PIC 9(5)V9(3).

03 WORK-E PIC 9(5)V999.

- 121 -

使用できない属性文字は下表のとおりです。その属性文字が入力時に存在した場合、エラーとなります。

- E

- P

- CR

- DB

- 0

- /

- *

- +

- B

- \

・ USAGE句について

USAGE句の記述形式は、以下の場合だけ有効です。

USAGE句を使用する場合、同時に使用できるPICTURE句の組合せは下表のとおりです。

使用できる

USAGE句PICTURE

句Formatmanagerの属性 備考

DISPLAY 9 9属性(符号無)

S9 9属性(符号有)

1 9属性(符号無)

BINARY 9 B属性 ・ 桁数が8バイトになるときはH属性になりま

す。

・ B属性にSタイプはありません。

S9 B属性

COMPCOMPUTATIONAL

9 B属性 ・ 桁数が8バイトになるときはH属性になりま

す。

・ B属性にSタイプはありません。

S9 B属性

COMP-3COMPUTATIONAL-3

9 P属性(符号無)

S9 P属性(符号有)

COMP-5COMPUTATIONAL-5

9 B属性 ・ 桁数が8バイトになるときはH属性になりま

す。

・ B属性にSタイプはありません。

S9 B属性

PACKED-DECIMAL 9 P属性(符号無)

S9 P属性(符号有)

BIT 1(8)

1(16)

1(32)

B属性 1桁

B属性 2桁

B属性 4桁

・ PICTURE句の桁数が8、16、32、64以外は

エラーです。

- 122 -

使用できる

USAGE句PICTURE

句Formatmanagerの属性 備考

1(64) H属性 8桁

その他 9 9属性(符号無)

S9 9属性(符号有)

上記以外のPICTURE句との組合せを使用した場合は、USAGE句を読み飛ばします。

Formatmanagerの属性がB属性になる場合、桁数はPICTURE句の値を採用せず、以下の方法で決定します。

PICTURE句の桁数 Formatmanagerの桁数

1桁以上2桁以下 1桁

3桁以上4桁以下 2桁

5桁以上9桁以下 4桁

10桁以上20桁以下 8桁 (H属性)

例)

- PIC 9(8) USAGE IS COMP. → B属性4桁

- PIC 9(10) USAGE IS COMP. → H属性8桁

FormatmanagerではB属性に指定できる桁数の 大は4桁なので、8桁はH属性としてワーニングを出力します。(この項目を計算設

定で使用する場合、使用できる桁数の 大は4桁なので注意が必要です。)

・ OCCURS句について

OCCURS句の記述形式は、以下の3とおりが有効です。

Formatmanagerでは、「データ名」を集団項目ヘッダとして、「整数」をグループ繰返数に設定します。

(集団項目トレーラも自動生成します。)

Formatmanagerでは、「データ名」を集団項目ヘッダとして、“(整数-2)-(整数-1)+1”をグループ繰返数に設定します。(集団項目

トレーラも自動生成します。)

Formatmanagerでは、「データ名」を通常項目としてPICTURE句の指定どおりに設定し、その1行上に、集団項目ヘッダとして「HEAD-xxx」(xxxは通番)を設けて、「整数」をグループ繰返数に設定します。(集団項目トレーラも自動生成します。)

- 123 -

・ VALUE句について

VALUE句の記述形式は、以下の場合だけ有効です。

VALUE句で設定した値については、Formatmanagerでは一般フォーマット登録の「初期値」に設定します。

下表に従って設定します。

COPY句での表記 Formatmanagerの初期値の

設定

値の 大文字数 注意事項

VALUE IS 値 値 20文字 ・ 数値とみなします。

VALUE IS ZERO @ZERO -

VALUE IS “値” 値 32文字 ・ 文字列とみなします。

・ ダブルクォーテーションの開始・終了が

一致しない場合は、エラーとなります。

・ シングルクォーテーションでも指定でき

ます。

VALUE IS SPACE @SPACE -

VALUE IS X“値” @HEX(値) 26文字 ・ HEX文字列とみなします。

・ 値は0~9、A~F以外はエラーとなりま

す。また、桁数が偶数でないときもエ

ラーとなります。

・ シングルクォーテーションでも指定でき

ます。

VALUE IS NX“値” @HEX(値) 26文字 ・ HEX文字列とみなします。

・ 値は0~9、A~F以外はエラーとなりま

す。また、桁数が4の倍数でないときも

エラーとなります。

・ シングルクォーテーションでも指定でき

ます。

VALUE IS NC“値” 値 32文字 ・ 2バイト文字列とみなします。

・ 桁数が偶数でないときは、エラーとなり

ます。

・ シングルクォーテーションでも指定でき

ます。

VALUE IS B“値” - - ・ Bは読み飛ばし、ワーニングとなりま

す。

・ シングルクォーテーションでも指定でき

ます。

その他 - - ・ その他の表示はエラーとなります。

- 124 -

(注) 値の 大文字数は、テキスト文字でカウントします。

例) VALUE IS X“3132” → 4文字

(注) FormatmanagerのP属性に変換されるときに、VALUE IS X“値”が指定された場合の符号コードは“3”・“F”は符号なし、“4”・“C”は正、“5”・“D”は負として扱います。(符号なしのときに“4”・“5”・“C”・“D”を指定した場合は、エラーとなります。)

・ REDEFINES句について

REDEFINES句の記述形式は、以下の場合だけ有効です。

REDEFINES句が入力された場合は、主体となるデータ領域を採用するか、REDEFINES句のあるデータ領域を採用するかを、実

行時に選択します。

REDEFINES句が複数行ある場合でも、複数の中から選択できます。

COBOL COPY句出力

[一般フォーマット登録]画面で登録済みのフォーマットを、[COBOL COPY句]画面から、COBOL COPY句ファイルとして出力します。

・ COBOL COPY句を出力する際のファイル形式、記述形式について

Formatmanagerクライアントの1つのフォーマットIDが、1ファイル内にCOBOL COPY句1つを作成します。

Formatmanagerクライアントの一般フォーマット登録で、登録済みのフォーマットIDが対象になります。

作成されるCOPY句内のデータ記述項は、以下の形式で記述されます。

以下の句については、作成できません。

- BLANK WHEN ZERO句

- CHARACTER TYPE句

- EXTERNAL句

- GLOBAL句

- JUSTIFIED句

- PRINTING POSITION句

- REDEFINES句

- RENAMES句

- 125 -

- SIGN句

- SYNCHRONIZED句

- BASED ON句

・ 属性、タイプ、桁数の扱いについて

属性、タイプ、桁数の値により、PICTURE句とUSAGE句を作成します。以下の形式で記述されます。

Formatmanagerの属性とCOBOL COPY句のPICTURE句、USAGE句の関係は下表のとおりです。

Formatmanagerでの表記 PICTURE句 USAGE句

X属性 X

K属性(注1) N

B属性(注2) S9 BINARY

H属性(1、2、4、8桁) S9 BINARY

H属性(1、2、4、8桁以外) X

9属性(符号無) 9

9属性(符号有) S9

9属性(符号無)小数部有 9.9

N属性(符号無) Z9

N属性(符号有) -9

N属性(符号無)小数部有 Z9.9

C属性(符号無) Z,ZZ9

C属性(符号有) -,--9

C属性(符号無)小数部有 -,--9.9

P属性(符号無) 9 PACKED-DECIMAL

P属性(符号有) S9 PACKED-DECIMAL

P属性(符号無)小数部有 9,9 PACKED-DECIMAL

(注1) 桁数は、FormatmanagerのK属性ではバイト数で表現します。よってN(n)の場合、K(2n)で表現します。

(注2) B属性は符号の有無にかかわらず、S9タイプに変換します。

出力できない属性文字とUSAGE句は下表のとおりです。

出力できない属性文字 A、V、1、E、P、CR、DB、0、/、*、+、B、\

出力できないUSAGE句 ・ DISPLAY

・ COMP

・ COMPUTATIONAL

・ COMP-1

・ COMPUTATIONAL-1

- 126 -

出力できない属性文字 A、V、1、E、P、CR、DB、0、/、*、+、B、\

・ COMP-2

・ COMPUTATIONAL-2

・ COMP-3

・ COMPUTATIONAL-3

・ COMP-5

・ COMPUTATIONAL-5

・ INDEX

・ BIT

・ POINTER

Formatmanagerの属性がB属性、H属性の場合、桁数をそのままPICTURE句の値に採用せず、以下の方法で決定します。

Formatmanagerの桁数 PICTURE句とUSAGE句

B属性、またはH属性 1桁 PIC S9(2) BINARY

B属性、またはH属性 2桁 PIC S9(4) BINARY

B属性、またはH属性 4桁 PIC S9(9) BINARY

H属性 8桁 PIC S9(13) BINARY

H属性 上記以外 PIC X(FEDIT/FLの桁数)

・ グループ繰返数について

グループ繰返数に値が入っている場合、OCCURS句を作成します。以下の形式で記述されます。

Formatmanagerの集団項目ヘッダの「フィールド名」をデータ名として、「グループ繰返数」の値を整数に設定します。(集団項目ト

レーラは削除されます。)

・ 初期値について

初期値に値が入っている場合、VALUE句を作成します。以下の形式で記述されます。

下表に従って設定します。

Formatmanagerの属性 Formatmanagerの初期値生成するCOPY句の

VALUE句注意事項

9、N、C、P 値 VALUE IS 値 数値とみなします。

P @HEX(値) VALUE IS 値 数値とみなします。

B、H @HEX(値)VALUE IS 値 値が1、2、4、8桁のときに、HEX文字列

とみなします。

- 127 -

Formatmanagerの属性 Formatmanagerの初期値生成するCOPY句の

VALUE句注意事項

VALUE IS X“値” 値が1、2、4、8桁以外のときに、HEX文

字列とみなします。

X 値 VALUE IS “値” 文字列とみなします。

K 値 VALUE IS NC“値” 2バイト文字列とみなします。

K @HEX(値) VALUE IS NX“値” HEX文字列の2バイト文字とみなします。

Formatmanagerの属性が、P属性のときに出力する符号コードは、符号なし“3”、正“4”、負“5”です。

6.4.2 CSV読込みの登録仕様

CSVファイルをあらかじめ用意し、[CSV読込み]画面から読み込みます。

CSVファイル上の定義を、一般フォーマット登録に変換することができます。

・ CSVファイルの形式

CSVファイルは以下の形式で記述されている場合だけ読込みができます。

- 値はカンマで区切られていること。

- 値にカンマが存在する場合、値はダブルクォーテーションで囲まれていること。(例:“123,45”)

- 値に含まれるダブルクォーテーションは、連続したダブルクォーテーション(“”)とし、値全体はダブルクォーテーションで囲ま

れていること。(例:“12”“34”)

- 値に制御コードが存在しないこと。

- シフトJISで記述されていること。

・ 定義内容の記述形式について

“定義形式”に記述されているとおりに、CSVファイルに記述してください。

・ チェックについて

以下についてチェックし、違反があればエラーとなります。

- “定義形式”に記述した規則に違反していないこと。

- 各項目内に制御コードが含まれていないこと。

- 集団項目で使用しているフィールド名称が、一般のフィールド名称と同一でないこと。

- 集団項目ヘッダに対応する集団項目トレーラが存在すること。

- 集団項目ヘッダと集団項目トレーラの間に集団項目がある場合は、集団項目ヘッダと集団項目トレーラがペアであること。(矛盾がないこと)

- 各集団項目内には、必ず項目が存在すること。

- 各集団項目内の直下のレベルに存在する項目(集団項目ヘッダ、および集団項目トレーラを含む)に名称の重複がないこと。

集団項目外(一般フォーマット直下)の項目についても同様。

- 項目数が制限範囲であること(9999項目)。

- レコード長が制限範囲内であること(9999999バイト)。

定義形式

CSVファイルに定義を書く場合の記述形式について説明します。

以下に定義形式のサンプルを示します。

- 128 -

各行が、下記の表の項目順に書かれている必要があります。

表6.14 定義形式

記述順 項目名 内容

1 コメント指示 コメント行か否かを指定します。

・ “C”はコメント行

・ “C”以外は有効行。通番などに利用できます。

ただし、行のすべての項目が省略の場合(カンマだけ)は、コメント行として扱います。

2 フィールド名称 フィールド名称を1~250バイトの範囲で指定します。

指定可能な文字は、日本語、英数字、およびカンマは除く記号です。

3 フィールド属性 フィールドの属性を指定します。

属性の記号については、“表6.15 フィールド属性・符号・桁数・小数部桁数の記号”を参照し

てください。

4 符号 フィールドの符号を指定します。

・ “S”は符号付き

・ “U”、および指定なしは、符号なし

フィールド属性の指定内容により、指定できない場合があります。

属性と符号指定の関係については、“表6.15 フィールド属性・符号・桁数・小数部桁数の記

号”を参照してください。

5 桁数 フィールド桁数(バイト長)を指定します。

フィールド属性、符号、および小数部桁数の指定により、指定可能な桁数が異なります。

属性、符号、および小数部桁数と桁数の関係については、“表6.15 フィールド属性・符号・

桁数・小数部桁数の記号”を参照してください。

6 小数部桁数 小数部の桁数を0から15の範囲で指定します。

フィールド属性の指定内容により、指定できない場合があります。

属性と小数部桁数の関係については、“表6.15 フィールド属性・符号・桁数・小数部桁数の

記号”を参照してください。

7 グループ区分 フィールド属性が集団項目ヘッダまたは集団項目トレーラの場合に指定します。その他の属

性の場合、指定できません。

グループ区分に指定可能な文字は、英数字で1~2バイトの範囲です。

8 グループ繰返し数 フィールド属性が集団項目ヘッダの場合に指定します。その他の属性の場合は指定できま

せん。

グループ繰返し数の指定範囲は1~32000です。

9 初期値 フィールド属性が集団項目ヘッダ、および集団項目トレーラ以外の場合に、フィールド初期

値を1~32バイトの範囲で指定します(省略可能)。

指定可能な文字は、日本語、英数字、およびカンマを除く記号です。

属性と設定内容、桁数と設定長の関係については、チェックしません。

それぞれの項目名の詳細については“ISI Formatmanagerクライアント(FEDIT/FL-TABLE)ヘルプ”を参照してください。

- 129 -

表6.15 フィールド属性・符号・桁数・小数部桁数の記号

FEDITでの属性 FEDITでの

詰め文字

FEDITでの+

符号の有無

属性 符号 桁数(範囲) 小数部桁数

集団項目ヘッダ - - HD 指定不可 指定不可 指定不可

集団項目トレーラ - - TR 指定不可

X属性 - - X 1~32000

K属性 - - K 2~1024(偶数)

B属性 - - B 1,2,4

H属性 - - H 1~32000

N属性(符号無) 空白詰め - N Uまたは指定なし 1~20 0または指定なし

N属性(符号無) 0詰め - UZ (小数部桁数+2)~20

1~15

N属性(符号有) 空白詰め 無し S 2~20 0または指定なし

N属性(符号有) 0詰め 無し SZ (小数部桁数+3)~20

1~15

N属性(符号有) 空白詰め 有り SP

N属性(符号有) 0詰め 有り SZP

9属性(符号無) - - 9 Uまたは指定なし 1~20 0または指定なし

9属性(符号有) - - S (小数部桁数+1)~20

1~15

C属性(符号無) 空白詰め - C Uまたは指定なし 1~20 0または指定なし

C属性(符号無) 0詰め - UZ (小数部桁数+2)~20

1~15

C属性(符号有) 空白詰め 無し S 2~20 0または指定なし

C属性(符号有) 0詰め 無し SZ (小数部桁数+3)~20

1~15

C属性(符号有) 空白詰め 有り SP

C属性(符号有) 0詰め 有り SZP

P属性(符号無) - - P Uまたは指定なし 1~10 0または指定なし

2~10 1または2

3~10 3または4

4~10 5または6

5~10 7または8

6~10 9または10

7~10 11または12

8~10 13または14

9~10 15

P属性(符号有) - - S 1~10 0または指定なし

2~10 1または2

3~10 3または4

4~10 5または6

5~10 7または8

6~10 9または10

7~10 11または12

- 130 -

FEDITでの属性 FEDITでの

詰め文字

FEDITでの+

符号の有無

属性 符号 桁数(範囲) 小数部桁数

8~10 13または14

9~10 15

-:選択不可の項目

・ CSVのサンプル

定義形式に従ったCSVファイルのサンプルを提供しています。Formatmanagerクライアントインストールディレクトリ配下のsampleディ

レクトリの中に、以下のファイルがあります。

sample_mei.csv(チュートリアルの、フォーマットID“MEI”と同等のもの)

・ Microsoft EXCELからの読込み

データレイアウトの決定については、レコードレイアウト設計書を作成し、レビューを重ねてから一般フォーマットを登録します。そ

のレコードレイアウト設計書は、Microsoft EXCELなどの表計算ソフトにて作成していることが多いと考えられます。Microsoft EXCELについては、設計書のサンプルを提供しています。Formatmanagerクライアントインストールディレクトリ配下のsampleディレクトリの

中に、以下のファイルがあります。

sample_mei.xls(チュートリアルの、フォーマットID“MEI”と同等のもの)

このサンプルをいったんCSVファイルに保存し、「CSV読込み」を使用して登録します。

6.4.3 DTD読込みとDTD出力の登録仕様

ここでは、DTD読込みとDTD出力の登録仕様について説明します。

DTD読込み

DTDファイルをあらかじめ用意し、[DTD]画面から読み込みます。

DTDファイル上の定義を、一般フォーマット登録に変換することができます。

・ 読込み可能なDTDファイルについて

外部サブセットのDTDファイルと、内部サブセットを含むXML文書を読み込むことができます。

・ DTDと一般フォーマット登録との対応について

XML変換では、フラット名称がXML文書のルートタグ名(ルート要素名)に、フィールド名称がタグ名(要素名)または属性名となります。

XML変換を行う場合には、フラット名称・フィールド名称に、XML規約で許されていない文字を使わないでください。

・ フラットID/名称、XML属性について

[一般フォーマット登録]画面で、フラットID/名称、およびXML属性を入力してから[DTD]画面を表示すると、前画面で入力した内

容が表示されます。修正した場合は、修正した内容が反映されます。

フラット名称はXML文書のルートタグ名となりますので、DTDファイル内に存在する名称を指定してください。DTDファイル内に、

該当する要素型宣言が見つからない場合には、エラーとなります。

・ 文書型宣言(DOCTYPE宣言)を含まないDTDファイルについて

文書型宣言(DOCTYPE宣言)を含まない外部サブセットのDTDファイルを指定する場合には、フラット名称がXML文書のルート要

素名となるため、フラット名称にはDTDファイル内に存在する名称を指定してください。

文書型宣言(DOCTYPE宣言)を含まないDTDファイルを指定し、DTDファイル内に該当する要素型宣言(ELEMENT宣言)が見つ

からない場合には、エラーとなります。

・ 文書型宣言(DOCTYPE宣言)を含むDTDファイルについて

入力したフラット名称とDTDファイル内の文書型宣言で定義されたルート要素名が異なっている場合、画面が表示され、どちらを

選択するか指定できます。

・ DTDファイルの制限について

制限は以下のとおりです。

- 131 -

- 各要素・属性は、基本的にX属性1桁として解析されます。DTD読込み後に、[一般フォーマット登録]画面にて適切な属性・桁

数・XML属性(フィールド)・XML属性(固定値)に修正してください。

- UTF-8文字コード以外で書かれたDTDファイルは、解析できません。エラーとなります。

- 複数のファイルにまたがって記述されているDTDファイルは、解析しません。エラーとなります。

- ルート要素の宣言が含まれていないDTDファイルは、解析できません。エラーとなります。

- シフトJISに換算して255バイトを超える要素名、属性名をもつDTDファイルは、解析できません。エラーとなります。

- ルート要素の階層を1として、階層が100を超えるDTDファイルは解析しません。エラーとなります。

- (集団項目ヘッダに相当する)子要素をもつ要素が3844個を超えるDTDファイルは、解析できません。エラーとなります。

- コメント、処理命令、表記法(NOTATION)宣言、外部パラメタ実体(ENTITY)は、解析しません。

- 条件付きセクションのIGNOREセクションは、解析しません。

- 要素型宣言(ELEMENT宣言)でEMPTYが定義されているものは、X属性1桁として解析します。

- 要素型宣言(ELEMENT宣言)でANYが定義されているものは、X属性1桁として解析します。

- 要素型宣言(ELEMENT宣言)で(a | b | c )と列挙して定義されているものは、 初の要素だけが解析します。

- 要素型宣言(ELEMENT宣言)で再帰的に定義されているものは、解析しません。

要素型宣言(ELEMENT宣言)のグループ内に同じ要素型宣言(ELEMENT宣言)が再び現れた場合には、その要素は解析し

ません。

このような定義がされているDTDを読み込んでから登録をする場合には、“グループ(区分:XX)に属する項目がありません。”

と表示されることがあります。これは、再帰的に定義された要素が解析されなかったため、属する項目をもたない集団項目がで

きてしまったときに起こります。この場合には、グループ区分:XXの集団項目ヘッダと集団項目トレーラを削除して、再度登録

をしてください。

- 属性リスト宣言(ATTLIST宣言)で、属性値、“#REQUIRED”、“#IMPLIED”、“#FIXED+属性値”によってデフォルト値が定義

されていてもその部分は解析されません。属性値が固定な値の場合には、DTD読込み後に、[一般フォーマット登録]画面の

「XML属性(固定値)」で定義するなど、適切に修正してください。

DTD出力

[一般フォーマット登録]画面上の定義をDTDファイルに出力することができます。

・ DTDと一般フォーマット登録との対応について

DTD出力では、フラット名称がXML文書のルートタグ名(ルート要素名)に、フィールド名称がタグ名(要素名)または属性名となります。

DTD出力を行う場合には、フラット名称・フィールド名称に、XML規約で許されていない文字を使わないようにしてください。

・ DTDファイルの出力仕様について

同一のフィールド名が複数現れた場合、DTDの要素型宣言は1つしか出力しません。

単一項目で繰返し数指定がない場合は、要素名のあとに無条件に“?”(0個または1個)を出力します。

単一項目で繰返し数指定がある場合は、要素名のあとに無条件に“*”(0個以上)を出力します。

集団項目ヘッダについては要素名のあとに無条件に“*”(0個以上の繰返し)を出力します。

単一項目の要素内容は“#PCDATA”固定とします。

6.4.4 XML Schema読込みの登録仕様

XML Schemaファイルをあらかじめ用意し、[XML Schema読込み]画面から読み込みます。

XML Schemaファイル上の定義を、一般フォーマット登録に取り込むことができます。

・ 読込み可能なXML Schemaファイルについて

W3Cの規約に準拠したXML Schemaファイルを読み込むことができます。

- 132 -

・ XML Schemaと一般フォーマット登録との対応について

XML変換では、フラット名称がXML文書のルートタグ名(ルート要素名)に、フィールド名称がタグ名(要素名)または属性名となります。

XML変換を行う場合には、フラット名称・フィールド名称に、XML規約で許されていない文字を使わないようにしてください。

・ フラットID/名称、XML属性について

[一般フォーマット登録]画面で、フラットID/名称を入力してから[XML Schema読込み]画面を表示すると、前画面で入力した内容

が表示されます。修正した場合は、修正した内容が反映されます。

フラット名称はXML文書のルートタグ名となりますので、XML Schemaファイル内に存在する名称を指定してください。XML Schemaファイル内に、該当する要素宣言が見つからない場合には、エラーとなります。

・ 取り込み仕様について

XML Schemaを取り込む方法は2種類あり、fedConfig.xmlファイルを編集して切り替えます。切り替えるには、Formatmanagerクライ

アントのインストールディレクトリにあるfedConfig.xmlファイルを編集し、“xmlSchemaImportOption”タグの“importLevel”属性に以

下の値を設定してください。なお、fedConfig.xmlファイルは、システム管理者だけが編集できます。

- X属性1桁として取り込みを行う場合(ただし、制約ファセットにlength、totalDigits、maxLength、minLengthが定義されている場

合、制約ファセットの指定値から桁数を取り込み):“1”(V9.0以前の動作)

- 属性と桁数の取り込み、出現回数の取り込みを行う場合:“2”(デフォルト)

“importLevel”属性に“2”を指定した場合、一部のビルトインデータ型を対象に制約ファセットから属性と桁数を取り込みます。取り

込むルールは以下のとおりです。

ビルトインデータ型 桁数として取り込む制約ファ

セット

取り込んだ後の属性と桁数

string length,maxLength,minLength

属性:X属性

桁数:length / maxLength / minLengthで指定された桁数(優先順

位: length > maxLength > minLength)

normalizedString length,maxLength,minLength

属性:X属性

桁数:length / maxLength / minLengthで指定された桁数(優先順

位: length > maxLength > minLength)

token length,maxLength,minLength

属性:X属性

桁数:length / maxLength / minLengthで指定された桁数(優先順

位: length > maxLength > minLength)

decimal totalDigits,fractionDigits 属性:N属性・符号あり,空白詰め,+符号なし

桁数:totalDigitsで指定された桁数+1 (fractionDigitsの指定があ

る場合は更に+1),fractionDigitsで指定された小数部桁数

float totalDigits,fractionDigits 属性:N属性・符号あり,空白詰め,+符号なし

桁数:totalDigitsで指定された桁数+1 (fractionDigitsの指定があ

る場合は更に+1),fractionDigitsで指定された小数部桁数

double totalDigits,fractionDigits 属性:N属性・符号あり,空白詰め,+符号なし

桁数:totalDigitsで指定された桁数+1 (fractionDigitsの指定があ

る場合は更に+1),fractionDigitsで指定された小数部桁数

integer totalDigits 属性:N属性・符号あり,空白詰め,+符号なし

桁数:totalDigitsで指定された桁数+1

nonPositiveInteger totalDigits 属性:N属性・符号あり,空白詰め,+符号なし

桁数:totalDigitsで指定された桁数+1

negativeInteger totalDigits 属性:N属性・符号あり,空白詰め,+符号なし

桁数:totalDigitsで指定された桁数+1

long totalDigits 属性:N属性・符号あり,空白詰め,+符号なし

桁数:totalDigitsで指定された桁数+1

int totalDigits 属性:N属性・符号あり,空白詰め,+符号なし

桁数:totalDigitsで指定された桁数+1

- 133 -

ビルトインデータ型 桁数として取り込む制約ファ

セット

取り込んだ後の属性と桁数

short totalDigits 属性:N属性・符号あり,空白詰め,+符号なし

桁数:totalDigitsで指定された桁数+1

byte totalDigits 属性:N属性・符号あり,空白詰め,+符号なし

桁数:totalDigitsで指定された桁数+1

nonNegativeInteger totalDigits 属性:N属性・符号なし,空白詰め,+符号なし

桁数:totalDigitsで指定された桁数

unsignedLong totalDigits 属性:N属性・符号なし,空白詰め,+符号なし

桁数:totalDigitsで指定された桁数

unsignedInt totalDigits 属性:N属性・符号なし,空白詰め,+符号なし

桁数:totalDigitsで指定された桁数

unsignedShort totalDigits 属性:N属性・符号なし,空白詰め,+符号なし

桁数:totalDigitsで指定された桁数

unsignedByte totalDigits 属性:N属性・符号なし,空白詰め,+符号なし

桁数:totalDigitsで指定された桁数

positiveInteger totalDigits 属性:N属性・符号なし,空白詰め,+符号なし

桁数:totalDigitsで指定された桁数

“importLevel”属性に“2”を指定した場合、一部のフィールドを対象に出現回数の指定からフィールドの繰返し回数を取り込みま

す。maxOccursだけが指定されている場合はmaxOccursの指定値、minOccursだけが指定されている場合はminOccursの指定値、

両方指定されている場合はmaxOccursの指定値を、フィールドの繰返し回数として取り込みます。なお、ref属性を使用して定義さ

れている要素の出現回数は取り込めません。name属性を使用して定義されている要素の出現回数を取り込みます。

・ XML Schemaファイルの制限について

制限は以下のとおりです。

- XML Schema読込み後に、[一般フォーマット登録]画面にて適切な属性・桁数・XML属性(フィールド)・XML属性(固定値)に修正してください。

- ルート要素の宣言が含まれていないXML Schemaファイルは、解析できません。エラーとなります。

- シフトJISに換算して255バイトを超える要素名、属性名をもつXML Schemaファイルは、解析できません。エラーとなります。

- ルート要素の階層を1として、階層が100を超えるXML Schemaファイルは解析しません。エラーとなります。

- (集団項目ヘッダに相当する)子要素をもつ要素が3844個を超えるXML Schemaファイルは、解析できません。エラーとなりま

す。

- 空要素として定義されていてもX属性1桁として解析します。警告となります。

- anyで定義されているものは、“xsd:any”というX属性1桁の項目として解析されます。

- redefineで定義されているものは無視され、警告が出力されます。

- choiceで定義されているものは、1番目のものだけが解析されます。

- unionで定義されているものは、1番目のものだけが解析されます。

- memberTypesを伴わないunion定義は無視され、警告が出力されます。

- listで定義されているものは、1番目のものだけが解析されます。

- itemTypeを伴わないlist定義は無視され、警告が出力されます。

- substitutionGroupで定義されているものは無視され、警告が出力されます。

- abstractで定義されているものは無視され、警告が出力されます。

- anyAttributeで定義されているものは無視され、警告が出力されます。

- enumerationで定義されているものは無視され、警告が出力されます。

- 134 -

6.4.5 RDB読込みの登録仕様

実際に存在するRDBのテーブル情報を、[DB読込み]画面から読み込みます。

対象のRDBは以下のとおりです。

・ Oracle

・ SQL Server

・ Symfoware Server

・ FUJITSU Integrated System HA Database Ready

取り込むことができる情報は以下のとおりです。

・ 取り込むことができるのは、フィールド名だけです。

・ 属性はX属性になります。

・ 桁数は1になります。

RDBへの接続情報は、事前に「DBテーブル情報登録」で定義しておく必要があります。

6.5 フォーマット変換設定への自動登録

ここでは、フォーマット変換設定への自動登録機能について説明します。

フォーマット変換設定の自動登録は、CSVファイルをもとにして行います。ここではCSV読込み機能の登録仕様を説明します。

CSVファイルをあらかじめ用意し、[CSV読込み]画面から読み込みます。

CSVファイル上の定義を、フォーマット変換設定に読み込むことができます。

CSVファイルは以下の形式で記述されている場合だけ読み込むことができます。

・ 値はカンマで区切られていること。

・ 値にカンマが存在する場合、値はダブルクォーテーションで囲まれていること。(例: “123,45”)

・ 値に含まれるダブルクォーテーションは、連続したダブルクォーテーション(“”)とし、値全体はダブルクォーテーションで囲まれて

いること。(例:“12”“34”)

・ 値に制御コードが存在しないこと。

・ シフトJISで記述されていること。

“6.5.2 定義形式”に記述されているとおりに、CSVファイルに記述してください。

以下についてチェックし、違反があればエラーとなります。

・ “6.5.2 定義形式”に記述した規則に違反していないこと。

・ 条件設定、および変換設定において、項目の部分的な参照、および設定は定義されていないこと。

・ 条件設定において、“かつ”、“または”を使用した複数の条件式での比較は定義されていないこと。

・ 項目設定において、ビット単位での設定は定義されていないこと。

・ 計算設定では、3項目以上の演算は定義されていないこと。

・ 項目名にピリオドまたは“]”を含むフォーマットは使用されていないこと。

・ ヘッダ出力条件は定義されていないこと。

6.5.1 操作手順

本機能は、以下の手順で操作します。

- 135 -

1. [フォーマット変換設定]画面において、入力、および出力のフォーマットを左右に表示します。

2. [CSV出力]ボタンをクリックし、表示された画面に出力するファイル名を入力します。

3. 出力されたひな型CSVファイルに、変換定義をルールどおりに編集します。

4. [フォーマット変換設定]画面の[CSV入力]ボタンをクリックし、表示された画面に定義編集済CSVファイル名を指定します。

図6.27 フォーマット変換設定画面

6.5.2 定義形式

CSVファイルに定義を書く場合の記述形式について説明します。

以下のイメージはCSVファイルを表計算ソフトを使用して表示、編集していますが、実際にはカンマ区切りのCSVファイルです。

初に「CSV出力」によって出力される、ひな型CSVファイルのイメージは以下のようになります。

- 136 -

図6.28 ひな型CSVファイル(表計算ソフト表示)

上記のように、「見出し行」、「コメント行」、「入力フォーマット情報」、「出力フォーマット情報」が、ひな型CSVファイルに出力されます。

「入力フォーマット情報」、「出力フォーマット情報」はあくまでも参考情報です。この部分は変更する必要がありません。

フォーマット変換のルールを記述する欄である「変換情報」部分に変換ルールを追記します。(上図のオレンジの部分)追記したあとのCSVファイルのことを、定義編集済CSVファイルと呼びます。

定義編集済CSVファイルのイメージは以下のようになります。

図6.29 定義編集済CSVファイル(表計算ソフト表示)

CSVファイルの書き方

CSVファイルの1列目は行の意味を示す区分です。区分には以下の種類があります。

・ “C”または省略:コメント行

・ “IN”:見出し行(入力)

・ “I”:入力フォーマット情報

・ “OUT”:見出し行(出力)

・ “O”:出力フォーマット情報、および変換情報

以下に、区分ごとの列の記述形式を示します。

表6.16 区分ごとの列の記述形式

区分 意味 内容

“C”または省略 コメント行 フリーフォーマットで記述可能。

“IN” 見出し行(入力) ・ 2列目 : フォーマット種別

- “FLAT”:一般フォーマット

- “MULT”:複数一般フォーマット

- “SLIP”:伝票形式フォーマット

- 137 -

区分 意味 内容

- “VDLOOP”:行終端可変長フォーマット

- “VRLOOP”:繰返し数指定可変長フォーマット

・ 3列目 : フォーマットID

・ 4列目 : フォーマット名称

“I” 入力フォーマット情報 ・ 2列目 : フィールド情報 (形式は後述)

・ 3列目 : 属性

- “HD”: 集団項目ヘッダ

- “TR”: 集団項目トレーラ

- “X”: X属性

- “K”: K属性

- “B”: B属性

- “H”: H属性

- “N”: N属性

- “9”: 9属性

- “C”: C属性

- “P”: P属性

・ 4列目 : 符号、詰め文字、+符号の有無

- “U”または省略 : 符号なし、空白詰め

- “UZ”: 符号なし、0詰め

- “S”: 符号あり、空白詰め、+符号なし

- “SZ”: 符号あり、0詰め、+符号なし

- “SP”: 符号あり、空白詰め、+符号あり

- “SZP”: 符号あり、0詰め、+符号あり

・ 5列目 : 桁数

・ 6列目 : 小数部桁数(省略時は0とみなす)

・ 7列目 : グループ区分

・ 8列目 : グループ繰返し数

“OUT” 見出し行(出力) 見出し行(入力)と同様

“O” 出力フォーマット情報、および変換情

・ 2列目~8列目 : 入力フォーマット情報と同様

・ 9列目 : 条件設定

- 省略 : 条件なし

- “IF” : 条件あり

・ 10列目 : 条件内容

フィールド情報1 条件 フィールド情報2 の形式、または

フィールド情報1 条件 '固定値' の形式で記述する。

条件は以下が指定可能。

- “==” : 等しい

- “!= ” : 等しくない

- 138 -

区分 意味 内容

- “>=” : 以上の

- “>” : より大きい

- “<=” : 以下の

- “<” : 未満の

例) [IN.INF.所属コード]==’100’

・ 11列目 : 変換設定

- 省略 : 変換なし

- “OPTIM” : 適化転記

- “SET” : 項目設定

- “CALC” : 計算設定

- “CODE” : 項目コード変換設定

- “PROG” : 利用者プログラム設定

・ 12列目 : 変換内容

変換設定により指定方法が異なる。

- 適化転記時

フィールド情報(入力だけ)

- 項目設定時

フィールド情報(入力側/出力側とも指定可能)または'固定

値'

- 計算設定時

フィールド情報1 計算方法 フィールド情報2 または

フィールド情報1 計算方法 '固定値'計算方法は以下が指定可能。

- “+” : 加算

- “-” : 減算

- “*” : 乗算

- “/” : 除算

- 例) [IN.INF.基本給]+[IN.INF.手当]

- 項目コード変換設定時

フィールド情報 : CSV-ID例) [IN.INF.従業員コード]:SIMEI

- 利用者プログラム設定時

利用者プログラムID : 引数1 : 引数2 : ...例) UFUNC01:[IN.INF.従業員コード]:’100’引数には、フィールド情報または固定値が指定可能。

フィールド情報の書き方

フィールド情報は以下の形式で記述します。

ひな型CSVファイルの入力側フォーマット情報、および出力側フォーマット情報のフィールド欄に、形式どおりに出力されていますの

で、カット&ペーストして使用してください。

[入出力区分.フォーマット情報.集団項目名.項目名]

・ 入出力区分

“IN”または “OUT”を指定します。

- 139 -

・ フォーマット情報

- 一般フォーマット時

フラットIDを指定します。

- 複数一般フォーマット時

以下の形式で指定します。

複数一般ID.フラットID

- 伝票形式フォーマット時

以下の形式で指定します。

伝票形式ID.フラットID

- 行終端可変長フォーマット時

以下の形式で指定します。

可変長ID.フラットID

・ 集団項目名

集団項目に属する項目の場合、属する集団項目ヘッダの項目名を、ピリオドで区切って指定します。

集団項目に属さない項目の場合は省略します。

・ 項目名

項目名をそのまま指定します。

属性、符号、桁数、小数部桁数の読み方

表6.17 属性、符号、桁数、小数部桁数の一覧

FEDITでの属性 FEDITでの

詰め文字

FEDITでの+

符号の有無

属性 符号 桁数(範囲) 小数部桁数

集団項目ヘッダ HD 指定不可 指定不可 指定不可

集団項目トレーラ TR 指定不可

X属性 X 1~32000

K属性 K 2~1024(偶数)

B属性 B 1、2、4

H属性 H 1~32000

N属性(符号無) 空白詰め N Uまたは指定なし 1~20 0または指定なし

N属性(符号無) 0詰め UZ (小数部桁数+2)~20

1~15

N属性(符号有) 空白詰め 無し S 2~20 0または指定なし

N属性(符号有) 0詰め 無し SZ (小数部桁数+3)~20

1~15

N属性(符号有) 空白詰め 有り SP

N属性(符号有) 0詰め 有り SZP

9属性(符号無) 9 Uまたは指定なし 1~20 0または指定なし

9属性(符号有) S (小数部桁数+1)~20

1~15

C属性(符号無) 空白詰め C Uまたは指定なし 1~20 0または指定なし

C属性(符号無) 0詰め UZ (小数部桁数+2)~20

1~15

C属性(符号有) 空白詰め 無し S 2~20 0または指定なし

C属性(符号有) 0詰め 無し SZ (小数部桁数+3)~20

1~15

C属性(符号有) 空白詰め 有り SP

C属性(符号有) 0詰め 有り SZP

- 140 -

FEDITでの属性 FEDITでの

詰め文字

FEDITでの+

符号の有無

属性 符号 桁数(範囲) 小数部桁数

P属性(符号無) P Uまたは指定なし 1~10 0または指定なし

2~10 1または2

3~10 3または4

4~10 5または6

5~10 7または8

6~10 9または10

7~10 11または12

8~10 13または14

9~10 15

P属性(符号有) S 1~10 0または指定なし

2~10 1または2

3~10 3または4

4~10 5または6

5~10 7または8

6~10 9または10

7~10 11または12

8~10 13または14

9~10 15

6.6 変換定義の一括登録

ここでは、変換定義の一括登録機能について説明します。

変換定義の一括登録機能は、CSVファイルに記述した定義情報を一括してFormatmanagerクライアントのデータベースに登録する機

能です。ここでは登録仕様を説明します。

CSVファイルをあらかじめ用意し、[CSV定義読込み]画面から読み込みます。

CSVファイル上の定義を、データベースに読み込むことができます。

CSVファイルの形式について

CSVファイルは以下の形式で記述されている場合だけ読み込むことができます。

・ 値はカンマで区切られていること。

・ 値にカンマが存在する場合、値はダブルクォーテーションで囲まれていること。(例: “123,45”)

・ 値に含まれるダブルクォーテーションは、連続したダブルクォーテーション(“”)とし、値全体はダブルクォーテーションで囲まれて

いること。(例:“12”“34”)

・ 値に制御コードが存在しないこと。

・ シフトJISで記述されていること。

定義内容の記述形式について

“6.6.1 定義形式”に記述されているとおりに、CSVファイルに記述してください。

チェックについて

以下についてチェックし、違反があればエラーとなります。

・ “6.6.1 定義形式”に記述した規則に違反していないこと。

- 141 -

・ 項目名にピリオドまたは“]”を含むフォーマットは使用されていないこと。

・ 集団項目で使用しているフィールド名称が、一般のフィールド名称と同一でないこと。

・ 集団項目ヘッダに対応する集団項目トレーラが存在すること。

・ 集団項目ヘッダと集団項目トレーラの間に集団項目がある場合は、集団項目ヘッダと集団項目トレーラがペアであること。(矛盾が

ないこと)

・ 各集団項目内には、必ず項目が存在すること。

・ 各集団項目内の直下のレベルに存在する項目(集団項目ヘッダ、および集団項目トレーラを含む)に名称の重複がないこと。集

団項目外(一般フォーマット直下)の項目についても同様。

・ 項目数が制限範囲であること(9999項目)。

・ レコード長が制限範囲内であること(9999999バイト)。

定義範囲について

“6.6.1 定義形式”に記述されている範囲で取り込み可能です。GUIにあっても“6.6.1 定義形式”に記述されていない定義項目は、CSV定義読込み機能では扱えません。

ひな型定義作成機能について

変換定義の一括登録機能は、ひな型定義作成機能が完了してない状態では実行しないでください。

ひな型定義作成機能が完了してない状態で実行すると、定義に不整合が生じてエラー終了します。

6.6.1 定義形式

変換定義を書くCSVファイルの記述形式について説明します。

複数のCSVファイルを使用します。CSVファイルは以下の構成で作成してください。

図6.30 ファイル・ディレクトリのリンク構成

図6.31 IDのリンク構成

各行が、下記の表の項目順に書かれている必要があります。

各CSVファイルの詳細は以下のとおりです。

- 142 -

CSVエントリ情報テーブル

CSVエントリ情報テーブルは、すべての定義の入り口となるテーブルです。

CSV定義読込み処理の実行時には、このファイルを指定します。

1列目が行の意味を示す区分となっていて、区分により2列目以降の意味が異なります。以下に、区分ごとの列の記述形式を示します。

表6.18 区分ごとの列の記述形式

区分(1列目) 意味 内容

“C”または省略

(複数指定可)

コメント行 コメント行か否かを指定します。

・ “C”はコメント行

・ “C”以外は有効行。

ただし、行のすべての項目が省略の場合(カンマだけ)は、コメント行として扱

います。

“TRANSPARATABLE” 変換パラメタ情報テー

ブルファイル名

・ 2列目:変換パラメタ情報テーブルファイル名

※定義がない場合は省略可能。

“PROCTABLE” 運用登録情報テーブ

ルファイル名

・ 2列目:運用登録情報テーブルファイル名

※定義がない場合は省略可能。

“FLATDIR” 一般フォーマット情報

ディレクトリ名

・ 2列目:一般フォーマット情報ディレクトリ名

※定義がない場合は省略可能。

“MULTTABLE” 複数一般フォーマット

テーブルファイル名

・ 2列目:複数一般フォーマットテーブルファイル名

※定義がない場合は省略可能。

“SLIPDIR” 伝票形式フォーマット

情報ディレクトリ名

・ 2列目:伝票形式フォーマット情報ディレクトリ名

※定義がない場合は省略可能。

“LDLOOPTABLE” 行終端可変長フォー

マットテーブルファイル

・ 2列目:行終端可変長フォーマットテーブルファイル名

※定義がない場合は省略可能。

“VRLOOPTABLE” 繰り返し数指定可変長

フォーマットテーブル

ファイル名

・ 2列目:繰り返し数指定可変長フォーマットテーブルファイル名

※定義がない場合は省略可能。

“CONVDIR” フォーマット変換情報

ディレクトリ名

・ 2列目:フォーマット変換情報ディレクトリ名

※定義がない場合は省略可能。

“ADJUSTTABLE” レイアウト調整情報

テーブル

・ 2列目:レイアウト調整情報テーブルファイル名

※定義がない場合は省略可能。

“CODECNVCSVTABLE”

項目コード変換用CSV情報テーブルファイル

・ 2列目:項目コード変換用CSV情報テーブルファイル名

※定義がない場合は省略可能。

“USERFUNCTABLE” 利用者プログラム情報

テーブルファイル名

・ 2列目:利用者プログラム情報テーブルファイル名

※定義がない場合は省略可能。

“XMLUSERFUNCTABLE”

XML用利用者プログ

ラム情報テーブルファ

イル名

・ 2列目:XML用利用者プログラム情報テーブルファイル名

※定義がない場合は省略可能。

(注) ディレクトリ、またはファイル名は、フルパス、またはCSVエントリ情報テーブルファイルからの相対パスで指定します。

- 143 -

変換パラメタ情報テーブル

変換パラメタ情報テーブルは、変換パラメタIDを登録するテーブルです。

変換パラメタ情報テーブルは、1ファイルで複数の変換パラメタIDを登録します。

1列目が行の意味を示す区分となっていて、区分により2列目以降の意味が異なります。以下に、区分ごとの列の記述形式を示します。

表6.19 区分ごとの列の記述形式

区分(1列目) 意味 内容

“C”または省略

(複数指定可)

コメント行 コメント行か否かを指定します。

・ “C”はコメント行

・ “C”以外は有効行。

ただし、行のすべての項目が省略の場合(カンマだけ)は、コメント行として扱

います。

“ID”

(複数指定可)

変換パラメタID情報 ・ 2列目:変換パラメタID

・ 3列目:変換パラメタ名称

・ 4列目以降:処理ID (カンマで区切って処理順に記述)

“DELID”

(複数指定可)

(取込み時だけ有効)

変換パラメタID削除 ・ 2列目:削除する変換パラメタID

運用登録情報テーブル

運用登録情報テーブルは、処理IDを登録するテーブルです。

運用登録情報テーブルは、1ファイルで複数の処理IDを登録します。

1列目が行の意味を示す区分となっていて、区分により2列目以降の意味が異なります。以下に、区分ごとの列の記述形式を示します。

表6.20 区分ごとの列の記述形式

区分(1列目) 意味 内容

“C”または省略

(複数指定可)

コメント行 コメント行か否かを指定します。

・ “C”はコメント行

・ “C”以外は有効行。

ただし、行のすべての項目が省略の場合(カンマだけ)は、コメント行として扱

います。

“FMTCONV”

(複数指定可)

フォーマット変換情報 ・ 2列目:処理ID

・ 3列目:処理名称

・ 4列目:変換ID

・ 5列目:入力ファイル名 (省略=(実行時に指定)と等価)

・ 6列目:出力ファイル名 (省略=(実行時に指定)と等価)

・ 7列目:0値の+符号有無( 適化転記時) (省略=“FALSE”と等価)

- “FALSE”:+符号を出力しない

- “TRUE”:+符号を出力する

“CODECONV”

(複数指定可)

文字コード変換情報 ・ 2列目:処理ID

・ 3列目:処理名称

・ 4列目:ファイル種別

“FLAT”固定です。

- 144 -

区分(1列目) 意味 内容

・ 5列目:フラットID

・ 6列目:変換元文字コード系

- “SJIS”:JIS8/シフトJIS

- “EUC”:JIS7/EUC

- “JEFKANA”:EBCDICカナ/JEF

- “JEFASCII”:EBCDIC ASCII/JEF

- “DBCSKANA”:EBCDICカナ/dbcs90

- “DBCSASCII”:EBCDIC ASCII/dbcs90

- “JIS7”:JIS7/JIS

- “JIS8”:JIS8/JIS

- “JISE”:JIS(ESC)/JIS

- “KEIS”:EBCDICカナ/KEIS

- “JIPSECORE”:EBCDICカナ/JIPSE領域

- “JIPSEAUG”:EBCDICカナ/JIPSE字形

- “UNICODE(UCS-2BE)”:UNICODE(UCS-2BE)

- “UNICODE(UCS-2LE)”:UNICODE(UCS-2LE)

- “UNICODE(UTF-16BE)”:UNICODE(UTF-16BE)

- “UNICODE(UTF-16LE)”:UNICODE(UTF-16LE)

- “UNICODE(UTF-32BE)”:UNICODE(UTF-32BE)

- “UNICODE(UTF-32LE)”:UNICODE(UTF-32LE)

・ 7列目:変換先文字コード系 (指定形式は変換元と同様)

・ 8列目:変換元データ長

- “STANDARD”:標準

- “EXPANSION”:拡張

・ 9列目:変換先データ長 (指定形式は変換元と同様)

・ 10列目:B属性項目のエンディアン変換

- “FALSE”:エンディアン変換なし

- “TRUE”:エンディアン変換あり

・ 11列目: エンディアン変換種別

- “LITTLE_BIG”:LITTLE→BIG

- “BIG_LITTLE”:BIG→LITTLE

・ 12列目:文字コード変換規則名

・ 13列目:入力ファイル名 (省略=(実行時に指定)と等価)

・ 14列目:出力ファイル名 (省略=(実行時に指定)と等価)

“CSVCONV”

(複数指定可)

CSV変換情報 ・ 2列目:処理ID

・ 3列目:処理名称

- 145 -

区分(1列目) 意味 内容

・ 4列目:ファイル種別

“FLAT”固定です。

・ 5列目:フラットID

・ 6列目:CSV変換

- “FLAT_COMMA”:FLAT→CSV(カンマ区切り)

- “FLAT_TAB”:FLAT→CSV(タブ区切り)

- “COMMA_FLAT”:CSV(カンマ区切り)→FLAT

- “TAB_FLAT”:CSV(タブ区切り)→FLAT

・ 7列目:CSV括り文字

・ 8列目:カンマ置換文字

・ 9列目:入力ファイル名 (省略=(実行時に指定)と等価)

・ 10列目:出力ファイル名 (省略=(実行時に指定)と等価)

・ 11列目:末尾空白の保持(省略(固定)=末尾空白を保持しない)

・ 12列目:CSV括り文字付加

- 0または省略:FEDITシステムパラメタ定義ファイルで指定

- 1:CSV括り文字を付加しない

- 2:CSV括り文字を付加する。

“ADJUST”

(複数指定可)

レイアウト調整情報 ・ 2列目:処理ID大項目長は半角(英数字)32桁です。

“_”、“-”、“.”は入力可能です。

・ 3列目:処理名称

大項目長は半角250桁(全角混在可)です。

“,”は入力不可です。

・ 4列目:レイアウト調整ID大項目長は半角(英数字)32桁です。

“_”、“-”は入力可能です。

・ 5列目:レイアウト調整

文字コード変換(フォーマット指定なし)の場合は指定する必要はありませ

ん。何も指定しないでください。

・ 6列目:文字コード

文字コード変換(フォーマット指定なし)の場合は指定する必要はありませ

ん。何も指定しないでください。

・ 7列目:入力ファイル名 (省略=(実行時に指定)と等価)大項目長は半角128桁(全角混在可)です。

以下の記号を除いた半角記号が使用可能です。

" * < > ? |

・ 8列目:出力ファイル名 (省略=(実行時に指定)と等価)大項目長は半角128桁(全角混在可)です。

以下の記号を除いた半角記号が使用可能です。

" * < > ? |

“XMLCONV”

(複数指定可)

XML変換 ・ 2列目:処理ID

・ 3列目:処理名称

- 146 -

区分(1列目) 意味 内容

・ 4列目:ファイル種別

“FLAT”固定です。

・ 5列目:フラットID

・ 6列目:XML変換

- “FLAT_XML”:FLAT→XML

- “XML_FLAT”:XML→FLAT

・ 7列目:入力ファイル名 (省略=(実行時に指定)と等価)

・ 8列目:出力ファイル名 (省略=(実行時に指定)と等価)

・ 9列目:妥当性検証の有無 (FLAT→XMLの場合、出力ファイルの検証有

無。XML→FLATの場合、入力ファイルの検証有無)

- “FALSE”:妥当性検証なし

- “TRUE”:妥当性検証あり

・ 10列目: XML種別

- “DTD”:DTD使用、出力時はDTD部を出力する(DTDの直接指定は

できません)

- “SCHEMA”:XML Schema使用、出力時はルートタグの名前空間部

を出力する

- “NOSCHEMA”:XML Schema/DTDを使用しない(省略時は本指定)

・ 11列目: XML宣言部出力

- “YES”:XML宣言を出力する(省略時は本指定)

- “NO”:XML宣言を出力しない

“DELID”

(複数指定可)

(取込み時だけ有効)

処理ID削除 ・ 2列目:削除する処理ID

一般フォーマット情報テーブル

一般フォーマット情報テーブルは、フラットIDを登録するテーブルです。

一般フォーマット情報テーブルは、1ファイルで1つのフラットIDを登録します。

1列目が行の意味を示す区分となっていて、区分により2列目以降の意味が異なります。以下に、区分ごとの列の記述形式を示します。

表6.21 区分ごとの列の記述形式

区分(1列目) 意味 内容

“C”

(複数指定可)

コメント行 コメント行か否かを指定します。

・ “C”はコメント行

・ “C”以外は有効行。

ただし、行のすべての項目が省略の場合(カンマだけ)は、コメント行として扱

います。

“ID” フラットID/名称 ・ 2列目:フラットIDフラットIDを指定します。

・ 3列目:フラット名称

フラット名称を指定します。

- 147 -

区分(1列目) 意味 内容

“DELID”

(取込み時だけ有効)

フラットID削除 ・ 2列目:削除するフラットID削除するフラットIDを指定します。

※本区分は、コメントを除く他の区分との同時指定はできません。

“XML” XML用設定 ・ 2列目:スキーマ設定

スキーマ設定を指定します。

- “DTD”:DTD

- “XML_SCHEMA”:XML Schema“DTD”を指定する場合、区分“XML_SCHEMA”は指定できません。

“XML_SCHEMA”を指定する場合、必ず区分“XML_SCHEMA”を

指定する必要があります。

・ 3列目:ルート要素のXML属性(固定値)ルート要素のXML属性(固定値)を指定します。

・ 4列目:ルート要素の接頭辞

ルート要素の接頭辞を指定します。

区分“XML_SCHEMA”で定義済みの接頭辞を指定する必要があります。

“XML_SCHEMA”

(区分“XML”の2列目に

“XML_SCHEMA”が指

定されている場合だけ指

定可、複数指定可)

XML Schema情報 ・ 2列目: 名前空間未指定時のXML Schemaファイル名

名前空間未指定時のXML Schemaファイル名を指定します。

ファイルで初めに出てくる名前空間未指定時が採用されます。これ以外

の名前空間未指定時は無視されます。

・ 3列目: 名前空間URI名前空間URIを指定します。

・ 4列目: 接頭辞

接頭辞を指定します。

・ 5列目: XML Schemaファイル名

XML Schemaファイル名を指定します。

省略

(複数指定可)

フィールド情報 ・ 2列目:フィールド名称

フィールド名称を指定します。

・ 3列目:フィールド属性

フィールドの属性を指定します。

- “HD”:集団項目ヘッダ

- “TR”:集団項目トレーラ

- “X”:X属性

- “K”:K属性

- “B”:B属性

- “H”:H属性

- “N”:N属性

- “9”:9属性

- “C”:C属性

- “P”:P属性

・ 4列目:符号・詰め文字・+符号の有無

フィールドの符号・詰め文字・+符号を指定します。フィールド属性の指定

内容により、指定できない場合があります。

属性と符号指定の関係については、“表6.15 フィールド属性・符号・桁数・

小数部桁数の記号”を参照してください。

- 148 -

区分(1列目) 意味 内容

- “U”または省略:符号なし・空白詰め

- “UZ”:符号なし・0詰め

- “S”:符号付き・空白詰め・+符号なし

- “SZ”:符号付き・0詰め・+符号なし

- “SP”:符号付き・空白詰め・+符号あり

- “SZP”:符号付き・0詰め・+符号あり

・ 5列目:桁数

桁数を指定します。フィールド属性、符号、および小数部桁数の指定によ

り、指定可能な桁数が異なります。

属性、符号、および小数部桁数と桁数の関係については、“表6.15 フィー

ルド属性・符号・桁数・小数部桁数の記号”を参照してください。

・ 6列目:小数部桁数

小数部の桁数を指定します。フィールド属性の指定内容により、指定でき

ない場合があります。

属性と小数部桁数の関係については、“表6.15 フィールド属性・符号・桁

数・小数部桁数の記号”を参照してください。

・ 7列目:グループ区分

フィールド属性が集団項目ヘッダまたは集団項目トレーラの場合に集団

項目グループの区分を指定します。その他の属性の場合、指定できませ

ん。

グループ区分に指定可能な文字は、英大文字、英小文字、数字で1~2バイトの範囲です。

・ 8列目:グループ繰返し数

フィールド属性が集団項目ヘッダの場合に集団項目グループの繰返し数

を指定します。その他の属性の場合は指定できません。

・ 9列目:初期値

初期値を指定します。

・ 10列目: 繰返し数変動

繰返し数変動を指定します。

- “F”または省略:繰返し数固定

- “V”:繰返し数可変

・ 11列目: XML属性

XML属性(固定値)を指定します。

・ 12列目:タグ省略可否

タグ省略を指定します。

- “M”または省略:タグ省略不可

- “O”:タグ省略可

・ 13列目: 単一タグ繰返し数

単一タグ繰返し数を指定します。

・ 14列目: 整形なし

整形なしを指定します。

- “C”または省略:整形あり

- “N”:整形なし

- 149 -

区分(1列目) 意味 内容

・ 15列目: XML属性フィールド

XML属性フィールドを指定します。

- “ELEMENT”または省略:要素

- “ATTRIBUTE”:属性

XML属性(固定値)を設定している場合は、“ATTRIBUTE”を選択で

きません。

・ 16列目: 名前空間接頭辞

名前空間接頭辞を指定します。

区分“XML_SCHEMA”で定義した接頭辞を指定する必要があります。

・ 17列目: XML→FLAT利用者プログラム

XML→FLAT利用者プログラムのIDを指定します。

XML利用者プログラム情報テーブルで定義したXML利用者プログラム

IDを指定する必要があります。

・ 18列目: FLAT →XML利用者プログラム

FLAT →XML利用者プログラムのIDを指定します。

XML利用者プログラム情報テーブルで定義したXML利用者プログラム

IDを指定する必要があります。

・ 19列目: XML Schema データ型

XML Schemaデータ型を指定します。

サポートするXML Schemaのビルトインデータ型を指定する必要がありま

す。

・ 20列目: XML Schema 制約内容

XML Schema制約内容を指定します。

サポートする制約内容で指定する必要があります。

・ 21列目: 文字種ポリシーID文字種ポリシーIDを指定します。

文字種ポリシー情報テーブルで定義した文字種ポリシーIDを指定する必

要があります。

・ 22列目: 備考

備考を指定します。

複数一般フォーマット情報テーブル

複数一般フォーマット情報テーブルは、複数一般IDを登録するテーブルです。

複数一般フォーマット情報テーブルは、1ファイルで複数の複数一般IDを登録します。

1列目が行の意味を示す区分となっていて、区分により2列目以降の意味が異なります。以下に、区分ごとの列の記述形式を示します。

表6.22 区分ごとの列の記述形式

区分(1列目) 意味 内容

“C”または省略

(複数指定可)

コメント行 コメント行か否かを指定します。

・ “C”はコメント行

・ “C”以外は有効行。

ただし、行のすべての項目が省略の場合(カンマだけ)は、コメント行として扱

います。

“ID”

(複数指定可)

複数一般ID/名称 ・ 2列目:複数一般ID

・ 3列目:複数一般名称

・ 4列目以降:フラットID( 大数は100)

- 150 -

区分(1列目) 意味 内容

“DELID”

(複数指定可)

(取込み時だけ有効)

複数一般ID削除 ・ 2列目:削除する複数一般ID

伝票形式フォーマット情報テーブル

伝票形式フォーマット情報テーブルは、伝票形式IDを登録するテーブルです。

伝票形式フォーマット情報テーブルは、1ファイルで1つの伝票形式IDを登録します。

1列目が行の意味を示す区分となっていて、区分により2列目以降の意味が異なります。以下に、区分ごとの列の記述形式を示します。

表6.23 区分ごとの列の記述形式

区分(1列目) 意味 内容

“C”または省略

(複数指定可)

コメント行 コメント行か否かを指定します。

・ “C”はコメント行

・ “C”以外は有効行。

ただし、行のすべての項目が省略の場合(カンマだけ)は、コメント行として扱

います。

“ID” 伝票形式ID/名称 ・ 2列目:伝票形式ID

・ 3列目:複伝票形式名称

・ 4列目:基本レコード長

・ 5列目:ブロック長

・ 6列目:判断位置開始位置

・ 7列目:判断位置桁数

RECORD

(複数指定可)

レコード情報 ・ 2列目:フラットID

・ 3列目:レコード種別

- “FILEHEADER”:ファイルヘッダ

- “FORMHEADER”:伝票ヘッダ

- “ITEMRECORD”:明細レコード

- “FORMTRAILER”:伝票トレーラ

- “FILETRAILER”:ファイルトレーラ

- “PREVIOUSRECORD”:前レコード

・ 4列目:レベル

※レベルを指定できるのは、レコード種別が“伝票ヘッダ”、もしくは、“伝

票トレーラ”の場合。未指定時は、値なし。

・ 5列目:生成

- “FALSE”:転記あり時だけ

- “TRUE”:必須

・ 6列目:値

“DELID”

(取込み時だけ有効)

伝票形式ID削除 ・ 2列目:削除する伝票形式ID

- 151 -

行終端可変長フォーマット情報テーブル

行終端可変長フォーマット情報テーブルは、行終端可変長フォーマットの可変長IDを登録するテーブルです。

行終端可変長フォーマット情報テーブルは、1ファイルで複数の可変長IDを登録します。

1列目が行の意味を示す区分となっていて、区分により2列目以降の意味が異なります。以下に、区分ごとの列の記述形式を示します。

表6.24 区分ごとの列の記述形式

区分(1列目) 意味 内容

“C”または省略

(複数指定可)

コメント行 コメント行か否かを指定します。

・ “C”はコメント行

・ “C”以外は有効行。

ただし、行のすべての項目が省略の場合(カンマだけ)は、コメント行として扱

います。

“ID”

(複数指定可)

可変長ID/名称 ・ 2列目:可変長ID

・ 3列目:可変長名称

・ 4列目:ヘッダ部フラットID

・ 5列目:明細部フラットID

・ 6列目:行終端文字(1バイトまたは2バイト)

- 2バイト文字の場合は“@HEX(HHHH)”形式

※(HHHHは対象文字コードのHEX値)

- 1バイト文字の場合は“@HEX(HH)”※(HHは対象文字コードのHEX値)

- 標準は省略(値なし)

“DELID”

(複数指定可)

(取込み時だけ有効)

可変長ID削除 ・ 2列目:削除する可変長ID

繰返し数指定可変長フォーマット情報テーブル

繰返し数指定可変長フォーマット情報テーブルは、繰返し数指定可変長フォーマットの可変長IDを登録するテーブルです。

繰返し数指定可変長フォーマット情報テーブルは、1ファイルで複数の可変長IDを登録します。

1列目が行の意味を示す区分となっていて、区分により2列目以降の意味が異なります。以下に、区分ごとの列の記述形式を示します。

表6.25 区分ごとの列の記述形式

区分(1列目) 意味 内容

“C”または省略

(複数指定可)

コメント行 コメント行か否かを指定します。

・ “C”はコメント行

・ “C”以外は有効行。

ただし、行のすべての項目が省略の場合(カンマだけ)は、コメント行として扱

います。

“ID”

(複数指定可)

可変長ID/名称 ・ 2列目:可変長ID

・ 3列目:可変長名称

・ 4列目:ヘッダ部フラットID

・ 5列目:明細部フラットID

・ 6列目:明細部の繰り返し回数フィールド名

- 152 -

区分(1列目) 意味 内容

“DELID”

(複数指定可)

(取込み時だけ有効)

可変長ID削除 ・ 2列目:削除する可変長ID

フォーマット変換情報テーブル

フォーマット変換情報テーブルは、変換IDを登録するテーブルです。

フォーマット変換情報テーブルは、1ファイルで1つの変換IDを登録します。

1列目が行の意味を示す区分となっていて、区分により2列目以降の意味が異なります。以下に、区分ごとの列の記述形式を示します。

表6.26 区分ごとの列の記述形式

区分(1列目) 意味 内容

“C”または省略

(複数指定可)

コメント行 コメント行か否かを指定します。

・ “C”はコメント行

・ “C”以外は有効行。

ただし、行のすべての項目が省略の場合(カンマだけ)は、コメント行として扱

います。

“ID” 変換ID/名称 ・ 2列目:変換ID

・ 3列目:変換名称

“DELID”

(取込み時だけ有効)

変換ID削除 ・ 2列目:削除する変換ID※本区分は、コメントを除く他の区分との同時指定はできません。

IN 入力側フォーマット情

・ 2列目:フォーマット種別

- “FLAT”:一般フォーマット

- “MULT”:複数一般フォーマット

- “SLIP”:伝票形式フォーマット

- “LDLOOP”:行終端可変長フォーマット

- “VRLOOP”:繰り返し数指定可変長フォーマット

・ 3列目:フォーマットID

・ 4列目:フォーマット名称

“I”

(複数指定可)

入力側フィールド情報

(※入力側フィールド情

報は省略可能)

・ 2列目:フィールド情報 (形式は後述)

・ 3列目:属性

- “HD”:集団項目ヘッダ

- “TR”:集団項目トレーラ

- “X”:X属性

- “K”:K属性

- “B”:B属性

- “H”:H属性

- “N”:N属性

- “9”:9属性

- “C”:C属性

- 153 -

区分(1列目) 意味 内容

- “P”:P属性

・ 4列目:符号・詰め文字・+符号の有無

- “U”または省略:符号なし・空白詰め

- “UZ”:符号なし・0詰め

- “S”:符号付き・空白詰め・+符号なし

- “SZ”:符号付き・0詰め・+符号なし

- “SP”:符号付き・空白詰め・+符号あり

- “SZP”:符号付き・0詰め・+符号あり

・ 5列目:桁数

・ 6列目:小数部桁数(省略時は0とみなします)

・ 7列目:グループ区分

・ 8列目:グループ繰り返し数

“OUT” 出力側フォーマット情

入力側フォーマット情報と同様

“O”

(複数指定可)

出力側フィールド情

報、および変換情報

・ 2列目~8列目:入力側フィールド情報と同様

・ 9列目:条件設定

- 省略:条件なし

- “IF”:条件あり

・ 10列目:条件内容

フィールド情報1(桁指定可) 条件 フィールド情報2(桁指定可) の形式、ま

たはフィールド情報1(桁指定可) 条件 “固定値” の形式で記述します。

例) [IN.INF.所属コード]==’100’条件は、以下が指定可能。

- “==”:等しい

- “!=”:等しくない

- “>=”:以上の

- “>”:より大きい

- “<=”:以下の

- “<”:未満の

複数の条件式を定義する場合“&”または“|”で区切って複数定義します。

(“&”は「かつ」、“|”は「または」を示します) 例) [IN.INF.手当]>=’10000’&[IN.INF.手当]<’100000’

・ 11列目:変換設定

- 省略:変換なし

- “OPTIM”: 適化転記

- “SET”:項目設定

- “CALC”:計算設定

- “CODE”:項目コード変換設定 (CSV)

- “PROG”:利用者プログラム設定

- 154 -

区分(1列目) 意味 内容

- 項目コード変換(DB)は未サポートです。

・ 12列目:変換内容

変換設定により指定方法が異なります。

- 適化転記時

フィールド情報(入力だけ)

- 項目設定時

フィールド情報(桁指定可) (入力側/出力側とも指定可能)または'固定

値'

- 計算設定時

フィールド情報1(桁指定可) 計算方法 フィールド情報2(桁指定可) または

フィールド情報1(桁指定可) 計算方法 '固定値'計算方法は以下が指定可能。

- “+”:加算

- “-”:減算

- “*”:乗算

- “/”:除算

例) [IN.INF.基本給]+[IN.INF.手当]

- 項目コード変換設定時

フィールド情報(桁指定可) : CSV-ID例) [IN.INF.従業員コード]:SIMEI

- 利用者プログラム設定時

利用者プログラムID : 引数1 : 引数2 : ...例) UFUNC01:[IN.INF.従業員コード]:’100’引数には、フィールド情報または固定値が指定可能。

・ 13列目:出力側項目桁指定開始位置

・ 14列目:出力側項目桁指定桁数

出力側項目桁指定開始位置、出力側項目桁指定桁数は、両方指定時を

有効とし、両方省略時は全桁指定とみなします。

HEDC

(複数指定可)

ヘッダ出力条件 ・ 2列目:出力側のヘッダフラットID

・ 3列目以降:項目情報( 大5項目)例)[IN.INF.手当],[IN.HED.年月日]

レイアウト調整情報テーブル

レイアウト調整情報テーブルは、レイアウト調整IDを登録するテーブルです。

レイアウト調整情報テーブルは、1ファイルで複数のレイアウト調整IDを登録します。

1列目が行の意味を示す区分となっていて、区分により2列目以降の意味が異なります。以下に、区分ごとの列の記述形式を示します。

表6.27 区分ごとの列の記述形式

区分(1列目) 意味 内容

“C”または省略

(複数指定可)

コメント行 コメント行か否かを指定します。

・ “C”はコメント行

・ “C”以外は有効行。

ただし、行のすべての項目が省略の場合(カンマだけ)は、コメント行として扱

います。

- 155 -

区分(1列目) 意味 内容

“CODECONV”

(複数指定可)

文字コード変換(フォー

マット指定なし)情報

・ 2列目:レイアウト調整ID大項目長は半角(英数字)32桁です。

“_”、“-”は入力可能です。

・ 3列目:レイアウト調整名称

大項目長は半角250桁(全角混在可)です。

“,”は入力不可です。

・ 4列目:変換元文字コード系

- “SJIS”:JIS8/シフトJIS

- “EUC”:JIS7/EUC

- “JEFKANA”:EBCDICカナ/JEF

- “JEFASCII”:EBCDIC ASCII/JEF

- “DBCSKANA”:EBCDICカナ/dbcs90

- “DBCSASCII”:EBCDIC ASCII/dbcs90

- “JIS7”:JIS7/JIS

- “JIS8”:JIS8/JIS

- “JISE”:JIS(ESC)/JIS

- “KEIS”:EBCDICカナ/KEIS

- “JIPSECORE”:EBCDICカナ/JIPSE領域

- “JIPSEAUG”:EBCDICカナ/JIPSE字形

- “UTF-8”:UTF-8

- “UCS-2”:UCS-2

- “UCS-2LE”:UCS-2LE

- “UTF-8_4”:UTF-8_4

- “UTF-16BE”:UTF-16BE

- “UTF-16LE”:UTF-16LE

- “UTF-32BE”:UTF-32BE

- “UTF-32LE”:UTF-32LE

・ 5列目:変換先文字コード系

- “NONE”:文字コード変換なし

- “SJIS”:JIS8/シフトJIS

- “EUC”:JIS7/EUC

- “JEFKANA”:EBCDICカナ/JEF

- “JEFASCII”:EBCDIC ASCII/JEF

- “DBCSKANA”:EBCDICカナ/dbcs90

- “DBCSASCII”:EBCDIC ASCII/dbcs90

- “JIS7”:JIS7/JIS

- “JIS8”:JIS8/JIS

- “JISE”:JIS(ESC)/JIS

- 156 -

区分(1列目) 意味 内容

- “KEIS”:EBCDICカナ/KEIS

- “JIPSECORE”:EBCDICカナ/JIPSE領域

- “JIPSEAUG”:EBCDICカナ/JIPSE字形

- “UTF-8”:UTF-8

- “UCS-2”:UCS-2

- “UCS-2LE”:UCS-2LE

- “UTF-8_4”:UTF-8_4

- “UTF-16BE”:UTF-16BE

- “UTF-16LE”:UTF-16LE

- “UTF-32BE”:UTF-32BE

- “UTF-32LE”:UTF-32LE

・ 6列目:検索文字列

大項目長は半角 (英数字、記号) 32桁です。

“@HEX()”形式を使用できます。()の中は16進数で指定してください。

変換元文字コード系がEBCDICカナ系の場合、英小文字は指定できませ

ん。

・ 7列目:置換文字列

大項目長は半角 (英数字、記号) 32桁です。

“@HEX()”形式を使用できます。()の中は16進数で指定してください。

変換元文字コード系がEBCDICカナ系の場合、英小文字は指定できませ

ん。

・ 8列目:文字列置換時の動作

- “TRUE”: シフトアウトコードを挿入する

- “FALSE”: シフトアウトコードを挿入しない

・ 9列目:文字コード変換規則名(未使用)

値は何も指定しないでください。(項目は必要です)

“DELID”

(取込み時だけ有効)

レイアウト調整ID削除 ・ 2列目:削除するレイアウト調整ID※文字コード変換(フォーマット指定なし)のレイアウト調整IDのみです。

フィールド情報の書き方

フィールド情報は以下の形式で記述します。

[入出力区分.フォーマット情報.集団項目名.項目名]

・ 入出力区分

“IN”または “OUT”を指定します。

・ フォーマット情報

- 一般フォーマット時

フラットIDを指定します。

- 複数一般フォーマット時

以下の形式で指定します。

複数一般ID.フラットID

- 157 -

- 伝票形式フォーマット時

以下の形式で指定します。

伝票形式ID.フラットID

- 行終端可変長フォーマット時

以下の形式で指定します。

可変長ID.フラットID

・ 集団項目名

集団項目に属する項目の場合、属する集団項目ヘッダの項目名を、ピリオドで区切って指定します。

集団項目に属さない項目の場合は省略します。

・ 項目名

項目名をそのまま指定します。

フィールド情報の部分指定(桁指定)の書き方

フィールド情報の部分指定をする場合は、部分指定可能なフィールド情報の項目名の後ろに、“..(桁指定開始位置.桁指定桁数)”を記述します。項目の部分指定を省略した場合または“..(0.0)”と指定した場合は、全桁指定とみなします。

例)

計算設定時:[IN.INF.基本給..(1.3)]+[IN.INF.手当..(2.5)]

条件設定 :[IN.INF.所属コード..(2.4)]==’100’

項目コード変換用CSV情報テーブル

項目コード変換用CSV情報テーブルは、CSV IDを登録するテーブルです。

項目コード変換用CSV情報テーブルは、1ファイルで複数のCSV IDを登録します。

1列目が行の意味を示す区分となっていて、区分により2列目以降の意味が異なります。以下に、区分ごとの列の記述形式を示します。

表6.28 区分ごとの列の記述形式

区分(1列目) 意味 内容

“C”または省略

(複数指定可)

コメント行 コメント行か否かを指定します。

・ “C”はコメント行

・ “C”以外は有効行。

ただし、行のすべての項目が省略の場合(カンマだけ)は、コメント行として扱

います。

“ID”

(複数指定可)

CSV ID情報 ・ 2列目:CSV ID

・ 3列目:CSV名称

・ 4列目:保管先フォルダ名

・ 5列目:CSVファイル名

“DELID”

(複数指定可)

(取込み時だけ有効)

CSV ID削除 ・ 2列目:削除するCSV ID

利用者プログラム情報テーブル

利用者プログラム情報テーブルは、利用者プログラムIDを登録するテーブルです。

利用者プログラム情報テーブルは、1ファイルで複数の利用者プログラムIDを登録します。

1列目が行の意味を示す区分となっていて、区分により2列目以降の意味が異なります。以下に、区分ごとの列の記述形式を示します。

- 158 -

表6.29 区分ごとの列の記述形式

区分(1列目) 意味 内容

“C”または省略

(複数指定可)

コメント行 コメント行か否かを指定します。

・ “C”はコメント行

・ “C”以外は有効行。

ただし、行のすべての項目が省略の場合(カンマだけ)は、コメント行として扱

います。

“ID”

(複数指定可)

利用者プログラムID情

・ 2列目:利用者プログラムID

・ 3列目:利用者プログラム名称

・ 4列目:ライブラリ名

・ 5列目:関数名

・ 6列目:引数の数

“DELID”

(複数指定可)

(取込み時だけ有効)

利用者プログラムID削

・ 2列目:削除する利用者プログラムID

XML用利用者プログラム情報テーブル

XML用利用者プログラム情報テーブルは、XML用利用者プログラムIDを登録するテーブルです。

XML用利用者プログラム情報テーブルは、1ファイルで複数のXML用利用者プログラムIDを登録します。

1列目が行の意味を示す区分となっていて、区分により2列目以降の意味が異なります。以下に、区分ごとの列の記述形式を示します。

表6.30 区分ごとの列の記述形式

区分(1列目) 意味 内容

“C”または省略

(複数指定可)

コメント行 コメント行か否かを指定します。

・ “C”はコメント行

・ “C”以外は有効行。

ただし、行のすべての項目が省略の場合(カンマだけ)は、コメント行として扱

います。

“ID”

(複数指定可)

XML利用者プログラ

ム ID情報

・ 2列目:XML用利用者プログラムID

・ 3列目:XML利用者プログラム名

・ 4列目:ライブラリ名

・ 5列目:関数名

“DELID”

(複数指定可)

(取込み時だけ有効)

XML利用者プログラム

ID削除

・ 2列目:削除するXML用利用者プログラムID

6.7 ユーザ固有フォーマットのフォーマット変換

ここでは、ユーザ固有フォーマットのフォーマット変換について説明します。

6.7.1 フォーマットの形式

Formatmanagerで扱うことができるフォーマットを入出力してフォーマット変換を実施します。Formatmanagerで扱うことができるフォー

マットについては、“6.1 ユーザ固有フォーマットについて”を参照してください。

- 159 -

フォーマットの入出力の組合せを、以下に示します。

表6.31 フォーマットの組合せ

入力元のフォーマット形式 出力先に可能なフォーマット形式

一般フォーマット

(1フォーマット)一般フォーマット

複数一般フォーマット

伝票形式フォーマット

行終端可変長フォーマット

繰返し数指定可変長フォーマット

一般フォーマット

(nフォーマット)(注)一般フォーマット

複数一般フォーマット 一般フォーマット

複数一般フォーマット

伝票形式フォーマット

行終端可変長フォーマット

繰返し数指定可変長フォーマット

伝票形式フォーマット 一般フォーマット

複数一般フォーマット

伝票形式フォーマット

行終端可変長フォーマット

繰返し数指定可変長フォーマット

行終端可変長フォーマット 一般フォーマット

複数一般フォーマット

伝票形式フォーマット

行終端可変長フォーマット

繰返し数指定可変長フォーマット

繰返し数指定可変長フォーマット 一般フォーマット

複数一般フォーマット

伝票形式フォーマット

行終端可変長フォーマット

繰返し数指定可変長フォーマット

(注) nフォーマットは、複数フォーマットを示します。

6.7.2 項目変換の設定

フォーマット変換では、単純に値を設定するだけでなく、項目の一部だけの設定、四則演算結果の設定、条件式による出力値の変

更、コード値変換、異なる属性へのコピーなどの、フォーマット変換設定方式をサポートしています。また、プログラムを別途作成するこ

とにより、さらに自由な出力をすることもできます。

フォーマット変換では、これらのフォーマット変換設定方式を組み合わせて、1つの出力結果を求めます。

出力項目に対して、以下を設定することができます。

・ 適化転記

・ 項目設定

・ 条件設定

・ 計算設定

・ 項目コード変換設定(CSV)

・ 項目コード変換設定(DB)

・ 利用者プログラム設定

これらを、条件、および順番を意識しながら並べることによって、出力結果が決定されます。

- 160 -

ポイント

・ 入力元レコードだけでなく、出力先レコードの項目も入力にすることができます。ただし、出力先レコードの項目の場合は、すでに

値が設定されている項目(設定中の項目よりも前にある項目)に限ります。

・ 固定値も入力にすることができます。

・ 1つの出力項目に複数の変換設定をした場合、値は順に上書きされます。ただし項目コード変換設定(CSVまたはDB)で、変換前

の値がCSVファイル上、またはRDB上に存在しない場合に限り、上書きしないで、1つ前の設定の状態が保存されます。

・ 集団項目に属する値は、基本的に集団項目同士で処理されるため、同じ繰返し回数番目の項目同士でフォーマット変換が行わ

れます。たとえば、「入力側の集団項目の繰返し回数:5回>出力側の集団項目の繰返し回数:3回」の場合には、入力側のレコー

ドの4回目、5回目のデータは読み飛ばされます。なお、集団項目がネストして繰り返している場合は、同じ出現順の項目同士での

フォーマット変換となります。

登録方法

変換情報の設定では、フォーマット変換のルールを定義します。

初に[変換情報設定]画面で、入力元、出力先のそれぞれのフォーマット形式を選択します。

次に、[フォーマット変換設定]画面で入力元、および出力先それぞれのレイアウトを指定し、出力先の項目について1項目ずつ変換

ルールを登録します。変換ルールの登録では、「条件設定」、「 適化転記」、「項目設定」、「計算設定」、「項目コード変換設定(CSV)」、「項目コード変換設定(DB)」、「利用者プログラム設定」を組み合わせて設定します。

フォーマット変換設定について

[フォーマット変換設定]画面では、以下の内容を設定します。

・ 変換ID

・ 入力元のフォーマットのID

・ 出力先のフォーマットのID

入力元、および出力先のそれぞれのIDを指定すると、それに応じたレイアウトが表示されます。出力先の項目に対して1項目ずつ変換

ルールを登録し、必要な項目すべてを設定するまで繰り返します。

設定した変換ルールは「変換ID」で管理されます。

設定方法の詳細は、“ISI Formatmanagerクライアント(FEDIT/FL-TABLE)ヘルプ”、および“ ISI Formatmanagerクライアント

(FEDIT/FL-TABLE)チュートリアル”を参照してください。

設定内容表示ペインについて

[フォーマット変換設定]画面の出力先の項目をダブルクリックすると画面下部に設定内容表示ペインが表示されます。設定内容表示

ペインでは、以下の内容を設定します。

・ 条件の有無(条件あり/なし)

・ 設定内容( 適化転記/項目設定/計算設定/項目コード変換設定(CSV)/項目コード変換設定(DB)/利用者プログラム設定)

「設定内容」には、「この項目にどんな方法で出力するか」を定義します。その方法としては、「 適化転記」、「項目設定」、「計算設定」、

「項目コード変換設定 (CSV)」、「項目コード変換設定(DB)」、「利用者プログラム設定」があります。

設定内容には、1つずつ「条件」を与えることができます。条件に合致した場合に設定内容が実行され、条件に合致しない場合は、設

定内容は実行されません。

設定内容は複数指定でき、上から順に実行されます。

各種設定について

1. 条件タブ

条件タブでは、条件式を指定します。条件式の変数には、入力元の項目、出力先の項目(設定済み)、固定値が使用できます。

「かつ(AND)/または(OR)」を使うことによって、 大20個の条件式を組み合わせて真偽を判断することができます。

- 161 -

2. 適化転記

適化転記は、入力元の項目を指定します。出力先の項目の属性に応じて自動的に値の整形が行われて値がコピーされま

す。

3. 項目設定

項目設定は、同一属性の項目全桁または項目の一部(開始位置、桁数)を指定します。入力元の項目、出力先の項目(設定済

み)が指定できます。また、「ダイレクト」を指定することによって、固定値、およびシステム値も設定できます。

B属性への出力については、ビット属性の出力も可能です。(ビット単位の参照はできません)

「有効値の直後に設定」を使用することによって、すでに設定されている値の後方の空白を詰めて、連続して値を出力することも

できます。

4. 計算設定

計算設定では、計算式を作成します。計算式の変数には、入力元の項目、出力先の項目(設定済み)、固定値が使用できます。

計算式には、一度に3つの変数を指定できます。

5. 項目コード変換設定(CSV)

項目コード変換設定では、入力元の項目、出力先の項目(設定済み)を指定(一部も可)し、さらにその値によってコード変換する

ためのCSVファイルの「CSV ID」を指定します。

「CSV ID」は「項目コード変換用CSV登録」で登録したマスタから指定します。項目コード変換用CSV登録については、“項目

コード変換設定(CSV)”を参照してください。

6. 項目コード変換設定(DB)

項目コード変換設定では、入力元の項目、出力先の項目(設定済み)を指定(一部も可)し、さらにその値によってコード変換する

ためのリレーショナルデータベースの「DBテーブルID」を指定します。

「DBテーブルID」は「DBテーブル情報登録」で登録したデータベース情報から指定します。DBテーブル情報登録については、

“項目コード変換設定(DB)”を参照してください。

7. 利用者プログラム設定

利用者プログラム設定では、「利用者プログラムID」を指定します。また、「引数リスト」で、利用者プログラムに与える引数を指定

します。

「利用者プログラムID」は「利用者プログラム登録」で登録したマスタから指定します。利用者プログラム登録については、“利用

者プログラム設定”を参照してください。

ポイント

[初期値セット]ボタンを使用すると、「一般フォーマット登録」で指定した項目ごとの“初期値” を自動的に「項目設定」の固定値として設

定することができます。

異なる属性間の変換、および同じ属性でも桁数やタイプが異なる変換では、項目設定の結果は保証されません。 適化転記を使用

してください。

適化転記

適化転記は、属性や桁数を意識することなく、出力レコードの項目に値を設定する変換方法です。

- 162 -

図6.32 適化転記

入力元と出力先の属性が異なっている場合は、入力データが出力先の属性に合わせて適切に整形されて出力されます。また、桁数

が異なっている場合は、出力先の属性に合わせて左詰め、右詰めをします。

ポイント

・ 異なる属性間の変換、および同じ属性でも桁数やタイプが異なる変換では、項目設定では結果が保証されません。 適化転記を

使用してください。

・ 属性、桁数およびタイプが同じ項目間の変換でも整形により入力データと異なる値が出力される場合があります。入力データを整

形せずにそのまま設定する場合は項目設定を使用してください。

項目設定

項目設定は、同一属性に対して、値の全体または一部を切り取って(部分指定)、設定する変換方法です。

図6.33 項目設定

上図は値の一部を設定する例ですが、項目全体(ABCDEF)を設定することもできます。また、入出力レコード内の値だけでなく、固定

値(入力データによらず常に一定の値)、および[一般フォーマット登録]画面の[初期値]フィールドで指定した初期値も設定することが

できます。

固定値を設定する際には、テキスト文字、バイナリ文字の両方が設定できます。また、以下のシステム値も設定できます。

表6.32 システム値について

システム値 指定できる属性 内容

@CRLF X属性 改行(CRLF)

@LF X属性 改行(LF)

@SEQNO X、N、C属性 シーケンスNo.

@SPACE X属性 空白詰め

@SYSDATE4 X属性 4桁日付(MMDD)

@SYSDATE6 X属性 6桁日付(YYMMDD)

@SYSDATE8 X属性 8桁日付(YYYYMMDD)

- 163 -

システム値 指定できる属性 内容

@SYSTIME4 X属性 4桁時間(hhmm)

@SYSTIME6 X属性 6桁時間(hhmmss)

@ZERO X、9、N、C属性 ゼロ詰め

@ALL( ) X、9、N属性 ( )内の値を繰り返して、全桁にセット

@RECTOTAL X、N、C属性 伝票形式フォーマットのトレーラレコードに指定した場合は、ヘッ

ダレコードからトレーラレコードまでの総レコード数(ヘッダレコー

ド、およびトレーラレコードを含む。)を設定。それ以外の指定は、

“0”を設定。

@BODYCNT X、N、C属性 出力が伝票形式フォーマットの場合は、 下位層のヘッダレコー

ドからトレーラレコードの間の、明細レコードのシーケンス番号を

設定。出力が行終端可変長フォーマット、および繰返し数指定可

変長フォーマットの場合は、1レコード内の明細部のシーケンス番

号を設定。

また、入力が伝票形式フォーマットで、出力が一般フォーマットの

場合は、 下位層のヘッダレコードからトレーラレコードの間の明

細レコードのシーケンス番号を、一般フォーマットの各レコードに

設定。入力が行終端可変長フォーマット、および繰返し数指定可

変長フォーマットで、出力が一般フォーマットの場合は、1レコード

内の明細部のシーケンス番号を、一般フォーマットの各レコードに

設定。

ポイント

・ 異なる属性間の変換、および同じ属性でも桁数やタイプが異なる変換では、項目設定で結果は保証されません。 適化転記を使

用してください。

・ 項目の一部を切りとる際、小数点や符号が含まれている場合は、出力項目の小数点や符号の位置にあわせて、正しく設定してく

ださい。

・ 「有効値の直後に設定」を使用することによって、すでに設定されている値の後方の空白を詰めて、連続して値を出力することが

できます。

・ 「繰返し指定」を使用することにより、集団項目の任意の繰返し番目の項目だけを対象とすることができます。また、後述する条件

設定と組み合わせることにより、条件に合う項目だけを項目設定の対象として、その結果を出力先の集団項目に詰めて設定する

こともできます。

・ @ALL( )の中に@HEX()を書くことはできません。

条件設定

条件設定は、値によって設定内容を変更したいときに使用します。

図6.34 条件設定

- 164 -

条件設定は、フォーマット変換設定方式と組み合わせて使用します。条件設定で指定した条件内容によって、後続の設定を実施する

かどうかが決定されます。

判断の対象として、入力元レコードの値、出力先レコードの値(設定済みに限る)、固定値を使用できます。

判断に使用できる条件は、以下の6種類です。

・ 等しい

・ 以上

・ 以下

・ 等しくない

・ より大きい

・ 未満

計算設定

計算設定は、四則演算の結果を設定する変換方法です。

図6.35 計算設定

四則演算の対象となるデータとしては、入力元レコードの値、出力先レコードの値(設定済みに限る)、固定値が使用できます。

ポイント

計算結果は以下の範囲で保証されます。

-2,147,483,648 ~ 2,147,483,647

項目コード変換設定(CSV)

項目コード変換設定(CSV)は、入力元のデータと出力先のデータのコード値が異なる場合に、CSVファイルを使用して読み替えた値

を設定する変換方法です。

図6.36 項目コード変換設定(CSV)

- 165 -

たとえば、入力元のデータでは性別を男:1、女:2で表現していて、出力先のデータでは男:M、女:Wで表現したい場合、値を1からMへ、2からWへと変換するために、このコード値の読み替えを記述したCSVファイルをサーバに用意して、項目コード変換設定(CSV)を設定します。

CSVファイルはタブ区切りで、入力元の値、出力先の値を並べて記述します。なお、FormatmanagerクライアントのGUIを使用してCSVファイルを作成し、サーバへ転送することもできます。

ポイント

・ CSVファイルの検索を高速化するために、ハッシュ法による検索を実施しています。

ハッシュ検索は、CSVファイルがある行数(レコード数)を超えた場合に実施します。その行数はFEDITシステムパラメタ定義ファイ

ルのCSVLineHashPoint定義文で指定できます。

また、ハッシュエントリ数もCSVLineHashEntry定義文で指定できます。FEDITシステムパラメタ定義ファイルについては、“ISI 導入

ガイド”の“FEDITシステムパラメタ定義ファイルの変更” または“ISI Java EE導入ガイド”の“FEDITシステムパラメタ定義ファイルの

変更”を参照してください。

・ 通常1つの出力項目に複数の設定をした場合、値は順に上書きされます。ただし項目コード変換(CSV)で、変換前の値がCSVファ

イル上に存在しない場合については、出力側項目に対しては何も処理は行われず、1つ前の設定状態が保存されます。(ワーニン

グが出力されます)また、このときにワーニングを出力するかしないかは、FEDITシステムパラメタ定義ファイルのSetWarningNotFoundCSVRecord定義

文で指定できます。FEDITシステムパラメタ定義ファイルについては、“ISI 導入ガイド”の“FEDITシステムパラメタ定義ファイルの

変更” または“ISI Java EE導入ガイド”の“FEDITシステムパラメタ定義ファイルの変更”を参照してください。

登録方法

[項目コード変換用CSV登録]画面で、以下の内容を設定します。

・ CSV ID

・ CSV名称

・ 保管先フォルダ名

・ CSVファイル名

項目コード変換で使用するためのCSVファイルの一覧をマスタ登録します。CSVファイルのCSV ID、CSV名称、保管先フォルダ名、

CSVファイル名を定義します。

[項目コード変換用CSV登録]画面からCSVファイルを作成し、指定した保管先フォルダ名、CSVファイル名に格納することもできます。

ここで保管したCSVファイルは、「変換テーブル生成」時に指定のサーバへ転送されます。

設定方法の詳細は、“ ISI Formatmanagerクライアント(FEDIT/FL-TABLE)ヘルプ”、および“ ISI Formatmanagerクライアント

(FEDIT/FL-TABLE)チュートリアル”を参照してください。

図6.37 項目コード変換用CSV登録

- 166 -

ポイント

・ 保管先フォルダ名を設定している場合は、「変換テーブル生成」時にそのディレクトリからCSVファイルがサーバへ転送されます。

CSVファイルの文字コードはサーバ転送先設定のコード変換指定に従って変換されます。文字コードに以下のどれかを指定して

いる場合、転送されるCSVファイル自体の文字コードはシフトJISになります。

- UNICODE(UCS-2BE)

- UNICODE(UCS-2LE)

- UNICODE(UTF-16BE)

- UNICODE(UTF-16LE)

- UNICODE(UTF-32BE)

- UNICODE(UTF-32LE)

FEDITシステムパラメタ定義ファイルのConvertCodeCSVFileMode定義文でUNICODEを指定した場合、CSVファイル自体の文字

コードは変換時にUNICODEとして扱います。サーバ転送先設定のコード変換指定にUNICODE系の文字コードを指定している場

合は、CSVファイル内の文字コードをUTF-8で作成し、個別に配置してください。

転送されるCSVファイル自体の文字コードをUNICODEにする場合は、FEDIT/FL-TABLEのインストールフォルダにある

fedConfig.xmlファイルを編集し、“convertCodeCsvOption”タグの“fileMode”属性に“UNICODE”を設定してください。デフォルト

は“COMPATIBLE”です。なお、fedConfig.xmlファイルは、システム管理者だけが編集できます。

・ 保管先フォルダ名を設定していない場合は、定義セットディレクトリにCSVファイルを直接配置します。

・ CSVファイルはタブ区切りで作成します。カンマ区切りはサポートしていません。

項目コード変換設定(DB)

項目コード変換設定(DB)は、入力元のデータと出力先のデータのコード値が異なる場合に、リレーショナルデータベースを使用して

読み替えた値を設定する変換方法です。

図6.38 項目コード変換設定(DB)

項目コード変換(DB)は、項目コード変換設定(CSV)で使用するCSVファイルの代わりに、リレーショナルデータベース(DB)を利用する

機能です。この機能は、マスタDBのような更新頻度の低いデータベースからの値の取出しを想定しているため、データベースへのア

クセスで、トランザクションやレコードロックなどは行っていませんので、注意してください。

値の置換えに使用するデータベースは、入力側の値が格納されている列と、置き換える出力側の値が格納されている列との、少なくと

も2つの列が必要です。

項目コード変換(DB)は、指定された項目を処理するたびに、データベースへのアクセスを行います。

一方、FEDITシステムパラメタ定義ファイルのUseDBItemCodeConversionCache定義文を設定することで、データベースから取り出した

値をキャッシュし、データベースへのアクセスを減らすこともできます(デフォルトでは、キャッシュは無効に設定されています)。キャッ

シュを有効にすると、入力側の値とデータベースから取り出した値は、キャッシュに保存されます。これにより、以降の項目コード変換

(DB)では、キャッシュにある値については、データベースに対してSQL文を発行しないで、キャッシュにあるものを使用するようになります。

キャッシュは1変換処理内でだけ有効で、1つの変換IDの実行が完了するとクリアされます。なお、入力データやデータベース構造に

よっては、キャッシュに多くのメモリを消費する場合がありますので、注意してください。

- 167 -

また、JDBCデータソースを利用することで、データベースへのコネクションプールにより、データベースへのアクセス性能を安定させる

ことができます。

FEDITシステムパラメタ定義ファイルについては、“ISI 導入ガイド”の“FEDITシステムパラメタ定義ファイルの変更” または“ISI Java EE導入ガイド”を参照してください。

ポイント

・ 通常1つの出力項目に複数の設定をした場合、値は順に上書きされます。ただし項目コード変換(DB)で、変換前の値(入力側の

値)がDB上に存在しない場合については、1つ前の設定状態が保存されます。(ワーニングが出力されます)

・ 入力項目を複数指定し、レコードを絞って出力項目を取り出すこともできます。

・ 変更後のDBフィールドを複数指定し、1回の項目コード変換(DB)で1レコード中の複数の値を取り出すこともできます。取り出した

値はFEDITシステムパラメタ定義ファイルのDBItemCodeConversionDelimiter定義文で指定したデリミタ文字で結合して出力項目

に設定されます。変更後のDBフィールドを複数指定する場合、出力項目の属性にX属性のみ使用することができます。

登録方法

[DBテーブル情報登録]画面で、以下の内容を設定します。

・ DBテーブルID

・ DBテーブル名称

・ テーブル名

・ データベース種別

・ データベースサーバアドレス

・ ポート番号

・ ユーザ名

・ パスワード

・ データベースの文字コード

・ SID(データベース種別がOracleのときだけ)

・ サービス名(データベース種別がOracleのときだけ)

・ データベース名(データベース種別がSQL ServerおよびPostgreSQLのときだけ)

・ サーバ用DSN(データベース種別がSymfoware Serverのときだけ)

・ クライアント用DSN(データベース種別がSymfoware Serverのときだけ)

・ スキーマ名(データベース種別がPostgreSQLのときだけ)

・ フィールド名

・ 属性

項目コード変換(DB)で使用するためのリレーショナルデータベースの情報を登録します。使用するデータベーステーブルの情報と、

そのテーブルで項目コード変換(DB)で使用する可能性のあるフィールド(列)、およびその属性を定義します。

フィールド名は[DB読込]ボタンをクリックすることによって、データベースから直接取得することも可能です。また、[SQL読込]ボタンを

クリックして、直接入力、または貼り付けられたSQL文からフィールド名を取り出すことも可能です。(DB読込機能を使用するには、デー

タベースにアクセスするための環境設定が必要になります)設定方法の詳細は、“ ISI Formatmanagerクライアント(FEDIT/FL-TABLE)ヘルプ”、および“ ISI Formatmanagerクライアント

(FEDIT/FL-TABLE)チュートリアル”を参照してください。

- 168 -

図6.39 項目コード変換用データベース登録

利用者プログラム設定

Formatmanagerでは広範なユーザ設定によるフォーマット変換が可能ですが、特殊なプログラムを作成しないと値が求められないケー

スもあります。この場合はFormatmanagerから利用者が作成したプログラムを呼び出し、値を変換結果として出力します。

入力元レコードの一部、出力先レコードの一部(出力済み項目)、固定値をパラメタとして与え、利用者プログラムの変数にすることもで

きます。

図6.40 利用者プログラム設定

また、利用者プログラム側から、Formatmanagerで確保している「項目コード変換用CSVファイル」を参照することができる関数も用意さ

れています。

利用者プログラムの作成方法については、“ISI リファレンス”の“ユーザ固有フォーマットの利用者プログラムAPI”を参照してください。

和暦西暦変換用の利用者プログラムの標準提供

和暦西暦変換については、利用者プログラムを標準提供します。以下のパターンが変換できます。

西暦8桁→西暦6桁変換

西暦8桁→基準暦6桁変換

西暦6桁→西暦8桁変換

西暦6桁→基準暦6桁変換

基準暦6桁→西暦8桁変換

基準暦6桁→西暦6桁変換

- 169 -

西暦8桁→和暦7桁変換

和暦7桁→西暦8桁変換

・ 西暦8桁(yyyymmdd)

・ 西暦6桁(yymmdd)

・ 基準暦6桁(yymmdd)(和暦から和暦表記を除くもの。平成15年4月10日→150410)

・ 和暦7桁(eyymmdd)(eは和暦を示す記号。H、S、T、M)

ポイント

・ 和暦西暦変換用の利用者プログラムは、プレインストールされています。Formatmanagerクライアントで設定するだけで使用できま

す。設定方法については“ISI Formatmanagerクライアント(FEDIT/FL-TABLE)ヘルプ”を参照してください。

・ 和暦7桁の和暦を示す記号は、CSVファイルを変更することにより、修正、追加が可能です。

登録方法

[利用者プログラム登録]画面で、以下の内容を設定します。

・ 利用者プログラムID

・ 利用者プログラム名称

・ ライブラリ名

・ 関数名

・ 引数の数

利用者プログラム設定で使用するための利用者プログラムの情報を登録します。利用者プログラムの利用者プログラムID、利用者プ

ログラム名称、ライブラリ名、関数名、引数の数を定義します。

設定方法の詳細は、“ISI Formatmanagerクライアント(FEDIT/FL-TABLE)ヘルプ”を参照してください。

図6.41 利用者プログラムの登録

6.7.3 ヘッダがあるフォーマット形式へのフォーマット変換

出力先フォーマットが以下のフォーマットの場合、ヘッダ出力条件設定が必須です。ここでは、ヘッダがあるフォーマット形式へのフォー

マット変換について、留意点を説明します。

- 170 -

・ 伝票形式フォーマット(ヘッダレコード)

・ 行終端可変長フォーマット(ヘッダ部)

・ 繰返し数指定可変長フォーマット(ヘッダ部)

例として、一般フォーマットから伝票形式フォーマットへのフォーマット変換について説明します。

図6.42 一般フォーマットから伝票形式フォーマットの例

上図の場合、一般フォーマットの「店コード」の値は、1レコード目と2レコード目は“1001”、3レコード目と4レコード目は“2002”です。伝

票形式フォーマットへ変換後は、ヘッダレコード(先頭の項目の値がA)に店コード“1001”または“2002”が1つずつ設定されます。一般

フォーマット側の店コードの値が前レコードと同じ場合はヘッダレコードは挿入されず、店コードの値が前レコードと異なっていたらヘッ

ダレコードが出力されます。つまり、「店コードの値が変更されたら、ヘッダレコードを挿入する」という変換ルールになっています。

出力先フォーマット形式が、伝票形式フォーマット、行終端可変長フォーマット、および繰返し数指定可変長フォーマットの場合は、

「ヘッダ出力条件」を定義します。「ヘッダ出力条件」は出力先のヘッダレコードを出力(挿入)するタイミングを、入力元のフォーマット内

の項目から選択するものです。

上図の例では、「出力先の“A:ヘッダレコード”のヘッダ出力条件は、入力元の店コードである」ということになります。

行終端可変長フォーマットや繰返し数指定可変長フォーマットも同様です。伝票形式フォーマットは、ヘッダレコードが複数設定でき

るので、それぞれのヘッダレコードについて、すべてにヘッダ出力条件を設定する必要があります。

ポイント

ヘッダ出力条件は、入力元フォーマットの複数の項目を選択できます。その場合は複数の項目中の1項目でも変更されたらヘッダレ

コードは出力されます。ただし、複数選択する場合は、同一レコードの項目に限られます。

6.7.4 複数フォーマットを入力するフォーマット変換

フォーマット変換では、複数のフォーマットを入力とすることもできます。複数のフォーマットを入力とするには、フォーマットの組合せの

入力側に“一般フォーマット(nフォーマット)”を選択します。フォーマットの組合せについては、“6.7.1 フォーマットの形式”を参照してく

ださい。

複数フォーマットを入力とする場合には、必ず主フォーマットを決めてください。フォーマット変換では、主フォーマットからデータが読

み込まれ、主フォーマットからリンクとして定義された項目をたどって、その他のフォーマットが読み込まれます。主フォーマットを含め

重複しない 大10個のフォーマットを入力することができます。

- 171 -

図6.43 一般フォーマット(nフォーマット)から一般フォーマット(1フォーマット)の例

6.7.5 複数フォーマットが混在するフォーマットのフォーマット変換

フォーマット変換では、1つの入力ファイルに複数のフォーマットが混在するデータを変換することができます。

混在フォーマットのフォーマット変換では、入力データを異なる一般フォーマットが複数連なっている形式として扱い、それぞれの一般

フォーマットに対して、あらかじめ関連付けておいた変換IDでフォーマット変換を行います。そのため、入力レコードと出力レコードは1対1に対応し、入力レコードの出現順序で出力レコードの順序が決まります。

各レコードには、それぞれのレコードを識別する“識別子”を定義します。その識別子の値に応じて変換ID、および出力レコードが関

連付けられます。

図6.44 混在フォーマット フォーマット変換の例

- 172 -

ポイント

混在フォーマットのフォーマット変換は、[混在フォーマット フォーマット変換]画面で、各レコードの識別子や変換IDを関連付けて混在

フォーマット変換IDを定義し、[運用登録]画面で混在フォーマット変換IDを指定することで実行することができます。

6.8 ユーザ固有フォーマットのその他のフォーマット変換

これまでに説明したフォーマット変換のほかに、固定長メッセージのフォーマット変換には以下の機能があります。ここでは、これらの機

能について説明します。

・ 文字コード変換

・ CSV変換

・ ファイル抽出

・ レイアウト調整

6.8.1 文字コード変換

文字コード変換は、データを作成したコンピュータのOSによる文字コードの相違を解消させる機能です。

フォーマット変換は、入出力ともに同一の文字コード(シフトJIS、EUC、UTF-8/UCS2、UTF-8/UTF-16、UTF-8/UTF-32)で行うことが前

提です。したがって、入出力データの文字コードが異なっている場合には、フォーマット変換の前後どちらかで文字コード変換を実施

しておく必要があります。

フォーマット形式

文字コード変換できるデータは、属性を意識しながら変換するため、Formatmanagerクライアントに登録されているフォーマットに限りま

す。

登録方法

[運用情報登録(文字コード変換)]画面で、以下の内容を設定します。

・ ファイル種別

・ フォーマットID

・ 変換元文字コード

・ 変換先文字コード

設定方法の詳細は、“ ISI Formatmanagerクライアント(FEDIT/FL-TABLE)ヘルプ”、および“ ISI Formatmanagerクライアント

(FEDIT/FL-TABLE)チュートリアル”を参照してください。

文字コード変換のパターン

文字コード変換できるパターンは以下のとおりです。文字コード変換が可能な文字コード系の組み合わせは、文字コード変換ルール

により異なります。文字コード変換ルールは、FEDITシステムパラメタ定義ファイルの“CharCodeConversionRule”で指定します。FEDITシステムパラメタ定義ファイルについては、“ISI 導入ガイド”の“FEDITシステムパラメタ定義ファイルの変更” または“ISI Java EE導入

ガイド”の“FEDITシステムパラメタ定義ファイルの変更”を参照してください。

表6.33 文字コード変換のパターン(標準コード変換、または高速コード変換時)

入力データの文字コード 出力データの文字コード

1バイト系 2バイト系 1バイト系 2バイト系

JIS8 シフトJIS JIS7 EUC

EBCDICカナ JEF

EBCDIC ASCII JEF

EBCDICカナ dbcs90

- 173 -

入力データの文字コード 出力データの文字コード

1バイト系 2バイト系 1バイト系 2バイト系

EBCDIC ASCII dbcs90

JIS (7単位半角カナ) JIS

JIS (8単位半角カナ) JIS

JIS (ESCで切換え) JIS

EBCDICカナ KEIS

EBCDICカナ JIPS(E) 領域重視

EBCDICカナ JIPS(E) 字形重視

UNICODE(UCS-2BE)

UNICODE(UCS-2LE)

UNICODE(UTF-16BE)

UNICODE(UTF-16LE)

UNICODE(UTF-32BE)

UNICODE(UTF-32LE)

JIS7 EUC JIS8 シフトJIS

EBCDICカナ JEF

EBCDIC ASCII JEF

EBCDICカナ dbcs90

EBCDIC ASCII dbcs90

JIS (7単位半角カナ) JIS

JIS (8単位半角カナ) JIS

JIS (ESCで切換え) JIS

EBCDICカナ KEIS

EBCDICカナ JIPS(E) 領域重視

EBCDICカナ JIPS(E) 字形重視

UNICODE(UCS-2BE)

UNICODE(UCS-2LE)

UNICODE(UTF-16BE)

UNICODE(UTF-16LE)

UNICODE(UTF-32BE)

UNICODE(UTF-32LE)

EBCDICカナ JEF JIS8 シフトJIS

JIS7 EUC

UNICODE(UCS-2BE)

UNICODE(UCS-2LE)

UNICODE(UTF-16BE)

UNICODE(UTF-16LE)

UNICODE(UTF-32BE)

UNICODE(UTF-32LE)

- 174 -

入力データの文字コード 出力データの文字コード

1バイト系 2バイト系 1バイト系 2バイト系

EBCDIC ASCII JEF JIS8 シフトJIS

JIS7 EUC

UNICODE(UCS-2BE)

UNICODE(UCS-2LE)

UNICODE(UTF-16BE)

UNICODE(UTF-16LE)

UNICODE(UTF-32BE)

UNICODE(UTF-32LE)

EBCDICカナ dbcs90 JIS8 シフトJIS

JIS7 EUC

EBCDIC ASCII dbcs90 JIS8 シフトJIS

JIS7 EUC

JIS (7単位半角カナ) JIS JIS8 シフトJIS

JIS7 EUC

UNICODE(UCS-2BE)

UNICODE(UCS-2LE)

UNICODE(UTF-16BE)

UNICODE(UTF-16LE)

UNICODE(UTF-32BE)

UNICODE(UTF-32LE)

JIS (8単位半角カナ) JIS JIS8 シフトJIS

JIS7 EUC

UNICODE(UCS-2BE)

UNICODE(UCS-2LE)

UNICODE(UTF-16BE)

UNICODE(UTF-16LE)

UNICODE(UTF-32BE)

UNICODE(UTF-32LE)

JIS (ESCで切換え) JIS JIS8 シフトJIS

JIS7 EUC

UNICODE(UCS-2BE)

UNICODE(UCS-2LE)

UNICODE(UTF-16BE)

UNICODE(UTF-16LE)

UNICODE(UTF-32BE)

UNICODE(UTF-32LE)

EBCDICカナ KEIS JIS8 シフトJIS

JIS7 EUC

- 175 -

入力データの文字コード 出力データの文字コード

1バイト系 2バイト系 1バイト系 2バイト系

EBCDICカナ JIPS(E) 領域重視 JIS8 シフトJIS

JIS7 EUC

EBCDICカナ JIPS(E) 字形重視 JIS8 シフトJIS

JIS7 EUC

UNICODE(UCS-2BE) JIS8 シフトJIS

JIS7 EUC

EBCDICカナ JEF

EBCDIC ASCII JEF

JIS (7単位半角カナ) JIS

JIS (8単位半角カナ) JIS

JIS (ESCで切換え) JIS

UNICODE(UCS-2LE) JIS8 シフトJIS

JIS7 EUC

EBCDICカナ JEF

EBCDIC ASCII JEF

JIS (7単位半角カナ) JIS

JIS (8単位半角カナ) JIS

JIS (ESCで切換え) JIS

UNICODE(UTF-16BE) JIS8 シフトJIS

JIS7 EUC

EBCDICカナ JEF

EBCDIC ASCII JEF

JIS (7単位半角カナ) JIS

JIS (8単位半角カナ) JIS

JIS (ESCで切換え) JIS

UNICODE(UTF-16LE) JIS8 シフトJIS

JIS7 EUC

EBCDICカナ JEF

EBCDIC ASCII JEF

JIS (7単位半角カナ) JIS

JIS (8単位半角カナ) JIS

JIS (ESCで切換え) JIS

UNICODE(UTF-32BE) JIS8 シフトJIS

JIS7 EUC

EBCDICカナ JEF

EBCDIC ASCII JEF

JIS (7単位半角カナ) JIS

JIS (8単位半角カナ) JIS

- 176 -

入力データの文字コード 出力データの文字コード

1バイト系 2バイト系 1バイト系 2バイト系

JIS (ESCで切換え) JIS

UNICODE(UTF-32LE) JIS8 シフトJIS

JIS7 EUC

EBCDICカナ JEF

EBCDIC ASCII JEF

JIS (7単位半角カナ) JIS

JIS (8単位半角カナ) JIS

JIS (ESCで切換え) JIS

表6.34 文字コード変換のパターン(FEDIT独自変換時)

入力データの文字コード 出力データの文字コード

1バイト系 2バイト系 1バイト系 2バイト系

JIS8 シフトJIS JIS7 EUC

EBCDICカナ JEF

EBCDIC ASCII JEF

EBCDICカナ dbcs90

EBCDIC ASCII dbcs90

JIS7 EUC JIS8 シフトJIS

EBCDICカナ JEF

EBCDIC ASCII JEF

EBCDICカナ dbcs90

EBCDIC ASCII dbcs90

EBCDICカナ JEF JIS8 シフトJIS

JIS7 EUC

EBCDIC ASCII JEF

EBCDIC ASCII JEF JIS8 シフトJIS

JIS7 EUC

EBCDICカナ JEF

EBCDICカナ dbcs90 JIS8 シフトJIS

JIS7 EUC

EBCDIC ASCII dbcs90 JIS8 シフトJIS

JIS7 EUC

文字コード変換の対象となる属性と処理内容

文字コード変換において、各属性は以下のように処理されます。

表6.35 文字コード変換の対象となる属性と処理内容

属性 処理内容

X属性(注) 文字コード変換を行います。

制御コードも変換対象です。

- 177 -

属性 処理内容

以下の文字が入力された場合は、ワーニングを出力し代替文字に置き換わります。置き換わる

文字については“代替文字について”を参照してください。

・ EBCDIC/カナに英小文字

・ EBCDIC/ASCIIにカナ文字

・ 文字コード変換できない文字

K属性(注) 文字コード変換を行います。

改行コードを含め、制御コードは変換対象外です。読み飛ばします。

2バイト文字以外が入力された場合は、ワーニングを出力し、代替文字に置き換えます。置き換

わる文字については、“代替文字について”を参照してください。

B属性 文字コード変換を行いません。入力データをそのまま複写するか、またはエンディアン交換を行っ

て複写します。

H属性 文字コード変換を行いません。入力データをそのまま複写します。

N属性 文字コード変換を行います。

“0”~“9”、“-”、“.”、“,”以外の不適切な文字を検出した場合には、ワーニングを出力し、その位

置によって“0”または空白に置き換えます。

9属性 文字コード変換を行います。変換先の符号を示す部分には、文字コードがシフトJIS/EUCの場合

は、FEDITシステムパラメタ定義ファイルの指定に従った値が出力されます。EBCDICの場合は、

プラスコード(0xC)、マイナスコード(0xD)、符号なし(0xF)が出力されます。

数値を示す部分に[0-9]以外の不適切な文字を検出した場合には、ワーニングを出力し、“0”に置き換えます。

符号を示す部分に不適切な文字を検出した場合には、ワーニングを出力し、属性によって符号

なし、またはプラスコードに置き換えます。

FEDITシステムパラメタ定義ファイルについては、“ISI 導入ガイド”の“FEDITシステムパラメタ定

義ファイルの変更” または“ISI Java EE導入ガイド”の“FEDITシステムパラメタ定義ファイルの変

更”を参照してください。

C属性 文字コード変換を行います。

“0”~“9”、“-”、“.”、“,”以外の不適切な文字を検出した場合には、ワーニングを出力し、その位

置によって“0”または空白に置き換えます。

P属性 文字コード変換を行いません。数値を示す部分の入力データをそのまま複写します。変換先の

符号を示す部分には、文字コードがシフトJIS/EUCの場合は、FEDITシステムパラメタ定義ファイ

ルの指定に従った値が出力されます。EBCDICの場合は、プラスコード(0xC)、マイナスコード

(0xD)、符号なし(0xF)が出力されます。

数値を示す部分に0x0~0x9以外の不適切なコードを検出した場合には、ワーニングを出力し、

0x0に置き換えます。

符号を示す部分に不適切な文字を検出した場合には、ワーニングを出力し、属性によって符号

なし、またはプラスコードに置き換えます。

FEDITシステムパラメタ定義ファイルについては、“ISI 導入ガイド”の“FEDITシステムパラメタ定

義ファイルの変更” または“ISI Java EE導入ガイド”の“FEDITシステムパラメタ定義ファイルの変

更”を参照してください。

(注) 半角全角が混在している項目には、X属性を指定してください。

Unicode系文字コードでの各属性の文字コード

UNICODE(UCS-2BE)、UNICODE(UCS-2LE)、UNICODE(UTF-16BE)、UNICODE(UTF-16LE)、UNICODE(UTF-32BE)、および

UNICODE(UTF-32LE)で各属性に適用される文字コードは以下のとおりです。

- 178 -

表6.36 各属性の適用範囲

UNICODE(UCS-2BE)

UNICODE(UCS-2LE)

UNICODE(UTF-16BE)

UNICODE(UTF-16LE)

「Formatmanager定義のUnicode対応」の制限事項の解

除後

UNICODE(UTF-32BE)

「Formatmanager定義のUnicode対応」の制限事項の解

除後

UNICODE(UTF-32LE)

備考

X属

UTF-8(3バイト)(注3)

UTF-8(3バイト)

UTF-8(4バイト)(注4)

UTF-8(4バイト)

UTF-8(4バイト)(注4)

UTF-8(4バイト)

K属

UCS2BE UCS2LE UTF16BE UTF16LE UTF32BE(注5) UTF32LE(注5) ASCII範囲内を除く

(注1)

B属

バイナリ バイナリ バイナリ バイナリ バイナリ バイナリ

H属

バイナリ バイナリ バイナリ バイナリ バイナリ バイナリ

N属

UTF-8(3バイト)(注2)

UTF-8(3バイト)(注2)

UTF-8(4バイト)(注2)

UTF-8(4バイト)(注2)

UTF-8(4バイト)(注2)

UTF-8(4バイト)(注2)

9属

UTF-8(3バイト)(注2)

UTF-8(3バイト)(注2)

UTF-8(4バイト)(注2)

UTF-8(4バイト)(注2)

UTF-8(4バイト)(注2)

UTF-8(4バイト)(注2)

符号部はASCII系(カスタマイズ可)

C属

UTF-8(3バイト)(注2)

UTF-8(3バイト)(注2)

UTF-8(4バイト)(注2)

UTF-8(4バイト)(注2)

UTF-8(4バイト)(注2)

UTF-8(4バイト)(注2)

P属

バイナリ バイナリ バイナリ バイナリ バイナリ バイナリ 符号部はASCII系(カスタマイズ可)

(注1)ASCII系(0x00~0x7f)のコードが指定されていた場合は、変換不当となります。

(注2)使用可能な文字の範囲が限られているので、ASCII系(0x00~0x7f)と同等のコードになります。

(注3)“UTF-8(3バイト)”は1~3バイトで表現されるUCS2の範囲のUTF-8を示します。

(注4)“UTF-8(4バイト)”は1~4バイトで表現されるUCS4の範囲のUTF-8を示します。

(注5) UNICODE(UTF-32BE)またはUNICODE(UTF-32LE)を使用する場合、K属性項目の項目長は4の倍数桁にする必要がありま

す。

文字コード変換時の桁あふれについて

シフトJISの半角カナをEUCに変換した場合に、変換前のデータ長が変換後のデータ長の2倍になったり、JEFやdbcs90で制御文字(シフトインコード/シフトアウトコードなど)が付加されたりして、文字コード変換後のデータが、定義された項目のバイト数(桁数)を超える場

合(桁あふれ)があります。文字コード変換のパターンを考慮し、桁あふれが発生しないサイズを一般フォーマットの拡張桁数に設定し

て、文字コード変換する必要があります。

なお、桁あふれが起きた場合、Formatmanagerではワーニングを出力し、定義された項目のバイト数分値をセットして、以降のデータを

切り捨てます。

桁あふれが発生した場合の処理の詳細は、以下のとおりです。

- 179 -

・ 変換先コードがEUC・シフトJIS・UNICODE(UCS-2BE)・UNICODE(UCS-2LE)・UNICODE(UTF-16BE)・UNICODE(UTF-16LE)・UNICODE(UTF-32BE)・UNICODE(UTF-32LE)の場合

- 文字コード変換により漢字コードの一部が桁あふれを起こした場合、そのコードは代替文字に置き換わります(ワーニング

0x800a)。置き換わる文字については“代替文字について”を参照してください。

- ただし、全角空白文字の一部が桁あふれを起こしかつ、以降すべてが空白である場合に限りワーニングは出力されません。(注1)(例:EBCDICカナ「アアア□□」→EUC 「@ア@ア@ア_」 アは半角カナのイメージ、@:半角カナはEUCで2バイトになるので付加コードのイメージ、□:全角空白、_:半角空白)

・ 変換先コードがJEF・dbcs90・JIS・KEIS・JIPS(E) 領域重視・JIPS(E) 字形重視の場合

- 文字コード変換により漢字コードの一部が桁あふれを起こした場合、そのコードは漢字シフトアウトコードに置き換わります(ワー

ニング0x800a)。

- ただし、全角空白文字の一部が桁あふれを起こし、かつ以降すべてが空白である場合に限りワーニングは出力されません。

(例:EUC「1個2個3個□□□」→JEF「1@個@2@個@3@個@」

□:全角空白、_:半角空白、@:制御文字)

- また、漢字シフトアウトコードだけが格納できない場合は、ワーニング出力は行いません。漢字シフトイン状態のままとなります。

- 一部が桁あふれを起こし、その漢字コードの直前が漢字シフトインコードの場合は、漢字シフトインコードも削除されて、半角

空白が詰められます。

- 可能な限り、漢字シフトアウト状態で完結するようにしますが、漢字シフトアウトコードだけが出力できない場合に限り、漢字シ

フトイン状態で完結します。

(注1) UTF-32では、以下のデータを空白として扱います。

エンディアン 文字の位置 末尾の文字の長さ 空白として扱うデータ

ビッグエンディアン 末尾 1バイト {0x00}

2バイト {0x00, 0x00}

3バイト {0x00, 0x00, 0x00}

4バイト {0x00, 0x00, 0x30, 0x00}

末尾以外 - {0x00, 0x00, 0x30, 0x00}

リトルエンディアン 末尾 1バイト {0x00}

2バイト {0x00, 0x00}

3バイト {0x00, 0x00, 0x00}

4バイト {0x00, 0x30, 0x00, 0x00}

末尾以外 - {0x00, 0x30, 0x00, 0x00}

末尾の文字の長さが4バイト未満の場合、すべてのバイトが 終詰め文字(0x00)のデータを空白として扱います。

JEFの漢字シフトインコードについて

変換先がJEFの場合、漢字シフトインコードは、常に0x28となります。変換先項目がX属性の場合には、必要に応じて漢字シフトコード

を付加します。変換先項目がK属性の場合には、漢字シフトコードは付加しません。

変換元がJEFの場合、漢字シフトインコードは、0x28/0x38のどちらでもかまいません (dbcs90では0x0eだけなので問題ありません)。変換元項目がX属性の場合には、漢字シフトコードが含まれていることを前提に処理します。漢字シフトコードが含まれていないと結果は

不定です。変換元項目がK属性の場合には、漢字シフトコードが含まれていないことを前提に処理します。漢字シフトコードが含まれ

ていると結果は不定です。

文字コード変換モジュール

文字コード変換機能は、内蔵している「標準コード変換」(iconv)を使用しており、その仕様に従います。また、Formatmanagerの動作す

るマシンにInterstage Charset Managerがインストールされていて、かつFEDITシステムパラメタ定義ファイルのUseCharsetManager定義

文に“TRUE”が指定されている場合には、そちらの標準コード変換が使用されます。Charset Manager 6.0/V6.0L10以降の標準コード

変換に対応しています。なお、内蔵している標準コード変換では、文字コード変換表が使用できないため、規定されたコード範囲外の

- 180 -

文字(外字)の変換はできません。標準コード変換の詳細は、Interstage Charset Managerのマニュアルを参照してください。また、FEDITシステムパラメタ定義ファイルについては、“ISI 導入ガイド”の“FEDITシステムパラメタ定義ファイルの変更” または“ISI Java EE導入

ガイド”の“FEDITシステムパラメタ定義ファイルの変更”を参照してください。

標準コード変換におけるコード変換仕様は、環境変数ICONV_CONVERT_TYPEの指定に従います。dbcs90・KEIS・JIPS(E)とEUCとの変換におけるEUCコードの種別は、標準コード変換における“S90”相当に固定です。また、dbcs90・KEIS・JIPS(E)とシフトJISとの変

換におけるシフトJISコードの種別は、標準コード変換における“SJISMS”相当に固定です。

本バージョンからの標準コード変換を使用した変換規則と、従来バージョンのFormatmanager独自の変換規則は異なります。異なる点

を、以下に示します。

[標準コード変換とFormatmanager独自変換規則の違い]

・ 1バイトコード系の変換規則 (標準コード変換:標準コード変換の変換規則、Formatmanager:F6680準拠)

・ 1バイトコード系の制御コード (標準コード変換:制御コードあり、Formatmanager:制御コードなし)

・ 変換不可能置換文字 (置き換わる文字については“代替文字について”を参照してください。)

これらの変換規則を切り換えたい場合は、FEDITシステムパラメタ定義ファイルで変更することができます(デフォルトは標準コード変換

です)。FEDITシステムパラメタ定義ファイルについては、“ISI 導入ガイド”の“FEDITシステムパラメタ定義ファイルの変更” または“ISIJava EE導入ガイド”の“FEDITシステムパラメタ定義ファイルの変更”を参照してください。

代替文字について

文字コード変換できない文字が入力された場合の置き換え文字については、“表6.37 文字コード変換ルールにおける代替文字”を参

照してください。FEDITシステムパラメタ定義ファイルのCharCodeConversionRule定義文に定義した値により動作が異なります。FEDITシステムパラメタ定義ファイルについては、“ISI 導入ガイド”の“FEDITシステムパラメタ定義ファイルの変更” または“ISI Java EE導入

ガイド”の“FEDITシステムパラメタ定義ファイルの変更”を参照してください。

表6.37 文字コード変換ルールにおける代替文字

CharCodeConversionRuleにCOMPATIBLE または

MODE1を指定した場合

CharCodeConversionRuleにSTANDARD または

MODE2を指定した場合

CharCodeConversionRuleにMODE3を指定した場合

X属性項目の代替文字 半角空白または全角空白 標準コード変換のデフォルト動

作(半角アンダースコアまたは

全角アンダースコア)

半角アンダースコアまたは全角

アンダースコア

K属性項目の代替文字 全角空白 全角空白 全角アンダースコア

混在フォーマットの文字コード変換

1つの入力ファイルに複数のフォーマットが混在するデータ(混在フォーマット)も文字コード変換ができます。混在フォーマットの文字

コード変換では、入力データを異なる一般フォーマットが複数連なっている形式として扱い、それぞれの一般フォーマットに対して、文

字コード変換を行います。そのため、入力レコードと出力レコードは文字コードが異なるだけで、出現順序は同じになります。

各レコードには、それぞれのレコードを識別する“識別子”を定義します。その識別子の値に応じて一般フォーマットが識別され、文字

コード変換が行われます。

- 181 -

図6.45 混在フォーマット 文字コード変換の例

混在フォーマットの文字コード変換は、[混在フォーマット 文字コード変換]画面で、各レコードの識別子を定義して混在フォーマットIDを定義し、[運用登録]画面で混在フォーマットIDを指定することで実行することができます。

文字種ポリシーチェック

システムによっては、使用している文字コードの中でも、さらに使用できる文字の範囲を限定したい場合があります。例えば、「Unicodeでシステムを運用しているが、半角カナは使用不可とする」といった場合です。Formatmanagerの文字コード変換では、Interstage CharsetManager V8.2.0以降のCharset Validator機能を使用して、あらかじめ定義されたバリデーションポリシーに違反した文字を遮断できま

す。文字種ポリシーチェックは文字コードの変換のタイミングで行います。

文字種ポリシーチェック機能の利用に必要な定義や操作を、以下に示します。

[文字種ポリシーチェック機能の利用]

・ Formatmanagerが動作するマシンに、Interstage Charset Managerをインストールし、Charset Validator機能を利用可能にします。

・ Interstage Charset Managerの機能でバリデーションポリシーファイルを作成します。バリデーションポリシーファイルは、C言語用の

コマンドで作成してください。詳細は、Interstage Charset Managerのマニュアルを参照してください。

・ 作成したバリデーションポリシーファイルをFormatmanagerが動作するマシンに配置します。バリデーションポリシーファイルの配置

方法は、“ISI 運用ガイド”の“バリデーションポリシーファイルの配置” または“ISI Java EE運用ガイド”の“バリデーションポリシー

ファイルの配置”を参照してください。

・ Formatmanagerクライアントを使用し、文字種ポリシー登録(文字種ポリシーIDの作成)、および一般フォーマット登録(文字種ポリ

シーチェックを行う項目に文字種ポリシーIDを設定)を行います。設定方法の詳細は、“ISI Formatmanagerクライアント(FEDIT/FL-TABLE)ヘルプ”を参照してください。

ポイント

・ 文字種ポリシーチェック機能は、X属性、またはK属性の項目に対してだけ実行できます。

・ バリデーションポリシー違反を検出した場合、処理を中断するか、代替文字に置き換えて処理を続行するかを選択できます。

・ シフトコードを持つ文字コード系をチェックすることはできません。

・ 文字種ポリシーチェック機能は、文字コード変換ルールが標準コード変換、または高速コード変換時だけ実行できます。

6.8.2 CSV変換

CSV変換は、CSVファイルに格納されたデータをFormatmanagerの入力データとして使用したいとき、またはFormatmanagerの出力デー

タをCSVファイルに格納したいときに使用します。

CSVファイルは、「カンマ区切り」、および「タブ区切り」をサポートしています。

- 182 -

カンマ区切りCSVファイル例

11.1,"Formatmanager",1234567890,1234,"あいうえお"

タブ区切りのCSVファイル例

11.1 "Formatmanager" 1234567890 1234 "あいうえお"

変換できるパターンは以下の表のとおりです。

フラットファイル→CSV(カンマ区切り)

CSV(カンマ区切り)→フラットファイル

フラットファイル→CSV(タブ区切り)

CSV(タブ区切り)→フラットファイル

ポイント

「フラットファイル」とは、全フォーマット形式(一般フォーマット、複数一般フォーマット、伝票形式フォーマット、行終端可変長フォーマッ

ト、繰返し数指定可変長フォーマット)の総称です。

フォーマット形式ごとの変換規則を以下に示します。

表6.38 フォーマット形式ごとの変換規則

フォーマット フラットファイル-CSVファイルの変換規則

一般フォーマット フラットファイル1レコードごとに、CSVファイル1行(改行)

複数一般フォーマット フラットファイル1レコードごとに、CSVファイル1行(改行)

伝票形式フォーマット フラットファイルのフォーマットが変わるたびに、CSVファイル1行(改行)→ヘッダレコードで1行、

明細レコードで1行、…とカウント

行終端可変長フォーマット フラットファイル1レコード(ヘッダ部+明細部)ごとに、CSVファイル1行(改行)

繰返し数指定可変長フォーマット フラットファイル1レコード(ヘッダ部+明細部)ごとに、CSVファイル1行(改行)

さらに、フラットファイルの各属性が、CSVファイル上で、どう変換されるかを以下の表で示します。

表6.39 属性ごとのCSVファイル上の表記方法

属性 CSVファイル上の表記方法

X属性 “"”(ダブルクォーテーション)を前後に付加する。末尾の空白はカットする。

K属性 “"”(ダブルクォーテーション)を前後に付加する。末尾の空白はカットする。

B属性 10進数文字列(※)

H属性 “0x” + 16進数文字列(※)

N属性 先頭の空白をカットする。

9属性 N属性と同等の表記

C属性 “"”(ダブルクォーテーション)を前後に付加する。先頭の空白をカットする。

P属性 N属性と同等の表記

B属性、およびH属性を含むデータは、ワーニングが出力されます。

上記のダブルクォーテーションについては、任意の1バイト記号に変更することも可能です。

フラットファイル→CSVファイルの変換では、X属性、K属性、C属性の値は、“"”(ダブルクォーテーション)が先頭と末尾に付加されます。

CSVファイル→フラットファイルの変換では、項目の値は、“"”(ダブルクォーテーション)でくくられていてもいなくてもかまいません。

- 183 -

また、この括り文字は、Formatmanagerクライアントの[運用登録]画面の[CSV括り文字]項目に指定することで、ダブルクォーテーション

以外の任意の文字(カンマ以外の記号文字)に変更することができます。

X属性のデータ内にカンマ文字がある場合は、そのカンマ文字を置き換えて入出力することができます。置き換える文字はFormatmanagerクライアントの[運用登録]画面の[カンマ置換文字]項目で、[CSV括り文字]で指定されている文字を除く記号文字を指定できます。

ポイント

・ 伝票形式フォーマットを構成する各レコードの判断条件は、同じ項目番号の項目の、先頭から始まり、同じ長さで、同じ属性である

必要があります。また、項目をまたがることはできません。

・ X属性、K属性、C属性は“"”(ダブルクォーテーション)で囲まれます。また、Formatmanagerクライアントの[運用登録]画面の[CSV括り文字付加]項目、または、FEDITシステムパラメタ定義ファイルの“AddDoubleQuotationforCSV”を変更することにより、ダブル

クォーテーションで囲まないようにもできます。FEDITシステムパラメタ定義ファイルについては、“ISI 導入ガイド”の“FEDITシステ

ムパラメタ定義ファイルの変更” または“ISI Java EE導入ガイド”の“FEDITシステムパラメタ定義ファイルの変更”を参照してくださ

い。

・ X属性の値の中に“"”(ダブルクォーテーション)がある場合は、“"”(ダブルクォーテーション)をさらに1つ付加します。(2つ連続します。)例) AB"CD →"AB""CD"

・ 上記のダブルクォーテーションの括り文字の説明については、運用登録の設定で任意の1バイト記号に変更した場合でも同様で

す。任意の1バイト記号への変更は、Formatmanagerクライアントで設定します。設定方法については“ISI Formatmanagerクライア

ント(FEDIT/FL-TABLE)ヘルプ”を参照してください。

登録方法

[運用情報登録(CSV変換)]画面で、以下の内容を設定します。

・ ファイル種別

・ フォーマットID

・ 変換元形式(FLAT、CSV)

・ 変換先形式(FLAT、CSV)

・ CSV括り文字

・ カンマ置換文字

・ 末尾空白の保持

・ CSV括り文字付加

設定方法の詳細は、“ ISI Formatmanagerクライアント(FEDIT/FL-TABLE)ヘルプ”、および“ ISI Formatmanagerクライアント

(FEDIT/FL-TABLE)チュートリアル”を参照してください。

6.8.3 ファイル抽出

ファイル抽出は、複数のデータ(レコード、伝票)の中から、条件に一致するデータ(一般フォーマット、複数一般フォーマット、行終端可

変長フォーマット、繰返し数指定可変長フォーマットは1レコード単位、伝票形式フォーマットはファイルヘッダからファイルトレーラま

で)を、抽出する機能です。また、条件と不一致の伝票も別に抽出できます。

複数の項目に対して、「等しい」、「等しくない」、「以上」、「以下」、「より大きい」、「未満」の条件が設定できます。

- 184 -

図6.46 ファイル抽出

条件の指定方法には、何度実行しても常に同じ条件を指定する方法と、実行ごとに条件を変える方法の2種類があります。

常に同じ条件を指定する方法は、条件をFormatmanagerクライアントで指定し、変換テーブルとしてサーバに転送する方法です。

実行ごとに条件を変える方法は、条件をFormatmanagerクライアントで指定する際に、条件に「@RUN-TIME SPECIFICATION(実行

時指定)」と指定しておき、処理IDを定義する際に、その部分の条件を指定する方法です。処理IDを使い分けることにより、条件を変更

することが可能になります。

ポイント

・ 伝票形式フォーマットは、ファイルヘッダの項目だけに条件を指定できます。

・ 行終端可変長フォーマット、繰返し数指定可変長フォーマットは、ヘッダ部の項目だけに条件を指定できます。

登録方法

[ファイル抽出情報登録]画面で、以下の内容を設定します。

・ 抽出ID

・ ファイル形式選択

・ フラットID/複数一般ID/伝票形式ID/可変長ID

・ 値・判断条件

ファイル抽出を行うデータのフォーマット形式とそれぞれのIDを選択後、どの項目(フィールド)を抽出条件に指定するかを選択します。

その項目の値と判断方法を指定することにより、その条件に合致したレコード(伝票)が、ファイル抽出の対象となります。

1つのファイル抽出情報の登録を「抽出ID」で管理します。

- 185 -

図6.47 ファイル抽出条件の登録

「条件」の指定で、「@RUN-TIME SPECIFICATION」(実行時指定)を指定したときは、「運用登録」で「実行時指定」を選択し、「条件・

判断」を同様に入力します。

設定方法の詳細は、“ ISI Formatmanagerクライアント(FEDIT/FL-TABLE)ヘルプ”、および“ ISI Formatmanagerクライアント

(FEDIT/FL-TABLE)チュートリアル”を参照してください。

6.8.4 レイアウト調整

Formatmanagerは、“6.1 ユーザ固有フォーマットについて”で説明したフォーマットをサポートしています。

しかし、利用者のフォーマットは多種多様で、これらのフォーマットに一致しないことがあります。

レイアウト調整は、若干異なる利用者のレイアウト(利用者レイアウト)をFormatmanagerで扱える形式に変換します。

図6.48 レイアウト調整

レイアウト調整では、 初に調整する機能の選択を行います。

レイアウト調整には、以下の種類があります。

・ 集団項目-明細レコード調整

・ 可変長レコード-固定長レコード調整

・ 繰返し回数(不定-固定)調整

- 186 -

・ 繰返し回数不定-行終端可変長調整

・ パディングレコード調整

・ 文字コード変換(フォーマット指定なし)

・ ヘッダの定量間隔挿入・削除

1つのレイアウト調整の登録を「レイアウト調整ID」で管理します。

また、逆変換 (フォーマット変換が可能なレイアウトから、直接フォーマット変換できないレイアウトへの変換)も可能です。

集団項目-明細レコード調整

伝票形式フォーマットに類似した、明細部の中に繰り返す集団項目をもつ利用者レイアウトに対して、その繰返しごとに1レコードを作

成して、伝票形式フォーマットに変換します。

図6.49 集団項目-明細レコード調整

補正のために付加されている「FILLER」も削除します。

逆変換も可能です。

ポイント

・ 伝票形式フォーマットは、ヘッダレコード(ファイルヘッダ)+明細レコード(1種類)だけで構成されている場合に限ります。(トレーラレ

コードがある場合は対象外です)

・ 利用者レイアウトのレコードには、以下の制限があります。

- 集団項目の中にフィールドが必ず1つ以上存在する。

- FILLER内は空白だけである。

- FILLERは集団項目より前方に位置することはない。

・ 利用者レイアウトに集団項目より後方に繰返しがないフィールドがある場合、変換後、明細レコード内の後方に転記します。

登録方法

[集団項目-明細レコード調整]画面で、以下の内容を設定します。

・ レイアウト調整ID

- 187 -

・ レコード情報

- 判断位置

- 桁数

・ ヘッダレコード

- レコード長

- 判断条件文字列

・ 明細レコード

- レコード長

- 判断条件文字列

- 繰返し開始位置

- 繰返し桁数

レイアウト調整をする伝票形式フォーマットの情報と、繰返しに関する情報を登録します。設定方法の詳細は、“ISI Formatmanagerクライアント(FEDIT/FL-TABLE)ヘルプ”を参照してください。

図6.50 集団項目-明細レコード調整の登録

可変長レコード-固定長レコード調整

レコードの 終バイトを終端文字(下図ではNULL)で識別する利用者レイアウトに対して、末尾に空白を埋めて桁をそろえ、一般フォー

マットにします。

- 188 -

図6.51 可変長レコード-固定長レコード調整

指定したレコード長になるまで空白を埋めます。

逆変換も可能です。

ポイント

・ 終端文字はHEX文字で指定することができます。指定可能な終端文字は以下です。

- @HEX()形式による1バイトまたは2バイトの文字コード指定

- CRLF

- LF

- SPACE

・ 指定したレコード長になるまで空白を埋めます。(レコード長を指定可能。空白文字は文字コードに合わせます)

登録方法

[可変長レコード-固定長レコード]画面で、以下の内容を設定します。

・ レイアウト調整ID

・ 固定レコード情報

- 固定レコード長

・ 可変レコード情報

- レコード終端文字

レイアウト調整をする固定長レコードのレコード長と、可変長レコードの終端文字を登録します。設定方法の詳細は、“ISI Formatmanagerクライアント(FEDIT/FL-TABLE)ヘルプ”を参照してください。

図6.52 可変長レコード-固定長レコード調整の登録

- 189 -

繰返し回数(不定-固定)調整

IDocのように、繰返し回数が不定となる集団項目がある利用者レイアウトに対し、指定した繰返し回数になるまで空白を埋めて固定長

にして、一般フォーマットの形式になるように調整します。

図6.53 繰返し回数(不定-固定)調整

図のE2EDK14は、 小繰返し数が0で、 大繰返し数が4です。

つまり、 小繰返し数と 大繰返し数が不一致の箇所が、繰返し回数が不定であることを示しています。

FEDITで変換するためには、この繰返し回数を固定にする必要があります。

実際のデータは、データごとに繰返し回数が異なりますが、調整して繰返し回数を固定にする必要があります。その方法はたとえデー

タが1回しかなくても(0回でも)、 大繰返し回数分まで空白を埋めるというものです。通常 大繰返し数まで空白を設定すればよいの

ですが、99や99999など 大繰返し数が大きい場合は、むだにディスク容量を使用しないようにできるだけ「現実にあり得る回数」を指

定します。(実際には 大20回なのに、50と 大繰返し数を定義している場合は、20回にする)。「想定される 大」を採用します。

上図の“E2EDKxx”の部分(1行)はそれぞれ固定長のグループデータです。グループデータの先頭に識別文字“E2EDKxx”がありま

す。空白を埋める際には、グループデータの一部分(先頭以外でも可能)に識別文字を付加します。

逆変換も可能です。

ポイント

・ 集団項目が階層になっていても問題はありません。

- 190 -

・ 集団項目の終端の改行の有無を選択することができます。

・ 集団項目の後方に空白パディングがされているか否かを指定でき、パディングされているときは、空白をカットします。

・ 集団項目の子(1階層下)が集団項目だけでもかまいません。しかし集団項目とフィールドが混在してはいけません。

・ 文字コードはJIS8/シフトJIS、JIS7/EUCだけです。

・ 以下の留意事項に注意してください。

- 集団項目の中は固定長である。または、子が集団項目だけである。

- データが存在する集団項目には識別文字が必ず設定されている。

- データ上、識別文字が同一の集団項目が連続する場合に「繰返し」と判断する。

- 繰返し回数は、 小繰返し数と 大繰返し数の間の値でなければならない。

- 実際のデータが繰返し回数よりも大きい場合は、カットして、ワーニングを出力する。

登録方法

[繰返し回数(不定-固定)調整]画面で、以下の内容を設定します。

・ レイアウト調整ID

・ 判断位置、桁数

・ 改行の有無

・ 識別文字列

・ 空白付きグループ桁数

・ 小繰返し数

・ 大繰返し数

主に、繰返し数が不定側のレコードについての情報を登録します。設定方法の詳細は、“ISI Formatmanagerクライアント(FEDIT/FL-TABLE)ヘルプ”を参照してください。

図6.54 繰返し回数(不定-固定)調整の登録

- 191 -

繰返し回数不定-行終端可変長調整

繰返し回数(不定-固定)調整と同様なケースで、繰返し回数がどうしても1箇所だけ不定の部分がある利用者レイアウトを行終端可変

長フォーマットに変換します。

図6.55 繰返し回数不定-行終端可変長調整

行終端可変長フォーマットの場合、明細部は繰返し回数を不定にすることができるので、このルールが活用できます。行終端可変長

フォーマットの「明細部は 後にある」、また「 後に行終端文字が必要」、という問題がありますが、これを「レイアウト調整」の「繰返し

回数不定-行終端可変長」が解消します。

繰返し回数が不定である箇所が 後にない場合でも 後尾に移動し、さらに改行を付加することによって、行終端可変長フォーマッ

トにします。

逆変換も可能です。

ポイント

・ 集団項目が階層になっていても問題はありません。

・ 集団項目の終端の改行の有無を選択することができます。

・ 集団項目の後方に空白パディングがされているか否かを指定でき、パディングされているときは、空白をカットします。

・ 集団項目の子(1階層下)が集団項目だけでもかまいません。しかし集団項目とフィールドが混在してはいけません。

・ 文字コードはJIS8/シフトJIS、JIS7/EUCだけです。

・ 以下の留意事項に注意してください。

- 集団項目の中は固定長である。または、子が集団項目だけである。

- データが存在する集団項目には識別文字が必ず設定されている。

- データ上、識別文字が同一の集団項目が連続する場合に「繰返し」と判断する。

- 明細部を除き、繰返し回数は、 小繰返し数と 大繰返し数の間の値でなければならない。

- 実際のデータが繰返し回数よりも大きい場合は、カットして、ワーニングを出力する。

- 192 -

登録方法

[繰返し回数不定-行終端可変長調整]画面で、以下の内容を設定します。

・ レイアウト調整ID

・ 判断位置、桁数

・ 改行の有無

・ 識別文字列

・ 空白付きグループ桁数

・ 出現順番

・ 小繰返し数

・ 大繰返し数

主に、繰返し数が不定側のレコードについての情報を登録します。“繰返し回数(不定-固定)調整”で登録した内容に加えて、行終端

可変長フォーマットの明細部にあたる集団項目の順番を変更します。設定方法の詳細は、“ISI Formatmanagerクライアント(FEDIT/FL-TABLE)ヘルプ”を参照してください。

図6.56 繰返し回数不定-行終端可変長調整の登録

パディングレコード調整

入力データのブロック長の調整を行います。

必要な場合には、全体データ長が指定されたブロック長の倍数になるよう、ヘッダレコード単位にパディングレコード(すべて1バイト空

白文字のレコード)の挿入、削除を行います。

- 193 -

図6.57 パディングレコード調整

ヘッダレコードと明細レコードのレコード長は異なっていてもかまいません。ただし、ヘッダレコード長は、明細レコード長の倍数である

必要があります。

登録方法

[パディングレコード調整]画面で、以下の内容を設定します。

・ レイアウト調整ID

・ レコード情報

- ヘッダレコード長

- ヘッダ配下のレコード長

- 判断位置

- 判断桁数

- ヘッダレコードの判断条件文字列

・ 伝票1情報

- ブロック長

- パディングレコードの位置

・ 伝票2情報

- ブロック長

- パディングレコードの位置

レイアウト調整をする2つのフォーマットの情報を登録します。設定方法の詳細は、“ISI Formatmanagerクライアント(FEDIT/FL-TABLE)ヘルプ”を参照してください。

- 194 -

図6.58 パディングレコード調整

文字コード変換(フォーマット指定なし)

フォーマット指定なしで文字コード変換を行います。また、特定文字列の置換も行えます。

図6.59 文字コード変換(フォーマット指定なし)

登録方法

[文字コード変換(フォーマット指定なし)]画面で、以下の内容を設定します。

- 195 -

・ レイアウト調整ID

・ 変換モード

- 変換元の文字コード

- 変換先の文字コード

・ 検索文字列

・ 置換文字列

・ 文字列置換時の動作

- 「シフトアウトコードを挿入する」または「シフトアウトコードを挿入しない」

設定方法の詳細は、“ISI Formatmanagerクライアント(FEDIT/FL-TABLE)ヘルプ”を参照してください。

ポイント

・ 変換先の文字コードを“(文字コード変換なし)”とすることで、文字コード変換せずに特定文字列の置換だけをすることができます。

・ 本機能は、FEDITシステムパラメタ定義ファイルの“CharCodeConversionRule”に“MODE3”を指定している場合に使用できます。

FEDITシステムパラメタ定義ファイルについては、“ISI 導入ガイド”の“FEDITシステムパラメタ定義ファイルの変更”または“ISI JavaEE導入ガイド”の“FEDITシステムパラメタ定義ファイルの変更”を参照してください。

ヘッダの定量間隔挿入・削除

ヘッダレコードの挿入や削除を行います。

先頭にしかないヘッダレコードを、明細レコードと明細レコードの間に定量間隔で挿入します。また、削除もできます。

ヘッダの挿入時には、ヘッダの挿入順序を示すシーケンス番号や、挿入途中のヘッダか 後に挿入されたヘッダかを識別できる文字

を書込むことができます。

空レコード(すべてデフォルト値で構成されているレコード)を、削除または追加することができます。

繰返し数指定可変長フォーマットや短縮FLATファイル形式を入力とし、明細部の件数を示すフィールドを、削除または追加することが

できます。

- 196 -

図6.60 ヘッダの定量間隔挿入・削除

登録方法

[ヘッダの定量間隔挿入・削除]画面で、以下の内容を設定します。

・ レイアウト調整ID

・ レイアウト情報[ヘッダ部]

- フラットID

- 挿入・削除対象となるヘッダレコードの選択

- 「シーケンス番号設定」の選択

- 「 終ヘッダレコードの識別文字設定」の選択

・ レイアウト情報[明細部]

- フラットID

・ 挿入・削除方法

- 「指定サイズ毎(ヘッダサイズを含む)」または「指定明細件数毎(ヘッダは含まず)」

- 「ヘッダ挿入・削除時に空レコードの調整を行う」の選択

- 「明細部の繰返し回数フィールドを削除・挿入する」の選択

・ 文字コード変換方法

- 変換モード

- データ長

- B属性項目のエンディアン交換

設定方法の詳細は、“ISI Formatmanagerクライアント(FEDIT/FL-TABLE)ヘルプ”を参照してください。

- 197 -

ポイント

・ ヘッダ部のフラットIDは、1~5個の範囲で指定できます。

・ ヘッダ部の挿入・削除対象は 低1個以上の指定が必要です。

・ ヘッダ部の「 終ヘッダレコードの識別文字設定」で指定する「継続識別文字」、および「 終識別文字」は、識別文字設定フィー

ルドに格納可能な範囲で文字列を指定します。

・ 挿入削除方法で「指定サイズ毎」を指定した場合、サイズは、ヘッダ部の全体長または挿入・削除対象ヘッダ+明細長の長い方~

99999バイトの範囲で指定します。なお、ここで指定するサイズは、ヘッダ挿入済みデータ側のデータ長の指定 (「標準」または「拡

張」) に依存します。

・ 挿入削除方法で「指定明細件数毎」を指定した場合、件数は、1~999の範囲で指定できます。

・ 「ヘッダ挿入・削除時に空レコードの調整を行う」を選択した場合、ヘッダレコード挿入時には、空レコードを自動的に削除します。

ヘッダレコード削除時は、ヘッダ削除時の調整方法でデータ長を指定した場合は、全体のバイト数が指定したデータ長になるまで

空レコードを詰めるか、明細件数を指定した場合は、指定した明細件数になるまで空レコードを詰めます。

・ 繰返し数指定可変長フォーマットと短縮FLATファイル形式のヘッダレコードの挿入・削除を行った場合、ヘッダ挿入時は自動的

に繰返し回数フィールドを削除し、ヘッダ削除時は自動的に繰返し回数フィールドの追加と明細件数の書込みを行います。

6.9 XML文書のフォーマット変換

ここでは、XML文書のフォーマット変換について説明します。

Formatmanagerは、Formatmanagerクライアントで生成された変換テーブルを参照して、XML文書とユーザ固有フォーマットとの相互変

換を行います。フォーマット変換時に指定されたフラットID/複数一般ID/伝票形式ID/可変長IDを変換テーブルから検索し、ユーザ固

有フォーマットとXML文書の対応を決定します。これに従って変換が実行されます。

図6.61 ユーザ固有フォーマットとXML文書の対応

Formatmanagerクライアントの「一般フォーマット登録」で登録した「フラット名称」がXML文書のルート要素名(ルートタグ名)に、「XML属性フィールド」がチェックされていないそれぞれの「フィールド名」がXML文書の要素名(タグ名)に、「XML属性フィールド」がチェッ

- 198 -

クされている「フィールド名」がXMLタグ内の属性名に、「XML属性(固定値)」がXMLタグ内の属性名と属性値に対応します。ユーザ

固有フォーマットの実際のデータは、XML文書の要素、または属性値に対応します。

内部サブセットのDTDをもつXML文書(DTD)を出力する場合には、「一般フォーマット登録」で登録したレイアウト情報に対応するDTDが、XML文書の内部DTDとして出力されます。

XML文書(Schema)を出力する場合には、Formatmanagerクライアントの「一般フォーマット登録」で登録した「XML Schema情報」がルー

ト要素のXML属性として出力され、「接頭辞」が要素名の前に名前空間接頭辞として出力されます。

複数のレコードは、フラットID/複数一般ID/伝票形式ID/可変長IDに定義された項目群を1レコードとして、その項目群が複数回現れる

ことで表現されます。Formatmanagerでは基本的に1レコードのXML文書を扱いますが、上図では例として2レコードを含むXML文書

を示しています。

表6.40 一般フォーマットの場合のフォーマット定義とXML文書との対応

Formatmanagerクライアントの

入力内容

XML文書(DTD)の値 XML文書(Schema)の値

DTD部 XMLインスタンス部 XML Schema参照部 XMLインスタンス部

フラット名称 文書型宣言

(DOCTYPE宣言)のルート要素名

ルート要素名 - ルート要素名

XML Schema情報

名前空間未

指定時の

XMLSchemaファ

イル名

- - xsi:noNamespaceSchemaLocation属性と属

性値

名前空間

URI- - 名前空間の宣言 -

接頭辞 - - 名前空間の宣言 -

XMLSchemaファ

イル名

- - xsi:schemaLocation属性と属性値

フィールド名 XML属性

フィールド:

OFF

要素名 要素名 - 要素名

XML属性

フィールド:

ON

XML属性名 XML属性名 - XML属性名

接頭辞 - - - 要素名に付く名前空間

接頭辞名

XML属性(固定値) 属性リスト宣言

(ATTLIST宣言)のXML属性名

XML属性名と属性値 - XML属性名と属性値

属性が集団項目ヘッダのときの

フィールド名

要素型宣言の要素名 要素名(通常のフィー

ルド名の1階層上位)- 要素名(通常のフィー

ルド名の1階層上位)

-:対応しない項目

表6.41 複数一般フォーマットの場合のフォーマット定義とXML文書との対応

Formatmanagerクライアントの

入力内容

XML文書(DTD)の値 XML文書(Schema)の値

DTD部 XMLインスタンス部 XML Schema参照部 XMLインスタンス部

複数一般名称 文書型宣言のルート要

素名

ルート要素名(1階層

目)- ルート要素名(1階層

目)

XML Schema情報

名前空間未

指定時の

XML

- - xsi:noNamespaceSchemaLocation属性と属

性値

- 199 -

Formatmanagerクライアントの

入力内容

XML文書(DTD)の値 XML文書(Schema)の値

DTD部 XMLインスタンス部 XML Schema参照部 XMLインスタンス部

Schemaファ

イル名

名前空間

URI- - 名前空間の宣言 -

接頭辞 - - 名前空間の宣言 -

XMLSchemaファ

イル名

- - xsi:schemaLocation属性と属性値

フラット名称 要素型宣言の要素名 要素名 - 要素名

XML属性(固定値) 属性リスト宣言の属性

XML属性名と属性値 - XML属性名と属性値

-:対応しない項目

表6.42 伝票形式フォーマットの場合のフォーマット定義とXML文書との対応

Formatmanagerクライアントの

入力内容

XML文書(DTD)の値 XML文書(Schema)の値

DTD部 XMLインスタンス部 XML Schema参照部 XMLインスタンス部

伝票形式名称 文書型宣言のルート要

素名

ルート要素名(1階層

目)- ルート要素名(1階層

目)

XML Schema情報

名前空間未

指定時の

XMLSchemaファ

イル名

- - xsi:noNamespaceSchemaLocation属性と属

性値

名前空間

URI- - 名前空間の宣言 -

接頭辞 - - 名前空間の宣言 -

XMLSchemaファ

イル名

- - xsi:schemaLocation属性と属性値

フラット名称 要素型宣言の要素名 要素名 - 要素名

XML属性(固定値) 属性リスト宣言の属性

XML属性名と属性値 - XML属性名と属性値

-:対応しない項目

表6.43 行終端可変長フォーマットの場合のフォーマット定義とXML文書との対応

Formatmanagerクライアントの

入力内容

XML文書(DTD)の値 XML文書(Schema)の値

DTD部 XMLインスタンス部 XMLインスタンス部 XMLインスタンス部

可変長名称 文書型宣言のルート

要素名

ルート要素名 - ルート要素名

XML Schema情報

名前空間未

指定時の

XMLSchemaファ

イル名

- - xsi:noNamespaceSchemaLocation属性と

属性値

名前空間

URI- - 名前空間の宣言 -

- 200 -

Formatmanagerクライアントの

入力内容

XML文書(DTD)の値 XML文書(Schema)の値

DTD部 XMLインスタンス部 XMLインスタンス部 XMLインスタンス部

接頭辞 - - 名前空間の宣言 -

XMLSchemaファ

イル名

- - xsi:schemaLocation属性と属性値

フラット名称 要素型宣言の要素名 要素名 - 要素名

XML属性(固定値) 属性リスト宣言の属性

XML属性名と属性

- XML属性名と属性値

-:対応しない項目

ポイント

・ フィールド名、フラット名称、複数一般名称、伝票形式名称、可変長名称には、同一名称を指定できません。

・ フォーマット変換時には、内部サブセット、外部サブセットを問わず、DTDは参照されません。また、XML Schema文書も参照され

ません。変換時には変換テーブルが参照されます。

・ XML変換を行う場合には、XML規約で許されていない文字を以下に使用することはできません。

- フィールド名

- フラット名称

- 複数一般名称

- 伝票形式名称

- 可変長名称

- XML属性(固定値)

- XML Schema情報

- 接頭辞

6.9.1 属性の変換ルール

ユーザ固有フォーマットとXML文書間におけるフォーマット変換は、属性ごとに以下のルールに従って行われます。

X属性、K属性、N属性、C属性に対しては、カットする文字(トリミング文字)、詰める文字(パディング文字)を変更できます。

X属性、N属性、C属性のデフォルトのトリミング文字、およびパディング文字は半角空白です。K属性のデフォルトのトリミング文字、お

よびパディング文字は全角空白です。

トリミング文字、およびパディング文字を変更する場合は、Formatmanagerクライアントにおける[運用登録]画面で、“トリミング文字”また

は“パディング文字”を指定してください。

表6.44 ユーザ固有フォーマットとXML文書間の各属性の変換ルール

属性 ユーザ固有フォーマットからXML文書への変換

XML文書からユーザ固有フォー

マットへの変換

符号の扱い 小数点の扱い

X 設定されている文字列の後方

の空白をカットして出力します。

設定されている文字列の後方

に桁数いっぱいまで空白を詰

めて出力します。

- -

K 設定されている2バイト文字の

後方の空白をカットして出力し

ます。

設定されている2バイト文字の

後方に桁数いっぱいまで全角

空白を詰めて出力します。

- -

B 設定されている値を2進数表現

にして出力します。

設定されている値を16進数に

して出力します。

双方とも1の補数で表現

します。

- 201 -

属性 ユーザ固有フォーマットからXML文書への変換

XML文書からユーザ固有フォー

マットへの変換

符号の扱い 小数点の扱い

H 設定されている値の先頭に

“0x”を付けて、16進数表現に

して出力します。

設定されている値の先頭の

“0x”をカットして、16進数のま

ま出力します。

- -

N 設定されている数値の先頭の

空白をカットして出力します。

設定されている数値の先頭に

桁数いっぱいまで空白を詰め

て出力します。

双方とも先頭に“-”が付

加されます。

双方とも明示的に小数

点を表現します。

9 設定されている数値を10進数

に変換後、先頭の“0”をカット

して出力します。

設定されている数値をゾーン

10進数に変換後、先頭に桁数

いっぱいまで“0”を詰めて出力

します。

XML文書では、先頭

に“-”が付加されます。

XML文書では、明示的

に小数点を表現します。

C 設定されている数値の先頭の

空白をカットして出力します。

設定されている数値の先頭に

桁数いっぱいまで空白を詰め

て出力します。

双方とも先頭に“-”が付

加されます。

双方とも明示的に小数

点を表現します。

P 設定されている数値を10進数

に変換後、先頭の“0”をカット

して出力します。

設定されている数値をパック10進数に変換後、先頭に桁数

いっぱいまで“0”を詰めて出力

します。

XML文書では、先頭

に“-”が付加されます。

XML文書では、明示的

に小数点を表現します。

-:対応しない項目

表6.45 変換例

属性 ユーザ固有フォーマットの値 XML文書(DTD)の値

X ABC□ <項目>ABC</項目>

K 富士通■■ <項目>富士通</項目>

B (0000010011010010) <項目>00000100 11010010</項目>

H 0x04D2 <項目>0x04D2</項目>

N □1234 <項目>1234</項目>

-1234 <項目>-1234</項目>

12.34 <項目>12.34</項目>

9 01234 <項目>1234</項目>

0x3031323354 <項目>-1234</項目>

01234 「9.99タイプ」 <項目>12.34</項目>

C □1,234 <項目>1,234</項目>

-1,234 <項目>-1,234</項目>

12.34 <項目>12.34</項目>

P 0x012343 <項目>1234</項目>

0x012345 <項目>-1234</項目>

0x012343 「9.99タイプ」 <項目>12.34</項目>

上記のユーザ固有フォーマットの値は、以下のように表記しています。

・ □は空白を示します。

・ ■は全角空白を示します。

・ ( )でくくられているものはビット列(2進数)で表現しています。

・ 0xが先頭に書かれているものはバイナリ(16進数)で表現しています。

- 202 -

・ その他はテキスト(10進数)で表現しています。

・ 全角空白の文字コードは、出力先の文字コード体系に準じます。

ユーザ固有フォーマットとXML文書(Schema)間の変換では、属性の性質を考慮して、変換できない属性の組合せがあります。属性の

組合せごとの変換可否と変換ルールは以下のとおりです。

表6.46 ユーザ固有フォーマットからXML文書(Schema)への変換時の属性ごとの変換可否と変換ルール

属性 XML Schemaの属性(データ型) 変換可否 変換ルール

X stringnormalizedStringtoken

○ 設定されている文字列の後方の空白をカットして出力します。

length制約が定義されている場合には、先頭からその長さ分だ

けを出力し、警告メッセージを出力します。

boolean ○ 数値に変換して0または1の場合には、10進数表現にして出力し

ます。

“TRUE”、“true”の文字列の場合は、“1”を出力します。

“FALSE”、“false”の文字列の場合は、“0”を出力します。

それ以外の場合には、“0”を出力し、警告メッセージを出力しま

す。

decimalintegernonPositiveIntegerdurationnegativeIntegerlongintshortbytenonNegativeIntegerunsignedLongunsignedIntunsignedShortunsignedBytepositiveIntegerfloatdouble

○ 符号、小数点、小数部を含め数値として適切な文字列の場合に

は、10進数表現にして出力します。不適切な文字を含む場合に

は、“0”を出力します。

totalDigits制約が定義されている場合には、数値の末尾からそ

の長さ分だけを出力し、警告メッセージを出力します。

fractionDigits制約が定義されている場合には、小数部について

小数点第一位からその長さ分だけ出力し、警告メッセージを出

力します。

dateTimetimedategYearMonthgYeargMonthDaygDaygMonth

○ “-”、“/”を区切り文字とした日時表示の適切な文字列の場合に

は、出力先のXML Schemaデータ型の書式に変換して出力しま

す。dateTime型に対して“2004-01-01”が入力された場合など、

情報が欠落している場合には、“2004-01-01T00:00:00”などと“0”を補って出力し、警告メッセージを出力します。

hexBinarybase64Binary

○ 入力文字列をそのまま出力し、警告メッセージを出力します。

anyURIQNameNOTATION

○ 入力文字列をそのまま出力し、警告メッセージを出力します。

languageNMTOKENNMTOKENSNameNCNameIDIDREFIDREFS

○ 入力文字列をそのまま出力し、警告メッセージを出力します。

- 203 -

属性 XML Schemaの属性(データ型) 変換可否 変換ルール

ENTITYENTITIES

K stringnormalizedStringtoken

○ 設定されている文字列の後方の空白をカットして出力します。

length制約が定義されている場合には、先頭からその長さ分だ

けを出力し、警告メッセージを出力します。

boolean ×

decimalintegernonPositiveIntegerdurationnegativeIntegerlongintshortbytenonNegativeIntegerunsignedLongunsignedIntunsignedShortunsignedBytepositiveIntegerfloatdouble

×

dateTimetimedategYearMonthgYeargMonthDaygDaygMonth

×

hexBinarybase64Binary

×

anyURIQNameNOTATION

×

languageNMTOKENNMTOKENSNameNCNameIDIDREFIDREFSENTITYENTITIES

×

BH

stringnormalizedStringtoken

×

boolean ×

decimalinteger

×

- 204 -

属性 XML Schemaの属性(データ型) 変換可否 変換ルール

nonPositiveIntegerdurationnegativeIntegerlongintshortbytenonNegativeIntegerunsignedLongunsignedIntunsignedShortunsignedBytepositiveIntegerfloatdouble

dateTimetimedategYearMonthgYeargMonthDaygDaygMonth

×

hexBinary ○(B属性だけ) 入力文字列のバイトコードを16進数表現にして出力します。

base64Binary ×

anyURIQNameNOTATION

×

languageNMTOKENNMTOKENSNameNCNameIDIDREFIDREFSENTITYENTITIES

×

N9CP

stringnormalizedStringtoken

○ 設定されている数値を10進数に変換後、10進数表現にして出力

します。

boolean ○ 数値に変換して0または1の場合には、10進数表現にして出力し

ます。

それ以外の場合には、“0”を出力し、警告メッセージを出力しま

す。

decimalintegernonPositiveIntegerdurationnegativeIntegerlongintshort

○ 符号、小数点、小数部を含め数値として適切な文字列の場合に

は、10進数表現にして出力します。不適切な文字を含む場合に

は、“0”を出力します。

totalDigits制約が定義されている場合には、数値の末尾からそ

の長さ分だけを出力し、警告メッセージを出力します。

fractionDigits制約が定義されている場合には、小数部について

小数点第一位からその長さ分だけ出力し、警告メッセージを出

力します。

- 205 -

属性 XML Schemaの属性(データ型) 変換可否 変換ルール

bytenonNegativeIntegerunsignedLongunsignedIntunsignedShortunsignedBytepositiveIntegerfloatdouble

dateTimetimedategYearMonthgYeargMonthDaygDaygMonth

×

hexBinarybase64Binary

×

anyURIQNameNOTATION

×

languageNMTOKENNMTOKENSNameNCNameIDIDREFIDREFSENTITYENTITIES

×

○:変換可能な組合せ

×:変換不可能な組合せ(エラー)

表6.47 XML文書(Schema)からユーザ固有フォーマットへの変換時の属性ごとの変換可否と変換ルール

XML Schemaの属性(データ型) 属性 変換可否 変換ルール

stringnormalizedStringtoken

X ○ 入力文字列を先頭から定義されている長さ分だけ出力します。

入力文字列の方が短い場合には、後方に桁数いっぱいまで空

白を詰めて出力します。

K ○ 入力文字列を先頭から定義されている長さ分だけ出力します。

入力文字列の方が短い場合には、後方に桁数いっぱいまで全

角空白を詰めて出力します。

B ×

H ○ 入力文字列を16進数にして、末尾から定義されている長さ分だ

け出力します。入力文字列の方が短い場合には、先頭に“00”を詰めて出力します。

N9CP

○ 入力文字列を、

N属性の場合は、そのまま

9属性の場合は、ゾーン10進数に変換してから、

C属性の場合は、3桁ごとにカンマを追加してから

- 206 -

XML Schemaの属性(データ型) 属性 変換可否 変換ルール

P属性の場合は、パック10進数に変換してから、

それぞれ末尾から定義されている長さ分だけ出力します。入力

文字列の方が短い場合には、

N属性、C属性の場合は、先頭に空白を

9属性、P属性の場合は、先頭に0を詰めて出力します。

boolean X ○ 入力文字列が“0”または“1”の場合には、“0”または“1”を先頭

に出力します。定義されている長さが2以上の場合には、後方に

桁数いっぱいまで空白を詰めて出力します。

K ×

B ×

H ○ 入力文字列が“0”または“1”の場合には、16進数にして末尾に

出力します。定義されている長さが2以上の場合には、先頭に

“00”を詰めて出力します。

N9CP

○ 入力文字列を、

N属性、C属性の場合は、そのまま

9属性の場合は、ゾーン10進数に変換してから、

P属性の場合は、パック10進数に変換してから、

それぞれ末尾から定義されている長さ分だけ出力します。定義

されている長さが2以上の場合には、

N属性、C属性の場合は、先頭に空白を

9属性、P属性の場合は、先頭に0を詰めて出力します。

decimalintegernonPositiveIntegerdurationnegativeIntegerlongintshortbytenonNegativeIntegerunsignedLongunsignedIntunsignedShortunsignedBytepositiveIntegerfloatdouble

X ○ 入力文字列を先頭から定義されている長さ分だけ出力します。

入力文字列の方が短い場合には、後方に桁数いっぱいまで空

白を詰めて出力します。

K ×

B ○ 入力文字列を16進数にして、末尾から定義されている長さ分だ

け出力します。入力文字列の方が短い場合には、先頭に“00”を詰めて出力します。

H ○ 入力文字列を16進数にして、末尾から定義されている長さ分だ

け出力します。入力文字列の方が短い場合には、先頭に“00”を詰めて出力します。

N9CP

○ 入力文字列を、

N属性の場合は、そのまま

9属性の場合は、ゾーン10進数に変換してから、

C属性の場合は、3桁ごとにカンマを追加してから

P属性の場合は、パック10進数に変換してから、

それぞれ末尾から定義されている長さ分だけ出力します。入力

文字列の方が短い場合には、

N属性、C属性の場合は、先頭に空白を

9属性、P属性の場合は、先頭に0を詰めて出力します。

dateTimetimedategYearMonthgYeargMonthDaygDaygMonth

X ○ 入力文字列を先頭から定義されている長さ分だけ出力します。

入力文字列の方が短い場合には、後方に桁数いっぱいまで空

白を詰めて出力します。

K ×

B ×

H ×

- 207 -

XML Schemaの属性(データ型) 属性 変換可否 変換ルール

N9CP

○ 入力文字列を先頭から定義されている長さ分だけ出力します。

入力文字列の方が短い場合には、後方に桁数いっぱいまで空

白を詰めて出力します。

hexBinary X ×

K ×

B ×

H ○ 入力文字列を16進数にして、末尾から定義されている長さ分だ

け出力します。入力文字列の方が短い場合には、先頭に“00”を詰めて出力します。

N9CP

×

base64Binary X ×

K ×

B ×

H ×

N9CP

×

anyURIQNameNOTATION

X ○ 入力文字列を先頭から定義されている長さ分だけ出力します。

入力文字列の方が短い場合には、後方に桁数いっぱいまで空

白を詰めて出力します。

K ×

B ×

H ×

N9CP

×

languageNMTOKENNMTOKENSNameNCNameIDIDREFIDREFSENTITYENTITIES

X ○ 入力文字列を先頭から定義されている長さ分だけ出力します。

入力文字列の方が短い場合には、後方に桁数いっぱいまで空

白を詰めて出力します。

K ×

B ×

H ×

N9CP

×

○:変換可能な組合せ

×:変換不可能な組合せ(エラー)

- 208 -

6.9.2 文字コードについて

双方向の変換において、入力、および出力データの文字コードを指定することができます。入力データ、および出力データの文字コー

ドは、ユーザ固有フォーマットとXML文書について、それぞれ環境設定ファイルに指定します。

入出力データの文字コードは、環境設定ファイルで指定します。指定できる文字コードは、ユーザ固有フォーマットがEUC-JP、シフト

JIS、JISコード、UTF-8/UCS2、UTF-8/UTF-16で、XML文書がUTF-8、UTF-16ビッグエンディアン、UTF-16リトルエンディアン、EUC-JP、シフトJISです。これらは入力、出力のそれぞれで指定できます。

ユーザ固有フォーマットについては、入力されたデータの文字コードの判定は行っていませんので、入力データには、環境設定ファイ

ルで指定した文字コードの適切なデータを入力してください。

入力XML文書については、環境設定ファイルで文字コードが明示的に指定されていない場合には、XML文書内のBOM(Byte OrderMark)やXML宣言の符号化宣言(encoding宣言)をもとに自動的に判定を行います。環境設定ファイルで文字コードが明示されている

場合には、自動判定は行わないため、その分だけ高速に処理されますが、BOMやencoding宣言も参照されませんので、適切な文字

コードのデータを入力してください。

文字コード変換モジュール

文字コード変換機能は、内蔵している「標準コード変換」(iconv)を使用しており、その仕様に従います。また、Formatmanagerの動作す

るマシンにInterstage Charset Managerがインストールされている場合には、そちらの標準コード変換が優先して使用されます。CharsetManager 6.0/V6.0L10以降の標準コード変換に対応しています。なお、内蔵している標準コード変換では、文字コード変換表が使用で

きないため、規定されたコード範囲外の文字(外字)の変換はできません。標準コード変換の詳細については、Interstage Charset Managerのマニュアルを参照してください。

標準コード変換におけるコード変換仕様は、環境変数ICONV_CONVERT_TYPEの指定に従います。

Unicode系文字コードでの各属性の文字コード

UNICODE(UCS-2BE)、UNICODE(UCS-2LE)、UNICODE(UTF-16BE)、およびUNICODE(UTF-16LE)で各属性に適用される文字

コードは以下のとおりです。

表6.48 各属性の適用範囲

属性 UNICODE(UCS-2BE)

UNICODE(UCS-2LE)

「Formatmanager定義のUnicode対応」の

制限事項の解除後

UNICODE(UTF-16BE)

「Formatmanager定義のUnicode対応」の

制限事項の解除後

UNICODE(UTF-16LE)

備考

X属性 UTF-8(3バイト)(注3)

UTF-8(3バイト) UTF-8(4バイト)(注4) UTF-8(4バイト)(注4)

K属性 UCS2BE UCS2LE UTF-16BE UTF-16LE ASCII範囲内を除く(注1)

B属性 バイナリ バイナリ バイナリ バイナリ

H属性 バイナリ バイナリ バイナリ バイナリ

N属性 UTF-8(3バイト)(注2)

UTF-8(3バイト)(注2)

UTF-8(4バイト)(注2) UTF-8(4バイト)(注2)

9属性 UTF-8(3バイト)(注2)

UTF-8(3バイト)(注2)

UTF-8(4バイト)(注2) UTF-8(4バイト)(注2) 符号部はASCII系(カ

スタマイズ可)

C属性 UTF-8(3バイト)(注2)

UTF-8(3バイト)(注2)

UTF-8(4バイト)(注2) UTF-8(4バイト)(注2)

P属性 バイナリ バイナリ バイナリ バイナリ 符号部はASCII系(カ

スタマイズ可)

- 209 -

(注1)ASCII系(0x00~0x7f)のコードが指定されていた場合は、変換不当となります。

(注2)使用可能な文字の範囲が限られているので、ASCII系(0x00~0x7f)と同等のコードになります。

(注3)“UTF-8(3バイト)”は1~3バイトで表現されるUCS2の範囲のUTF-8を示します。

(注4)“UTF-8(4バイト)”は1~4バイトで表現されるUCS4の範囲のUTF-8を示します。

その他の文字コードへの変換

ユーザ固有フォーマットをEUC-JP、シフトJIS、JISコード、UTF-8/UCS2、UTF-8/UTF-16以外の文字コード(JEFなど)に変換したい場合

は、XMLメッセージのフォーマット変換の前後で文字コード変換機能を実行します。

ポイント

環境設定ファイルについては、“ISI 導入ガイド”の“XMLメッセージのフォーマット変換の環境設定” または“ISI Java EE導入ガイド”の

“XMLメッセージのフォーマット変換の環境設定”を参照してください。

6.9.3 改行コードについて

出力XML文書の改行コードを指定することができます。改行コードは、環境設定ファイルに指定します。指定できる改行コードは、

“CR(0x0d)”、“LF(0x0a)”、“CR+LF(0x0d0a)”、“改行なし”の4つです。“改行なし”を指定した場合には、可読性を高めるために出力

されている階層の深さに応じた空白文字のインデントも出力されません。

XML文書が入力の場合には、入力XML文書の改行コードの有無や種別に関わりなく、処理することができます。

ポイント

環境設定ファイルについては、“ISI 導入ガイド”の“XMLメッセージのフォーマット変換の環境設定” または“ISI Java EE導入ガイド”の

“XMLメッセージのフォーマット変換の環境設定”を参照してください。

6.9.4 XML宣言について

ユーザ固有フォーマットからXML文書への変換では、出力されるXML文書の文字コードやXML Schema情報に従ったXML宣言が出

力されます。また、運用登録定義により、XML宣言を出力しないこともできます。

XML文書の文字コードがUTF-8/UTF-16以外の場合、XML規約ではエンコーディング宣言が必要です。そのため、UTF-8/UTF-16以外の文字コードを使用する場合は、「XML宣言を出力する」チェックボックスをチェックしてください。

XML文書からユーザ固有フォーマットへの変換では、ユーザ固有フォーマットを出力する際にXML文書上のXML宣言は参照されま

せん。

6.9.5 XML SchemaおよびDTDを使用しないXML文書について

ユーザ固有フォーマットからXML SchemaおよびDTDを使用しないXML文書への変換

DTD部もXML Schema参照部もないXML文書を出力するには、Formatmanagerクライアントにおける[運用登録]画面で、「XML Schema/DTDを使用しない」のチェックボックスをチェックします。「XML Schema/DTDを使用しない」がチェックされた場合、出力XML文書に

は、DTD部もXML Schema参照部も出力されません。

XML SchemaおよびDTDを使用しないXML文書からユーザ固有フォーマットへの変換

XML SchemaおよびDTDを使用しないXML文書からユーザ固有フォーマットに変換するには、Formatmanagerクライアントにおける[運用登録]画面で、「XML Schema/DTDを使用しない」のチェックボックスをチェックします。「XML Schema/DTDを使用しない」がチェック

された場合、ユーザ固有フォーマットを出力する際には変換テーブルが参照され、XML文書上のXML Schema情報とDTD情報は参

照されません。

6.9.6 DTDについて

フォーマット変換におけるDTDの扱いについて、以下に説明します。

- 210 -

XML文書と同時にXML DTDを出力する方法

ユーザ固有フォーマットからXML文書(DTD)への変換では、XML文書を出力する際にDTDを内部サブセットとするか、外部サブセッ

トとするかを選択することができます。

内部サブセットのXML文書(DTD)を出力する場合

内部サブセットのXML文書(DTD)を出力するには、Formatmanagerクライアントにおける[運用登録]画面で、「DTD指定」を“無”に指

定します。「DTD指定」が指定されていない場合、出力XML文書に内部サブセットのDTDが出力されます。

それぞれのユーザ固有フォーマットにおけるDTDの出力例を以下に示します。

図6.62 一般フォーマットでのDTD出力例

- 211 -

図6.63 複数一般フォーマットでのDTD出力例

図6.64 伝票形式フォーマットでのDTD出力例

- 212 -

図6.65 行終端可変長フォーマットでのDTD出力例

ポイント

同一のXMLタグ名(フォーマット定義でのフィールド名)が複数指定されている場合、その要素に対する内部サブセットDTDの要素型

宣言は1つだけ出力されます。

外部サブセットのXML文書を出力する場合

外部サブセットのXML文書(DTD)を出力するには、Formatmanagerクライアントにおける[運用登録]画面で、「DTD指定」のチェックボッ

クスをチェックして入力フィールドに文書型宣言(DOCTYPE宣言)を指定します。「DTD指定」が指定された場合、出力XML文書に指

定された文書型宣言が外部サブセットのDTDとして出力されます。

DTD指定の入力フィールドには、以下のように指定します。

<!DOCTYPE ルート要素名 SYSTEM "外部サブセットのURL">

または、

<!DOCTYPE ルート要素名 PUBLIC 公開識別子 "外部サブセットのURL">

入力フィールドには、XML文書に出力したい文書型宣言をすべて入力してください。ここに指定した文字列がXML文書の文書型宣

言として出力されます。

ポイント

・ XML変換を行う場合には、DTD指定の文字列にXML規約で許されていない文字を使用することはできません。

・ この機能は、参照しなければならないDTDがすでに存在する場合に使用してください。Formatmanagerは外部DTDファイルを出力

しません。

・ 設定方法については、“ISI Formatmanagerクライアント(FEDIT/FL-TABLE)ヘルプ”を参照してください。

DTDのあるXML文書からユーザ固有フォーマットを出力する場合

XML文書(DTD)からユーザ固有フォーマットへの変換では、ユーザ固有フォーマットを出力する際にXML文書上のDTD情報は参照

されません。

- 213 -

6.9.7 XML Schemaについて

フォーマット変換におけるXML Schemaの扱いについて、以下に説明します。

ユーザ固有フォーマットからXML文書(Schema)への変換

XML Schemaに沿ったXML文書を出力するには、Formatmanagerクライアントにおける[一般フォーマット登録]画面で、必要に応じて

「XML Schema情報」、「接頭辞」、「データ型」、「制約内容」を定義します。次に、[運用登録]画面で、「XML Schema使用」のラジオボ

タンをチェックします。

XML文書(Schema)の出力例を以下に示します。

図6.66 XML文書(Schema)の出力例

ポイント

・ XML変換を行う場合には、DTD指定の文字列にXML規約で許されていない文字を使用することはできません。

・ この機能は、参照するべきXML Schemaファイルがすでに存在する場合に使用してください。FormatmanagerはXML Schemaファ

イルを出力しません。

・ 設定方法については、“ISI Formatmanagerクライアント(FEDIT/FL-TABLE)ヘルプ”を参照してください。

- 214 -

XML文書(Schema)からユーザ固有フォーマットへの変換

XML文書(Schema)からユーザ固有フォーマットへの変換では、ユーザ固有フォーマットを出力する際にXML文書上のXML Schema情報は参照されません。

6.9.8 XML属性について

フォーマット変換におけるXML属性の扱いについて、以下に説明します。

ユーザ固有フォーマットのフィールドとXML属性値の変換

XML文書内の要素値に加え、属性値もユーザ固有フォーマットと相互変換することができます。

属性値を変換対象にするには、フォーマット定義において、XML要素となるフィールドに続けてXML属性となるフィールドを定義し、

そのフィールドの「XML属性フィールド」ボタンをチェックすることによって定義します。XML属性となるフィールドは複数定義すること

ができ、「XML属性フィールド」ボタンがチェックされていないフィールドが現れるまで、そのXML要素に属するXML属性フィールドで

あると認識されます。

フラット名称に該当する要素(一般フォーマットならばルート要素)のXML属性は、フォーマット定義の先頭で定義してください。先頭か

ら『「XML属性フィールド」がチェックされたフィールド』が連続している場合、それらのフィールドはフラット名称に該当する要素のXML属性であると認識されます。よって、一般フォーマットとXML文書との相互変換をした場合には、先頭で定義したXML属性はルート要

素のXML属性となります。

図6.67 ユーザ固有フォーマットとXML属性値の対応

- 215 -

ポイント

・ XML文書からユーザ固有フォーマットへの変換では、フォーマット定義されていないXML属性の値は、ユーザ固有フォーマットに

出力されません。

・ XML変換を行う場合には、ユーザ固有フォーマットのXML属性に対応するフィールドにXML規約で許されていない文字を使用

することはできません。

・ タグ付けに使われる5つの文字(<、>、&、'、")を使う場合には、エンティティ(&lt;、&gt;、&amp;、&apos;、&quot;)で指定してくださ

い。

・ 設定方法については、“ISI Formatmanagerクライアント(FEDIT/FL-TABLE)ヘルプ”を参照してください。

固定の文字列からXML属性への変換

Formatmanagerクライアントにおけるフォーマット登録時に「XML属性(固定値)」を指定すると、ユーザ固有フォーマットからXML文書

への変換時に、その文字列をXMLタグの属性として出力することができます。

XML属性を指定するには、Formatmanagerクライアントの[一般フォーマット登録]画面の「XML属性(固定値)」フィールドに

属性名="属性値"

または

属性名='属性値'

の形式で入力します。ここで指定した文字列がそのままXML文書のタグ内に出力されます。

ポイント

・ 複数のXML属性を指定するには、スペースで区切って入力します。

・ 「XML属性(固定値)」フィールドに指定できる文字列の 大長は128バイトです。

・ XML変換を行う場合には、「XML属性(固定値)」にXML規約で許されていない文字を使用することはできません。

・ タグ付けに使われる5つの文字(<、>、&、'、")を使う場合には、エンティティ(&lt;、&gt;、&amp;、&apos;、&quot;)で指定してくださ

い。

・ 設定方法については、“ISI Formatmanagerクライアント(FEDIT/FL-TABLE)ヘルプ”を参照してください。

6.9.9 XMLタグ、XML属性の省略について

フォーマット変換におけるXML文書の省略されたタグの扱いについては、以下のとおりです。

・ ユーザ固有フォーマットを入力とするとき、デフォルト値が格納されている項目について、XML文書にタグ、またはXML属性を出

力するか、出力しない(タグ、またはXML属性を省略する)かを選択することができます。

・ XML文書を入力とするとき、省略されているタグ、またはXML属性を認識し、ユーザ固有フォーマットの該当する項目にデフォル

ト値を出力することが可能です。

詳細について、以下に説明します。

ユーザ固有フォーマットからXML文書への変換

ユーザ固有フォーマットからXML文書への変換では、ユーザ固有フォーマットに格納されているデータ内容によって、該当する項目

のタグ、またはXML属性を出力せずに省略することができます。

以下の条件を満たす場合にタグ、またはXML属性を省略することができます。

・ 対象項目のデータ内容にデフォルト値が格納されている。

・ フォーマット定義において対象項目の「タグ省略」ボタンがチェックされている。

以下に例を示します。

- 216 -

図6.68 タグ省略例

ポイント

・ 集団項目に対して「タグ省略」ボタンをチェックした場合は、その集団項目に属するすべての項目がデフォルト値であるときにその

集団項目のタグが省略されます。

・ 集団項目が繰り返しているとき、後続する繰返しのうち省略されない集団項目が存在する場合には、順序性を維持するためにタグ

の省略は行われません。

・ 各項目のデフォルト値については、“6.3.3 各属性のデフォルト値”を参照してください。

・ 設定方法については、“ISI Formatmanagerクライアント(FEDIT/FL-TABLE)ヘルプ”を参照してください。

XML文書からユーザ固有フォーマットへの変換

XML文書からユーザ固有フォーマットへの変換では、XML文書でタグ、またはXML属性が省略されている場合でも省略されている

タグ、またはXML属性を認識し、ユーザ固有フォーマットの該当項目のデータ内容にデフォルト値を出力して、処理を続行します。

ポイント

・ 集団項目に該当するタグが省略されている場合は、フォーマット定義されている該当集団項目に属するすべての項目に対してデ

フォルト値が出力されます。

- 217 -

・ 各項目のデフォルト値については、“6.3.3 各属性のデフォルト値”を参照してください。

6.9.10 入力データのチェック

各項目の入力データは、フォーマット変換時にフォーマット定義されている属性に対して形式のチェックが行われます。その際、不適

切な入力データである場合には、警告メッセージが出力され、処理は続行されます。

以下に各属性におけるチェック方法を示します。

X属性

・ 文字コード変換後に出力先文字コード系には変換できない文字を検出した場合、変換前の文字の内容に応じて、半角または全

角の空白に置き換えます。

・ 変換した結果、出力先項目の桁数が足りずに桁あふれが生じた場合は、末尾を切り捨てます。ただし、切り捨てた文字が半角空

白または全角空白の場合には、警告とはしません。また、2バイト文字、3バイト文字の途中で切り捨てる場合には、その1文字をす

べて切り捨て半角空白で置き換えます。(XML文書が入力の場合だけ)

K属性

・ 1バイト文字、または半角カタカナを検出した場合、全角空白に置き換えます。

・ 文字コード変換後に出力先文字コード系には変換できない文字を検出した場合、全角空白に置き換えます。

・ 変換した結果、出力先項目の桁数が足りずに桁あふれが生じた場合は、末尾を切り捨てます。ただし、切り捨てた文字が全角空

白の場合には、警告とはしません。また、文字コード変換後に3バイト文字を検出してもエラー、または警告とはしません。さらに3バイト文字により出力データ末尾が1バイト余る場合には半角空白を設定します。 (XML文書が入力の場合だけ)

N属性、C属性、9属性、P属性

・ 複数の小数点、複数のマイナス符号を検出した場合、2つ目以降は“0”に置き換えます。

・ プラス記号、数字以外の文字、数値間の空白、末尾の空白を検出した場合、“0”に置き換えます。

・ 9属性において、先頭に半角空白を検出した場合、“0”に置き換えます。

・ 9属性において、符号コードが“3”、または“5”でもない場合、正(“3”)として扱います。

・ C属性以外において、“,”(カンマ)を検出した場合、削除します。

・ 入力データが小数点で始まる場合、入力データの先頭に“0”を挿入します。このとき、桁があふれて末尾の文字が削除されます

が、あふれた文字が“0”の1文字である場合は警告とはしません。

・ C属性、N属性において、先頭に“0”を検出した場合、半角空白に置き換えますが、警告とはしません。

・ C属性において、“,”(カンマ)の位置、および数が不適切な場合、位置と数は修正しますが、警告とはしません。

・ 変換した結果、出力先項目の桁数が足りずに桁あふれが生じた場合は、整数部、小数部単位で切り捨てます。ただし、小数部を

切り捨てた場合に、切り捨てた文字が“0”の場合には警告とはしません。(XML文書が入力の場合だけ)

H属性

・ 16進数を表す文字以外を検出した場合、“0”に置き換えます。(XML文書が入力の場合だけ)

・ 変換した結果、出力先項目の桁数が足りずに桁あふれが生じた場合は、先頭を切り捨てます。(XML文書が入力の場合だけ)

B属性

・ 半角空白、または2進数を表す文字以外を検出した場合、“0”に置き換えます。(XML文書が入力の場合だけ)

・ 変換した結果、出力先項目の桁数が足りずに桁あふれが生じた場合は、先頭を切り捨てます。(XML文書が入力の場合だけ)

6.9.11 妥当性検証

XMLプロセッサを用いて、入出力されるXML文書の妥当性を検証することができます。

- 218 -

入力XML文書の妥当性検証時

変換処理を行う前の入力XML文書に対して、指定したDTDファイル、またはXML Schemaファイルを用いての妥当性検証(Validation)を行います。入力XML文書が妥当でない(invalid)と検証された場合には、エラーとして終了し、変換処理は行いません。

入力XML文書の妥当性検証を行うには、Formatmanagerクライアントにおける[運用登録]画面で、“入力ファイルの妥当性検証”の

チェックボックスをチェックしてください。

出力XML文書の妥当性検証時

変換処理を行ったあとの出力XML文書に対して、指定したDTDファイル、またはXML Schemaファイルを用いての妥当性検証を行い

ます。出力XML文書が妥当でないと検証された場合には、変換処理を行ったあと、警告の処理結果を返して終了します。後続のアプ

リケーションがある場合には、後続処理へ進むかどうかの判断を利用者が行ってください。

出力XML文書の妥当性検証を行うには、Formatmanagerクライアントにおける[運用登録]画面で、“出力ファイルの妥当性検証”の

チェックボックスをチェックしてください。

DTDファイル、XML Schemaファイルについて

妥当性検証に使用するDTDファイル、またはXML Schemaファイルは、フォーマット定義(Formatmanagerクライアントで生成した変換

テーブルなど)と同じディレクトリに必要なものをすべて配置してください。

DTDファイルの拡張子は“.dtd”もしくは“.DTD”としてください。XML Schemaファイルの拡張子は“.xsd”もしくは“.XSD”としてください。

DTDファイル、またはXML Schemaファイルの文字コードがUTF-8以外の場合には、DTDファイル、またはXML Schemaファイル内に

符号化宣言(encoding宣言)が必要です。指定可能な文字コードは、UTF-8、EUC-JP、シフトJISです。

XML文書内で、DTDファイル、またはXML Schemaファイルの指定が“http://・・・・・”などとURI表記されていても、DTDファイル、また

はXML Schemaファイルの取得は行いません。DTDファイル、またはXML Schemaファイルの取得は利用者が行い、“ISI リファレンス”

の“運用コマンド”のパス変更コマンドで相対パスに書き換えたものを配置してください。

ポイント

・ 妥当性検証の実行には、Java実行環境と以下の環境変数が必要です。

- 環境変数PATHにjvm.dllのあるディレクトリを追加してください。

- 環境変数CLASSPATHに本製品のF5FCSchemaValidator.jarを追加してください。

- 環境変数LD_LIBRARY_PATHにlibjvm.soのあるディレクトリを追加してください。

- 環境変数CLASSPATHに本製品のFJSVxmlflSchemaValidator.jarを追加してください。

・ 入出力XML文書の妥当性検証は、運用登録での指定よりも環境設定ファイルでの指定が優先されます。運用登録で妥当性検証

を指定する場合、それぞれのフォーマット変換1つ1つに対して、妥当性検証の有無を指定することができます。一方、環境設定

ファイルで指定した場合には、環境設定ファイルの影響範囲内で、一括して妥当性検証の有無を指定することができます。

・ 設定方法については、“ISI Formatmanagerクライアント(FEDIT/FL-TABLE)ヘルプ”を参照してください。

6.9.12 XML用利用者プログラム呼出し

利用者が作成したプログラム(以降、XML用利用者プログラムといいます)を呼び出し、そのプログラムが返却する値を変換結果として

出力することができます。利用者固有の規則でデータを変換したい場合や、データ内容のチェックをしたい場合など、利用者独自の

処理を行いたい場合に使用します。

フォーマット変換時に呼び出すXML用利用者プログラムは、フィールド単位に指定することができます。また、ユーザ固有フォーマット

からXML文書、XML文書からユーザ固有フォーマットの変換方向によって、異なるXML用利用者プログラムを呼び出すことができま

す。

利用者プログラムの作成方法については、“ISI リファレンス”の“XML文書の利用者プログラムAPI”を参照してください。

- 219 -

6.9.13 複数フォーマットが混在するフォーマットのXML変換

FormatmanagerのXMLメッセージのフォーマット変換では、XML文書のタグの順番が変わったり、タグが出現したりしなかったりする

フォーマットを変換することができます。

ここでは、複数フォーマット XML変換の定義で“常に存在”がチェックされているフィールドを「固定部」、“常に存在”がチェックされて

いないフィールドを「順不同部」と表現します。

XML→FLAT変換のとき

・ XML→FLATの変換では、タグ名と関連付けされた一般フォーマットを使用し、複数フォーマットが混在するFLATに変換します。

・ FLATに変換するとき、それぞれのレコードを識別するための文字(識別子)を書き込み、“6.7.5 複数フォーマットが混在するフォー

マットのフォーマット変換”で利用できるフォーマットに変換できます。なお、識別文字の設定に用いられている項目は、FLAT→XML変換時は変換対象外となり、XMLにはその項目は出現しません。

・ レコードを識別するための識別文字は、X属性の項目に設定することができます。識別文字として設定可能な文字は、半角カナを

除く、1バイト文字(0x20~0x7E)です。

・ 入力となるXMLで固定部のタグが省略されたとき、デフォルト値を設定しレコードを出力します。各項目のデフォルト値について

は、“6.3.3 各属性のデフォルト値”を参照してください

・ 順不同部のタグ以降に出現した固定部のタグは変換対象になりません。

図6.69 混在フォーマット XMLからFLATへの変換の例

図6.70 混在フォーマット XMLからFLATへの変換の例(固定部がある場合)

- 220 -

FLAT→XML変換のとき

・ 固定部のデータは、FLATデータの中に順番どおりに存在すると見なし、XMLに変換します。そのため、固定部のデータを識別す

るための識別条件の設定は不要です。

・ 順不同部のデータは、FLATデータの特定の位置・桁の値から一般フォーマットを特定し、予め関連付けされたタグ名に変換しま

す。

・ 識別文字の設定に用いられている項目は変換対象外となり、変換後のXMLにその項目は出現しません。

図6.71 複数フォーマットが混在するFLATからXMLへの変換の例

ポイント

・ 混在フォーマットのXML変換は、[混在フォーマット XML変換]画面で、タグ名、フラットIDを関連付け、混在フォーマット XML変換IDを定義し、[運用登録]画面で混在フォーマット XML変換IDを指定することで実行することができます。

・ XMLのタグ名と、そのタグに関連付く一般フォーマットのフラットIDの名称、およびフィールド名は一致しなければなりません。

・ 設定方法については、“ISI Formatmanagerクライアント(FEDIT/FL-TABLE)ヘルプ”を参照してください。

6.10 変換パラメタID登録

ここでは、変換パラメタID登録について説明します。

Formatmanagerにどのような変換を行うのかを指示するために、運用登録(処理IDの登録)、および変換パラメタIDの登録を行います。

6.10.1 処理IDの登録

処理IDは、[運用登録]画面で設定します。[運用登録]画面での設定内容一覧を、以下に示します。

表6.49 運用登録画面での設定内容

フォーマット変換 文字コード変換 CSV変換 ファイル抽出 レイアウト調整

処理ID ○ ○ ○ ○ ○

処理指定 ○ ○ ○ ○ ○

ファイル種別 - ○ ○ - -

フラットID/複数一般ID/伝票形式ID/可変長ID/混在

フォーマットID

- ○ ○ - -

変換ID ○ - - - -

- 221 -

フォーマット変換 文字コード変換 CSV変換 ファイル抽出 レイアウト調整

抽出ID - - - ○ -

レイアウト調整ID - - - - ○

CSV変換 - - ○ - -

CSV括り文字 - - ○ - -

CSV括り文字付加 - - ○ - -

カンマ置換文字 - - △ - -

末尾空白の保持 - - ○ - -

文字コード - ○ - - ○(注)

データ長 - ○ - - -

B属性項目のエンディア

ン変換

- ○ - - -

0値の+符号の有無 ○ - - - -

レイアウト調整 - - - - ○

入力ファイル名 ○ ○ ○ ○ ○

出力ファイル名 ○ ○ ○ ○ ○

条件外ファイル名 - - - △ -

実行時指定 - - - △ -

記号の意味:○必須、△必要時だけ

(注) 文字コードの指定は、「集団項目-明細レコード調整」、「可変長レコード-固定長レコード調整」だけです。

「ヘッダの挿入」または「ヘッダの削除」の文字コード指定は、レイアウト調整の[ヘッダの定量間隔挿入・削除]画面で行います。

1つの運用登録を「処理ID」で管理します。

ポイント

[運用登録]画面の入力ファイル名、出力ファイル名、条件外ファイル名は、変更する必要はありません。あらかじめ表示されている以

下の値を設定してください。

入力ファイル名 “(実行時に指定)”

出力ファイル名 “(実行時に指定)”

条件外ファイル名 “(実行時に指定)”

6.10.2 変換パラメタIDの登録方式

変換パラメタIDの登録では、[運用登録]画面で登録した「処理ID」の中から1つ、または複数の実行させたい処理を、実行させたい順

番で定義します。この定義を、「変換パラメタID」と呼びます。定義方法については、“ISI Formatmanagerクライアント(FEDIT/FL-TABLE)ヘルプ”、および“ISI Formatmanagerクライアント(FEDIT/FL-TABLE)チュートリアル”を参照してください。

トランスレーション実行時には、この変換パラメタIDを指定します。

6.11 シミュレーションの実施

ここでは、シミュレーションについて説明します。

シミュレーション機能とは、Formatmanagerクライアント上でフォーマット変換定義の内容が正しいかを確認する機能です。これによっ

て、手軽に定義内容が正しいことを確認することができます。

サーバが未導入の場合や、運用の都合で稼動中のサーバを使用できないなどの制約がある場合にも使用可能です。

- 222 -

ポイント

シミュレーション機能が使用できるのは“処理ID”をもつフォーマット変換だけです。フォーマット変換の混在フォーマットのフォーマット

変換、混在フォーマットのXML変換、およびXMLメッセージのフォーマット変換は使用できません。また、文字コード変換、CSV変換、

ファイル抽出、レイアウト調整も使用できません。

6.11.1 入力データの作成

シミュレーションを実施するための入力データを、Formatmanagerクライアントがインストールされているコンピュータ上のファイルに作成

します。

入力データは、同一のフォーマット形式で、同一のフラットID(フラットID、複数一般ID、伝票形式ID、可変長ID)で定義されたレコード

(または伝票)が連続して格納されていれば、複数レコードのデータでもシミュレーションすることができます。

ポイント

入力データはネットワークバイトオーダで作成します。

6.11.2 入力データの形式

入力データは実際のデータをそのまま設定します。

入力ファイルの文字コードに以下のどれかを設定した場合、シミュレーションは、ソフトウェア内部ではUnicode(UTF-16BE)で行われま

す。

・ JIS8/シフトJIS

・ JIS7/EUC

・ EBCDIC カナ/JEF

・ EBCDIC ASCII/JEF

・ EBCDIC カナ/dbcs90

・ EBCDIC ASCII/dbcs90

・ EBCDIC カナ/KEIS

・ EBCDIC カナ/JIPS(E) 領域重視

・ EBCDIC カナ/JIPS(E) 字形重視

・ JIS(7単位半角カナ)/JIS

・ JIS(8単位半角カナ)/JIS

・ JIS(ESCで切り換え)/JIS

・ UNICODE(UCS-2BE)

・ UNICODE(UTF-16BE)

入力ファイルの文字コードに以下のどれかを設定した場合、シミュレーションは、ソフトウェア内部ではUnicode(UTF-16LE)で行われま

す。

・ UNICODE(UCS-2LE)

・ UNICODE(UTF-16LE)

6.11.3 資材の配置

以下の資材をFormatmanagerクライアントのデータベース格納先フォルダ直下に配置します。データベース格納先フォルダについて

は、“ISI Studio ヘルプ”の“定義を操作する”の“ISIプロジェクトのプロパティを設定する”を参照してください。

- 223 -

・ 項目コード変換用CSVファイル

・ 利用者プログラム

・ FEDITシステムパラメタ定義ファイル

注意

利用者プログラムは、ダイナミックリンクライブラリ(ファイル名が.soで終わるライブラリ)を用意する必要があります。

6.11.4 シミュレーションの実行

シミュレーションは[シミュレーション]画面で[実行]ボタンをクリックすると実行されます。入力ファイルをもとに、実際にトランスレーション

を実行し、結果をファイルに出力します。

6.11.5 シミュレーション結果の確認

シミュレーションの結果は[シミュレーション結果表示]画面で確認することができます。

入力ファイル、出力ファイルの内容が、ペアで画面の左右に表示されます。また、一度に複数のレコードを変換した場合でも、表示す

るレコードを切り換えることによって、順次変換結果を表示することができます。

定義内容を確認し、誤りが発見された場合は、定義内容を修正します。

シミュレーションの方法の詳細は、“ISI Formatmanagerクライアント(FEDIT/FL-TABLE)ヘルプ”を参照してください。

ポイント

・ シミュレーションの結果、エラーとなった場合は、画面上にエラーコードが表示されます。エラーコードの意味は、“ISI メッセージ

集”の“フォーマット変換時に出力されるコード”を参照してください。

・ シミュレーションの結果、ワーニングとなった場合は、ワーニング結果がFormatmanagerクライアントのデータベース格納先フォルダ

に出力されます。ファイル名は、Formatmanagerクライアントのデータベース格納先フォルダにあるFEDITシステムパラメタ定義ファ

イル(feditsv.conf)の、TranslationLogFileNameに指定した名称です。FEDITシステムパラメタ定義ファイルについては、“ISI 導入

ガイド”の“FEDITシステムパラメタ定義ファイルの変更”または“ISI Java EE導入ガイド”の“FEDITシステムパラメタ定義ファイルの

変更”を参照してください。また、データベース格納先フォルダについては、“ISI Studio ヘルプ”の“定義を操作する”の“ISIプロ

ジェクトのプロパティを設定する”を参照してください。

- 224 -

付録A 互換機能

ここでは、ISIの互換機能について説明します。本機能は、J2EE実行環境だけで使用できます。

A.1 共通インタフェース機能

ISIは、一般的なESBよりサービス利用側アプリケーションの開発生産性を向上するために、以下に着目して開発することで、サービス

ごとに手順や方法を作らずに、同じ呼出し方ですべてのサービスを呼び出すことができます。これを実現するのが、共通APIと共通メッ

セージです。

・ サービス利用側アプリケーションとWebサービスの役割を整理し、サービス利用側アプリケーション作成を容易化

共通API

J2EEの知識を必要とせず、Javaの知識だけで構築することができるAPIを提供します。

Javaの有識者であってもJ2EEでJMS、JAX-RPCを使いこなせるとは限りません。ピュアなJavaの知識だけで、JMSやSOAPのプロトコル

を意識しないAPIを使用することによって、ISI、およびその先のサービスを呼び出すことができるので、開発の立上げを早くします。

また、コーディングを簡単にするために、送付したいデータと、サービスエンドポイント名(ISIの入口の1つ)を指定するだけで呼び出す

ことができます。

共通メッセージとAPIを組み合わせることで、一層の生産性向上を実現できます。

共通メッセージ

ISIのサービス利用側アプリケーションの開発では、共通メッセージを作成し、ISIへ送付する処理を開発します。すべてのサービスを

同じ作法で呼び出すことができます。

基本的に、サービスへ送付したいデータと、サービスエンドポイント(ISIの入口)を1つ指定するだけで、サービスを呼び出すことができます。

また、サービスのあて先、実行するメディエーション機能の種類、部品へ渡す値などをセットすれば、ISIがセットされたとおりに、メディ

エーション機能を実行するなど、拡張して利用できます。

共通メッセージへ値をセットする方法は、共通化されています。手法も容易であるため、サービス利用側アプリケーションの開発生産

性を向上させることができます。

A.2 API利用機能

ここでは、共通APIを利用してサービス利用側アプリケーションを作成する場合に使用できる接続方式について説明します。

A.2.1 RMIRMIは、JavaでRPC(遠隔プログラム呼出し)を行うためのAPIです。(SOAPは不使用)

サービス利用側アプリケーションからISIを使用する場合に利用します。

RMIの主な特長は、以下のとおりです。

・ ISIのメッセージ送受信APIを使用してサービス利用側アプリケーションを作成

・ 同期通信が可能

・ APIは送信用の1種類を提供

・ キューは不使用

・ サービス利用側アプリケーションとISIの間を、共通メッセージを利用して情報を送受信

A.2.2 JMSJMSは、J2EEの標準APIで、主としてアプリケーション間の非同期通信を行うメッセージング機能です。

サービス利用側アプリケーションからISIを利用する場合、およびISIからサービス提供側を呼び出す場合に利用します。

JMSの主な特長は、以下のとおりです。

・ ISIのメッセージ送受信APIを使用し、J2EEのコーディング知識なしで、サービス利用側アプリケーションを作成することが可能

- 225 -

・ 非同期通信が可能

・ 送信用と受信用のAPIを提供

・ メッセージの受渡しに、JMSキューを使用

JMSキューは、アプリケーションサーバの機能を使用

・ 共通メッセージを利用した情報の送受信

- サービス利用側アプリケーションからISI間

・ 共通メッセージからペイロードだけを取り出した情報の送受信

- ISIからサービス提供側間

・ キューの中に複数種類のメッセージが格納されている場合、取り出したい種類のメッセージだけを受信可能(フィルタ設定)

- サービス利用側アプリケーションからISI間

・ キュー間転送機能を利用可能(対向側にJMSを配置可能)

A.2.3 JMS-RJMS-Rは、一般的なJMSに信頼性を強化した非同期メッセージング機能です。堅牢な業務システムにおいて、高速で安全性の高い非

同期連携を実現します。

サービス利用側アプリケーションからISIを利用する場合、およびISIからサービス提供側を呼び出す場合に利用します。

JMS-Rの主な特長は、以下のとおりです。

・ 非同期通信が可能

・ 送信用と受信用のAPIを提供

・ JMS-R用のキューを使用

・ 共通メッセージを利用した情報の送受信

・ メッセージ蓄積機能が使用可能

・ JMS(不揮発)よりも高速に連携可能

・ 順番保証機能の利用が可能

- サービスエンドポイント単位にメッセージの順番を保証(非推奨)

- キュー単位にメッセージの順番を保証

・ キュー間転送機能を利用可能(ISI側、および対向側にJMS-Rが配置可能)

・ ローカルDBとのトランザクション機能を利用可能

・ キューの中に複数種類のメッセージが格納されている場合、取り出したい種類のメッセージだけを受信可能(フィルタ設定)

- サービス利用側アプリケーションからISI間

A.2.4 SOAPのRPC機能(JAX-RPC)JAX-RPCは、SOAPを利用したJavaプログラムでRPC(遠隔プログラム呼出し)を行うための機能です。

サービス利用側アプリケーションからISIを利用する場合に利用します。

SOAPのRPC機能の主な特長は、以下のとおりです。

・ ISIがWebサービスとして、サービス利用側アプリケーションからのSOAPメッセージ(ISIのWSDLで規定された固有の形式)の受信

が可能

・ ISIのWSDLをもとに作成したスタブを使用したサービス利用側アプリケーションの作成が可能

・ ISIのメッセージ送受信APIを使用することで、JAX-RPCのコーディング知識なしで、サービス利用側アプリケーションを作成するこ

とが可能

・ Proxyを利用可能(メッセージ送受信APIを使用したサービス利用側アプリケーションからの送信時)

- 226 -

・ Basic認証、SSL認証(サーバ認証、クライアント認証)を利用可能(Interstage Application Serverの認証機能を使用)

・ サービス利用側アプリケーションで共通メッセージを作成し、SOAPボディに共通メッセージを設定(メッセージ送受信API、または

ISIのWSDLをもとに作成したスタブの内部処理で設定)して送信(共通APIを利用可能)

・ 同期通信・非同期通信が可能

・ プロトコルにはHTTP/Sを使用

ポイント

ISIのWSDL以外で作成されたSOAPメッセージを受信する場合は、SOAPのメッセージング機能を利用します。

注意

以下は未サポートです。

・ 添付ファイルの使用

A.2.5 .NET通信機能

サービス利用側.NETアプリケーションからISIに接続する場合に使用する機能です。

以下の接続方式に対応しています。

・ SOAP(.NET)

.NET通信機能の主な特長は、以下のとおりです。

・ ISIのメッセージ送信API(.NET)を使用してサービス利用側アプリケーションを作成

・ 同期通信が可能

・ APIは送信用の1種類を利用

・ サービス利用側アプリケーション(.NET)からISI間を、共通メッセージを利用して情報を送受信

A.3 共通インタフェースの機能詳細

共通インタフェース機能は、サービス利用側アプリケーションが異なる接続方式でも、同じコーディング方法で作成できるようにするた

めの機能です。

A.3.1 共通API共通APIは、サービス利用側アプリケーションを開発する場合に使用します。

定義を書き換えるだけで、それぞれのプロトコルでメッセージを送受信できます。

メッセージ送受信API

メッセージ送受信APIには、以下の種類があります。

・ 送信API

・ 受信API

・ ローカルDBとのトランザクション用送信API

・ ローカルDBとのトランザクション用受信API

送信APIと受信APIは、以下のプロトコルでの送受信をサポートしています。

・ SOAPのRPC機能(JAX-RPC)(非同期送信、非同期受信、同期通信)

・ JMS(非同期送信、非同期受信)

- 227 -

・ JMS-R(非同期送信、非同期受信)

・ RMI(同期通信)

ローカルDBとのトランザクション用送信APIとローカルDBとのトランザクション用受信APIは、以下のプロトコルでの送受信をサポートし

ています。

・ JMS-R(非同期送信、非同期受信)

以下のプロトコルでの受信において、キューにメッセージが存在しなかった場合、API発行からメッセージが格納されるまで、処理を一

時停止できます。

・ JMS-R(非同期受信)

送信APIと受信APIはプロトコルごとに区別されていません。定義に記述されている内容でプロトコルを判別します。

注意

SOAPのメッセージング機能を利用する場合は、ISIのメッセージ送受信APIを使用せずにSOAPメッセージを作成します。

またJAX-RPCで、スタブを使用する場合もメッセージ送受信APIを使用しません。

共通メッセージ操作API

共通メッセージ操作APIは、サービス利用側アプリケーションを開発する場合に使用します。

共通メッセージの生成、値の取得、値の設定を行います。

共通メッセージの詳細については、“2.5.3 クラスタリングへの対応”を参照してください。

ローカルDBとのトランザクション機能

JMS-R使用時に、APIと同じサーバ内の利用者の業務データベース(ローカルDB)と、キューを同時に更新します。

図A.1 ローカルDBとトランザクション

データベースとキューを同時に更新すると、別サーバの業務データベースと連携するケースなどで、信頼性を向上できます。

ローカルDBとのトランザクション機能を利用すると、以下の問題が解決できます。

業務データベースの更新に失敗した場合(他サーバへの送信)

問題

自サーバの業務データベースの更新が失敗していたが、相手サーバに更新情報を送信してしまった。

図A.2 更新失敗時の問題(他サーバへの送信)

- 228 -

解決

キューへの格納と同じタイミングで、業務データベースを更新(同時コミット)します。片方の処理に失敗した場合は、両方とも元に戻し

ます(ロールバック)。

図A.3 更新失敗時の対応(他サーバへの送信)

業務データベースの更新に失敗した場合(他サーバからの送信)

問題

相手サーバからの更新情報を受信したが、更新情報を削除したあとに、自サーバの業務データベースの更新失敗が判明した。

図A.4 更新失敗時の問題(他サーバからの受信)

解決

キューからメッセージを取り出し、業務データベースの更新と同じタイミングでキューからメッセージを削除(同時コミット)します。片方の

処理が失敗した場合は、両方とも元に戻します(ロールバック)。

図A.5 更新失敗時の対応(他サーバからの受信)

注意

・ キューがJMS-Rの場合だけ、この機能を利用できます。

・ 利用者の業務データベースがSymfoware Serverの場合だけ、この機能を利用できます。

・ 業務データベースとキューは、同一データベースにしてください。

メッセージ送信API実行時のメッセージ保証機能

JMS-R利用時に、通信やデータベースなどの問題でキューに書き込むことができなかった場合、送信メッセージを退避用JMSキュー

に退避できます。エラーを回避したあとに、リカバリコマンドを使って、退避したメッセージをJMS-Rのキューに戻すことができます。

- 229 -

図A.6 メッセージの退避

図A.7 メッセージのリカバリ

退避用JMSキューにメッセージを退避中は、エラーが回復しても、JMS-Rのキューに書き込まれることはありません。リカバリコマンドを

実行し、退避用JMSキュー内のメッセージがなくなった時点で、JMS-Rのキューへ書込みを再開します。

また、退避したメッセージをバックアップするコマンドもあります。コマンドについては、“ISI 運用ガイド”を参照してください。

A.4 メディエーション機能

以下は互換用のメディエーション機能です。

A.4.1 メッセージの送信

共通メッセージの送信には、以下の種類があります。

・ 指定した送信先へのメッセージ送信

・ ルーティング(条件に合ったあて先を選択)によるメッセージ送信

メッセージ送信(SendMessage)

メッセージ送信を利用して、指定した送信先へメッセージを送信します。

メッセージ送信の主な機能は、以下のとおりです。

- 230 -

・ 非同期通信の場合、指定されたサービスエンドポイント(キュー)へメッセージ送信

図A.8 メッセージ送信の機能

ポイント

・ 非同期通信の場合だけ、利用してください。

・ MQDを利用している場合、メッセージを指定したサイズに分割して送信できます。

ルーティングによるメッセージ送信(SendMessage with Routing)

メッセージ送信でアウトバウンドルーティング機能を使用できます。詳細については、“2.2.4 ルーティング機能”を参照してください。

- 231 -

図A.9 ルーティングの機能

ポイント

非同期通信の場合だけ、利用してください。

A.4.2 Webサービスの同期呼出し

サービス提供側のWebサービスを、同期(SOAP)で呼び出します。

SOAPのメッセージジング機能については、“SOAP”を参照してください。

- 232 -

図A.10 サービスの呼出しの機能

A.4.3 JCAを利用した連携

JCAをサポートするアダプタ製品または企業情報システム(EIS)を、リソースアダプタを経由して同期(JCA)で呼び出します。リソースア

ダプタは、アダプタ製品またはEISベンダーから提供されます。

JCA Adapterの主な機能は、以下のとおりです。

・ JCA 1.0に準拠したリソースアダプタをCCI(ユーザアプリケーションとリソースアダプタとの間の規約化されたインタフェース)による

呼出し

・ IndexedRecordを使ったペイロードの受渡し

・ ローカルトランザクション(リソースアダプタがサポートしている場合に限る)

注意

以下は未サポートです。

・ JCAのインバウンド利用

・ MappedRecordやEISベンダー独自のRecord

・ XAトランザクション

- 233 -

図A.11 サービスの呼出しの機能

- 234 -

付録B BPEL機能

ここでは、BPEL機能について説明します。本機能は、Interstage Application Serverの提供するInterstage Java EE上だけで使用できま

す。

B.1 機能概要

BPEL機能を利用することで、WS-BPEL2.0に準拠した定義の開発、および定義にもとづくビジネス・プロセスを実行することができま

す。BPEL機能では、以下の2つの機能を提供します。

ビジネス・プロセス実行機能

指定されたBPEL定義に従って複数のサービスと連携し、1つのサービスとして実行することで、ワンストップサービスを実現します。連

携するサービスはWebサービスのほか、サービスバスを介することでCORBAアプリケーションなどの既存資産もサービスとして活用す

ることができます。

BPELエディタ

WS-BPEL2.0に準拠したBPEL定義を作成するBPELエディタを提供します。

BPELエディタは、Interstage Studioでサービス同士の接続方法や連動論理をビジュアルに記述することができます。本エディタを利用

することでWS-BPEL2.0の詳細な規約を知らなくてもサービスや分岐条件に相当するアイコンを接続するだけでWS-BPEL2.0に準拠し

たフローを容易に作成することができます。

図B.1 BPEL機能の概要

B.2 WS-BPEL2.0の使用可能要素と各要素の機能

WS-BPEL2.0で規定された要素のうち、以下の要素をサポートしています。未サポートの要素については、使用しないでください。

表B.1 WS-BPEL2.0の使用可能要素

分類 要素名 サポート 概要

基本アクティビティ Invoke ○ サービスを呼び出します。

Receive ○ 送信されたメッセージを受信します。

Reply ○ 受信したメッセージに対して応答を返します。

Assign ○ Variableに値を設定します。

- 235 -

分類 要素名 サポート 概要

Throw ○ Faultを生成し、エラー情報を通知します。

Wait × 指定した期間や日時まで処理を停止します。

Empty × 何も処理しないアクティビティです。

Exit × ビジネス・プロセスのインスタンスを即時に終了します。

Rethrow × 受信したFaultを再度Throwします。FaultHandlers内でだけ使用できます。

Compensate × CompensateionHandlerに定義されたアクティビティに対する逆処理を呼び出

します。

構造化アクティビティ Sequence ○ Sequence内に定義されたアクティビティを1つずつ順に実行します。

Flow ○ Flow内に定義された複数のアクティビティを同時並列に実行します。

If ○ 条件付き動作を定義し、条件に従ってアクティビティを実行します。

While ○ While内に定義されたアクティビティを条件が真の間、繰返し実行します。

ForEach × 条件付き動作を定義し、条件に従って複数の分岐を実行します。

RepeatUntil × RepeatUntil内に定義されたアクティビティを条件が真の間、繰返し実行しま

す。

Scope × 変数やCorrelationSetsなどの影響範囲を定義します。

Pick × メッセージの受信を待ち合わせ、メッセージに応じたアクティビティを実行しま

す。

その他の要素 Variables ○ メッセージや変数を定義します。

PartnerLinks ○ Invoke/Receive/Replyで連携するサービスを定義します。

FaultHandlers ○ エラー情報を受け取ります。

CorrelationSets ○ Receiveで受信するメッセージとビジネス・プロセスのインスタンスを関連付け

ます。

EventHandlers × Scopeに対する外部からの要求を受け付けます。

CompensationHandler × アクティビティに対する逆処理を定義します。Compensateにより呼び出されま

す。

サポート欄の○はサポート、×は未サポートを示します。

以下に、サポートしている各要素の機能概要について説明します。

B.2.1 基本アクティビティ

Invoke

サービスを呼び出します。呼び出すサービスは、PartnerLinksに定義したものであり、要求/応答型と一方向型(one-way)のサービスを

サポートします。呼び出すサービスに渡すパラメタ、およびサービスから通知された応答は、Variablesに定義した変数を介して受け渡

しできます。

Receive

ビジネス・プロセスに送信されたメッセージを受信します。受信したメッセージはVariablesに定義した変数に格納します。要求/応答型

のビジネス・プロセスは、Receiveで始まり、Replyで終了します。一方向型(one-way)のビジネス・プロセスは、Receiveで始まります。ビ

ジネス・プロセスを開始するReceiveは、必ずビジネス・プロセスのインスタンスを新規に作成する設定とする必要があります。

Reply

Receiveで受信したメッセージの応答を返します。通知する応答は正常終了を示す通常応答と、エラーによる終了を通知する障害応

答の2種類があります。通常応答の場合、Variablesに定義した変数を介して応答メッセージを受け渡します。要求/応答型のビジネス・

プロセスは、Receiveで始まり、Replyで終了します。一方向型(one-way)のビジネス・プロセスにReplyはありません。

- 236 -

Assign

Variablesに定義した変数の値の設定やコピーを行います。XMLへの参照としてXPath1.0だけ使用できます。

Throw

Faultを生成し、エラー情報を通知します。Faultは障害種別と障害の追加情報を提供します。通知したエラー情報は、FaultHandlersで受け取ります。

B.2.2 構造化アクティビティ

Sequence

Sequence内に定義されたアクティビティを上から下に1つずつ順に実行します。Sequence内の 後のアクティビティを実行するとSequenceは終了します。

Flow

Flow内に定義された複数のアクティビティを同時並列に実行します。Flow内のアクティビティをすべて実行完了後に、Flowの次のア

クティビティが実行されます。

また、Flow内のアクティビティをつなぐLinkには、Linkに入る条件、およびLinkの先のアクティビティに入る条件が定義できます。

If

条件付き動作を定義し、条件に従ってアクティビティを実行します。If内では、ElseifやElseを用いて複数の条件、動作を定義すること

もできます。

While

While内に定義されたアクティビティを条件が真の間、繰返し実行します。条件判定は事前に行うため、条件判定の結果が偽の場合

は、While内のアクティビティは1度も実行されずにWhileを終了します。

B.2.3 その他の要素

Variables

ビジネス・プロセス内で使用する変数を定義します。

変数は、Invoke、Receive、Replyにより他のサービスと送受信するメッセージ、およびビジネス・プロセスの状態を格納するために使用

します。

PartnerLinks

Invoke/Receive/Replyで連携するサービスを定義します。

PartnerLinksには2つの属性があり、Invokeによりビジネス・プロセスから呼び出すサービスは属性partnerRole、Receive/Replyにより他

のサービスから呼び出されるためにビジネス・プロセス自身をサービス化したものは属性myRoleとなります。

FaultHandlers

エラー情報を受け取ります。障害種別ごとにエラーを受取り、それぞれのエラー処理を行うことができます。

CorrelationSets

ビジネス・プロセスのインスタンスとメッセージを関連付けます。

CorrelationSetsでは、ビジネス・プロセスのインスタンスとメッセージを関連付けるための識別子を、送受信するメッセージ内のどこに設

定するかを定義します。

Invokeでサービスを呼び出し、後に呼び出したサービスからのメッセージを、Invokeを実行したインスタンスと同じインスタンスでReceiveしたい場合、InvokeとReceiveのプロパティに同じCorrelationSetsを定義し、Invokeのinitiate属性にYesを設定します。この設定により、

- 237 -

Invoke実行時に送信メッセージ内のCorrelationSetsで定義された位置にある識別子を記憶し、Receiveでは同じ識別子がメッセージ内

に定義されているメッセージだけを同じインスタンスにルーティングします。

initiate属性の各設定値の意味は以下のとおりです。なお、使用する識別子は一意なものを使用してください。

・ Yes:識別子を記憶します。

・ Join:すでに識別子が記憶されていない場合だけ識別子を記憶します。

・ No:識別子を記憶しません。

B.3 システム構成

図B.2 システム構成

アプリケーション開発サーバ

BPEL定義、およびWebサービスなどの各種業務アプリケーションを作成するサーバです。

Interstage Studio、およびBPELエディタを使用して開発します。

アプリケーションサーバ

ビジネス・プロセスを実行するサーバです。

BPELエディタで作成してビジネス・プロセス実行機能に登録したBPEL定義に従い、各種Webサービスを呼び出します。CORBAアプ

リケーションなどWebサービス以外のサービスと連携する場合は、ISIサーバ経由でサービスと連携します。

WebサービスやISIサーバは、同一のアプリケーションサーバでも、他のアプリケーションサーバに存在しても問題ありません。また、ク

ラスタ構成による障害発生時の処理継続はサポートしていません。

Interstage Java EE管理コンソール

ビジネス・プロセス実行機能を起動・停止します。

ビジネス・プロセス実行機能を配備したIJServerクラスタを起動・停止することにより、ビジネス・プロセス実行機能を起動・停止します。

B.4 導入から運用までの流れ

BPEL機能を利用したシステムの環境作成の手順は、以下のとおりです。

- 238 -

図B.3 導入から運用までの流れ

B.4.1 システム設計

業務の設計

・ 業務の明確化

システムが実行する業務の以下の内容について明確にします。また、業務の内容に伴い、実際のシステム構築とアプリケーション

の設計に関連する要素を抽出します。

- 業務要件

- 業務で取り扱うデータの規模、種類など

- 期待する業務の処理時間、ビジネス・プロセスの処理時間など

- 業務を実現するためのBPEL定義(ビジネス・プロセスの種類)数など

- 1日に実行するビジネス・プロセス数など

・ サービスの設計

明確化した業務の内容を、実際に動作するBPEL定義、Webサービスにマッピングします。

・ アクセス権限の設計

以下に示す2つの権限について、アプリケーション開発時、および運用時にどのユーザに権限を与えるかを設計します。

表B.2 アクセス権限

権限 概要

システム管理者 ・ システム全体の管理者(オペレーティングシステムのroot権限)です。

・ システム全体の管理者(オペレーティングシステムのAdministrator権限)です。

・ システムの構築、環境設定、ビジネス・プロセス実行機能を配備したIJServerクラス

タを起動/停止できます。

- 239 -

権限 概要

・ BPEL起動アプリケーションによるビジネス・プロセスを実行することができます。

Interstage運用者 ・ Interstage運用グループに属しているユーザです。

・ IJServerクラスタを起動/停止できます。

・ BPEL起動アプリケーションによるビジネス・プロセスを実行することができます。

システムの設計

・ ハードウェア環境の設計

業務の設計で抽出した要素にもとづいて、ハードウェアを選定します。また、業務を開発するサーバと業務を運用するサーバを個

別に構築する場合は、それぞれのサーバについて設計する必要があります。

Interstage Service Integratorが要求するサーバのディスク容量については“ISI 導入ガイド”または“ISI Java EE導入ガイド”の“運用

設計編”の“動作環境”を参照してください。

また、ビジネス・プロセス実行環境はInterstage Service Integratorが要求する資源に加え、以下の資源を必要とします。

- ディスク容量

以下の機能に対してディスク容量が必要となります。

- BPEL定義の配備

BPEL定義の配備については、“ISI アプリケーション開発ガイド”の“BPEL機能のアプリケーション開発”の“BPEL定義の

開発”の“ビジネス・プロセス実行環境への配備”を参照してください。

- ログの格納

ログについては、“ISI アプリケーション開発ガイド”の“BPEL機能のアプリケーション開発”の“BPEL定義の開発”の“ビジ

ネス・プロセス実行環境のログ設定”を参照してください。

- BPEL定義のシミュレーション実行時のWebアプリケーションの折り返し定義

BPEL定義のシミュレーション実行時のWebアプリケーションの折り返し定義については、“ISI アプリケーション開発ガイド”

の“BPEL機能のアプリケーション開発”の“BPEL定義のシミュレーション実行”を参照してください。

- メモリ使用量

メモリ使用量については、“ISI アプリケーション開発ガイド”の“BPEL機能のアプリケーション開発”の“BPEL定義の開発”の

“ビジネス・プロセス実行環境のチューニング”を参照してください。

・ ソフトウェア環境の設計

ビジネス・プロセス実行環境の個数など、実行環境を設計します。

B.4.2 システム環境作成

システム設計にもとづいて、ビジネス・プロセス実行機能の環境を作成します。

システム環境作成の詳細は、“ISI 導入ガイド”または“ISI Java EE導入ガイド”の“BPEL機能のセットアップ”を参照してください。

B.4.3 アプリケーションの開発

BPEL定義、ビジネス・プロセス実行機能より呼び出すWebサービス、およびBPEL起動アプリケーションを作成します。またBPEL定義

の作成後にシミュレーションを行い、動作を確認できます。一方向型(one-way)のBPEL定義に対するBPEL起動アプリケーションは、

Java EE実行環境だけで実行できます。

アプリケーションの開発の詳細は、“ISI アプリケーション開発ガイド”の“BPEL機能のアプリケーション開発”を参照してください。

B.4.4 運用

ビジネス・プロセス実行機能を運用する場合は運用の開始操作を、運用を終了する場合は運用の停止操作を行う必要があります。

運用の詳細は、“ISI 運用ガイド”または“ISI Java EE運用ガイド”の“BPEL機能の運用”を参照してください。

- 240 -

付録C 他のISIサーバの処理に影響を与えない定義の操作

ここでは、1つのサーバ上でISIサーバを複数利用する場合に、それぞれISIサーバで利用するISI定義を分けて運用する方法につい

て説明します。本機能は、J2EE実行環境だけで使用できます。

C.1 定義を分けた構成

ISIサーバごとに利用するISI定義を分けて運用することで、同じサーバ上で運用される他のISIサーバの処理に影響を与えることなく、

ISI定義の追加や修正を行うことができます。

ISI定義を分けることのできる単位は、ISI構成単位です。ISI構成は、1つのISIサーバとアダプタで構成されます。

図C.1 定義を分けて運用するISI構成の例

分けることが可能なISI定義は、以下のとおりです。

・ シーケンス定義

・ サービスエンドポイント定義

・ ルーティング定義

・ メディエータファンクション定義

本機能は以下の連携の場合に利用することができます。

- 241 -

CORBAアダプタで受信したメッセージをSOAPアダプタで送信する場合(同期メッセージング構成)

図C.2 CORBAアダプタで受信したメッセージをSOAPアダプタで送信する場合(同期メッセージング構成)

SOAPアダプタで受信したメッセージをCORBAアダプタで送信する場合(同期メッセージング構成)

ISIサーバとSOAPアダプタを1つのワークユニット上で動作させる構成です。

図C.3 SOAPアダプタで受信したメッセージをCORBAアダプタで送信する場合(同期メッセージング構成)

カスタムアダプタで受信したメッセージをCORBAアダプタで送信する場合(同期メッセージング構成)

カスタムアダプタは、IJServer上で動作する必要があります。

図C.4 カスタムアダプタで受信したメッセージをCORBAアダプタで送信する場合(同期メッセージング構成)

CORBAアダプタで受信したメッセージをカスタムアダプタで送信する場合 (同期メッセージング構成)

カスタムアダプタは、IJServer上で動作する必要があります。

- 242 -

図C.5 CORBAアダプタで受信したメッセージをカスタムアダプタで送信する場合 (同期メッセージング構成)

注意

本運用では、以下のメディエーション機能は利用できません。

・ SQC連携機能

・ BPM Analytics連携

C.2 運用までの導入の流れ

以下に定義を分けて運用する場合の導入の流れを示します。

図C.6 定義を分けて運用する場合の導入の流れ

以下の手順で作業を行います。

- 243 -

全体

ISIサーバ環境の運用方針の決定をおこないます。

ISI Studio

1. 新規でISIプロジェクトの作成をします。

ISIプロジェクトの作成の操作手順は、“ISI Studio ヘルプ”の“ISIプロジェクトを作成する”を参照してください。

2. ISI定義の作成をします。

ISI定義の作成はISI構成単位で作成します。

3. 必要に応じてシミュレーションの実行をします。

シミュレーションを実行するためには、サーバで環境構築がされている必要があります。

シミュレーションの操作手順は、“ISI Studio ヘルプ”の“シーケンスをシミュレート実行する”を参照してください。

4. 必要に応じてISI定義の編集をします。

5. ISI定義の登録・配置をします。

ISI定義の登録・配置のためには、サーバで環境構築がされている必要があります。

ISIサーバに定義を登録・配置する手順は、“ISI Studio ヘルプ”の“ISI定義をISIサーバに登録・配置する”を参照してください。

ISIサーバ環境

1. ISI定義を分けて運用するための環境構築を行います。

ISI定義を分けて運用するための環境構築の手順は、“ISI 導入ガイド”の“他のISIサーバの処理に影響を与えない定義の操

作”を参照してください。

2. 運用を開始します。

C.3 登録済みの定義を取得する流れ

以下にISIサーバ環境から登録済みの定義を取得する方法を示します。

図C.7 ISIサーバ環境から登録済みの定義を取得する流れ

以下の手順で作業を行います。

- 244 -

ISIサーバ環境

1. ISIサーバ環境に登録されているプロジェクト名の一覧表示を行います。

一覧表示は、サーバ上でesirepconfコマンドにより行います。

esirepconfコマンドによりプロジェクト名を一覧表示する方法は、“ISI リファレンス”の“esirepconf”の“listサブコマンド”を参照して

ください。

プロジェクトに登録されている定義の一覧を表示する方法は、“ISI リファレンス”の“esideflist”コマンドを参照してください。

ISI Studio

1. 取得したいプロジェクトと同名のISIプロジェクトを作成します。

すでに作成済みの場合、ISIプロジェクトの作成は必要ありません。ISIプロジェクトの作成の操作手順は、“ISI Studio ヘルプ”の

“ISIプロジェクトを作成する”を参照してください。

2. ISI定義を取得します。

取得の操作手順は、“ISI Studio ヘルプ”の“ISIサーバから定義を取得する”を参照してください。

- 245 -

索 引[A]

Assign..................................................................................... 237

[B]BPELエディタ.........................................................................235BPEL機能.............................................................................. 235BPM Analyticsとの連携...........................................................54

[C]COBOL COPY句............................................................ 119,125CorrelationSets....................................................................... 237CSVファイルの書き方............................................................ 137CSV変換.................................................................... 37,173,182CSV読込み..................................................................... 128,135

[D]DTD.............................................................. 97,131,132,199,210

[F]FaultHandlers..........................................................................237Flow........................................................................................ 237Formatmanager変換機能(ISIサーバ一体型)........................ 32Formatmanager変換機能(ISIサーバ分離型)........................ 33

[I]If..............................................................................................237Invoke..................................................................................... 236ISI構成................................................................................... 241

[J]JCAを利用した連携...............................................................233JEFの漢字シフトインコード.................................................... 180

[L]List Creatorとの連携................................................................ 55

[P]PartnerLinks............................................................................237

[R]Receive................................................................................... 236Reply.......................................................................................236

[S]Schema..........................................................98,112,132,199,214Sequence.................................................................................237SOAPメッセージの操作........................................................... 48

[T]Throw......................................................................................237

[V]Variables.................................................................................237

[W]Webサービスの同期呼出し................................................... 232While...................................................................................... 237

[X]XML Schemaの制約ファセット.............................................. 114XML宣言............................................................................... 210XML属性........................................................................ 215,216XMLタグ.................................................................................216XML文書について.................................................................. 96XML文書の空タグ.................................................................104XML文書の形式..................................................................... 97XML文書のフォーマット変換................................................198

[あ]一般フォーマット..................................................................34,85一般フォーマットの自動登録.................................................119インタフェース調整機能...........................................................32

[か]改行コード.............................................................................. 210機能一覧.................................................................................. 16基本レコード長.........................................................................90キュー間転送機能................................................................... 30行終端可変長フォーマット..................................................34,93共通インタフェース機能.........................................................225共通メッセージ......................................................................... 39共通メッセージからの情報取得...............................................47クラスタリングへの対応............................................................ 67繰返し数指定可変長フォーマット........................................... 94繰返し数指定可変長フォーマット........................................... 34計算設定........................................................................... 35,165高信頼性機能.......................................................................... 66項目コード変換設定(CSV)...............................................35,165項目コード変換設定(DB)................................................. 35,167項目設定........................................................................... 35,163固定長メッセージ..................................................................... 34コマンドの実行......................................................................... 56混在フォーマットの文字コード変換.......................................181

[さ]適化転記....................................................................... 35,162

サービスの呼出し.....................................................................39サービス連携のための接続方式.............................................16サービス連携のための接続方式(Java EE実行環境)............. 22シミュレーション........................................................................ 35シミュレーションの実施.......................................................... 222集団項目.................................................................................. 85順番保証機能.......................................................................... 66条件設定........................................................................... 35,164条件分岐機能.......................................................................... 26小数の値................................................................................ 110処理ID.................................................................................... 222正の整数の値.........................................................................106設定内容表示ペイン..............................................................161属性................................................................................. 104,112

[た]代替文字について................................................................. 181妥当性検証............................................................................ 218

- 246 -

短縮FLATファイル形式...........................................................95伝票形式フォーマット..........................................................34,89添付ファイルをもつSOAPメッセージの操作........................... 62導入・運用支援機能................................................................ 68同報機能.................................................................................. 29トランスレーションの実行....................................................... 224

[な]入力データ...................................................................... 218,223

[は]ビジネス・プロセス実行機能.................................................. 235ファイル抽出...............................................................37,173,184ファイル入出力.........................................................................57ファイルベースでのシーケンス処理........................................ 61フィールド情報の書き方................................................. 139,157フォーマット形式.....................................................................173フォーマットの形式.................................................................159フォーマット変換.....................................................................135フォーマット変換設定......................................................135,161負荷分散.................................................................................. 68複数一般フォーマット..........................................................34,87複数フォーマット................................................160,171,172,220負の整数の値.........................................................................108部分指定......................................................................... 118,119ブロック長................................................................................. 91ペイロードの加工・編集........................................................... 45ペイロードのチェック................................................................ 44ペイロードのフォーマット変換..................................................52ヘッダ出力条件......................................................................170変換定義の一括登録............................................................ 141変換パラメタID................................................................ 221,222

[ま]明細レコード.............................................................................91メッセージの送信................................................................... 230メッセージング機能.................................................................. 16メディエーション機能................................................................37メディエータファンクションの実行(シーケンスエンジン)......... 59文字コード.............................................................................. 209文字コード変換................................................................. 36,173文字コード変換時の桁あふれ...............................................179文字コード変換の対象となる属性と処理内容...................... 177文字コード変換モジュール....................................................180文字種ポリシーチェック......................................................... 182

[や]ユーザ固有フォーマットについて............................................85ユーザ固有フォーマットのその他のフォーマット変換.......... 173ユーザ固有フォーマットのフォーマット変換..........................159ユーザプログラムの呼出し.......................................................57

[ら]利用者プログラム................................................................... 219利用者プログラム設定...................................................... 35,169ルーティング機能..................................................................... 27レイアウト調整..................................................................173,186レイアウト調整ID.................................................................... 187

レコード区分.............................................................................89レベル.......................................................................................90

- 247 -