fujitsusoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用...

279
FUJITSU SIMPLIA/TF-MDPORT ( / )

Upload: others

Post on 01-Apr-2020

165 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

 

 

 

 

FUJITSUSIMPLIA/TF-MDPORT

オンラインマニュアル(   (ソフトウェア開発保守支援システム/開発資産流用支援ツール)  

Page 2: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

Windows版 SIMPLIA/TF-MDPORT V80L10 オンラインマニュアル

第1.0版

はじめに

SIMPLIA/TF-MDPORTは、ソフトウェア開発保守支援システムの一つとして位置づけられ、汎用機・オフコン・UNIX機・PCとの間で、データやソースの流通を支援するツールです。

  ヘルプを読むために

- HTML3.2以降をサポートするWWWブラウザをお使いください。- 本オンラインマニュアルでは「NetCOBOL」または「COBOL97」を総称して「COBOL97」と表記しています。「NetCOBOL」、または「COBOL97」とMDPORTの関係については「ソフトウェア説明書」を参照してください。

  輸出管理規制について

本オンラインマニュアルを輸出または提供する場合は、外国為替および外国貿易法および米国輸出管理関連法規等の規制をご確認の上、必要な手続きをおとり下さい。

  登録商標について

本オンラインマニュアルで使われている登録商標及び商標は、以下のとおりです。 - Microsoft,Windows,MS-DOS,MSは、米国Microsoft Corporationの米国およびその他の国における登録商標です。

- UNIXは、X/Openカンパニーリミテッドが独占的にライセンスしている米国ならびに他の国における登録商標です。

- OracleとJavaは、Oracle Corporationおよびその子会社、関連会社の米国およびその他の国における登録商標です。 文中の社名、商品名等は各社の商標または登録商標である場合があります。

- INFORMIXは、米国Informix Software,Inc.の登録商標です。 - Excelは、米国Microsoft Corporationの製品です。

  略記について

Page 3: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

本オンラインマニュアルでは、各製品を次のように略記しています。 「Windows(R) 7 Home Premium」または、 「Windows(R) 7 Professional」、 「Windows(R) 7 Enterprise」、 「Windows(R) 7 Ultimate」

→ 「Windows 7」

「Windows Vista(R) Home Basic」または、 「Windows Vista(R) Home Premium」、 「Windows Vista(R) Business」、 「Windows Vista(R) Enterprise」、 「Windows Vista(R) Ultimate」

→ 「Windows Vista」

「Microsoft(R) Windows(R) XP Home Edition Operating System」または、 「Microsoft(R) Windows(R) XP Professional Operating System」

→ 「Windows XP」

「Microsoft(R) Windows Server(R) 2008 Standard」または、 「Microsoft(R) Windows Server(R) 2008 Standard without Hyper-V(TM)」、 「Microsoft(R) Windows Server(R) 2008 Enterprise」、 「Microsoft(R) Windows Server(R) 2008 Enterprise without Hyper-V(TM)」

→ 「Windows Server 2008」

「Microsoft(R) Windows Server(R) 2008 R2 Standard」または、 「Microsoft(R) Windows Server(R) 2008 R2 Enterprise」

→ 「Windows Server 2008」または、 「Windows Server 2008 R2」

「Microsoft(R) Windows Server(R) 2003, Standard Edition」または、 「Microsoft(R) Windows Server(R) 2003, Enterprise Edition」

→ 「Windows Server 2003」

「Microsoft(R) Windows Server(R) 2003 R2, Standard Edition」または、 「Microsoft(R) Windows Server(R) 2003 R2, Enterprise Edition」

→ 「Windows Server 2003」または、 「Windows Server 2003 R2」

「Microsoft(R) Windows Server(R) 2003 R2, Standard x64 Edition」または、 「Microsoft(R) Windows Server(R) 2003 R2, Enterprise x64 Edition」、 「Microsoft(R) Windows Server(R) 2003, Standard x64 Edition」、 「Microsoft(R) Windows Server(R) 2003, Enterprise x64 Edition」

→ 「Windows Server 2003」または、 「Windows Server 2003 x64 Edition」

次の製品全てを指す場合 Microsoft(R) Internet Explorer 6 Microsoft(R) Internet Explorer 7 Microsoft(R) Internet Explorer 8 Microsoft(R) Internet Explorer 9

→ 「Internet Explorer」

次の製品全てを指す場合 Windows 7 Windows Vista Windows XP Windows Server 2008 Windows Server 2003

→ 「Windows」

Copyright 1994-2011 FUJITSU LIMITED

Page 4: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

機能概要

機能 概要

コード変換

シフトJIS、EUC、JEF、JIS、Unicode(UCS2,UTF8)間の相互変換をサポートしています。また、他社コード変換機能により富士通以外の他社コードからシフトJISへの変換も可能です。 サポート他社コード:IBM漢字コード、日立KEISコード、日本電気JIPS(E/J)コード、日本電気AVX日本語コード

データ構造変換

一般のコード変換ユーティリティではテキストファイルの変換しか行われないため、COBOL特有の内部10進(パック)やバイナリデータの変換ができません。MDPORTはレイアウト定義機能によりデータファイルのフォーマット情報を与え、項目属性を意識した変換を行うことにより、バイナリ形式・COBOL形式(Windows上のCOBOLファイル)・CSV形式・XML形式ファイルの間で相互にファイル形式変換が可能です。また、C言語連携機能によりC言語のインクルードファイル中の構造体のint型のサイズやアライメントを意識した変換も行うことができます。

バッチ実行 (TFMDP32コマンド)[x86版] (TFMDP64コマンド)[x64版]

変換指示ファイルで指定された内容に従い、変換処理をコマンドにて実行することができます。

プレビュー 事前に変換結果を画面で表示し確認することができます。

SIMPLIA/TF-LINDA との連携

Windows上のSIMPLIAシリーズ製品である“SIMPLIA/TF-LINDA”よりMDPORTを連携起動することができます。この機能により、SIMPLIA/TF-LINDAで表示している各種データファイルを、MDPORTによりCSV形式や他編成へのファイル形式変換、およびコード変換を行えます。

マスク機能

実運用データをテストで用いる際、個人情報(氏名・住所・電話・誕生日)が含まれているため、個人情報流出の危険性があります。 本機能はMDPORTにて変換を行う前のデータを対象とし、レイアウト定義機能にて入力データを元に類似データの作成を行う機能です。 マスク機能を使うことにより個人情報を秘匿して開示できます。よって、個人情報漏洩の安全性向上につながります。

可変長COBOLファイル入出力 可変長のCOBOLファイルの入出力ができます。 (但し、COBOLランタイムシステムが必要になります。)

マルチレイアウト機能 マルチフォーマットのファイルを取り扱う事ができます。

Page 5: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

適用

以下のようなケースでの適用が挙げられます。

- ダウンサイジング等におけるデータ移行としての手段

- 分散開発におけるテストデータの流用

- 異なるプラットフォーム上のファイル内容の確認手段

- データファイルの加工

- CSV形式を介しての各種RDBや表計算ソフトとのデータ流通

- 16bitアプリケーションと32bitアプリケーションのデータ流通

- アライメントの異なるアプリケーション間のデータ流通

- XML形式を介してのデータ流通

- 開発時、システム担当者が運用データ(実データ)をマスク処理にかけ、テスト担当者(委託先)にテストデータとして渡す場合 ※1

- 開発時、システム担当者が運用データ(実データ)をマスク処理にかけ、データ特性を損なわずにテストデータとして使用する場合 ※2

- 運用時、システム管理者が、データに含まれる特定情報(個人情報等)のみを、秘匿して開示(保管)させたい場合 ※1

※1 適用時することにより個人情報漏洩の危険性を低下できる

※2 適用時することによりデータの整合性を保持できる

Page 6: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

MDPORT変換指示 [ファイル]メニュー

ファイル(F) 表示(V) ツール(T) オプション(O) ヘルプ(H)

項目 説明

変換指示の新規設定 MDPORT変換指示を初期状態にし、新規に変換指示を行います。変換指示ファイルを開く 既存の変換指示ファイルを開いて再使用することができます。なお、エク

スプローラ等からのドラッグ&ドロップ操作でも変換指示ファイルを開くことができます。以前に作成された変換指示ファイルを開く時、保存時に設定していたレイアウト定義ファイル等が存在しないと、正しく開くことができないので注意してください。

変換指示ファイルの上書き保存 現在指定されている内容を変換指示ファイルとして、上書きで保存します。

変換指示ファイルに名前を付けて保存 現在指定されている内容を変換指示ファイルとして、ファイル名を付けて保存します。

SIMPLIA/TF-MDPORTの終了 SIMPLIA/TF-MDPORTを終了します。

Page 7: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

MDPORT変換指示 [表示]メニュー

ファイル(F) 表示(V) ツール(T) オプション(O) ヘルプ(H)

項目 説明

ツールバー ツールバーの表示/非表示を切り替えます。ステータスバー ステータスバーの表示/非表示を切り替えます。

Page 8: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

MDPORT変換指示 [ツール]メニュー

ファイル(F) 表示(V) ツール(T) オプション(O) ヘルプ(H)

項目 説明

レイアウト定義 レイアウト定義プログラムを起動します。 →レイアウト定義機能

Page 9: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

MDPORT変換指示 [オプション]メニュー

ファイル(F) 表示(V) ツール(T) オプション(O) ヘルプ(H)

項目 説明

環境設定 MDPORTを動作させるにあたっての環境設定を行います。

Page 10: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

MDPORT変換指示 [ヘルプ]メニュー

ファイル(F) 表示(V) ツール(T) オプション(O) ヘルプ(H)

項目 説明

TF-MDPORT ヘルプ オンラインマニュアルを表示します。バージョン情報 バージョン情報を表示します。

 

Page 11: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

レイアウト定義機能 [ファイル]メニュー

ファイル(F) 編集(E) 設定(S) 表示(V) オプション(O) ヘルプ(H)

項目 説明

既存COBOL資産からの新規作成既存COBOL資産(COPYライブラリ)より、項目定義を自動生成します。

→ 「COPYライブラリからの取り込み」

既存C言語資産からの新規作成既存C言語資産(インクルードファイル)より、項目定義を自動生成します。

→ 「インクルードファイルからの取り込み」

新規作成 レイアウト定義ファイルを新規に作成します。開く 既存のレイアウト定義ファイルを開きます。上書き保存 編集中のレイアウト定義ファイルを上書きで保存しま

す。なお、定義内容に誤りがあると、そのまま保存するかどうかの問い合わせが発生します。

名前を付けて保存 編集中のレイアウト定義ファイルに名前を付けて保存します。なお、定義内容に誤りがあると、そのまま保存するかどうかの問い合わせが発生します。

旧バージョンで出力マルチレイアウト対応(V70)以前のバージョンでレイアウト定義ファイルを出力します。SIMPLIA/TF-LINDA(V60L20)でレイアウト定義ファイルの読み込みを行う場合は、当機能でレイアウト定義ファイルを出力して下さい。

COBOL登録集作成編集中のレイアウト定義の情報で、COBOL登録集を作成します。COBOL登録集出力指定で作成する対象(入力側・出力側)を選択します。

→「COBOL登録集作成事例」

DTD作成 編集中のレイアウト定義がXML形式の場合、DTDを作成します。 

→「DTD作成事例」 

DDL文作成 編集中のレイアウト定義の情報で、DDL文を作成します。DDL文作成で作成する対象(入力/出力側・対応RDBMS)を選択します。 

→「DDL文作成事例」  →「DDL文生成における制限・注意事項」

既存レイアウト定義の取込既に作成しているレイアウト定義からレイアウト情報を取り込んで、選択中のレイアウトに上書きします。 取り込むレイアウト情報は、編集中のレイアウトと同じ変換形式である必要があります。 異なる変換形式を読み込んだ場合は、警告ダイアログが表示されます。 マルチレイアウト定義ファイルの取り込みは出来ません。

既存COBOL資産から取込既に作成している既存COBOL資産を取り込んで、選択中のレイアウトに上書きします。 取り込まれたCOBOL資産は、現在編集中のレイアウトの変換形式へ自動的に変換されます。

Page 12: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

終了 レイアウト定義機能を終了します。

Page 13: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

画面説明 - レイアウト定義 - [COBOL登録集出力指定]ダイアログボックス

COBOL登録集を入力、出力情報のどちらの属性で作成するかを指定します。デフォルトは出力情報の属性で作成になります。

項目 説明

入力情報の属性 レイアウト定義の入力情報の属性でCOBOL登録集を作成します。

出力情報の属性 レイアウト定義の出力情報の属性でCOBOL登録集を作成します。

Page 14: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

レイアウト定義機能 COBOL登録集作成事例

レイアウト定義では、編集中のレイアウト定義の記述をCOBOL登録集として出力できます。

レイアウト定義の入力情報・出力情報のどちらの情報の属性で作成するかを、COBOL登録集出力指定で指定します。

雛型のCOBOL登録集の出力について

出力対象のデータ形式がCSV形式、またはXML形式の場合、出力されるCOBOL登録集は属性が文字列の場合、"PIC X(1)"、数値の場合、"PIC 9(1)"の形式で出力されます。 また、数値文字列の場合は"PIC X(1)"の形式で出力されます。

【例】

レイアウト定義

階層 反復数 項目名 属性 符号 領域長 全桁 小数

0   ITEM1 X   10    

0   GROUP1          

1   ITEM2 X   3    

1   ITEM3 X   1    

0 10 GROUP2          

1   ITEM4 X   5    

1   ITEM5 X   5    

1 5 GROUP2-1           

2   ITEM6 Z     2  

1   ITEM7 X   2    

0   ITEM8 X   20    

0 5 GROUP-3           

1   ITEM9 X   8    

0   ITEM10 X   1    

出力されるCOBOL登録集

Page 15: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

01 ABC-REC. 03 ITEM1 PIC X(10). 03 GROUP1. 05 ITEM2 PIC X(3). 05 ITEM3 PIC X(1). 03 GROUP2 OCCURS 10. 05 ITEM4 PIC X(5). 05 ITEM5 PIC X(5). 05 GROUP2-1 OCCURS 5. 07 ITEM6 PIC 9(2). 05 ITEM7 PIC X(2). 03 ITEM8 PIC X(20). 03 GROUP-3 OCCURS 5. 05 ITEM9 PIC X(8). 03 ITEM10 PIC X(1).

Page 16: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

レイアウト定義機能 DTD作成事例

レイアウト定義では、編集中のレイアウト定義のXML形式の記述をDTDとして出力できます。レイアウト定義上では、厳密にXMLの定義を表現できませんので、生成されるDTDも厳密なものではありません。ここで定義したレイアウト定義から生成したXML文書の構造と違う場合もありえます。XML文書構造の参考程度にすることを薦めます。

【例】

レイアウト定義

階層 反復数 項目名 属性 タグ属性

0   ITEM1 X  

0   GROUP1    

1   GROUP2   N

2   ITEM2 X  

2   ITEM3 X  

0   GROUP3    

1   ITEM4 X  

1   ITEM5 X  

1   GROUP4     

2   ITEM6 Z  

2   ITEM7 X  

0   ITEM8 X  

0   GROUP5     

1   ITEM9 X A

1   ITEM10 X N

0 5 GROUP6    

1   ITEM11 X  

1   ITEM12 X N

 

出力されるDTD

Page 17: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

<!ELEMENT ABC-REC (ITEM1,GROUP1,GROUP3,ITEM8,GROUP5,GROUP6)> <!ELEMENT ITEM1 (#PCDATA)> <!ELEMENT GROUP1 (GROUP2)> <!-- ELEMENT GROUP2 (ITEM2,ITEM3) --> <!ELEMENT ITEM2 (#PCDATA)> <!ELEMENT ITEM3 (#PCDATA)> <!ELEMENT GROUP3 (ITEM4,ITEM5,GROUP4)> <!ELEMENT ITEM4 (#PCDATA)> <!ELEMENT ITEM5 (#PCDATA)> <!ELEMENT GROUP4 (ITEM6,ITEM7)> <!ELEMENT ITEM6 (#PCDATA)> <!ELEMENT ITEM7 (#PCDATA)> <!ELEMENT ITEM8 (#PCDATA)> <!ELEMENT GROUP5 (#PCDATA)> <!ATTLIST GROUP5 ITEM9 CDATA #IMPLIED> <!ELEMENT GROUP6 (ITEM11+)> <!ELEMENT ITEM11 (#PCDATA)>

Page 18: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

画面説明 - レイアウト定義 - [DDL文作成]ダイアログボックス

入力/出力情報のどちらの属性、及びどのRDBMSに対応するDDL文を作成するかを指定します。デフォルトは出力情報の属性で作成になります。

項目 説明

情報設定 DDL文を作成するレイアウト定義の情報の属性を指定します。

入力情報の属性 レイアウト定義の入力情報の属性でDDL文を作成します。

出力情報の属性 レイアウト定義の出力情報の属性でDDL文を作成します。

RDBMS設定 どのRDBMSに対応したDDL文を出力するかを指定します。

Symfoware Symfoware用のDDL文を作成します。

Oracle Oracle用のDDL文を作成します。

SQLServer SQLServer用のDDL文を作成します。

Page 19: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

レイアウト定義機能 DDL文作成事例

レイアウト定義では、編集中のレイアウト定義の情報に基づいて、RDBMSであるSymfoware、Oracle、SQLServerに対応したデータベース作成文の雛形を出力する事が出来ます。

.→DDL文作成における注意事項

【例1】

レイアウト定義(データ形式)

レコード名:GROUP1 階層 項目名 属性 符号 領域長 小数桁

0 ITEM01 X   20  

0 ITEM02 N   20  

0 ITEM03 Z S 10 2

出力されるDDL文(例 Symfoware)

CREATE TABLE "GROUP1"(  "ITEM01" VARCHAR(20),  "ITEM02" NCHAR(10),  "ITEM03" NUMERIC(10,2) );

【例2】

レイアウト定義(CSV/XML形式)

レコード名:GROUP2 階層 項目名 属性 符号 領域長 小数桁

0 ITEM01 V      

0 ITEM02 M      

0 ITEM03 --      

出力されるDDL文(例 Symfoware)

CREATE TABLE "GROUP2"(  "ITEM01" NUMERIC(1),  "ITEM02" VARCHAR(1) );

Page 20: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

レイアウト定義機能 [編集]メニュー

ファイル(F) 編集(E) 設定(S) 表示(V) オプション(O) ヘルプ(H)

項目 説明

行の切り取り 選択されている行を切り取ってコピーバッファ上に入れます。行のコピー 選択されている行をコピーバッファ上に入れます。行の貼り付け コピーバッファ上の内容を、フォーカスされている行の前に挿入します。行の挿入 フォーカスされている行の前に、新たに定義行を挿入します。行の削除 選択されている行を削除します。最終行の追加 最終行へ、新たに定義行を追加します。新規レイアウトの挿入 現在表示中のレイアウトの手前に、レイアウトを新規に追加します。新規レイアウトの追加 現在表示中のレイアウトの後に、レイアウトを新規に追加します。レイアウトの編集 レイアウト定義テンプレートダイアログを表示します。レイアウトの削除 現在表示中のレイアウトを削除します。

Page 21: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

レイアウト定義機能 [設定]メニュー

ファイル(F) 編集(E) 設定(S) 表示(V) オプション(O) ヘルプ(H)

項目 説明

項目定義テンプレート フォーカスされている行に対して項目定義の設定を行います。基本情報 レコード名や入出力側の各種情報を設定します。データ形式 入力および出力のデータ形式を設定・変更します。一括設定 項目情報を一括して設定することができます。

COBOL解析オプション COBOL資産を解析するための各種情報を設定します。C言語資産解析オプション C言語資産を解析するための各種情報を設定します。

Page 22: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

レイアウト定義機能 [表示]メニュー

ファイル(F) 編集(E) 設定(S) 表示(V) オプション(O) ヘルプ(H)

項目 説明

ツールバー ツールバーの表示/非表示を行います。ステータスバー ステータスバーの表示/非表示を行います。ウィンドウサイズのリセット ウィンドウサイズや項目定義表のセル幅等を初期状態にします。拡張表示 項目拡張情報を表示するかをチェックします。 →項目情報

 

 

Page 23: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

レイアウト定義機能 [オプション]メニュー

ファイル(F) 編集(E) 設定(S) 表示(V) オプション(O) ヘルプ(H)

項目 説明

環境設定 レイアウト定義機能が動作するにあたっての環境設定を行います。

Page 24: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

画面説明 - レイアウト定義 - [環境設定]プロパティシート

レイアウト定義画面上でのダブルクリック時の編集方法の指定ができます。デフォルトは、項目定義テンプレートによる編集です。

項目 説明

項目定義テンプレートによる編集 ダブルクリックした行が編集対象となり項目定義テンプレートダイアログが開きます。

直接入力 ダブルクリックしたセルの入力がレイアウト定義画面上で可能になります。

Page 25: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

レイアウト定義機能 [ヘルプ]メニュー

ファイル(F) 編集(E) 設定(S) 表示(V) オプション(O) ヘルプ(H)

項目 説明

TF-MDPORT ヘルプ オンラインマニュアルを表示します。バージョン情報 バージョン情報を表示します。

Page 26: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

プレビュー機能 [終了]メニュー

終了(X) オプション(O) ヘルプ(H)

プレビュー機能を終了します。

 

Page 27: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

プレビュー機能 [オプション]メニュー

終了(X) オプション(O) ヘルプ(H)

項目 説明

16進表示 データ内容に対し16進コードでの表示を行います。罫線表示 指定したカラムの単位で縦の罫線を表示し、データの各相対位置を見や

すくします。1/5/10カラム毎、または罫線なしに設定できます。

フォントサイズ 表示フォントの指定を行います。小/標準/大より選択できます。

変換エラー表示 プレビュー表示されている変換の範囲(出力レコードの先頭100件)で発生した変換エラーを、変換エラー表示機能にて表示します。

→変換エラー表示機能

Page 28: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

プレビュー機能 [ヘルプ]メニュー

終了(X) オプション(O) ヘルプ(H)

プレビュー機能のヘルプを表示します。

Page 29: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

使用方法 サンプルデータでの動作確認手順

製品に付随するサンプルの使用手順について説明します。インストール後の動作確認等に使用してください。なおサンプルデータには、変換エラー表示機能を使用するために、項目属性に合わないデータ値が意図的に含まれています。

1. TF-MDPORTの起動

. スタートメニューの“TF-MDPORT”のアイコンより起動します。

2. 変換指示ウィザードの起動

. ファイルメニュー「変換指示の新規設定」またはツールバー「新規設定」もしくはコマンドボタンより、変換指示ウィザードを起動します。

3. 変換指示ウィザード(1/5)

Page 30: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

. ファイル変換モードとカレントフォルダを指定します。

ファイル変換モードは「データファイル変換」を選択し、カレントフォルダにはサンプルデータ(DATA1.DAT)が格納されているフォルダを指定してください。

4. 変換指示ウィザード(2/5)

. レイアウト定義ファイルを指定します。ここでは新規にレイアウト定義ファイルを作成するものとし、「レイアウト定義の起動」よりレイアウト定義プログラムを起動します。

5. レイアウト定義機能(既存COBOL資産の解析)

. ファイルメニュー「既存COBOL資産からの新規作成」またはツールバー「既存資産(COPYライブラリ、他)からの新規作成」より、「既存COBOL資産の指定」ダイアログを開きサンプルのCOPYライブラリ(DATA1.COB)を選択します。

6. レイアウト定義機能(データ形式の指定)

Page 31: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

. 既存COBOL資産の解析が完了すると、「データ形式指定」ダイアログが表示されます。

ここで入力と出力のデータ形式を指定します。

入力データ形式は「データファイル形式」、出力データ形式は「CSV形式」を選択してください。

7. レイアウト定義機能(レイアウト定義の確認・保存・終了)

. 解析された結果が一覧表示されます。

ファイルメニューまたはツールバー「名前を付けて保存」より、任意の名前(拡張子は“.LAY”)で保存してください。

サンプルのレイアウト定義ファイル(DATA1.LAY)は、同様に解析し保存したものです。

保存後、レイアウト定義機能を終了し、TF-MDPORTの変換指示ウィザード(2/5)に戻ります。

8. 変換指示ウィザード(2/5 レイアウト定義ファイル作成後)

. レイアウト定義ファイル名に、レイアウト定義機能で保存したファイル名を指定してください。

9. 変換指示ウィザード(3/5)

Page 32: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

. 入力情報を指定します。

コード体系は「シフトJIS」、ファイル名はサンプルデータ(DATA1.DAT)、ファイル形式は「一般ファイル」を指定し、レコード属性として「固定長」、レコード長“500”を指定してください。

10. 変換指示ウィザード(4/5)

. 出力情報を指定します。

コード体系は「シフトJIS」、ファイル名は任意のファイル名(デフォルトで“DATA1.CSV”になります)を指定し、レコード属性として「可変長」、レコードの区切り「改行コード(CR+LF)」を指定してください。

加えて出力するCSV形式の設定を行うため「CSV形式の詳細」より「CSV情報の指定」ダイアログを開きます。

11. CSV情報の指定

. CSV情報の詳細設定を行います。

参考設定より「Oracle」を選択してください。Oracleの一般的なローダ形式の設定になります。

ダイアログを閉じ、変換指示ウィザード(5/5)へ進みます。

12. 変換指示ウィザード(5/5)

Page 33: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

. 変換に関するその他の情報を指定します。

必要であれば変更可能ですが、サンプルの場合はデフォルトのままで良いでしょう。

「完了」で変換指示ウィザードを終了します。

13. プレビュー

. 「プレビュー」ボタンよりプレビュー画面を表示します。

CSV形式になっていることを確認します。なお、サンプルデータには変換不能文字が含まれているため一部“■”で表示されます。

「終了」でプレビュー画面を閉じます。

14. 変換実行

. 「変換実行」ボタンにより、実際の変換処理が開始されます。

変換処理が終了すると、ダイアログが開き入出力レコード件数とエラー発生件数が表示されます。

サンプルデータの場合は、以下のようになります。

入力レコード件数: 14 出力レコード件数: 14 エラー発生件数: 2

15. 変換エラー表示

Page 34: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

. 「変換エラー表示」ボタンより、変換エラーファイルの内容を表示します。

サンプルデータでは以下のエラーが発生したことがわかります。

3レコード目の23バイト目、項目名「製品名」、項目属性「日本語項目(N)」でコード変換エラー(入力コードは0x0000)

4レコード目の46バイト目、項目名「売上数量」、項目属性「外部10進(Z)」で数値部エラー

16. 変換指示ファイルの保存

. ファイルメニュー「変換指示ファイルに名前を付けて保存」またはツールバー「名前をつけて保存」により、変換指示ファイル(拡張子は“.MDP”)を保存します。

17. TF-MDPORTの終了

. ファイルメニュー「SIMPLIA/TF-MDPORTの終了」によりTF-MDPORTを終了します。

Page 35: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

使用方法 使用手順

MDPORTを使用してファイル変換を行うには、以下の手順にて操作します。

1 変換対象となる入力ファイルの準備

2 ファイル変換モードの決定

3 レイアウト定義(データファイル変換の場合)

4 変換指示の指定

5 プレビュー機能による変換結果の事前確認

6 MDPORTの実行

7 エラー内容の確認

8 出力ファイルの後処理

MDPORTでは一切の通信機能を持っていないため、汎用機やUNIX機上のファイルを入力とする場合、利用者がファイル転送等を利用してWindows上に持ち込む必要があります。

ファイル転送を行う場合の注意として、一切のコード変換を行わないバイナリモード(透過モード)で転送してください。

Page 36: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

使用手順

MDPORTを使用してファイル変換を行うには、以下の手順にて操作します。

1 変換対象となる入力ファイルの準備

2 ファイル変換モードの決定

3 レイアウト定義(データファイル変換の場合)

4 変換指示の指定

5 プレビュー機能による変換結果の事前確認

6 MDPORTの実行

7 エラー内容の確認

8 出力ファイルの後処理

変換するファイルの種類によって、以下の変換モードのいずれかを決定する必要があります。変換モードによって以降の手順が異なります。

- データファイル変換 - テキスト変換

 

Page 37: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

使用手順

MDPORTを使用してファイル変換を行うには、以下の手順にて操作します。

1 変換対象となる入力ファイルの準備

2 ファイル変換モードの決定

3 レイアウト定義(データファイル変換の場合)

4 変換指示の指定

5 プレビュー機能による変換結果の事前確認

6 MDPORTの実行

7 エラー内容の確認

8 出力ファイルの後処理

レイアウト定義機能を使用してデータファイルのフォーマットを定義します。レイアウト定義機能では、既存のCOPYライブラリやインクルードファイルを元にレイアウト定義ファイルを作成できるため、変換元または変換先データファイルのCOPYライブラリやインクルードファイルを用意しておくと効率的かつ正確です。 また、変換対象データの一部に秘匿したい取扱要注意情報が含まれるときは、ここでその指定をしてください。

 

Page 38: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

使用手順

MDPORTを使用してファイル変換を行うには、以下の手順にて操作します。

1 変換対象となる入力ファイルの準備

2 ファイル変換モードの決定

3 レイアウト定義(データファイル変換の場合)

4 変換指示の指定

5 プレビュー機能による変換結果の事前確認

6 MDPORTの実行

7 エラー内容の確認

8 出力ファイルの後処理

MDPORTを起動させて、入力・出力ファイル等の変換指示を行います。指定された内容は変換指示ファイルとして保存することができ、再実行も可能です。

 

Page 39: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

使用手順

MDPORTを使用してファイル変換を行うには、以下の手順にて操作します。

1 変換対象となる入力ファイルの準備

2 ファイル変換モードの決定

3 レイアウト定義(データファイル変換の場合)

4 変換指示の指定

5 プレビュー機能による変換結果の事前確認

6 MDPORTの実行

7 エラー内容の確認

8 出力ファイルの後処理

必要に応じて、プレビュー機能を利用することにより、全てのレコードを変換する前に、結果を画面上で確認することができます。

 

Page 40: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

使用手順

MDPORTを使用してファイル変換を行うには、以下の手順にて操作します。

1 変換対象となる入力ファイルの準備

2 ファイル変換モードの決定

3 レイアウト定義(データファイル変換の場合)

4 変換指示の指定

5 プレビュー機能による変換結果の事前確認

6 MDPORTの実行

7 エラー内容の確認

8 出力ファイルの後処理

変換処理を実行します。

 

Page 41: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

使用手順

MDPORTを使用してファイル変換を行うには、以下の手順にて操作します。

1 変換対象となる入力ファイルの準備

2 ファイル変換モードの決定

3 レイアウト定義(データファイル変換の場合)

4 変換指示の指定

5 プレビュー機能による変換結果の事前確認

6 MDPORTの実行

7 エラー内容の確認

8 出力ファイルの後処理

変換エラーが発生している場合、変換エラーファイルを表示し、エラーの内容を確認することができます。

Page 42: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

使用手順

MDPORTを使用してファイル変換を行うには、以下の手順にて操作します。

1 変換対象となる入力ファイルの準備

2 ファイル変換モードの決定

3 レイアウト定義(データファイル変換の場合)

4 変換指示の指定

5 プレビュー機能による変換結果の事前確認

6 MDPORTの実行

7 エラー内容の確認

8 出力ファイルの後処理

入力同様、MDPORTでは一切の通信機能を持っていないため、出力ファイルが汎用機やUNIX機向けのファイルの場合、利用者がファイル転送等を利用してWindows上から移出する必要があります。

ファイル転送を行う場合の注意として、一切のコード変換を行わないバイナリモード(透過モード)で転送してください。

Page 43: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

使用方法 MDPORT変換指示

MDPORTを実行するにあたっての必要な情報を設定します。指定された情報は変換指示ファイルとして保存し再度使用することができます。

変換指示の設定は、MDPORT変換指示ウィザードによって行います。参照したいページをクリックしてください。

→変換指示 ファイル

- 基本情報(ページ1)- レイアウト定義情報(ページ2)- 入出力ファイル情報(ページ3/4)- 変換仕様・エラー(ページ5)

Page 44: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

使用方法 変換処理の実行

変換処理の実行中は進行状況インジケータが表示され、入力ファイルの処理状況、変換エラー発生状況が表示されます。

[中断]ボタンにより変換処理を中断することができます。その場合の出力ファイルの内容は保証されません。

変換処理が終了すると、入出力レコード件数、変換エラー発生件数等が表示されます。

Page 45: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

使用方法 レコード抽出処理の実行

変換処理中に以下のメッセージが表示された場合は、データ条件設定の条件値を確認してください。詳細はレコード抽出仕様を参照してください。 また、制限・注意事項については、レコード抽出機能における制限・注意事項を参照してください。

「抽出条件のコード変換に失敗しました。 n番目の抽出条件がコード変換できませんでした。 この条件では、正常な抽出ができない可能性があります。」

n : データ条件の通し番号

ここでは、レコード抽出処理を実施した場合の変換処理について説明します。

MDPORT変換指示ウィザード 2/5で、データ条件設定を行った場合、レコード抽出処理を行います。レコード抽出処理後は、通常の変換処理と同様の処理を行います。

レコード抽出の変換処理が終了すると、入出力レコード件数、変換エラー発生件数等が表示されます。

入力レコード件数 入力ファイルのレコード数出力レコード件数 データ条件と一致したレコード数エラー発生件数 レコード抽出を実施したレコード内の変換エラー発生件数

Page 46: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

使用方法 利用者定義変換テーブル

利用者定義変換テーブルにより、利用者定義文字(外字)や拡張文字の変換仕様を任意に指定することができます。

利用者定義文字(外字)や拡張漢字・非漢字を任意の文字コードに変換するには、以下の方法があります。

- Charset Managerの文字コード変換表に対応させるコードを定義する。(推奨)

変換指示ウィザードにて[Charset Managerを使用する]をチェックします。他社コード変換機能を利用する場合は指定できません。

- MDPORTの利用者定義変換テーブルを使用する。

利用者定義変換テーブルの書式

利用者定義変換テーブルはテキストファイルとしてメモ帳等を使用して作成します。

利用者定義変換テーブルは、コード系定義文とそれに従属する1つ以上のコード対応定義データで構成されています。それぞれは、行の1カラム目の内容(“#”または空白)で識別されます。1カラム目が“*”の場合は注釈行とみなされます。

[コード系定義文] # コード系名1 コード系名2

- 1カラム目には“#”を指定します。

- コード系名は4文字以内の文字列で、以下のように指定します。

文字コード体系 コード系名シフトJISコード SJISEUCコード EUCJEFコード JEF(カナ)、JEFA(英小文字)JISコード JISUnicode UCS2その他 コードID

- コード系名1とコード系名2に同じコードを指定することもできます。その場合、以降のコード対応定義データは、変換元:変換先の順序で記述します。

[コード対応定義データ] 文字コード1:文字コード2

. →変換指示ウィザード →他社コード変換機能

Page 47: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

- 1カラム目には空白を指定し、文字コード1と文字コード2の間にコロン(“:”)を指定します。途中に空白があってはいけません。

- 文字コードは16進で2桁または4桁で指定します。EUCコードの場合、G3文字は“8F”を付けて6桁で指定し、G2(カナ)文字は“8E”を付けて4桁で指定します。Unicodeの場合、UCS2ビッグエンディアンで4桁で指定します。

- 文字コードに“NO”を指定すると、対応するコードがないとみなされます。

- 同一の変換元コードに対して変換規則が複数存在する場合は、最後に記述されている指定が有効となります。

- 以下のコード範囲を指定することはできません。 コード体系 1バイト 2バイト 3バイト

SJIS 81-9F E0-FC

先頭1バイトが 00-7F,A1-DF -

EUC 8E,8F A1-FE

1バイト目が00-7F 1バイト目が8Fで 2バイト目が A1-FE (G3の1,2バイト目)

1バイト目が 00-7F,8E

JEF JEFA 28,29,38,30 左記コードで始まる2

バイト -

JIPE 3F 左記コードで始まる2バイト -

JIPJ 1A 左記コードで始まる2バイト -

KEIS 0A,30 左記コードで始まる2バイト -

IBM 0E,0F 左記コードで始まる2バイト -

JIS 1B 左記コードで始まる2バイト -

AVX

2バイト文字の1バイト目 04,06,08-0A,14,17,1A,1B, 20-25,28-2C,30,31,33-36, 38-3B,3E,57,59,62-66,6A, 74-79,80,8B,9B,9C,A0,A1, AB,B0,B2-B9,C0,CA-CF, DA-DF,E1,EA,EB

左記コードで始まる2バイト 1バイト目 05,40-56,58,5A-61,6B-6F,7A-7F, 81-8A,8C-9A,9D-9F,A2-AA,AC-AF, BA-BF,C1-C9,D0-D9,E0,E2-E9, F0-F9

-

UCS2 - 2バイト(4桁)定義以外 -

Page 48: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

UTF8C0-FD (先頭1文字が他のバイト数文字の先頭以外)

1バイト目 00-7F 4,5,6バイト系で始まる 先頭1バイト F0-F7, F8-FB, FC-FD 3バイト文字の1,2バイト目 1バイト目 E0-EF 2バイト目 80-BF

1バイト目 00-7F 4,5,6バイト系で始まる 先頭1バイト F0-F7, F8-FB, FC-FD 1,2バイト目が2バイト文字 C080-DFBFで始まる3バイト

利用者定義変換テーブル定義例

* JEF-シフトJIS間での変換 # JEF SJIS 47C9:92CB 00:5F 5B:NO * シフトJIS-EUC間での変換 # SJIS EUC EB40:F7A1 EB41:8FA1A1

【雛型利用者定義テーブル】

MDPORTの[sample]ディレクトリ配下に以下のファイルが格納されています。

ファイル名:JEF_SJIS.cnv JEF→SJIS変換で、字体重視変換+縮退変換が行えます。 詳細はファイル内のコメント文を参照してください。

【参考情報 -利用者定義文字の領域】

文字コード(コード範囲)

文字数上位バイト 下位バイト

JEF 80~A0 A1~FE 3102EUC(U90) DD~FD A1~FE 3102EUC(S90) F5~FE A1~FE 940R90(sjisdos) F0~F9 40~FC 1880シフトJIS(sjisms) F0~F9 40~FC 1880Unicode E0~F8 00~FF 6400

EUC(U90)の利用者定義領域はG3領域です。したがって上位バイトに0x8Fが付きます。 Unicode-JEFフォントを利用する場合、0xF001~0xFFFFはJEF拡張文字の領域に割り当てています。

Page 49: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

使用方法 プレビュー機能

プレビュー機能により、ファイル変換結果を事前に画面上で確認することができます。文字で構成されていないファイルは、一般のテキストエディタ(メモ帳等)で参照することはできませんが、プレビュー機能を利用するとレコードや文字以外のコードを意識して表示されます。

プレビューでは、先頭レコード100件分の変換結果ファイルを表示します。通常の表示では、ファイルの内容をそのままシフトJISコードで表示します。よって、出力側コード体系がシフトJISコード以外では、表示内容はあまり意味を持ちません。シフトJIS以外の出力では16進表示を使用して内容を確認して下さい。

Page 50: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

使用方法 変換エラーの表示

変換中に発生したエラーは、変換エラーファイルへ出力されます。変換エラー表示機能は、出力された変換エラーファイルを環境設定で指定された外部ビューアプログラム(デフォルトはメモ帳)により表示する機能です。 EUC(G3)3バイト文字の変換エラーが発生した場合、変換エラーファイルに「コード変換エラー」項目は出力されません。

→変換エラーファイル →環境設定

【コード変換エラー】 コード変換エラーとなった文字コードの一覧です。Unicodeの場合は種別(UCS2/UTF8)やエンディアンにかかわらず、UCS2ビッグエンディアンで表示されます。 書式 文字コード16進2桁または4桁(出現数)

【エラー発生項目】 変換エラーの発生した項目の一覧です。(データファイル変換の場合のみ) 書式 レイアウト定義の項目No:項目名:項目属性(エラー発生

数)

【エラー詳細】 変換エラーの詳細内容を発生順に列挙します。変換指示ウィザードで指定する変換エラー出力可能件数の範囲までが出力対象です。Unicodeの場合は、種別(UCS2/UTF8)やエンディアンについて入力コードのまま表示されます。 入力データ形式がCSV、XML形式の場合は、レコード上の相対位置は、常に0となります。 書式 入力レコード番号-レコード上の相対位置 エラー内容

レイアウト定義の項目No:項目名:項目属性

変換エラーファイル出力例

下記は、サンプル資産を実行した場合に、発生するエラーについて説明しています。

入力ファイル : DATA1.DAT レイアウト定義ファイル : DATA1.LAY( SJIS[DATA形式]からSJIS[CSV]形式へ変換 )

*** SIMPLIA/TF-MDPORT 変換エラーファイル *** カレントフォルダ: C:¥SIMPLIA¥TF-MDPORT Pro¥Sample 入力ファイル名: data1.dat レイアウト定義ファイル名: data1.lay 変換エラー発生数: 2 【コード変換エラー】()内は出現数 (*)は100以上 0000( 1) 【エラー発生項目】項目No:項目名:属性(エラー発生数 *は100以上) 3:製品名:N( 1) 5:売上数量:Z( 1) 【エラー詳細】レコード番号-位置 エラー内容 項目No:項目名:属性 3-23 コード変換エラー(0x0000) 3:製品名:N 4-46 数値部エラー 5:売上数量:Z

.

Page 51: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

使用方法 変換エラーの表示 代表的なエラーの紹介

ここでは、代表的な変換エラーの発生要因について説明します。 .【領域溢れエラー】 ~領域長変動の要因 データファイル変換で英数字、日本語、混在、可変長文字列、可変長日本語項目のコード変換を行うと、1項目の入力データ長と出力データ長が異なる場合があります。 領域長変動要因 対処方法1 シフトJIS/JEF/他社コードの半角カナをEUCコードへ変換

→EUCコードでは、半角カナ(見た目上は1バイト)は2バイトのコードで表現されます。(他は1バイトのコードで表現)

レイアウト定義にて、出力側の各項目の領域長を拡大してください。

2 シフトJIS/EUC/JEF/他社コードの1バイトコード(ASCII,/EBCDIC)をUnicode(UCS2形式)へ変換 →UCS2形式では、全ての文字が2バイトのコードで表現されます。

3 各種コード体系の2バイト文字をUnicode[UTF8形式]へ変換 →UTF8形式では、日本語文字や特殊記号文字が2~3バイトのコードで表現されます。

4 シフトJIS/EUCコードの混在項目をJIS/JEF/他社コードへ変換 →JIS/JEF/他社コードには、日本語制御切替コードが存在します。(JEFコードの0x28,0x29等)

5 JEFコードの拡張漢字/拡張非漢字(2バイトコード)をEUCコード(U90形式)へ変換 →EUCコード(U90)では、拡張文字コード領域としてコードセット3(3バイトコード)で表現されます。

6 CSV/XML形式のデータをデータ形式へ変換 →CSV/XML形式では、各項目の入力項目の長さは可変です。従って、変換後のデータ長と出力領域長が一致しない場合があります。変換後のデータ長が出力領域長に満たない場合は、空白文字を埋め込み(項目属性により、1バイトまたは2バイトの空白を埋め込みます)、超える場合は、文字単位に切り捨てエラーを出力します。

【コード変換エラー】 ~コード変換エラー/正しく変換されない

コード変換エラー要因 対処方法1 JEFの㈱や㈲をSJISに変換するとコード変換エラーが発生す

る。 →MDPORTは83JISに準拠し、第1/第2水準漢字、非漢字(JEFでは基本非漢字)を規則的に変換するため、JEFの拡張領域の漢字をMDPORTの標準変換では正しく変換することができません。

1.2)JEF拡張漢字/拡張非漢字の変換を行うためには、 MDPORTのCharset Manager変換機能を利用するか、利用者定義ファイルでの定義の2通りの方法があります。 -㈱や㈲のようにWindows(R)固有に存在し、かつ、JEF拡張領域に存在する文字については、Charset Managerの字体重視変換を行うことで変換が可能です。(jefaugkana→sjisms) -利用者定義ファイルで対応表を作成することでも変換が可能です。 ※Sampleフォルダ内のJEF_SJIS.cnvファイル内に対応表を作成していますので、必要に応じて利用可能です。 ※他社コードについては独自に作成する必要があります。 ※JEF固有の拡張漢字や外字を変換する場合

Page 52: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

は、シフトJISのユーザ定義領域にコードを割りあてて対応関係を作成する必要があります。

3)Charset Manager変換機能を利用することで、83JIS改定文字を考慮した変換を行うことが可能です。JEF_SJIS.cnv内のファイルにも対応表は準備されてますので、必要に応じて利用してください。

2 JEF固有の拡張漢字や外字をSJISに変換するとコード変換エラーが発生する。 →変換エラーの理由は1と同じです。他社コードからの変換においても同様に変換エラーとなります。

3 JEFの基本漢字内の一部の文字をSJISに変換すると正しく変換されない。 →MDPORTの標準変換機能はJIS83準拠による変換であるため、JEFコードは’78JIS準拠のため、一部の文字(’83JISでの改定文字)について同一の文字へ変換されません。

4 LOW-VALUE(0x00)やHIGH-VALUE(0xFF)を変換すると変換エラーが発生する。 →MDPORTはLOW-VALUEやHIGH-VALUE、JEFのデバイス制御コードについては文字と認識しないため、変換エラーとなり代替文字に置き換わります。

利用者定義ファイルで対応表を作成してください。 例) ------------ # jef sjis 00:00 FF:FF ------------

【数値部エラー】 ~数値部エラーの要因 数値部エラー要因- 外部10進/内部10進内のデータに数値以外のデータが存在する。

属性 符号 COPY句 内部表現(16進) 値 エラー外部10進 なし 9(4) 31323334 1234 なし

外部10進 あり S9(4) 31323344 +1234 なし

外部10進 なし 9(4) 3132333A 0 あり内部10進 なし 9(4) COMP3 01234F 1234 なし

内部10進 あり S9(4) COMP3 01234D -1234 なし

内部10進 なし 9(4) COMP3 012B4F 0 あり

- CSV/XML形式のデータ(数値)内に数値以外の文字や記号が存在する 属性 符号 COPY句 値 エラー

外部10進 なし 9(4) ABCD あり外部10進 あり S9(4) $1234 あり

【符号部エラー】 ~符号部エラーの要因 データファイル変換で、外部10進、内部10進項目の変換を行う際に、符号部のチェックを厳密に行います。符号部チェックを行う場合は、レイアウト定義の項目定義で、「入力チェックを行う」を設定する必要があります。

Page 53: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

属性 符号 COPY句 内部表現 値 エラー外部10進 なし 9(4) 31323334 1234 3以外はエラー外部10進 あり S9(4) 31323354 -1234

4,5以外はエラー外部10進 あり S9(4) 31323344 +1234内部10進 なし 9(4) COMP3 01234F 1234 F以外はエラー内部10進 あり S9(4) COMP3 01234C +1234

C,D以外はエラー内部10進 あり S9(4) COMP3 01234D -1234

注)外部10進の例はASCIIコード系の例です。以下にEBCDIC系コードの演算符号を記載します。 F : ゾーンビットC : 正の演算符号D : 負の演算符号

【マスタデータのコード変換エラー】 ~マスタデータのコード変換エラーの要因      コード変換エラー要因 対処方法1 マスタデータのコード変換中にエラーが発生する →表示されているマスタデータファイルにコード変換できないデータが入っているため、マスク機能の準備処理でエラーとなります。

表示されているマスタデータファイルの該当する項目のデータを、正常にコード変換できるデータに変更する必要があります。

【MDPORT変換時のエラー】 ~継続不可能なエラー要因      コード変換エラー要因 対処方法1 継続不可能なエラーが発生し、変換処理が中断する →マスタデータファイルを利用してマスクするデータ(値)を指定した場合、マスク指定した項目名に対応したマスタデータファイルが見つからなかった場合エラーとなります。 →マスタデータファイルを利用してマスクするデータ(値)を指定した場合、読み込みマスタデータファイルの1行目に、マスク指定した項目名が見つからなかった場合、エラーとなります。

MDPORTのインストールフォルダに、マスク指定した項目名に対応したマスタデータ(項目名+.csv)が存在すること、また読み込んだマスタデータにマスク指定した項目名が存在すること確認をする必要があります。

Page 54: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段
Page 55: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

使用方法 レコード抽出機能

レコード抽出機能では、入力ファイルのデータ項目のデータ条件に一致するレコードのみを出力します。

データ条件設定画面は、以下の手順により起動します。

1. MDPORT変換指示ウィザードの2/5より、レイアウト定義ファイル名を指定してください。→制限・ 注意事項

2. MDPORT変換指示ウィザードの2/5より、【データ条件設定】ボタンをクリックしてください。

Page 56: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

レイアウト定義機能

レイアウト定義機能では、データファイル変換にて使用するレイアウト定義ファイルを作成・編集します。

レイアウト定義機能は、以下の方法により起動することができます。

- スタートメニューからの起動

- MDPORT変換指示からの起動

- エクスプローラ等から "F5AVPLAY.EXE" を起動

Page 57: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

レイアウト定義機能 COPYライブラリからの取り込み

レイアウト定義ファイルは、既存COBOL資産(COPYライブラリ)から取り込みを行って作成することができます。

取り込みを行うと各項目定義が自動生成されて展開されます。必要に応じて、展開された項目定義を編集してください。

. →レイアウト定義ファイル →COPYライブラリ →レイアウト定義機能に て取り込める既存資産

Page 58: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

レイアウト定義機能 インクルードファイルからの取り込み

レイアウト定義ファイルは、既存C言語資産(インクルードファイル)から取り込みを行って作成することができます。

取り込みを行うと各項目定義が自動生成されて展開されます。その際に、C言語資産解析オプションで設定された情報が反映されます。必要に応じて、展開された項目定義を編集してください。

. →レイアウト定義ファイル →インクルードファイル →レイアウト定義機能に て取り込める既存資産

Page 59: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

レイアウト定義機能 データ形式の指定

レイアウト定義ファイルを作成する際に、入力および出力のデータ形式を指定します。データ形式には以下の3つの形式があります。

- データファイル形式- CSV形式

- XML形式 データ形式を変更する場合の注意

既に作成済のレイアウト定義ファイルに対してデータ形式を変更すると、定義済の情報が失われてしまいます。また、CSV形式、XML形式からデータファイル形式に変更した場合は、全ての項目について相対位置や領域長を定義しなければなりません。データ形式を変更する場合は、再度、新規作成にてCOPYライブラリやインクルードファイルから取り込みを行うことを薦めます。

Page 60: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

レイアウト定義機能 項目情報の編集方法

項目情報を編集するには、以下の2つの方法があります。また、環境設定によってダブルクリックによる編集方法(項目定義テンプレート、直接編集)を変更することができます。

項目定義テンプレートによる編集 (推奨)

項目単位での編集が行えます。項目定義テンプレートは、[設定]メニュー、F8キーまたは表のダブルクリックにより起動されます。

- 項目情報の拡張情報を設定する場合

項目情報の拡張情報の設定は、[拡張設定]ダイアログボックスで行います。[拡張設定]ダイアログボックスは、項目定義テンプレート上の[拡張設定]ボタンを押下することにより表示されます。

レイアウト定義画面による直接編集

変更を行いたいセルにフォーカスをあててEnterキーを押下すると、直接編集ができます。環境設定で直接入力を選択すると、ダブルクリックによる直接編集ができます。編集用のエディットコントロールでEnterキーを押すと表に反映され、Escキーを押すと反映されずに復帰します。

直接編集により入力された内容は、レイアウト定義ファイルの保存時にチェックされます。無効な設定がされている場合は、無視されて初期化されます。

- 項目情報の拡張情報を設定する場合

編集方法は上記と同様ですが、レイアウト定義機能起動後の初期状態では項目情報の拡張情報は表示されていません。項目情報の拡張情報を表示するには、[拡張表示]メニューをチェックします。

  →項目情報 →環境設定 →項目定義テンプレート →拡張情報 →[拡張設定] ダイアログボックス →[拡張表示]メニュー

Page 61: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

レイアウト定義機能 反復項目の定義

レイアウト定義では、COBOLデータ記述の「OCCURS句」等に相当する反復項目(配列)に対応しています。

反復数の指定は反復定義行で行われ、通常の項目定義行と異なります。また、反復対象となる項目は、反復定義行より深い階層で示されます。反復定義行は階層と反復数のみで構成され、次の行は必ず階層が1つ深くなければなりません。反復階層は7階層までです。

【例】(COBOL解析オプションの集団項目の扱い無効の時の表示例)

COBOLでのデータ記述

01 ABC-REC. 03 ITEM1 PIC X(10). 03 GROUP1. 05 ITEM2 PIC X(3). 05 ITEM3 PIC X(1). 03 GROUP2 OCCURS 10. 05 ITEM4 PIC X(5). 05 ITEM5 PIC X(5). 05 GROUP2-1 OCCURS 5. 07 ITEM6 PIC 9(2). 05 ITEM7 PIC X(2). 03 ITEM8 PIC X(20). 03 ITEM9 OCCURS 5 PIC X(8). 03 ITEM10 PIC X.

レイアウト定義

階層 反復数 項目名

0   ITEM1

0   ITEM2

0   ITEM3

0 10  

1   ITEM4

1   ITEM5

1 5  

2   ITEM6

1   ITEM7

0   ITEM8

0 5  

1   ITEM9

0   ITEM10

Page 62: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段
Page 63: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

レイアウト定義機能 集団項目の定義

レイアウト定義では、COBOLデータ記述の「集団項目」の記述に対応しています。

集団項目の指定は反復項目の定義の反復数の指定がない記述と同じ形式になります。また、集団項目に従属する項目は、集団項目定義行より深い階層で示されます。集団項目定義行は階層と項目名のみで構成され、次の行は必ず階層が1つ深くなければなりません。指定できる最大階層は7階層までです。

既存COBOL資産からの新規作成でレイアウト定義画面に集団項目を表示させるには、COBOL解析オプションで集団項目の扱いを有効にする必要があります。また、この集団項目の扱いの指定に関係なく、レイアウト定義では集団項目の追加、削除等の編集は可能です。

【例】

COBOLでのデータ記述

01 ABC-REC. 03 ITEM1 PIC X(10). 03 GROUP1. 05 ITEM2 PIC X(3). 05 ITEM3 PIC X(1). 03 GROUP2. 05 ITEM4 PIC X(5). 05 ITEM5 PIC X(5). 05 GROUP2-1. 07 ITEM6 PIC 9(2). 05 ITEM7 PIC X(2).

レイアウト定義

階層 反復数 項目名

0   ITEM1

0   GROUP1

1   ITEM2

1   ITEM3

0   GROUP2 

1   ITEM4

1   ITEM5

1   GROUP2-1 

2   ITEM6

1   ITEM7

Page 64: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

マルチレイアウト定義機能

データファイル変換において、1ファイル上のレコードフォーマットが、レコードによって変わる(複数のレコードフォーマットが存在する)ものを、本書ではマルチフォーマットと呼びます。ここでは、マルチレイアウト定義機能を使用したマルチフォーマットの対応方法について説明します。 マルチレイアウト定義機能では、定義したレコードレイアウトが、どのような条件のレコードについて適用するかを指示します。なお、この機能を応用することにより、入力ファイルに対するレコード抽出も行うことができます。

マルチフォーマットデータの変換について

       【マルチフォーマットデータの変換イメージ】

マルチレイアウト定義ファイルの作成手順

マルチレイアウト定義ファイルの作成手順について説明します。 1. TF-MDPORT レイアウト定義の起動

Page 65: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

. スタートメニューの“TF-MDPORT レイアウト定義”のアイコンより起動します。

2. レイアウトを新規に作成する

. レイアウト定義ファイルは、既存COBOL資産(COPYライブラリ)や既存レイアウト定義の取り込みを行って作成することができます。 取り込みを行うと各項目定義が自動生成されて展開されます。

3. マルチレイアウトの編集をする

. レイアウト定義テンプレートで比較条件等を設定します。

4. レイアウトを追加する

Page 66: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

. 「新規レイアウトの追加」ボタンを押下し、既存レイアウトの次に追加します。

5. レイアウトを挿入する

. 「新規レイアウトの挿入」ボタンを押すと、表示されているレイアウトの前に挿入します。

6. レイアウトを削除する

. 表示されているレイアウトを削除するときは、「レイアウト削除」ボタンを押下します。

7. レイアウトを保存する

Page 67: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

. ファイルメニューの「名前を付けて保存」を選択し、作成したマルチレイアウト定義ファイルを保存します。

画面リファレンス

マルチレイアウト定義画面の操作手順について説明します。 1. レイアウト定義画面

. スタートメニューの“TF-MDPORT レイアウト定義”のアイコンより起動します。

2. マルチレイアウト定義指定ダイアログバー

Page 68: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

. ①レイアウト名のリスト 選択されるレイアウト名が一覧表示されます。 一覧表示されたレイアウト名を選択する事で該当のレイアウトが画面に表示されます。 ②編集するレイアウトの制御文 選択されたレイアウト名の制御文が表示されます。 ・フォーマット   op 位置,情報長:pos,len 比較データ:min~max op …演算子。EQ/NOT/OTHER/NONEのいずれかが表示される。 pos…比較するデータの開始位置が表示されます。 len…比較するデータの長さが表示されます。 min…比較するデータの最小値が表示されます。 max…比較するデータの最大値が表示されます。

3. レイアウト定義テンプレートダイアログ

. ①レイアウト名 レイアウト名を指定します。 レイアウト名は90バイトまで指定可能です。 既存のレイアウト名(基本情報ダイアログのレイアウト名)とは異なります。 ②条件式 比較条件式を指定します。 必ず指定する必要があります。 条件は、EQ(等しい)、NOT(等しくない)、OTHER(それ以外)、NONE(無し)です。 ③フィールド位置 比較するレコードのバイト位置を1を先頭とした値で指定します。 必ず指定する必要があります。 最大指定値は32767です。 ④フィールド長 比較する長さ(バイト数)を指定します。 必ず指定する必要があります。 最小値は1、最大値は「32767 - フィールド位置」です。 ⑤最小値 比較する値の最小値を指定します。 文字列を指定する場合は、"(ダブルクォーテーション)で括って指定します。それ以外の場合は、16進数で設定します。 フィールド長よりも短い場合は、余った領域にNULLがあるものとして比較します。 フィールド長よりも長い場合は、フィールド長の長さまでを利用して比較します。 最大値を空欄の状態で最小値のみを指定すると、最小値の定置比較となります。 ⑥最大値 比較する値の最大値を指定します。

Page 69: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

文字列を指定する場合は、"(ダブルクォーテーション)で括って指定します。それ以外の場合は、16進数で設定します。 フィールド長よりも短い場合は、余った領域にNULLがあるものとして比較します。 フィールド長よりも長い場合は、フィールド長の長さまでで比較します。 最小値を空欄の状態で最大値のみを指定すると、最大値の定置比較となります。 ⑦前レイアウト 設定内容を保存して、一つ前のレイアウトの情報を表示します。 既に先頭レイアウトの場合は、警告のダイアログを表示します。 ⑧次レイアウト 設定内容を保存して、次のレイアウトの情報を表示します。 最終レイアウトの場合は、レイアウトを新規作成して表示します。 ⑨OK 各項目のチェックを行い、設定内容を保存して、ウィンドウを閉じます。 実際のレイアウトレコード長とフィールド位置・フィールド長のチェックは、ファイル保存時に行います。 ⑩キャンセル 現在編集中の設定内容を破棄して、ウィンドウを閉じます。 ⑪ヘルプ ヘルプを表示します。

Page 70: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

バッチモードでの変換 バッチモードについて

MDPORTでは、変換処理をバッチモードで実行することができます。

バッチモードとは、一切のユーザ介入なしで変換処理を実行することを示します。また、指定によりウィンドウを表示せずにバックグラウンド上で処理を実行させることもできます。実行結果については、コマンドの復帰値およびログファイル・イベントログの内容により確認できます。

なお、バッチモードでの変換には、事前に変換指示ファイルを作成しておく必要があります。

 

→変換指示ファイル- 起動方法- ログ出力の内容 変換中に発生したエラーは、変換エラーファイルへ出力されます。

※バッチモードでMDPORTを複数起動した場合の動作は保証していません。

→変換エラーファイル →環境設定

Page 71: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

バッチモードでの変換 起動方法

バッチモードでの変換実行は、以下のコマンドにて行います。オプションの指定に誤りがあった場合は、メッセージボックスにてエラーが表示されます。

コマンドライン形式([]は省略可)

Tfmdp32.exe /x|b 変換指示ファイル名(*.mdp) [/c カレントフォルダ名] [/i 入力ファイル名] [/o 出力ファイル名] [/e 変換エラー出力ファイル] [/f] [/v]

※[x64版]は、Tfmdp64.exeというファイル名に変更となります。

パラメータ説明

x 変換指示ファイル名を指定。(実行時に進捗状況インジケータを表示します。) 進行状況インジケータの[中断]ボタンによる、終了中断が可能です。

b 変換指示ファイル名を指定。(ウィンドウを一切表示しません。)

c カレントフォルダ名を指定。

i 入力ファイル名を指定。

o 出力ファイル名を指定。

e 変換エラー出力ファイル名を指定。

f 強制上書きモード。

v ログファイルに出力する内容をイベントログにも出力する場合に指定。 注意

- x または b は、どちらか一方を必ず指定しなければなりません。

- x と b は、同時に指定することはできません。

- c,i,o,e が指定された場合、変換指示ファイル中の対応するファイル名に指定されたファイル名が無効になります。

- c,i,o,e オペランドは、それぞれ省略可能で、省略した場合は変換指示ファイルの内容が使用されます。

- i,o オペランドは、ワイルドカードの指定が可能です。ただし、出力ファイル形式がXML形式以外で、o オペランドでワイルドカードを指定した場合には変換結果は保証されません。

(注:空白を含むファイル名を指定する場合は、ファイル名をダブルクォーテーションで囲んで指定してください)

- i オペランドにワイルドカードが指定された場合、o オペランドの指定文字列を拡張子と見なし、入力ファイル名の拡張子と置き換えたファイル名を、出力ファイルとします。

- i,o オペランド以外にはワイルドカードは使えません。

Page 72: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

- o オペランドで指定したファイルが既に存在している場合、処理を中断します。

- f オペランドが指定されている場合は出力ファイルが既に存在しても、強制的に上書きします。

→ f オペランドが指定されていない場合は、強制終了されます。 復帰値

実行コマンドは以下のいずれかの復帰値で終了します。(プロセスの強制終了や異常終了時の復帰値は保証できません)

復帰値説明

0 正常終了(変換エラーなし)

1 正常終了(変換エラーあり)

2 ログファイルアクセスエラーによる異常終了

3 異常終了(ログファイルへエラー内容出力)

Page 73: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

バッチモードでの変換 ログ出力

ログファイル出力. ログファイルはバッチモードで実行した場合に作成されるテキストファイルです。ログファイルの格納先およびファイル名は環境設定により指定します。

ログファイルへの出力は、既存のログファイルがあれば追加書きとなり、存在しなければ自動作成されます。

バッチモードでは、正常終了した場合でも常にログファイルへの出力が行われます。

. →環境設定

ログファイル出力例 (Mdport.log)

2003/07/28 17:39:51[data1.mdp] 変換処理を開始します。 2003/07/28 17:39:52[data1.mdp] 変換処理が正常に終了しました。入力レコード件数:14 出力レコード件数:14 エラー発生件数:2 2003/07/29 22:06:30[xdata1.mdp] 変換処理を開始します。 2003/07/29 22:06:30[xdata1.mdp] ファイルがみつかりません。File:’Data2.dat’ Call:CreateFile,Error:2

 イベントログ出力. イベントログはバッチモードでオペランドに[/v]、コマンド実行時にオペランドに[-ev]を指定して実行した場合、イベントログに実行時の日付、時間、コマンドのオペランドが出力されます。

オペランドに誤りがあった場合、イベントログは出力されません。

オペランドにカンマ","がある場合は、空白に置き換えられます。 イベントログ出力

2003/07/31 18:10:23[] /b data1.mdp /i input.dat /o output.dat /f /v

Page 74: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

SIMPLIA/TF-LINDAとの連携

MDPORTをSIMPLIA/TF-LINDAより起動し、LINDAで使用しているファイルをMDPORTを経由して、CSVやXML形式にエクスポートしたり、CSVやXMLファイルをLINDA側にインポートすることができます。詳細は、SIMPLIA/TF-LINDAのオンラインマニュアルを参照してください。

 

LINDA側の操作の基本的な流れ

1 データファイルを開き、[MDPORT連携]メニューを選択します。 .2 入力側や出力側のデータ形式等を設定し、MDPORTを起動させます。→ MDPORTで必要となる変換指示ファイル、レイアウト定義ファイル、入力

ファイルが、LINDAの作業フォルダに一時ファイルとして作成されます。→変換指示ファイル →レイアウト定義ファイル

MDPORT側の操作(エクスポート時)

1 MDPORT変換指示ウィザードの4ページ目が表示されるので、出力側のファイル名やコード体系等を設定し、以降の変換指示を完了させます。

. →MDPORT変換指示 ウィザード

2 [変換実行]ボタンにより変換処理が行われます。3 システムメニューの[閉じる](またはALT+F4キー)によりMDPORTを終了させると、LINDAで作成された一時ファイルは削除されます。

※インポート時はMDPORTの操作はありません。

Page 75: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

画面説明 - MDPORT変換指示 - ツールバー

ボタン 対応するメニュー

[ファイル(F)]-[変換指示の新規設定(N)]

[ファイル(F)]-[変換指示ファイルを開く(O)]

[ファイル(F)]-[変換指示ファイルの上書き保存(S)]

[ファイル(F)]-[変換指示ファイルに名前を付けて保存(A)]

[ツール(T)]-[レイアウト定義(L)]

[オプション(O)]-[環境設定(E)]

[ヘルプ(H)]-[TF-MDPORT ヘルプ(H)]

Page 76: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

画面説明 - MDPORT変換指示 - コマンドボタン

ボタン名 説明

[設定] 変換指示ウィザードが起動され、変換情報の設定・変更を行います。

→変換指示

[プレビュー] 変換結果を事前に画面上で確認することができます。 出力ファイルが一般ファイルの時に活用してください。

→プレビュー

[変換実行] 変換処理を開始します。[変換エラー表示] 変換処理にて発生したエラー内容を表示します。変換

エラーファイルが存在する場合に、表示できます。→変換エラー表示

Page 77: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

画面説明 - MDPORT変換指示 - 環境設定

基本情報

項目 説明

作業用フォルダ 作業用フォルダを指定します。

省略した場合、システムの作業用フォルダ(環境変数TEMPまたはWindowsディレクトリ)が使用されます。

バッチ実行時のログファイル バッチモードで実行した時に出力されるログファイルをフルパス名で指定します。

省略した場合、作業用フォルダに以下のファイル名で作成されます。 “MDPORT.LOG” [x86版]“MDPORT64.LOG” [x64版]

作業用フォルダを省略して、ログファイル名だけを指定した場合、バッチ実行時のカレントディレクトリにログファイルが出力されます。

変換エラーを表示するビューアプログラム

変換エラーを表示する外部ビューアプログラムをフルパス名で指定します。ワードパッドや各種テキストエディタ等を指定できます。

省略した場合、メモ帳が起動されます。

COBOL

項目 説明

BYTE単位の領域長を扱う

2進項目においてBYTE単位の領域長を扱う場合に指定します。

一般ファイルをCOBOLの仕様で扱う

コード体系がUnicode かつ ファイル形式を一般ファイルと指定した場合、COBOLの仕様で扱うかどうかを指定します。 - チェックした場合 :COBOLの仕様で扱います。

- チェックを外した場合 :コード体系に依存した形で扱います。

COBOLの仕様では、一部の属性について以下の様なコード体系で表されています。

英数字項目(X-英数字) 混在項目(M-混在)

UTF8

日本語項目(日本語(2バイト系)キャラクタのみの格納形式) UCS2※チェックボックスがオンの場合、V60L10以前のバージョンとの互換性のあるデータを出力します。 (初期値はオンの状態です。)

Page 78: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

MDPORT変換指示ウィザード 1/5 (基本情報)

  項目 説明  

ファイル変換モード ファイル変換にあたり、データファイル変換かテキスト変換かを選択します。

→データファイル変換 →テキスト変換

カレントフォルダの設定 カレントフォルダを設定すると、それを基準として以降の各ファイル名を相対パスで設定することができます。変換指示ファイルを再使用する時に格納フォルダが変更されている場合に、このカレントフォルダを変更するだけで各ファイル名の再設定を行わなくて済みます。

Page 79: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

MDPORT変換指示ウィザード 2/5 (レイアウト定義情報)

  項目 説明

レイアウト定義ファイル名 データファイル変換にて使用するレイアウト定義ファイルのファイル名を指定します。

レイアウト定義の起動 レイアウト定義プログラムを起動します。

データ条件設定 データ条件設定画面を起動します。

レイアウト定義の生成 既存COBOL資産もしくは既存C言語資産を指定することにより、レイアウト定義ファイルを生成します。

 

レイアウト定義ファイルを作成するには、以下の5通りの方法があります。

- レイアウト定義プログラムを起動し、既存COBOL資産より新規作成を行う。

- レイアウト定義プログラムを起動し、既存C言語資産より新規作成を行う。

- 変換指示ウィザードの[レイアウト定義の生成]ボタンにより、既存COBOL資産もしくは既存C言語資産より生成する。

- レイアウト定義プログラムを起動し、全ての項目定義を手入力する。

- mdportlcコマンドを利用して、既存COBOL資産より新規作成を行う。(mdportlcはMDPORT Pro固有機能です。)

【注意】

このページはテキストモード変換の場合には表示されません。

 

Page 80: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

画面説明 - データ条件設定

入力ファイルから抽出するレコードのデータ条件を指定するための画面です。指定したデータ条件に一致するレコードのみ出力します。 レコード抽出の仕様については、抽出仕様のレコード抽出を参照してください。 制限・注意事項については、レコード抽出機能における制限・注意事項を参照してください。

項目 説明

追加 条件内容グループ内で項目名・演算子[16進指定]・条件値(2件目以降は、連結条件の選択必要)をそれぞれ設定し、追加ボタンを選択します。条件確定一覧に抽出条件が追加されます。 エラー発生時には、メッセージの内容に従い条件内容を修正してください。

更新 条件確定一覧で変更したい条件を選択後、条件内容グループ内で項目名・演算子[16進指定]・条件値(2件目以降は、連結条件の選択必要)をそれぞれ設定し、更新ボタンを選択します。条件確定一覧の抽出条件が更新されます。 エラー発生時には、メッセージの内容に従い条件内容を修正してください。

削除 条件確定一覧で削除したい条件を選択後、削除ボタンを選択します。条件確定一覧から抽出条件が削除されます。

条件確定一覧 設定したデータ条件が表示されます。ここで表示されている条件でレコード抽出を行います。 No. データ条件の通し番号を表示します。

設定したデータ条件のNo.1からNo.10の順に判定を行います。連結条件 データ条件の連結子「AND」、または、「OR」を表示します。

(No2以降)項目名 データ条件の項目名を表示します。演算子 データ条件の演算子を表示します。条件値 データ条件の条件値を表示します。16進指定 16進指定を設定している場合は、「○」、設定していない場合は

「×」を表示します。

連結条件 データ条件を2つ以上指定する場合、前の条件との連結子を「AND」、「OR」から選択します。初期値は設定されていません。

項目名 MDPORT変換指示ウィザードの2/5で指定したレイアウト定義ファイル内の項目名を設定します。集団項目名や反復項目名は指定できません。

演算子 入力ファイルのデータ内容と条件値を比較するための演算子を指定します。データ属性により、指定可能な演算子が異なります。

文字型属性 「=(完全一致)」、「≒(前方一致)」、「≠(不一致)」

数値型属性 「=」、「≠」、「>」、「≧」、「<」、「≦」

16進指定 条件値を16進で指定する場合、チェックボックスをオンにします。文字型属性の場合のみ有効です。

条件値 入力ファイルのデータ内容を抽出するための条件値を指定します。

Page 81: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

条件値には最大150バイトまでの条件値の指定が可能です。 数値型属性の場合、最大18桁(「+」、「-」、「.(小数点)」は含みません)の数値指定が可能です。 条件値が未入力の場合、NULLデータと判断します。文字列項目(M)属性の場合のみ条件値の未入力指定が可能です。 ※CSV、XML形式の文字列項目のNULLデータ抽出に利用可能です。

16進指定時の条件値設定方法 使用できる文字は、半角英数字の0~9、A~F、a~fおよび ;(セミコロン)です。 セミコロンを使用する場合は、バイトごとに使用してください。なお、ビット間にセミコロンを指定した場合は、下位ビットの0(16進)が省略されたものとみなします。

条件に合わないレコード を出力する

データ条件から漏れたレコードを出力する場合に、チェックボックスをオンにします。

抽出漏れファイル名 抽出漏れレコードを出力するファイル名を指定します。 レコード抽出条件に一致しなかった入力レコードが存在する場合、当ファイルに出力します。抽出漏れファイルには、MDPORT変換前のデータが出力されるため、再レコード抽出処理を行う入力ファイルとして利用可能です。

Page 82: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

MDPORT変換指示ウィザード 3・4/5 (入出力ファイル情報)

  項目 説明

コード体系 ファイルのコード体系を選択します。「その他」を選択した場合は、コードIDの入力が必要です。 →文字コード の変換仕様

コードID 他社コード変換機能を使用する場合に指定します。 →他社コード 変換機能

ファイル名 入力または出力ファイル名をフルパスで指定します。カレントフォルダを設定している場合は相対パスでの指定も有効です。

ファイル形式 (データファイル変換の場合) 一般ファイルまたはCOBOLファイルかを指定します。Windows上のCOBOLファイル以外は一般ファイルを指定してください。

→一般ファイル →COBOLファイル

キー情報指定 (COBOL索引ファイル出力の場合) 索引キーに関する情報を設定します。

→キー情報指定

CSV形式の詳細 (CSV形式ファイルの場合) CSV形式に関する情報を指定します。

→CSV形式の詳細

XML形式の詳細 (XML形式ファイルの場合) XML形式に関する情報を指定します。

→XML形式の詳細

Unicodeの詳細 (コード体系がUnicodeの場合) Unicodeに関する情報を指定します。

項目 設定値

○:指定可 ×:指定不可 -:未表示

入力 出力

テ キ ス ト

一 般 ※1

一 般 ※2

順 編 成

行 順 ※3

相 対

索 引

C S V

X M L ※5

テ キ ス ト

一 般 ※1

一 般 ※2

順 編 成

行 順 ※4

相 対

索 引

C S V

X M L ※6

種別UCS2

○ × ○ × × × × ○×

○ × ○ × ○ × × ○×

UTF8 ○ ○

エンディアンBig

○ ○ ○ ○ × ○ ○ ○ × ○ ○ ○ ○ × ○ ○ ○ ×Little

シグネチャを省略する - - - - - - - - - ○ × × × × × × ○ ○

※1 COBOL仕様として取り扱う仕様です(*)

※2 選択したコード体系に依存する仕様です(*)

※3 入力が行順ファイルの時は、Signatureに従います。

※4 出力が行順ファイルの時は、エンディアンは指定できず、リトルエンディアンのみになります。 (COBOLの仕様)

※5 入力がXMLの時は、エンコーディング形式が優先されます。(XMLの仕様)

※6 出力がXMLの時は、UTF8形式のみの出力になります。

(*)詳細は、環境設定の「一般ファイルをCOBOLの仕様で扱う」を参照。

→エンディアン →Signature

シグネチャを省略する Signatureの出力を省略するかを指定します。 チェックしない場合、Unicodeの詳細で指定した形式のSignatureをファイルの先頭に付加します。 (入力ファイルまたはコード体系がUnicode以外の場合は、選択できません。)

→Signature

レコード属性の指定 レコード属性の指定レコードに関する情報を指定します。一般的には以下のように指定します。

種類 属性 レコードの区切り

データファイル形式 固定長 なし (レイアウト定義と同じレコード長)

Windows(DOS)CSV形式 可変長 改行コード(CR+LF)

Windows(DOS)テキスト 可変長 改行コード(CR+LF)

UNIXテキスト(CSV含む) 可変長 改行コード(LF)

汎用機ソース 固定長 なし (レコード長: 80が多い)

XML形式 可変長 改行コード(CR+LF)

 

Page 83: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

ワイルドカードによる指定 入力ファイルにワイルドカードを指定した場合は、出力ファイル名の項目に入力された文字列を拡張子と見なし、入力ファイル名の拡張子と置き換えたファイル名を出力ファイル名とします。(XML形式の場合、一部を除く) 【例】

入力ファイル名項目 : *.dat 出力ファイル名項目 : .out ↓ 検索されたファイル名 : aaa.dat、bbb.dat … 出力ファイル名 : aaa.out、bbb.out …

エラーファイルについて

- 入力ファイルにワイルドカードを指定した場合は、デフォルトのエラーファイル名として "Mdport.err" が設定されます。

- エラーファイルには検索されたすべての入力ファイルのエラーが追加モードで出力されます。

※ エラーファイルが既に存在する場合は、既存のファイルは削除され新たにファイルが作成されます。

- レイアウト定義ファイルは、同じものが利用されます。

- 出力ファイルが既に存在している場合、上書きして良いかどうかを確認するメッセージボックスが表示されます。

※ バッチモードでは、出力ファイルが既に存在している場合、処理は終了されます。※ /fオプションが指定された場合は、強制的に上書きします。

XML形式のワイルドカード指定について

入力側がXML形式の場合 →XML形式変換における制限・注意事項

入力ファイル名項目 : *.xml 出力ファイル名項目 : aaa.dat ↓ 検索されたファイル名 : aaa.xml、bbb.xml … 出力ファイル名 : aaa.dat

出力側がXML形式の場合

入力ファイル名項目 : aaa.dat 出力ファイル名項目 : *.xml ↓ 入力ファイル名 : aaa.dat 出力ファイル名 : aaa00000.xml、aaa00001.xml、aaa00002.xml …

Page 84: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

MDPORT変換指示ウィザード [索引キー情報設定]ダイアログボックス

COBOL索引ファイルへ出力する場合に、索引キーに関する情報を設定します。

項目 説明

主キー / 副キー1~4 主キーの位置と長さをセミコロン(;)で区切って指定します。キーが連続した領域でない場合、同様に並べて指定します。主キーは省略できません。

位置 1から始まるレコード上の相対バイト位置。長さ バイト長。キー重複 各キーについて重複ありの場合、チェックします。

 

【例】

主キーが1~5バイト重複なし。副キー1が1から7バイト重複あり。副キー2が5~7,11~15バイト重複ありのファイルの場合。 キー項目 キー設定内容 重複

主キー: 1;5 なし副キー1: 1;7 あり副キー2: 5;3;11;5 あり

Page 85: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

MDPORT変換指示ウィザード [CSV詳細設定]ダイアログボックス

CSV形式に関する情報を指定します。

項目 説明

参考設定 各RDBでサポートされる、デフォルトの形式を選択できます。

項目 Symfoware Oracle INFORMIX SQL Server Excel

引用符文字 " " なし なし "

区切り文字 , , , , ,

引用符文字は2つ Yes Yes No No Yes

ヌル文字列も括る No Yes No No No

項目名ヘッダ出力 No No No No Yes

+符号を出力しない No No No No No

引用符文字 レイアウト定義で引用に“Y”が指定されている場合の、引用符文字を指定します。 引用符文字として指定可能な文字は「CSV形式で扱える引用符・区切り文字」を参照して下さい。

区切り文字 項目間を区切るための文字を指定します(通常、CSV形式はカンマ)。 区切り文字として指定可能な文字は「CSV形式で扱える引用符・区切り文字」を参照して下さい。

タブ 項目間を区切るための文字として、タブコード(0x09)を指定する場合は、当チェックボックスをチェックしてください。 区切り文字として指定可能な文字は「CSV形式で扱える引用符・区切り文字」を参照して下さい。

引用符データは2つ並べて表現データ中に引用符が存在する場合の扱いを指定します。1つの引用符データは2つの引用符で表現し、文字列項目をくくっている引用符との識別を行う場合にチェックします。レイアウト定義で引用に“Y”が指定されている場合のみ有効です。※ JISコードの場合は正常に出力されない場合があります。

ヌル文字列も引用符で括って出力(出力側の場合にのみ有効)ヌルの項目文字列を表現する場合、2つの引用符で表す場合にチェックします。チェックしない場合、ヌルの項目文字列には引用符は付加されません。

項目名ヘッダを先頭レコードに出力(出力側の場合にのみ有効)CSV出力レコードの1件目に、項目名の見出しレコードを出力する場合にチェックします。出力されたCSV形式ファイルを表計算ソフトで使用する場合に便利です。

+符号を出力しない(出力側の場合にのみ有効)CSV出力レコードの符号あり数値文字列項目に、+符号を出力しない場合にチェックします。

Page 86: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

MDPORT変換指示ウィザード [XML詳細設定]ダイアログボックス

XML形式に関する情報を指定します。

項目 説明

MDPORT標準テンプレートファイルを付加するコード体系に応じて、MDPORT標準のDTDテンプレートを出力ファイルの先頭に付加する場合にチェックします。MDPORT標準のテンプレートファイルとして、出力コード毎に以下の4つを用意しています。

コード テンプレートファイル名

シフトJIS SJIS.xml

EUC EUC.xml

JIS JIS.xml

Unicode(UTF-8) UTF8.xml

テンプレートファイル名独自のテンプレートファイル名をフルパスで指定します。カレントフォルダを設定している場合は相対パスでの指定も有効です。

参照テンプレートファイルをファイル一覧から選択するダイアログを開きます。

※ テンプレートを付加しない場合は、「MDPORT標準のテンプレートファイルを付加する」がチェックを外し、テンプレートファイル名を空欄にして下さい。

Page 87: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

MDPORT変換指示ウィザード [Charset Manager環境設定]ダイアログボックス

Charset Managerを使用した変換を行う場合、MDPORTのコード変換規則はCharset Manager(iconv)に従います。このダイアログボックスでは、入出力で定義したコード体系がiconv変換(iconv_open関数)のどのキーワードに該当させるかを指定します。

各キーワードの意味やコード変換の詳細は、Charset Managerのマニュアルを参照して下さい。

. →Charset Manager

Page 88: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

MDPORT変換指示ウィザード 5/5 (変換仕様・エラー情報)

コード変換仕様の設定項目 説明

Charset Managerを使用する Charset Managerを使用してコード変換する場合にチェックします。Charset Managerが正常にインストールされていない場合や、同一コードでの変換、Charset Managerで対応していないコード変換パスではチェックできません。Charset Managerに関する動作環境は、[詳細]ボタンで設定します。

→Charset Manager →[Charset Manager 環境設定]

Charset Managerの外字連携機能を利用することにより、利用者定義文字や拡張文字を任意の外字区画等に割り当てたコード変換を行うことができます。入力定義や出力定義の内容を変更すると、チェックは解除されるので注意してください。※ Unicodeのコード変換で、この項目がチェックされていない場

合はWindows APIを使用したコード変換が行われます。 (シフトJIS ←→ Unicode 間の変換時のみ。)

同一コードの場合、 変換しない 入力コードと出力コードに同一のコードを指定した場合にのみ、

変換処理を行わないようにします。 異なるコードの場合に指定する事は出来ません。

→[同一コード無変換出力 注意事項・制限]

利用者定義変換テーブル コード変換の際に参照される利用者定義変換テーブルのファイル名を入力します。利用者定義変換テーブルの形式については、「利用者定義変換テーブル」を参照してください。

→利用者定義変換テーブル

Charset Manager機能を利用したコード変換を実施する場合は、当機能を使用せずCharset Managerの外字連携機能を使用することを推奨します。

変換エラーに関する情報の設定項目 説明

変換エラーファイル名 変換エラーファイルのファイル名をフルパス名で指定します。カレントフォルダを設定している場合は相対パスでの指定も有効です。

→変換エラーファイル

デフォルトでは入力ファイル名の拡張子を「.err」にしたファイル名となります。

変換エラー出力可能件数 変換エラーファイルへ詳細情報を出力する最大件数を指定します。指定できる値は1から9999で、デフォルトは100件です。

エラー出力可能件数を 超えても続行

チェックボックスがオフの場合、変換処理中に変換エラー出力可能件数を超えると、処理を中断するかどうかの問い合わせが発生します。オンの場合は、「続行方法」の指定に従って処理を続行します。 (バッチモードで起動した場合は、問い合わせは発生せず処理を中断します。)

→バッチモード

続行方法 エラーの出力件数が超えた後でそのまま処理を変換続行する場合の、変換エラーの出力方法を選択します。

Page 89: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

エラー出力可能件数を 超えても続行 続行方法 処理方

オン

エラー情報を出力しながら続行

エラー情報を出力しながら、変換処理を続行します。

エラー情報を出力せずに続行

エラー情報を出力せずに、変換処理を続行します。

オフ -

処理を中断するかどうかの問い合わせが発生します。

1カラム系代替コード 1カラム系文字コード(ANK文字)の変換にエラーが発生した場合に、出力データとして何の文字へ置き換えるかを16進コードで、Unicode以外は2桁、Unicodeの時は4桁で指定します。指定は出力側コード体系でのコードを入力します。Unicodeの時はUCS2ビッグエンディアンで指定します。省略されている場合は、出力側コード体系の“_”(アンダースコア)とします。

2カラム系代替コード 2カラム系文字コード(日本語文字)の変換にエラーが発生した場合に、出力データとして何の文字へ置き換えるかを16進コード4桁で指定します。指定は出力側コード体系でのコードを入力します。Unicodeの時はUCS2ビッグエンディアンで指定します。省略されている場合は、出力側コード体系の“■”(黒い四角文字)とします。

Page 90: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

画面説明 - レイアウト定義 - ツールバー

ボタン 対応するメニュー

[ファイル(F)]-[既存COBOL資産からの新規作成(C)]

[ファイル(F)]-[既存C言語資産からの新規作成(H)]

[ファイル(F)]-[新規作成(N)]

[ファイル(F)]-[開く(O)]

[ファイル(F)]-[上書き保存(S)]

[ファイル(F)]-[名前を付けて保存(A)]

[編集(E)]-[行の切り取り(T)]

[編集(E)]-[行のコピー(C)]

[編集(E)]-[行の貼り付け(P)]

[編集(E)]-[行の挿入(I)]

[編集(E)]-[行の削除(D)]

[編集(E)]-[最終行の追加(A)]

[編集(E)]-[新規レイアウトの挿入(S)]

[編集(E)]-[新規レイアウトの追加(N)]

[編集(E)]-[レイアウトの編集(E)]

[編集(E)]-[レイアウトの削除(L)]

[オプション(O)]-[環境設定(E)]

[ヘルプ(H)]-[TF-MDPORT ヘルプ(H)]

Page 91: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

画面説明 - レイアウト定義 - 項目情報の説明

レイアウト定義上の項目情報には以下のものがあります。(*)の付いているものは拡張情報です。拡張情報を表示するには[拡張表示]メニューをチェックしてください。

→[拡張設定]ダイアログボックス →[拡張表示]メニュー

種類 意味

階層 項目の階層を示します。0~7階層までのいずれかを定義します。COBOLデータ記述のレベル番号とは意味が異なるので注意して下さい。 [直接入力編集] 階層:0~7

反復 反復数を示します。指定がある場合、その行は反復指定行として他の項目定義行とは意味が異なります。反復については、「反復項目の定義」を参照してください。 [直接入力編集] 反復数:2~32767

→反復項目の定義

項目名 任意の名称で、全半角混在で60バイトまで定義可能です。省略や他項目との同一名称の指定も可能ですが、項目名はXMLのタグ名やレコード抽出機能の項目条件指定のキーワード項目となるので注意してください。 項目データを秘匿することが可能です。詳細は『取扱要注意情報の変換』を参照してください。

→取扱要注意情報の変換

属性 データ格納形式を意味する項目属性の種類を選択します。属性は文字属性と数値属性に分類され、文字属性と数値属性との変換はできません。

→項目属性の種類

符号 (数値属性の場合)符号ありの場合は符号チェックボックスをオンにします。外部10進の場合は項目属性の選択が必要です。

[直接入力編集]符号あり:"S" 但し、外部10進の場合は属性により指定値が異なります。詳細は「外部10進の符号形式」を参照してください。

→外部10進の符号形式

相対位置 (データファイル形式の場合)レコード上における項目の開始位置を、1から始まる相対バイト位置で指定します。[設定]メニューの一括設定画面で相対位置を自動的に振ることも可能です。

領域長 項目領域長をバイト単位で指定します。日本語項目属性の場合は常に偶数となります。CSV形式、XML形式は省略可能です。

全桁 (データファイル形式での数値属性の場合)数値における全体桁数を指定します。全体桁数とは整数部桁数と小数部桁数を足した桁数を指します。

小数 (データファイル形式での数値属性の場合)数値における小数部桁数を示します。

引用符(*) (CSV形式の場合)文字項目を引用符でくくる場合、「CSV形式の文字項目を引用符で括る」チェックボックスをオンにします。“Y”を指定します。デフォルトでは、文字属性は引用符でくくり、数値属性はくくりません。MDPORT変換指示ウィザードの[CSV形式の詳細]ダイアログで引用符を指定した場合に有効です。 [直接入力編集] 引用符で括る:"Y"

入力チェック(*) 入力データに対し、数値項目(外部10進、内部10進の符号部)の厳密チェック処理を行う場合、「入力チェックを行う」チェックボックスをオンにします。本指定は、変換エラーの出力レベルを制御するものであり、変換仕様が変わることはありません。 [直接入力編集] 入力チェックを行う:"Y"

無変換(*) 入力データに対し、一切の変換処理を行わずに出力する場合(無変換出力)、「無変換で出力する」チェックボックスをオンにします。 可変長項目は無変換をサポートしていません。 [直接入力編集] 無変換で出力する:"Y"

Page 92: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

固定出力(*) 出力側項目が可変長の項目(出力がCSV形式の場合も含む)に対して、常に指定された領域長(固定長)で出力する場合、「固定長で出力する」チェックボックスをオンにして、「領域長」を指定します。出力領域長が省略されている場合は、領域長0として扱われるため、注意してください。出力が数値文字列属性("V")の場合、全体桁数及び小数部桁数の指定が有効となります。全ての項目に対し本指定を行うと、出力ファイルは固定レコード長となります。

[直接入力編集] 固定出力を行う:"Y" 領域長の指定:出力側領域長にバイト単位で指定

ゼロ抑制(*) (固定出力指定の数値文字列属性に対して有効)固定出力指定の数値文字列属性(“V”)に対して、ゼロ抑制を行う場合、「ゼロ抑制を行う」チェックボックスをオンにします。 チェックボックス オフ:先行ゼロおよび小数部下位ゼロは抑制されません。 チェックボックス オン:ゼロは抑制され空白で出力します。小数点付きのデータを抑制する場合は、直接入力にて、領域長、全桁および少数桁を指定してください。 [直接入力編集] ゼロ抑制を行う:"Y"

ヌル扱い(*) MDPORTは、ヌルコード(0x00)は文字以外の項目と見なして変換エラー扱いとします。入力データが全てヌルコード(0x00)に対して、変換エラーとしない場合、「全てヌルでもエラーとしない」チェックボックスをオンにします。 データファイル中の英数字項目属性で入力データが全てヌルの場合 チェックボックス オフ:ヌルコードは変換エラー扱いとなり代替文字に変換されます。 チェックボックス オン:変換エラーとはならず、出力側項目属性の初期値で出力されます。 [直接入力編集] ヌル扱いで変換エラーとしない:"I"

拡張 マスクオプション機能を設定する場合、「マスクする」のチェックボックスをオンにします。チェックボックスにチェックがある場合、列項目「拡張」に「M」が反映されています。

[直接入力編集] 拡張設定:"M" マスク機能を実行する対象となります。

タグ属性(*) (XML形式の場合)XML形式に対して、項目名の出力方法を「開始/終了タグ」、「属性」として扱う、「EMPTY」(EMPTYタグとして扱う)、または、「なし」(タグ/属性として出力させない)のいずれかから指定します。デフォルトでは、「開始/終了タグ」としています。

[直接入力編集]開始/終了タグ:指定なし 属性:"A" EMPTY:"E" なし:"N"

 

Page 93: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

画面説明 - レイアウト定義 - 外部10進での符号の種類

外部10進項目属性には、以下の符号の種類があります。

記号欄は直接編集入力時の設定値をあらわしています。

記号 種類 意味

S あり TRAILING属性。末尾バイトの上位4ビット上に表現されます。 記号の"T"が指定された場合と同じです。

L LEADING LEADING属性。先頭バイトの上位4ビット上に表現されます。

T TRAILING TRAILING属性。末尾バイトの上位4ビット上に表現されます。 記号の"S"が指定された場合と同じです。

LS LEADING SEPARATE LEADING SEPARATE属性。先頭の1バイトで表現されます。

TS TRAILING SEPARATE TRAILING SEPARATE属性。末尾の1バイトで表現されます。

 

Page 94: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

画面説明 - レイアウト定義 - 項目属性の種類

項目属性は文字属性と数値属性に分類されます。CSV形式およびXML形式の場合に指定できるものは、“M”と“V”のみです。意味の欄に、(*)の付いているものは、エンディアン指定により内部形式が異なります。 →エンディアン記号欄は直接編集入力時の設定値をあらわしています。分類 記号 属性 意味

文字 X 英数字 1バイト系キャラクタの格納形式N 日本語 日本語(2バイト系)キャラクタのみの格納形式M 混在 1/2バイト系キャラクタ混在の格納形式C char型 ヌルで終了する文字列R 可変長文字列 先頭2バイトに有効データ長(領域長)を持つ文字列 (*)

サポートコード体系はSJIS、EUC、Unicodeです。Y 可変長日本語 先頭2バイトに有効データ長(文字数)を持つ日本語属性の文字列

(*) サポートコード体系はSJIS、EUC、Unicodeです。 ※UTF8コードの場合は、領域長をもちます。

数値 Z 外部10進数 COBOL独自のゾーン形式P 内部10進数 COBOL独自のパック形式B 2進数 COBOL独自のバイナリ形式5 COMP-5属性 COBOL独自のバイナリ形式 (*)S short型 16ビットで表現されるバイナリ形式 (*)L long型 32ビットで表現されるバイナリ形式 (*)V 数値文字列 数値をキャラクタ表現した形式(符号や小数点も文字で表現される)

その他 - 項目なし 項目の追加・削除に使用

Page 95: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

画面説明 - レイアウト定義 - [項目定義テンプレート]ダイアログボックス

項目定義テンプレートを使用すると、項目単位に情報を設定することができます。

それぞれの項目の意味は、「項目情報」を参照してください。

項目の拡張情報の設定は、[拡張設定]ダイアログボックスで行います。[拡張設定]ダイアログボックスは、項目定義テンプレート上の[拡張設定]ボタンを押下することにより表示されます。

編集対象行の移動機能

「先頭」「前行」「次行」「最終」の行移動ボタンにより、編集対象のレイアウト定義行を変更することが可能です。また最終行で「次行」ボタン押下により行追加も可能です。

集団項目の指定方法

入力情報と出力情報の「属性」コンボボックスの一番下の空白行を選択し、相対位置、領域長、全体桁数、小数部桁数を0クリアしてOKボタンを押下する必要があります。集団項目を作成する場合、既存の項目を修正するのではなく、行挿入、行追加で新規に作成することを薦めます。

相対位置の自動変更機能

データ形式の場合に項目定義テンプレートにより領域長を変更すると、以降の行について相対位置を自動変更するかを選択します。自動変更した場合、領域長の変更分が以降の項目定義行の相対位置に加算または減算されます。

なお、階層や反復数の変更、また、階層が1以上の項目の領域長の変更については、自動変更機能は使用できません。

「キャンセル」ボタンで編集を無効にできる範囲

「キャンセル」ボタンにおいて、編集を無効できるのは、現在編集対象の行情報のみです。行移動ボタンにより別の行の項目を変更している場合、その変更を無効にすることはできません。

. →項目情報 →拡張情報 →[拡張設定]ダイ アログボックス

Page 96: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

画面説明 - レイアウト定義 - [レイアウト定義テンプレート]ダイアログボックス

レイアウト定義テンプレートを使用して、マルチレイアウトの条件式を設定することができます。

それぞれの項目の意味は、「レイアウト定義情報」を参照してください。

編集対象レイアウトの移動機能

「前レイアウト」「次レイアウト」の移動ボタンにより、編集対象のレイアウトを変更することが可能です。また最終レイアウトで「次レイアウト」ボタン押下によりレイアウト追加も可能です。

「キャンセル」ボタンで編集を無効にできる範囲

「キャンセル」ボタンにおいて、編集を無効できるのは、現在編集対象のレイアウト情報のみです。レイアウト移動ボタンにより別のレイアウトの項目を変更している場合、その変更を無効にすることはできません。

. →レイアウト定義情報

Page 97: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

画面説明 - レイアウト定義 - レイアウト定義情報の説明

マルチレイアウト定義上のレイアウト定義情報には以下のものがあります。 .種類 意味

レイアウト レイアウトの名称を指定します。 レイアウトの名称は90バイトまで指定可能です。

条件式 比較条件式を指定します。 条件は必ず指定する必要があります。 EQ 等しいNOT 等しくないOTHER それ以外NONE 無し

フィールド位置 比較するレコードのバイト位置を1を先頭とした値で指定します。 必ず指定する必要があります。 最大指定値は32767です。

フィールド長 比較する長さ(バイト数)を指定します。 必ず指定する必要があります。 最小値は1、最大値は「32767 - フィールド位置」です。

最小値 比較する値の最小値を指定します。 文字列を指定する場合は、"(ダブルクォーテーション)で括って指定します。 それ以外の場合は、16進数で設定します。 フィールド長よりも短い場合は、余った領域にNULLがあるものとして比較します。 フィールド長よりも長い場合は、フィールド長の長さまでを利用して比較します。

最大値 比較する値の最大値を指定します。 文字列を指定する場合は、"(ダブルクォーテーション)で括って指定します。 それ以外の場合は、16進数で設定します。 フィールド長よりも短い場合は、余った領域にNULLがあるものとして比較します。 フィールド長よりも長い場合は、フィールド長の長さまでで比較します。

 

Page 98: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

画面説明 - レイアウト定義 - [拡張設定]ダイアログボックス

項目情報の拡張情報を設定します。[項目定義テンプレート]ダイアログボックスにて、[拡張設定]ボタンを押下することにより表示されます。

それぞれの項目の意味は、「項目情報」を参照してください。

  →[項目定義テンプレート] ダイアログボックス →項目情報

Page 99: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

画面説明 - レイアウト定義 - [基本情報]ダイアログボックス

現在編集中のレイアウト定義ファイルにおける、基本情報の設定を行います。 項目 説明

レイアウト名 レイアウト名を指定します。XML形式のルートタグ名になります。レコード名 レコード名を指定します。COBOL登録集作成の01レベルのレコード名、

XML形式のレコード名、DTD作成の場合のルートタグの名前になります。

 

 以下の項目は、設定対象を入力側および出力側それぞれで選択します。 項目 説明

各項目にヌル表示域を設定 (データファイル形式の場合)チェックした場合、各項目の先頭に2バイトのヌル表示域があることを示します。ヌル表示域がある場合、実際の領域長は項目情報の領域長より2バイト必要になります。

→ヌル表示域 →項目情報

本指定を変更した場合、一般的には各項目の相対位置も変更する必要があります。一括設定を使用すれば効率的に相対位置を振りなおすことができます。

→一括設定

バイナリをビッグエンディアンで扱うデータ上のバイナリ数値のエンディアンWORD_ENDIANを指定します。本指定は以下のデータ部分に対して反映されます。

→エンディアン

- COMP-5,short型,long型の項目属性の内部表現

- 可変長項目属性(項目属性が“R”,“Y”)の先頭2バイトに付加される有効データ長の領域

SPARCのUNIXマシンや汎用機のデータを扱う場合は本指定をチェックし、WindowsやDOSのデータを扱う場合はチェックしないでください。

入力データ中のヌルを文字列終了とみなす (入力がデータファイル形式の場合)入力側の項目属性が文字列属性(項目属性が“X”,“N”,“M”,“R”)の場合に、入力データ中のヌル文字を文字列の終了として扱う場合にチェックします。チェックしないと、ヌルは文字として正しくないため変換エラーとなりますが、チェックするとヌルまでが有効データとし変換エラーとはなりません。項目属性が“C”の場合は、本指定をせずともヌルを文字列終了とします。

 

Page 100: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

画面説明 - レイアウト定義 - [データ形式]ダイアログボックス

レイアウト定義ファイルを作成する際に、入力および出力のデータ形式を指定します。データ形式には以下の3つの形式があります。

- データファイル形式

- CSV形式

- XML形式 データ形式を変更する場合の注意

既に作成済のレイアウト定義ファイルに対してデータ形式を変更すると、定義済の情報が失われてしまいます。また、CSV形式やXML形式からデータファイル形式に変更した場合は、全ての項目について相対位置や領域長を定義しなければなりません。データ形式を変更する場合は、再度、新規作成にてCOPYライブラリやインクルードファイルから取り込みを行うことを薦めます。

Page 101: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

画面説明 - レイアウト定義 - [一括設定]ダイアログボックス

全ての項目情報を一括して設定することができます。

項目 説明

設定メニュー 設定する内容を一覧より選択します。それぞれの機能については、メニュー選択後に説明欄を参照してください。

設定の対象 設定の対象として、入力側および出力側それぞれ指定します。設定メニューの内容、および入力/出力側のデータ形式によって、指定できないものがあります。

説明 設定メニューの各機能が表示されます。

Page 102: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

画面説明 - レイアウト定義 - [COBOL解析オプション]プロパティーシート

COBOL資産を解析するための各種情報の設定を行います。

※ (*)がある項目は、初回起動時のデフォルト設定です。

項目 説明

ファイル種別 フォーマットのファイル種別を指定します。

項目 説明

COBOL登録集(*) COBOL85/97によるレコード記述のファイル

YPSインクルード仕様書 YPS/COBOLによるレコード記述のファイル

※ YPS/COBOLがインストールされている必要があります。

※ [x64版]では解析できません。

ファイル定義体 FILEによるレコード記述のファイル

※ [x64版]では解析出来ません。

解析オプション その他の解析時情報を指定します。

項目 説明

正書法の種類 固定長 COBOL登録集の正書法の形式を、指定します。

YPSインクルード仕様書の場合、YPSインクルード仕様書からCOBOL登録集を生成し、COBOL登録集として解析します。その際、正書法は「可変長」として扱います。よってYPS/COBOLコンパイラの「環境設定(COBOL仕様)」の「レコード長」では、251を設定する必要があります。

ファイル定義体の場合、この設定は関係ありません。解析するCOBOL資産の正書法の種類を指定します。

※ ファイル種別が、"COBOL登録集"以外の場合は、"可変長"固定になります。

可変長(*)

自由

2進項目の扱い WORD(*) COBOL翻訳オプションである「BINARY」に関する設定を行います。 BYTE

Page 103: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

COPY文への付加文字列を指定する

COBOL登録集が仮原文(括弧など)を含む場合、REPLACING句の指定を行わないと正しく解析することができません。正しく解析するために、ここでCOPY文への付加文字列を指定します。指定する文字列は、COBOL文法に従って記述する必要があります。なおJOINING/DISJOINING句の指定も可能です。 YPSインクルード仕様書、およびファイル定義体の場合、この設定は関係ありません。COPY文に任意の文字列を付加する場合に指定します。 指定例) REPLACING ==()== BY ==AA==

※ ファイル種別に、"COBOL登録集"が指定された時のみ選択可能です。

集団項目の扱い 有効(*) 解析結果として集団項目をレイアウト定義に表示する場合に指定します。集団項目、反復定義の項目名を表示します。

 

解析結果として集団項目をレイアウト定義に表示しません。V50L20以前のバージョンのレイアウト定義と同じ表示にしたいときに指定します。

 

無効

Page 104: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

画面説明 - レイアウト定義 - [C言語資産解析オプション]プロパティシート

C言語資産を解析するための各種情報の設定を行います。

項目 説明

入力 入力データ側の設定を行います。出力 出力データ側の設定を行います。int型のサイズ int型メンバのサイズを指定します。

longをチェックした場合、intはlongと同じサイズ(4バイト)と見なされます。shortをチェックした場合、intはshortと同じサイズ(2バイト)と見なされます。

構造体のアライメント 構造体を利用するアプリケーションをコンパイルした際に指定した、アライメントサイズを選択します。

→アライメントサイズ

Page 105: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

変換仕様 文字コードの変換

コード変換と形式変換パス

MDPORTでは以下のコード体系の変換パスに対応しています。その他については他社コードの変換を参照してください。 各ファイル形式によってサポートするコード体系は異なるので注意してください。

入力/出力 シフトJIS EUC JEF JEF英小 JIS Unicode その他

シフトJIS ○ ◎ ◎ ◎ ▲ ◎ △

EUC ◎ ○ ◎ ◎ ▲ ▲ ×

JEF ◎ ◎ ○ × ▲ ◎ ×

JEF英小 ◎ ◎ × ○ ▲ ▲ ×

JIS ▲ ▲ ▲ ▲ × × ×

Unicode ◎ ▲ ◎ ▲ × × ×

その他 △ × × × × × × ○ : 変換可能◎ : Charset Managerによる変換も可能▲ : Charset Managerが必要△ : 他社コード変換機能(Charset Managerによる変換も可能)× : 未サポート

MDPORTでは以下のファイル形式の変換パスに対応しています。

入力/出力 一般ファイル COBOLファイル CSVファイル XMLファイル テキストファイル

一般ファイル ○ ○ ○ ○ ×

COBOLファイル ○ ○ ○ ○ ×

CSVファイル ○ ○ × ○ ×

XMLファイル ○ ○ ○ ○ ×

テキストファイル × × × × ○

○ : 変換可能× : 未サポート

MDPORTでは各ファイル形式に対して以下のコード体系をサポートしています。

形式/コード シフトJIS EUC JIS JEF JEF英小 UCS2 UTF8 その他

一般ファイル ○ ○ ○ ○ ○ ○ ○ ○

COBOLファイル ○ ○ ○ ○ × ▲ ▲ ×

CSVファイル ○ ○ △ × × ○ ○ ×

XMLファイル ○ ○ ○ × × × ○ ×

テキストファイル ○ ○ ○ ○ ○ ○ ○ ○

○ : 変換可能△ : 出力のみサポート▲ : X項目(UTF8形式)、N項目(UCS2形式)で格納× : 未サポート

Page 106: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

1バイト系コード変換

MDPORTで対応している1バイト系コードとして、ASCIIコード系(シフトJIS、EUC等)とEBCDICコード系(JEF)があります。EBCDIC(ASCII)には対応していません。

MDPORTでは同一コード系であっても、文字以外のコードはエラーとなります。ただし、ASCIIコード系どうしでのタブ文字(0x09)や、日本語シフト制御コード(SI/SO)はエラーとしません。

EBCDICコード系とASCIIコード系の文字変換において、特に一般のコード変換仕様と異なる点を以下に示します。

EBCDIC-ASCIIコード変換による代替文字

EBCDIC |(4F) £(4A) !(5A) ¬(5F)

ASCII ](5D) [(5B) !(21) ^(5E)

※一般のコード変換ではASCIIの"["と"!"が入れ替わっています。

英文字/カナの変換

EBCDIC(カナ)→ASCII 英大→英大、カナ→カナ

ASCII→EBCDIC(カナ) 英大→英大、英小→英大、カナ→カナ

EBCDIC(英小文字)→ASCII 英大→英大、英小→英小

ASCII→EBCDIC(英小文字) 英大→英大、英小→英小、カナ→変換エラー

2バイト系コード変換

MDPORTでの2バイト系コードの変換は、以下のいずれかの方法で行われます。

標準変換

MDPORT内部で算術式によりコード変換を行います。算術式では各コード体系がJISコード準拠とみなして1~94区のコード配置を変えるだけで、95区以降のコード変換はエラーとなり拡張文字や利用者定義文字は変換できません。また、JEFコードは’78JIS準拠のため、一部の文字(’83JISでの改定文字)について同一の文字へ変換されません。正しい文字の変換を行うなら、JEFコードを扱う場合はCharset Manager変換を行うようにしてください。

MDPORTインストールフォルダの「sample」フォルダ配下の「JEF_SJIS.cnv」(利用者定義テーブル)を活用することによって、JEF(78JIS準拠)からシフトJISコードへ正しく変換することが可能です。

Unicodeの変換において、シフトJIS←→Unicode間の変換のみCharset Managerを使用せずに変換が可能です。 この場合、Windows APIを使用した変換が行われます。

Charset Manager変換

Charset Managerを使用してiconv変換を行います。この変換では、厳密な文字の対応付けを実現し、Charset Managerによる外字連携を行うことができます。Charset Managerを使用するには、変換指示ウィザードにて指定し、Charset Manager環境設定にてiconvキーワードを指定します。

なお、1バイト系コードの変換ではCharset Managerは使用されません。

. →Charset Manager →変換指示ウィザード →Charset Manager環境設定

日本語コードの検出について

Page 107: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

シフトJISコード - 文字コードの先頭バイトにより1バイト系または2バイト系コードかの判断をし、日本語コードであることを検出します。0x81~0x9F,0xE0~0xFCで始まるコードを日本語コードとします。

EUCコード - 文字コードの先頭バイトにより1バイト系または2バイト系コードかの判断をし、日本語コードであることを検出します。0xA1以上で始まるコードを日本語コードとします。また、EUCコードの場合、0x8Fで始まるコードはコードセット3の日本語コードとみなします。

JEFコード - テキストモード変換およびデータファイル変換の混在項目(M項目)では、日本語コードへの切替制御コード(シフトコード0x28,0x38)が出現した場合に日本語コードであることを検出します(シフトコード0x29で1バイトコードに切り替わります)。データファイル変換の日本語項目では、無条件に日本語コードとして扱われます。

Page 108: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

変換仕様 他社コードの変換

他社コード変換

他社コード変換機能を使用する場合は、外付けのコードテーブルを参照、またはCharset Managerを使用し、以下の富士通以外の他社漢字コードとシフトJISコード間のコード変換を行います。インストール時に他社コードテーブルを選択していない場合で、Charset Managerをインストールしていない場合は利用できません。 変換方法は、SIMPLIA/TF-MDPORTの変換指示ウィザードの入出力ファイル情報(3・4/5)にて、以下の指定を行います。 コード名 コード体系 コードIDIBM漢字コード その他 IBM日立KEISコード その他 KEIS

日本電気JIPS(E/J)コード その他JIPEJIPJ

日本電気AVX日本語コード その他 AVX

なお、対する相手側のコード体系はシフトJISでなければなりません。

IBM漢字コード

- IBM日本語コードは、83JIS対応版を対象としています。変換対象文字はJIS規格の範囲です。

日立KEISコード

- 日立KEISコードでは、83JISに準拠した規則的な変換を行います。83JISコード体系の範囲外については変換できません。

日本電気JIPS(E/J)コード

- JIPS(E),JIPS(J)コードでは、83JISに準拠した規則的な変換を行います。83JISコード体系の範囲外については変換できません。  

日本電気AVX日本語コード(Charset Managerを使用した変換はできません)

- 日本電気AVX日本語コードでは、83JISに準拠した規則的な変換を行います。83JISコード体系の範囲外については変換できません。

. →他社コード変換機能

Page 109: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

変換仕様 文字列の変換

英数字、日本語、混在の各項目属性は、文字列として変換を行います。また、テキストモード変換も文字列(混在属性扱い)変換です。

英数字/英数字日本語混在項目

- レイアウト定義にて属性を“X”で定義した英数字項目では、内容が全て1バイト系文字(半角カナ含む)としてみなし、1バイト系のコード変換を行います。 EBCDIC系またはシフトJISからEUCコードへ変換する場合、1バイト系JISカナが存在すると、1文字あたりのバイト長が異なるため、変換後データ長が変動し出力領域を溢れる場合があります。溢れを防ぐ方法としては、レイアウト定義の出力側の領域長を増やす方法があります。出力がCSVやXMLの場合は、上記の限りではありません。 JISコードの場合、半角カタカナが存在すると切り替え制御コードがあるため、変換後データ長が変動し出力領域が溢れる場合があります。溢れを防ぐ方法としては、同様にレイアウト定義の出力側の領域長を増やしてください。 UCS2コードの場合、1バイト系のコードは全て2バイト文字に変換されるため、変換後データ長が変動し出力領域が溢れる場合があります。溢れを防ぐ方法としては、同様にレイアウト定義の出力側の領域長を増やしてください。

- レイアウト定義にて属性を"M"で定義した英数字日本語混在項目では、不定に英数字/日本語文字が混在しているとみなし、各コードの変換を行います。 JISコードとJEFおよび他社コードは、日本語制御コードが存在しないと、日本語文字の開始/終了を認識できません。

日本語項目 - レイアウト定義にて属性を"N"で定義した日本語項目では、内容が全て日本語文字としてみなし、2バイト系変換が行われます。 JISとJEFおよび他社コードでは、本領域中に日本語切替制御コードが存在してはいけません。EUCコードのコードセット3の文字は、cobolEUC(2バイト/文字)で表現されます。 UCS2文字は2バイト文字、UTF8の文字は1~3バイト文字で表現されます。

後続ブランクカット処理

MDPORTでの文字列変換では、出力側領域長に対する桁溢れを識別する機能があり、末尾の空白文字が溢れても桁溢れの対象としません。そのため、変換実行中に後続空白文字をカットします。

(1) 入力文字列の変換処理を行います。

(2) 変換処理実行中に後続空白文字の削除を行います。

(3) 変換結果の文字列の長さが出力領域長を越えた場合は桁溢れエラーとし、溢れ部分をカットします。領域長に満たない場合は、出力属性に応じた空白文字を埋めます。

(4) レイアウト定義においてX項目の情報長に奇数を指定した場合、UCS2BigまたはUCS2Littleに変換すると1バイト分満たない、または溢れます。 その1バイト分の領域には、それぞれ半角空白の1バイト目(Big:00 20、Little:20 00)を埋めます。

(5) レイアウト定義においてN項目の情報長には偶数のみ指定可能なので、UTF8に変換して変換後の情報長が奇数になる場合、1バイト分満たない、または溢れます。 その1バイト分の領域には、半角空白(20)を埋めます。 また、指定した情報長によっては2バイト満たない、または溢れます。その場合は、半角空白の2文字(2020)を埋めます。

※ テキストモード変換や出力がCSV形式の場合は出力領域長を持たないため、(3)の処理は行われません。ただし、最大レコード長を越えた場合は溢れエラーとなります。

Page 110: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

cobolEUCコードの対応

UXP/DS COBOLでは、EUCコードのG3文字(コードセット3)を2バイトの16ビットで扱う機能(cobolEUCコード)があります。MDPORTではcobolEUCコード変換に対応しており、日本語属性項目のみG3文字は2バイトのcobolEUCコードで扱います。

英数字、日本語、混在の各項目属性は、文字列として変換を行います。また、テキストモード変換も文字列(混在属性扱い)変換です。

JISコード変換におけるシフトコードの扱い

- 入力ファイルに指定可能なシフトコードは、78/83/90JISです。

- 出力ファイルには83JIS準拠で出力します。

NULL(0x00)の扱い

MDPORTでは X'00' は文字列として扱わないため変換エラーとなります。すべての変換パスにおいてエラーとなり、代替文字に書き換わります。

[補足] 代替方法として、利用者定義テーブルを用いて、一部回避することが可能です。

------------ # jef sjis 00:00 FF:FF ------------

シフトコードの出力仕様

JEFや一部の他社コードを扱う場合、テキストモード変換およびデータファイル変換の混在項目の出力時にシフトコードを出力します。MDPORTは通常、1バイト系コードから2バイト系コードの切替、2バイト系コードから1バイト系コードの切替時にシフトコードを出力します。以下、特殊なケースに関するシフトコードの出力仕様をまとめています。

- 2バイトコードから開始するデータを変換する場合、テキストモード変換およびデータファイル変換の混在項目の出力時には、1バイト系コードから2バイト系コードの切替シフトコードを出力します。

- 2バイトコードで終了するデータを変換する場合、テキストモード変換およびデータファイル変換の混在項目の出力時には、2バイト系コードから1バイト系コードの切替シフトコードを出力します。ただし、シフトコード分のみ領域長が溢れるケースでは、MDPORTはシフトコードを出力しません。また、2バイト系シフトコード出力時に1バイト分領域が溢れる場合は、半角空白を出力します。

Page 111: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

変換仕様 数値の変換

数値属性では以下のように符号を意識して変換します。

CSV形式及びXML形式出力での符号の付加

CSV形式及びXML形式へ出力する場合、符号ありの項目では先頭に“+”または“-”が付加されます。

CSV形式及びXML形式入力での符号の識別

CSV形式及びXML形式から入力する場合は、先頭または末尾に“+”または“-”があると符号と認識します。符号文字が無い場合は正数値とみなします。

数値エラー時の出力結果

数値部が有効な値でなかった場合、数値エラーが発生します。外部10進および数値文字列(CSV形式及びXML形式)の項目属性の場合は、エラーの発生した桁の下位4ビットで数値を認識します。例として、文字“A”(0x41)は“1”と認識し、文字“J”(0x4A)は9以上のため“0”と認識します。それ以外の属性では数値エラーが発生した場合、項目全体を0として処置します。なお、ケースによっては必ずしもこのように処置されるわけではありません。

EBCDICコード系とASCIIコード系との数値項目では、外部10進(USAGE DISPLAY指定)の数値データ属性において、符号部の内部表現が異なります。下表に外部10進におけるEBCDIC/ASCIIコード系の相違を示します。 内部10進では、F:絶対値、C:正、D:負の演算符号をあらわし、EBCDIC/ASCII共通です。

外部10進におけるEBCDIC/ASCIIコード系の相違

外部10進での相違点内部表現(16進)

EBCDICコード ASCIIコードゾーンビット   (4ビッ

ト) F 3

正の符号ビット (4ビット) C 4

負の符号ビット (4ビット) D 5

[補足] 入力の数値項目(外部10進、内部10進)の属性が符号付きの場合において、外部10進のゾーンビットや内部10進の絶対値符号や正/負以外のビットを検出した場合、MDPORTは正の符号と判断します。

例: EBCDIC(DATA) → ASCII(DATA) 符号付外部10進[ S9(4) ]の変換

入力データ: 0xF0F0F0F0 → 出力データ: 0x30303040

桁溢れが発生した場合

データファイル形式への変換で、出力側桁数に有効値が入りきらない場合は、溢れエラーを出力し右詰め(小数

Page 112: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

点合わせ)で出力されます。

[制限事項] 2進数、COMP-5属性数値において、18桁を超えるデータが入力の場合は、溢れエラーを出力せず右詰で出力されます。

Page 113: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

変換仕様 マスク機能

  実運用データを元にマスタデータファイルから、マスク機能を使用しデータを変換します。

取扱要注意情報の変換について

実運用データをマスタデータファイルに定義した内容で、マスクオプションにかけることにより、レイアウト定義ファイルで指定した項目が置き換えられます。 置き換えることによりマスク出力ファイルには実運用データと違う情報が出力され個人情報を特定することが不可能になります。

マスタデータファイル作成手順

Page 114: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

  

手順  注意点 

1、 各変換テーブル項目名の入力

 -テキストエディタの場合、カンマ区切りでデータを入力します。2、 データ件数入力

3、 データ件数分情報を入力

4、 作成したデータを保存します -保存時の拡張子は"csv"です。   作成したマスタデータファイルをインストールフォルダに保存します。

備考

-マスタデータファイルは秘匿対象項目数と同じ数だけ作成します。

-テキストエディタの場合、文字コードは「Shift-JIS」とします。  (「Shift-JIS」ではない場合、マスタデータを入力データの文字コードに内部で交換します)

-マスタデータファイルの命令規則は「(レイアウト定義画面に表示される)項目名」で、拡張子は"csv"です。

-2つ秘匿対象項目がある場合は関連を考慮してマスタデータファイルを作成します。   住所の場合、県名とその県内にある市区町村名と対応させて作成します。    (例)  東京都 , 大田区         東京都 , 渋谷区         神奈川県 , 川崎市         神奈川県 , 平塚市

Page 115: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

データの一部だけ変換する場合

  

マスク変換を行う場合、拡張設定の"マスクする"のチェックをはずすと、拡張項目から"M"表示が消えるため、マスク変換は行われません。

Page 116: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

抽出仕様 レコード抽出

ここでは、レコード抽出処理に関する仕様について説明します。

- 条件値の文字コード変換(文字型属性データの場合) - 条件値の数値変換(数値型属性データの場合) - [補足]複数のデータ条件を設定している場合の判定規則

なお、抽出仕様に関する制限・注意事項については、レコード抽出機能における制限・注意事項を参照してください。

条件値の文字コード変換(文字型属性データの場合)

文字型属性のデータを条件にレコード抽出処理を行う場合、「データ条件設定」ダイアログで設定した条件値を入力ファイルのコード体系へコード変換を行うことによって、入力ファイルのデータと条件値の比較を行います。条件値のコード変換は以下の規則で行われます。入力ファイルのコード体系がシフトJIS、または16進指定の場合、コード変換は行いません。 ※シフトJISから入力ファイルのコード体系へのコード変換を実施します。

入力ファイルのコード体系 Charset Manager指定なし Charset Manager指定あり(*)

シフトJISコード変換未実施(条件値の指定データを利用します)

EUC  MDPORT標準変換[シフトJIS → EUC]

Charset Manager変換[sjisms → EUC]

JEF  MDPORT標準変換[シフトJIS → JEF]

Charset Manager変換[sjisms → JEF]

JIS --- Charset Manager変換[sjisms → JIS]

Unicode(UCS2/UTF8)

MDPORT標準変換[シフトJIS → Unicode]

Charset Manager変換[sjisms → Unicode]

他社コード MDPORT標準変換[シフトJIS → 他社コード] ---

(*) Charset Manager指定の詳細は「Charset Manager環境の設定」ダイアログの変換元コードに従います。

文字コード変換後は、演算子指定に従い抽出判定処理を行います。抽出判定の仕様について説明します。

□英数字/日本語/混在/文字列(CSV,XML)項目完全一致[不一致] 条件値と入力ファイルデータの領域長と値が一致した場合に完全一致とみなします。前方一致 条件値の領域長分の値が入力ファイルデータと一致した場合に前方一致とみなします。

□CHAR型項目完全一致[不一致] 条件値と入力ファイルデータ(文字列の終了を表すNULLは含まない)の領域長と値が一

致した場合に完全一致とみなします。前方一致 条件値の領域長分の値が入力ファイルデータと一致した場合に前方一致とみなします。

□可変長文字列項目

Page 117: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

完全一致[不一致] 条件値と入力ファイルデータ(RDW内の有効領域長分)の領域長と値が一致した場合に完全一致とみなします。

前方一致 条件値の領域長分の値が入力ファイルデータと一致した場合に前方一致とみなします。□可変長日本語項目

完全一致[不一致] 条件値と入力ファイルデータ(RDW内の文字数分)の領域長と値が一致した場合に完全一致とみなします。 ※UTF8形式のデータの場合、RDWは領域長分として扱います。

前方一致 条件値の領域長分の値が入力ファイルデータと一致した場合に前方一致とみなします。

条件値の数値変換(数値型属性データの場合)

数値型属性のデータを条件にレコード抽出処理を行う場合、入力ファイル内の数値データを「データ条件設定」ダイアログで設定した条件値と比較できる形式(数値データ)に変換してから、入力ファイルのデータと条件値の比較を行います。数値データへの変換は以下の規則で行われます。 数値変換後は、演算子指定に従った抽出判定処理を行い、レコード抽出を行います。

符号なし属性 常に正の値として扱います。

符号あり属性 負の符号を検出した場合、負の値として扱います。それ以外は、正の値として扱います。

抽出対象外

外部10進/内部10進 ・数値部に数値以外のデータが格納されている場合 CSV/XML形式 ・正負の符号/小数点/数字以外のデータが格納されている場合 ・有効桁数が18桁を超えるデータが格納されている場合 ・先頭以外に正負の符号の存在、小数点が複数検出された場合

[補足]複数のデータ条件を設定している場合の判定規則

2つ以上の判定条件を設定している場合の判定規則を例で説明します。 【データ条件の設定例】

No 連結条件 項目名 演算子 条件値 16進指定

1 -- 製品名 =(完全一致) バーコードリーダ ×

2 OR 製品名 ≒(前方一致) 高速 ×

3 OR 単価 > 10000 ×

4 AND 単価 ≦ 90000 ×

5 OR 顧客名 ≒(前方一致) 8FAC97D1 ○

6 OR 顧客名 ≒(前方一致) 8E52;89BA ○

データ条件の判定順番1. No.1のデータ条件の判定を行う。2. No.2のデータ条件の判定を行う。3. No.1とNo.2のデータ条件の判定結果をORする。4. No.3のデータ条件の判定を行う。5. 3.の判定結果とNo.3のデータ条件の判定結果をORする。

Page 118: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

6. No.4のデータ条件の判定を行う。7. 5.の判定結果とNo.4のデータ条件の判定結果をANDする。8. No.5のデータ条件の判定を行う。9. 7.の判定結果とNo.5のデータ条件の判定結果をORする。

10. No.6のデータ条件の判定を行う。11. 9.の判定結果とNo.6のデータ条件の判定結果をORする。

これが、最終的なレコード抽出のデータ条件となります。上記順序を式で表現すると以下のようになります。(((((製品名=バーコードリーダ) OR (製品名≒高速)) OR (単価>10000)) AND (単価≦90000)) OR (顧客名≒8FAC97D1)) OR (顧客名≒8E52;89BA)

 

Page 119: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

MDPORTで扱えるファイル・データ形式

MDPORTで変換できるファイルやデータ形式には、以下のような制限があります。

定量制限

内容 制限値 備考

最大レコード長 32767バイト  

最小レコード長 1バイト  

データファイル変換における最大項目数 3000  

データファイル変換における最大レイアウト数 100  

文字データ項目の最大領域長 32767バイト  

数値項目の最大桁数 18桁 小数部桁数含む

反復階層 7 繰り返しの入れ子

COPYライブラリおよびインクルードファイルの解析での最大項目数 3000 集団項目含む

項目名の最大長 60バイト 日本語では30文字

変換エラー最大出力可能件数 9999件出力件数の指定上限は9999件ですが、 無制限出力の指定を行うと、メモリを許す限り出力可能

XMLファイル最大出力可能件数 100000件 ファイルシステムにより異なる [ COBOLファイルの最大入出力ファイルサイズについて ] COBOLファイルを扱う場合、扱えるCOBOLファイルの入出力ファイルサイズは使用するCOBOLやCOBOLランタイムシステムに依存します。ファイルサイズの関係はソフトウェア説明書を参照してください。 扱えない形式

- 可変長レコード属性の汎用機やオフコン上のファイル(一般ファイル)

- 入力がXML形式で構成されるマルチフォーマットのファイル

Page 120: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

変換指示ファイルにおける制限・注意事項

MDPORTでは変換指示ウィザードで指定した内容を、変換指示ファイルとして保存することができますが、以下の制限があります。

- 変換指示ファイルは、レイアウト定義ファイルや入出力ファイルをフルパス名で情報管理しているため可搬性がありません。例えば、変換指示を保存した時のレイアウト定義ファイルが存在しない、または移動されていると、変換指示ファイルを開いた時にエラーが発生します。

Page 121: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

COBOLファイルにおける注意事項

MDPORTでCOBOLファイルの入出力を行うにあたって、以下の注意事項があります。

- COBOLファイルにおける排他制御は行われません。変換中は他のアプリケーションから対象のファイルを更新しないようにしてください。

- 重複キーなしと指定した索引ファイルへ出力する場合、重複したキー値のレコードが存在するとアクセスエラーとなり変換処理は中断されます。事前にキーの重複が無いことを確認してください。

- COBOLファイルから入力を行う場合、変換指示の設定と実際のファイルとで、編成・レコード属性・レコード長が異なると正常に処理されません。ただし、索引ファイルからの入力の場合は、ファイルよりレコード情報を取得するため、変換指示で設定した情報が誤っていても無視されて正常に処理されます。

 

Page 122: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

レイアウト定義機能にて取り込める既存資産

レイアウト定義機能では、COBOLのCOPYライブラリやC言語のインクルードファイルを解析し、レイアウト定義ファイルを生成する機能があります。ただし、解析には以下のような制限があります。

COPYライブラリ

- COBOLの文法上、正しく記述されていないと解析処理は保証されません。

- 扱える項目数は、集団項目を含めて3000迄です。これを越える場合は、項目を結合する等してCOPYライブラリを加工してください。

- 01レベルが複数ある場合は、最初に出現する01レベルのレコードしか解析されません。

- 以下の記述がある場合は、正しく解析できません。COPYライブラリを加工してください。

- レベル番号が01~49以外の項目。

- SYNCHRONIZED(SYNC)句。

- OCCURS DEPENDING ON句。

- REDEFINES句の記述は無視され、再定義の項目は解析対象となりません。なお、再定義される項目は解析対象となります。

- MDPORTでは以下の項目属性変換に対応していないため、解析時に英数字項目属性として扱います。

ポインタ項目、ブール項目、指標データ項目、浮動小数項目

- 数字編集項目・英数字編集項目は英数字項目属性として解析されます。

- 以下の記述は無視されて解析されます。

KEY IS句、INDEXED BY句、JUSTIFIED句、BLANK句、VALUE句、CHARACTER TYPE句、PRINTING POSITION句、BASED ON句

- SJIS以外のCOPYライブラリを扱うことができません。 SJIS以外のCOPYライブラリを扱う場合は、コード変換を行ってください。

YPSインクルード仕様書

- YPS/COBOL文法上、正しく記述されていなければなりません。

- 解析する前にYPS/COBOLコンパイラの「環境設定(COBOL仕様)」の「レコード長」で、251を設定しておく必要があります。

  ファイルの定義体

- FILEで正しく作成されたファイル定義体でなければなりません。 インクルードファイル

- C言語の文法上、正しく記述されていないと解析処理は保証されません。

- レイアウト定義ファイルの生成対象は、インクルードファイル中の最初の構造体の定義のみです。

- 解析はインクルードファイル全体に対して行われますので、全体の記述が解析可能な内容である必要があります。

- 解析可能な字句は以下の通りです。

Page 123: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

struct, signed, unsigned, char, int, short, long, float, double, *(ポインタ), [](配列), {}(構造体定義), /* */(コメント), //(コメント), <構造体名>, <メンバ名>

- 以下の記述があると解析できません。上記の字句を使った記述にインクルードファイルを変更してください。

- #includeや#defineといったマクロ記述。

- typedefによる型宣言。

- 構造体定義中の、別の構造体の定義や構造体型のメンバ(ポインタも含む)。

- 構造体の定義以外の構文(コメントは可)。

- char a[N] のようなchar型の1次元配列は、領域長Nbyteの1つの項目として解釈されます。char b[M][N] と記述された場合は、領域長Nbyteの項目のM回繰り返しと解釈されます。

- 配列やポインタは7次元までです。それ以上は切り捨てます。

- double型やfloat型は同じ長さのchar型配列に置き換わります。

- アライメントにより項目間に隙間が発生した場合、その部分には@DUMMYという項目が追加されます。

- ポインタの項目の場合、項目名の先頭に*が付加されます。

- 解析時にエラーが発生した場合、解析エラーファイルにエラー情報が出力されます。

- ポインタの項目はx86版、x64版共に領域長:4として解析されます。  レイアウト定義直接入力- 空白付きや後続空白が存在する項目名を入力した場合の動作は保証していません。  属性長の変更- 以下の属性は、x86版とx64版で属性長が変更になります。

・ POINTER(ポインタデータ項目)

・ INDEX(指標データ項目)

これに合わせて解析結果も以下のように変更となります。

属性 属性の内容 MDPORTの解析結果

x86版 x64版

POINTER ポインタデータ項目。MDPORTではX項目として扱う。

属性:X 項目長:4

属性:X 項目長:8

INDEX 指標データ項目。MDPORTではX項目として扱う。

属性:X 項目長:4

属性:X 項目長:8

Page 124: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

プレビュー機能における制限・注意事項

プレビュー機能は、各種変換指定の整合性の概略を確認するための機能です。表示内容にあたっては以下の制限事項があるため、厳密な文字変換の整合性や正確なデータ内容の確認には適していません。

- 出力ファイルの形式が一般ファイルの場合に活用してください。CSV出力では引用符や区切り文字のコードも表示されるため、プレビュー機能には適していません。XML出力では、改行コードが存在しないためプレビュー表示結果はあまり意味をもちません。 CSVやXMLの結果は、変換結果を各種アプリケーションを利用して確認することを薦めます。

- 表示されるのは先頭レコードから100件分までです。

- プレビュー機能では、出力ファイルの内容をそのままシフトJISコードとして表示するため、出力側コード体系がシフトJISコードでないと文字を確認できません。ただし、16進表示での確認としては利用できます。

- プレビュー上のフォントは「MS ゴシック」を使用しています。

- 出力内容に未定義の利用者定義文字コードが存在すると、実際のデータが2バイトであるのに対し、表示上は1バイトの“・”が表示されて以降の文字が詰められてしまいます。よって、表示データ相対位置と上段カラムおよび16進表示との間でズレが生じますので注意してください。

- 改行コード等のキャラクタ以外のコードは、“・”で表示されます。

Page 125: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

変換エラー表示機能における制限・注意事項

変換エラー表示機能における制限を以下に示します。

- 変換エラー表示を行う際、変換エラーの格納先に変換エラーファイルが存在しないと表示できません。

- 外部ビューアプログラムを任意に設定した場合、コマンドラインに変換エラーファイル名を設定して起動されます。このインタフェース以外のプログラムだと正常に実行されません。

Page 126: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

CSV形式で扱える引用符・区切り文字

CSV形式で扱える引用符・区切り文字を、以下のASCIIコード表に示します。

ASCIIコード表

\ 0 1 2 3 4 5 6 7

0     SP 0 @ P ` p

1     ! 1 A Q a q

2     " 2 B R b r

3     # 3 C S c s

4     $ 4 D T d t

5     % 5 E U e u

6     & 6 F V f v

7     ' 7 G W g w

8     ( 8 H X h x

9     ) 9 I Y i y

A     * : J Z j z

B     + ; K [ k {

C     , < L ¥ l |

D     - = M ] m }

E     . > N ^ n ~

F     / ? O _ o  

■:使用可■:使用不可注1) 引用符文字と区切り文字を同一コードで指定した場合、変換結果は保証されません。注2) 引用符文字を使用しない文字項目及び数値項目に、区切り文字と同一の文字が存在する場合、変換結果は保

証されません。注3) 0x09の指定方法に関しては、「MDPORT変換指示ウィザード[CSV詳細設定ダイアログボックス]」 を

参照してください。注4) コード体系でunicodeコード(UCS2)を指定した場合は、上記ASCIIコードをunicodeコード(UCS2)に変換され

た文字になります。 例)カンマ( , :0x2E)の場合、UCS2は(Big:00 2E、Little:2E 00)となる

Page 127: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

XML形式変換における制限・注意事項

XML形式変換における制限・注意事項を以下に示します。

- XML形式から他形式への変換は評価用機能です。XMLファイルのサイズが大きい場合(複数レコード/ファイルの構成)、読み込み時にエラーが発生したり、処理性能が劣化します。

- XML形式から他形式への変換において、扱えるコードはShiftJIS範囲内に限られます。ShiftJIS範囲外のコードを変換する場合、代替文字「・(Midddle Dot)」に変換されます。変換エラーは出力されません。

- 基本的に、Valid XML(正当:DTDを必要とする)ファイルを対象としています。

- Well-formedness XML(適正:DTDを必要としない)ファイルでも構造が明確であるものは変換可能です。

- Fujitsu XML Libraryで読み込むことの出来ないXMLファイルは扱えません。

- レイアウト定義でValid XMLファイルの構造を表現できないXMLファイルの読み込みは出来ません。

- 入力または出力にXML形式を指定したレイアウト定義を作成することは可能ですが、保存時に警告ダイアログが表示されます。[x64版]

- 入力または出力にXML形式を指定したレイアウト定義を変換で使用することは出来ません。[x64版]

Page 128: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

DDL文生成における制限・注意事項

DDL文生成における制限・注意事項。- COBOL言語の集団項目  テーブル定義では階層構造には対応していない為、階層が【0】以外の項目は

テーブル定義に含みません。- 文字型におけるCSV形式

XML形式時の桁指定について 文字型では、桁数を指定する必要がありますが、形式がCSV形式、XML形式の場合、桁数を指定する事が出来ません。 この場合、1桁をデフォルトとしてDDL文を出力します。

- 日本語項目について  日本語項目(N)、可変長日本語項目(Y)の場合、出力されるDDL文の桁数は『文字数』であるため、領域長の半分の値となります。

   属性とRDBMSのデータ型の変換表

レイアウト情報の属性.

RDBMSのデータ型. 備考

データ型 略語 Symfoware Oracle SQLServer

英数字 X

.

VARCHAR VARCHAR2 varchar

.

1バイト系キャラクタの格納形式

日本語 N NCHAR NCHAR nchar 日本語(2バイト系)キャラクタのみの格納形式

混在 M VARCHAR VARCHAR2 varchar 1/2バイト系キャラクタ混在の格納形式

char型 C CHAR CHAR char ヌル(NULL)で終了する文字列

可変長文字列 R VARCHAR VARCHAR2 varchar 先頭2バイトに有効データ長を持つ文字列(※)

可変長日本語 Y NCHAR VARYING NVARCHAR2 nvarchar 先頭2バイトに有効データ長を持つ日本語属性の文字列(※)

外部10進数 Z NUMERIC NUMBER numeric COBOL独自のゾーン形式

内部10進数 P NUMERIC NUMBER numeric COBOL独自のパック形式

2進数 B NUMERIC NUMBER numeric COBOL独自のバイナリ形式

COMP-5属性 5 NUMERIC NUMBER numeric COBOL独自のバイナリ形式(※)

short型 S INTEGER INTEGER int16ビットで表現されるバイナリ形式(※) -32,768~32,767

long型 L INTEGER INTEGER int32ビットで表現されるバイナリ形式(※) -2^31~2^31-1

数値文字列 V NUMERIC NUMBER numeric数値をキャラクタ表現した形式(符号や小数点も文字で表現される)

※:エンディアン指定により内部形式が異なります。Windows上では、リトルエンディアン形式です。

Page 129: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

レコード抽出機能における制限・注意事項

レコード抽出機能における制限・注意事項を以下に示します。

「データ条件設定」ダイアログの起動

「データ条件設定」ダイアログで条件を設定した後に、レイアウト定義ファイルを変更した場合は、データ条件の確認を必ず行ってください。一旦、データ条件を削除してから再設定することを推奨します。

以下の機能を利用している場合、レコード抽出は行えません。ダイアログ起動時にエラーメッセージを表示します。バッチ機能やコマンド機能を利用してレイアウト定義ファイルを指定した場合は、データ条件とレイアウト定義のチェックは行われないため、正常なレコード抽出が行われない可能性があります。 ※コマンド機能はMDPORT Pro固有機能です。

- 入力ファイルのデータにヌル表示域を含んでいる場合 「レイアウト定義機能」→「基本情報」ダイアログ→「各項目のヌル表示域を設定」チェックボックス(入力側)を指定している場合

- 入力ファイルのバイナリデータをビッグエンディアンで扱う場合 「レイアウト定義機能」→「基本情報」ダイアログ→「バイナリをビッグエンディアンで扱う」チェックボックス(入力側)を指定している場合

「データ条件設定」ダイアログ

- 同一項目名が複数存在する項目に対して条件値を指定した場合、レコード抽出では最初に検索された項目名を対象に処理を行います。レコード抽出を行う場合は、レイアウト定義の項目名を一意にしてください。

- レイアウト定義内の項目名に空白やカンマを指定している場合、レコード抽出を行うことはできません。

- 条件値で入力可能な領域は150バイトのため、150バイトを越えるデータ項目に対する完全一致は行えません。前方一致で代用してください。

- Windowsのカット&ペースト機能等を利用して条件値に文字以外のコードを設定した場合、レコード抽出の動作は保証しません。制御文字を検出したい場合は16進指定を利用してください。

- 反復項目に対して条件値を指定した場合、レコード抽出では1回目の反復項目を対象に処理を行います。反復項目に対するレコード抽出を行う場合は、レイアウト定義で反復項目分展開して定義する等の対処を行ってください。

- 数値型項目の16進指定は行えません。

変換結果ファイルと抽出漏れファイル

- 複数ファイルへ出力する(1レコード/1ファイル)場合、抽出対象外のレコード(ファイル)は出力されません。その他の出力形式では、抽出対象レコードが1件もない場合、空の変換結果ファイル(0バイト)が作成されます。ただし、CSVの項目ヘッダ出力指定やXMLのルートタグやテンプレートを指定している場合は、それらの情報が出力されます。

- 対象となる入力ファイル形式が索引ファイル、XMLファイルの場合、抽出漏れファイルを指定していてもファイルは作成されません。

- 対象となる入力ファイルが複数の場合、抽出漏れファイル出力は未サポートです。最後に処理された入力ファイルに対する抽出漏れレコードのみ出力します。

条件値の文字コード変換(文字型属性データ)

入力ファイルの文字型属性項目の文字の扱いや構成によって、文字型データのレコード抽出処理を行うこと(データ条件と入力ファイルのデータを一致させることができない)ができません。以下のような文字を含んでいる場合は、16進指定を利用したレコード抽出を行ってください。

- コード体系がJISで、JIS78、83、90の混在データを含んでいる場合、レコード抽出は行えません。条件値の文字列はJIS83形式に変換します。

Page 130: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

- コード体系がEUCでJIS8形式の半角カナを含んでいる場合、レコード抽出は行えません。条件値の半角カナはコードセット2の2バイト/文字に変換します。

- コード体系がEUC(U90)で日本語項目(COBOL-EUC)を含んでいる場合、レコード抽出は行えません。条件値の日本語項目はコードセット3の3バイト/文字に変換します。

- 入力ファイルのデータ項目内に制御コードが存在する場合、レコード抽出は行えません。(CHAR型項目の終了を表すNULLやシフトコードへは対応しています。)

条件値の数値変換(数値型属性データの場合)

- ファイル形式がCSV/XMLの場合、NULLデータは0と判断します。

- 外部10進/内部10進項目の数値データの符号部は、負の符号部のみ厳密に判断します。それ以外は正の符号と判断します。(符号なしデータは、常に正と判断します。)

- 条件値の数値変換では桁数の厳密なチェックを行わないため、入力ファイル内の数値データが異常であっても、正常データと判断して数値変換を実施します。その結果、期待する抽出を得られない可能性があります。

- [例] PIC 9(6) COMP3. 入力データ(16進形式) : 1234567C の場合、抽出では+1234567(7桁)の数値と解釈します。

Page 131: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

マスク機能における制限・注意事項

マスク機能の制限・注意事項を以下に示します。 - マスタデータファイルは、MDPORTインストールフォルダ直下に保存してください。

- マスク対象の項目属性とマスタデータファイルに定義されているマスク値の属性の整合性はチェックはしません。

これにより、マスク機能によって日本語項目属性の項目が半角英数字に置き換えられる場合があります。 (これは、テストデータとしてイレギュラーなデータを生成するような使用方法を想定しています。)

項目属性に対して明らかに不正指定が使用された場合  →レイアウト保存時にチェックしダイヤログにてエラーを通知し、マスク変更を行いません。

- マスタデータファイルはSJISコードで記述し、Excelで編集可能な範囲の文字を記述できるものとします。

- データ整合性は、ファイル内でのみ有効です。 そのため、複数ファイルに同一項目名のデータが存在しても同一の値でマスクされるとは限りません。

- どちらのケースも入力データと出力データは同一ではない(重複していない)データとして扱われます。

入力データ(マスク前) 出力データ(マスク後)

小山_田 小山

小_山 小山

←入力データと出力データは異なった文字列のため問題なし。

←空白をつめた場合、入力データと出力データは同一内容になってしまう。(制限)

※"_"は空白(ブランク)を表しています。

- マスタデータに、入力データに存在するデータが含まれていた場合、重複しないデータ選択のためリトライするが、マスタデータの内容によっては、入力データと同一のデータが出力されることがあります。(その場合、警告メッセージを表示します。) ※マスタデータには、入力データを含まないデータで作成する必要があります。

Page 132: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

マルチレイアウト機能における制限・注意事項

マルチレイアウト機能の制限・注意事項を以下に示します。 - 入力がXML形式のレイアウトを扱う事は出来ません。

- 可変長マルチフォーマット(全レイアウトのレコード長が異なる)のファイルの場合、ファイル属性は可変長しか選択できません。

- 入力が一般ファイル形式の場合、データの途中で改行(0x0d0a/0x0a)が存在すると、そこをレコードの区切りと見なされ、意図した変換が出来ません。

- マルチフォーマットのCOBOLファイルを取り扱う為には、COBOLランタイムシステムが可変長の入出力に対応している必要があります。

- 条件の最小値・最大値の文字列指定(ダブルクォーテーションで括る指定)で比較される文字コードは、SJIS固定となります。

- 新規レイアウトの挿入及び新規レイアウトの追加で、既存レイアウトの取込を行う場合、入出力のデータ形式を、既存のレイアウト定義に合わせる必要があります。 また、既存COBOL資産の取込を行う場合も、入出力のデータ形式は既存のレイアウト定義に合わせる必要があります。

Page 133: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

同一コード無変換出力機能における制限・注意事項

同一コード無変換出力機能の制限・注意事項を以下に示します。 - 入力領域長>出力領域長の場合、入力データは出力領域長のサイズに切り捨てられます。その際、溢れエラー

は出力されません。

- 入力領域長<出力領域長の場合、余った領域にはNULLが挿入されます。

- 可変長文字項目について - 入力の場合、有効データ長は入力領域長となります。 - 出力の時、有効データ長は、 ・入力形式がDATA形式の時は、入力領域長 ・入力形式がCSV形式の時は、NULLの位置までのデータ長 (但し、入力領域長>(出力領域長-2)の場合、入力データは(出力領域長-2)の サイズに切り捨てられます。その際、溢れエラーは出力されません。 入力領域長<(出力領域長-2)の場合、余った領域にはNULLが挿入されます。) がそれぞれ指定されます。

- 数値項目に関しては、通常通りの変換を行います。

- テキストファイル形式、XML形式の入出力については、未サポートです。

Page 134: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

Charset Managerの文字コード変換表のカスタマイズ機能を使用した場合の制限事項

Charset Managerの文字コード変換表のカスタマイズ機能を利用し、利用者固有の文字コードの対応関係を定義(以下、「カスタマイズ定義」と表記します)した環境において、MDPORTでCharset Managerを利用した変換(SJISと他社コードの変換および変換元または変換先がUnicodeの変換)を行う場合、以下の制限があります。 文字コード対応関係を定義する場合はMDPORTの利用者定義変換テーブルを使用することをお薦めします。 - Charset Managerは変換依頼した文字が未定義文字の場合、全角アンダースコアを返しますが、MDPORTでは

変換先コードの全角アンダースコアを変換エラーと判断します。このためカスタマイズ定義で変換先に全角アンダースコアを定義した場合、変換元に定義したコードに対して、変換エラーを出力します。また変換元がUnicodeの場合に、変換元に全角アンダースコアを定義した場合、その定義は変換結果に反映されません。

UCS2とSJISMSの変換の例で説明します。 カスタマイズ定義: DEFCDPR SJISMS UCS2 A :FF3F ※ AはSJISMSの任意の1文字を示します "FF3F"はUCS2の全角アンダースコア"_"です

sjisms→Unicodeの変換を行うと、sjisms(A)は変換エラーとなります。 Unicode→sjismsの変換の場合、カスタマイズ定義は反映されません。Unicode"FF3F"はsjisms"8151"(全角アンダースコア)に変換されます。

上記カスタマイズ定義でのMDPORT変換 SJISMS Unicode A → 変換エラーになる Unicode SJISMS "FF3F" → "8151"(全角アンダースコアは全角アンダースコアになる)

- Charset Managerを利用した変換で変換元がUnicodeの場合にカスタマイズ定義を行うと、その定義が反映される場合とされない場合が起こります。また変換先に定義したコードに対応するUnicodeの文字が変換エラーとなります。

UCS2とSJISMSの変換の例で説明します。 カスタマイズ定義: DEFCDPR UCS2 SJISMS A’:A ※ A、A’は指定のコードの任意の1文字を示します。また Charset ManagerのUCS2とSJISMSの文字コード変換表にA→A、A’→A’の対応関係があるとします。

既にA→Aの対応関係がある文字に対してA’→A のように N:1 となるようなカスタマイズ定義を行いUnicode→sjismsの変換をするとUnicode(A’)は定義が反映されsjisms(A)に変換される場合と定義が反映されずsjisms(A’)に変換される場合があります。また、Unicode(A)は変換エラーとなります。

上記カスタマイズ定義でのMDPORT変換 Unicode SJISMS A’ → Aになる場合とA’になる場合がある A → 変換エラーになる

Page 135: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

用語集

*項目名

ポインタ型の項目の場合、項目名の先頭に'*'が付加されます。 レイアウト定義が生成される際、無変換が指定されます。 また、データ形式がデータファイル形式からCSV形式に変更された際にはこの項目の属性は"なし(-)"に変更されます。

  @DUMMY

アライメントWORD_ALIGNMENTによる項目間の隙間に対応させた項目です。 レイアウト定義が生成される際、無変換が指定されます。 また、データ形式がデータファイル形式からCSV形式に変更された際にはこの項目の属性は"なし(-)"に変更されます。

  Charset Manager

富士通標準コード変換を提供しているWindows上のソフトウェアです。 Charset ManagerのバージョンレベルはV2.1以降でなければなりません。 なお、Unicodeを使用する場合はV2.1L30以降が必要です。

  COBOLファイル

Windows上のCOBOLアプリケーションプログラムでアクセスするファイルの形式。ファイル編成として、レコード順ファイル、行順ファイル、相対ファイル、索引ファイルがあります。 なお、汎用機上のCOBOLプログラムで作成されたファイルは、MDPORTでは一般ファイルとして扱います。

COPYライブラリ

COBOL言語で記述された、レコード記述項のCOPY原始文ソースを指しています。  CSV形式

項目間をカンマ(デリミタ文字)で区切った形式のテキストファイルを指します。MDPORTでは区切り文字がカンマ以外でもCSV形式と呼びます。一般的に可変長レコードです。これに対し、レコード上の相対バイト位置で項目を区切るデータファイルを、データファイル形式と呼びます。 CSV形式であれば、表計算ソフトや各種RDBローダファイル、awk等のユーティリティへと応用することができます。

  DTD文

XML文書の要素やデータ構造を定義したもの。DTD( Document Type Definition:文書型定義 )   DDL

RDBMS(リレーショナルデータベース)のテーブルを制御する言語。DDL (Data Definition Languege)   Oracle

Page 136: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

Oracle社が開発したリレーショナルデータベース管理システム(RDBMS)。

    RDBMS

リレーショナルデータベースを管理するソフトウェア。1件のデータを複数の項目の集合体として表現し、データの集合をテーブルと呼ばれる表で表し、ID番号や名前などキーとなる情報を元にデータの結合・抽出・削除を行う事が出来る。 Relational DataBase Management Systemの略。

  signature

Unicodeファイルが、UCS2(リトルエンディアン)・UCS2(ビッグエンディアン)・UTF8のどれなのかを識別するためのコードです。ファイルの先頭に付加されます。

  SQLServer

マイクロソフト社が開発したリレーショナルデータベース管理システム(RDBMS)。

  Symfoware

富士通が開発したリレーショナルデータベース管理システム(RDBMS)。

  XML形式

MDPORTでXMLデータを作成する場合に指定する形式です。レイアウト定義の項目名をタグ、属性としてXMLデータを作成できます。

  一般ファイル

Windows上のCOBOLファイル以外を、MDPORTでは一般ファイルと呼びます。一般ファイルとしては以下のものが挙げられます。 - 汎用機やUNIX機上から移入されたバイナリファイル

- 汎用機やUNIX機上へ移出するバイナリファイル

- Windows(DOS)やUNIXで扱うテキストファイル

  エンディアン

バイナリ数値の内部形式には以下の2種類があり、マシンやOS、プログラム言語によって形式が異なります。 ビッグエンディアン 低アドレスのバイト位置が上位桁を表す形式です。SPARC等のUNIXマシンではビッ

グエンディアンです。

リトルエンディアン 低アドレスのバイト位置が下位桁を表す形式です。Windows上のプログラムはリトルエンディアンです。

  他社コード変換機能

Page 137: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

提供されているコード変換テーブル、またはCharset Managerを使用すると、富士通以外の他社コード体系も扱うことができます。詳細は「変換仕様:他社コードの変換」を参照して下さい。

項目拡張情報

レイアウト定義の[拡張表示]メニューにより表示される項目情報を示します。 詳細は「レイアウト定義機能:項目情報」を参照して下さい。

マスクデータ

個人情報が含まれているデータを、別の情報に置き換えたデータ。  データファイル形式

レコード上の相対バイト位置で項目を区切るデータファイルの形式を指します。COBOLプログラムで作成されたファイルはこの形式です。これに対し、不定位置で項目間をカンマ(デリミタ文字)で区切った形式をCSV形式と呼びます。

  データファイル変換

複数の項目で構成されたレイアウトを意識した変換モード。一般的にアプリケーションでの処理対象となるデータファイルを変換する場合に指定します。CSV形式ファイルを対象とする場合もデータファイル変換モードを使用します。

  テキスト変換

ソース等のテキストファイルを変換するモード。  ヌル表示域

各項目の先頭に付加される2バイトの領域です。この領域の内容が0xFFFF(16進)の場合、その項目はヌルであることを示し、0x0000(16進)の場合はヌルでないことを示します。

  変換エラーファイル

変換エラーが発生した場合にエラー情報が格納されるファイルで、拡張子は「.err」です。テキストファイルの形式で、メモ帳等で内容を参照できます。

  変換指示ファイル

MDPORT変換指示により指定された情報を格納するファイルで、拡張子は「.mdp」です。保存した変換指示ファイルを開くことにより、同じ指定を復元させることができます。

  マスタデータファイル

項目名をカンマ区切りで並べたデータファイルのこと。ファイル名は「項目名.csv」。  マスク出力ファイル

Page 138: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

マスク処理が施された個人情報が含まれていないデータのこと。 利用者定義変換テーブル

利用者定義文字(外字)や拡張漢字/非漢字を任意の文字へ変換するための、コードの対応づけを行うテーブルファイルです。

  レイアウト定義ファイル

レイアウト定義機能により作成されるファイルで、拡張子は「.lay」です。データファイル変換では必須となります。

  C言語連携機能

C言語連携機能を使用すると、インクルードファイル中の構造体のレイアウトも取り込むことができます。  インクルードファイル

C言語で記述された、構造体定義のヘッダファイルを指しています。  アライメントサイズ

データ領域を割り当てる際、そのコンピュータやアプリケーションが最適に動けるよう、ある値の整数倍のアドレスに変数や構造体メンバが割り当てられます。そのときのある値というのがアライメントサイズで、アプリケーションのコンパイル時に指定します。通常1byte、2byte、4byte、8byte、16byteのうちのいずれかです。デフォルトは8byteです。

  アライメント

プログラムをコンパイルする際、コンパイラはそのコンピュータやアプリケーションが最適に動けるような位置に構造体のメンバを配置します。そのときは次のような規則が成り立ちます。 次に配置するメンバのデータ型のサイズと指定されたアライメントサイズのうち、小さい方の値の整数倍の位置に配置する。 また、構造体のサイズ(sizeof()関数で求められる)を決定する際にも、次のような規則が成り立ちます。 構造体のメンバのうち最も大きいデータ型のサイズと、指定されたアライメントサイズのうち、小さい方の値の整数倍の値が構造体のサイズとなる。 MDPORTではアライメントにより項目(メンバ)間に隙間が発生する場合、@DUMMYという項目を追加して対応しています。

  解析エラーファイル

既存C言語資産の解析エラーが発生した場合にエラー情報が格納されるファイルで、インクルードファイル名の末尾に「.txt」が付加されたファイル名で作られます。テキストファイルの形式で、メモ帳等で内容を参照できます。

 

Page 139: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

Windows版 SIMPLIA/TF-MDPORT V80L10 コマンド機能、コード変換/レコード変換機能 オンラインマニュアル ※MDPORT Pro固有機能

第1.0版

はじめに

SIMPLIA/TF-MDPORT コマンド機能は、TF-MDPORTの基本機能をコマンドにて実行することができます。 SIMPLIA/TF-MDPORT コード変換/レコード変換機能は、ユーザアプリケーションに組み込むことによりPCと汎用機・UNIX機間で、ソースやデ-タファイル等の資源を流用することができます。 ※当機能はMDPORT Pro固有機能です。なおx64-Windows版SIMPLIA/COBOL支援キットでは、MDPORTCコマンド機能のみ提供されます。

  ヘルプを読むために

- HTML3.2以降をサポートするWWWブラウザをお使いください。- 本オンラインマニュアルでは「NetCOBOL」または「COBOL97」を総称して「COBOL97」と表記しています。「NetCOBOL」、または「COBOL97」とMDPORTの関係については「ソフトウェア説明書」を参照してください。

  輸出管理規制について

本オンラインマニュアルを輸出または提供する場合は、外国為替および外国貿易法および米国輸出管理関連法規等の規制をご確認の上、必要な手続きをおとり下さい。

  登録商標について

本オンラインマニュアルで使われている登録商標及び商標は、以下のとおりです。 - Microsoft,Windows,MS-DOS,MSは、米国Microsoft Corporationの米国およびその他の国における登録商標です。

- UNIXは、X/Openカンパニーリミテッドが独占的にライセンスしている米国ならびに他の国における登録商標です。

- OracleとJavaは、Oracle Corporationおよびその子会社、関連会社の米国およびその他の国における登録商標です。 文中の社名、商品名等は各社の商標または登録商標である場合があります。

- INFORMIXは、米国Informix Software,Inc.の登録商標です。 - Excelは、米国Microsoft Corporationの製品です。

  略記について

Page 140: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

本オンラインマニュアルでは、各製品を次のように略記しています。 「Windows(R) 7 Home Premium」または、 「Windows(R) 7 Professional」、 「Windows(R) 7 Enterprise」、 「Windows(R) 7 Ultimate」

→ 「Windows 7」

「Windows Vista(R) Home Basic」または、 「Windows Vista(R) Home Premium」、 「Windows Vista(R) Business」、 「Windows Vista(R) Enterprise」、 「Windows Vista(R) Ultimate」

→ 「Windows Vista」

「Microsoft(R) Windows(R) XP Home Edition Operating System」または、 「Microsoft(R) Windows(R) XP Professional Operating System」

→ 「Windows XP」

「Microsoft(R) Windows Server(R) 2008 Standard」または、 「Microsoft(R) Windows Server(R) 2008 Standard without Hyper-V(TM)」、 「Microsoft(R) Windows Server(R) 2008 Enterprise」、 「Microsoft(R) Windows Server(R) 2008 Enterprise without Hyper-V(TM)」

→ 「Windows Server 2008」

「Microsoft(R) Windows Server(R) 2008 R2 Standard」または、 「Microsoft(R) Windows Server(R) 2008 R2 Enterprise」

→ 「Windows Server 2008」または、 「Windows Server 2008 R2」

「Microsoft(R) Windows Server(R) 2003, Standard Edition」または、 「Microsoft(R) Windows Server(R) 2003, Enterprise Edition」

→ 「Windows Server 2003」

「Microsoft(R) Windows Server(R) 2003 R2, Standard Edition」または、 「Microsoft(R) Windows Server(R) 2003 R2, Enterprise Edition」

→ 「Windows Server 2003」または、 「Windows Server 2003 R2」

「Microsoft(R) Windows Server(R) 2003 R2, Standard x64 Edition」または、 「Microsoft(R) Windows Server(R) 2003 R2, Enterprise x64 Edition」、 「Microsoft(R) Windows Server(R) 2003, Standard x64 Edition」、 「Microsoft(R) Windows Server(R) 2003, Enterprise x64 Edition」

→ 「Windows Server 2003」または、 「Windows Server 2003 x64 Edition」

次の製品全てを指す場合 Microsoft(R) Internet Explorer 6 Microsoft(R) Internet Explorer 7 Microsoft(R) Internet Explorer 8 Microsoft(R) Internet Explorer 9

→ 「Internet Explorer」

次の製品全てを指す場合 Windows 7 Windows Vista Windows XP Windows Server 2008 Windows Server 2003

→ 「Windows」

Copyright 1994-2011 FUJITSU LIMITED

Page 141: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

機能概要

MDPORTCコマンド Windows版TF-MDPORTをバッチモードで実行するためのコマンド機能です。変換指示ファイルで指定していた項目がオペランドで全て指定可能となるため、変換指示ファイル無しでも動作します。また、ファイルの標準入出力も可能です。 なお、当機能は、TF-MDPORT Proのみ提供されます。 MDPORTLCコマンド Windows版レイアウト定義生成をバッチモードで実行するためのコマンド機能です。COPYライブラリ名、レイアウト定義ファイル名、解析オプション及びデータ形式で指定していた項目がオペランドで全て指定可能となります。 なお、当機能は、TF-MDPORT Proのみ提供されます。 コード変換/レコード変換機能 コード変換/レコード変換機能では、ユーザアプリケーションに組み込むことによりPCと汎用機・オフコン・UNIX機間で、ソースやデータファイル等の資源を流用することができます。図1にコード変換/レコード変換機能の概要を示します。 なお、当機能は、TF-MDPORT Proのみ提供されます。

図1 コード変換/レコード変換機能

コード変換/レコード変換機能は以下のような機能を提供する関数群です。 コード変換機能 コード変換機能は、各種コード変換を行う関数群です。レコード変換機能 レコード変換機能は、レコード単位にコード変換、レコード形式変換を行う関数群です。

Page 142: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

コマンド機能

MDPORTのコマンド入力形式とその機能について説明します。MDPORTで用意されているコマンドは、以下のとおりです。

MDPORTCコマンドファイル形式の変換を行います。汎用機型のファイル形式や、UNIXのテキストファイル、COBOLファイル、CSV形式ファイルでの形式変換を行います。ファイル形式変換にともない、データ属性に合わせたコード変換も行います。

MDPORTLCコマンド データファイル変換にて使用するレイアウト定義ファイルを作成します。既存COBOL資産(COPYライブラリ)から取り込みを行って作成することができます。

各コマンドは次の形式で説明します。

[名 前]

コマンドの名称と機能の概要を以下の形式で示します。 コマンド名-機能の概要

[形 式]

コマンドの記述形式を示します。記述形式は以下の規約で記述しています。

- 通常の文字で記述されている語は、そのとおりに入力することを示しています。 - 形式中の日本語の語は、置き換えて入力することを示しています。 - { }で囲まれている部分は、その括弧中の一つを明に指定する必要があることを示しています。 - [ ]で囲まれている部分は、省略可能であることを示しています。また、省略された場合は、括弧中の下線のある語が選択されることを示しています。 - 前述の括弧中に"α | β”と語句がわかれている部分は、αおよびβが選択対象であることを示しています。

[機能説明]

コマンドの機能やオペランドについて説明します。

[注 意]

コマンドを使用するうえで注意すべき事項を記述しています。 なお、当機能は、TF-MDPORT Proのみ提供されます。

Page 143: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

MDPORTCコマンド

[名 前]

MDPORTC

[形 式 1]変換指示ファイル(.mdp)を使用する場合

MDPORTC.EXE -b 変換指示ファイル名 { [-fn [ファイル名]] | [-i [入力ファイル名]] [-o [出力ファイル名]] [-e [メッセージ出力先ファイル名]] } [-f] [-l レイアウト定義ファイル名] [-c [カレントフォルダ名]] [-it {text | data | cblfile | csv | xml}] [-ot {text | data | cblfile | csv | xml}] [-m {メッセージ出力件数 | 100}] [-t [yes | no]] [-ic {sjis | euc | jef | jis | jefa | unicode | 他社}] [-oc {sjis | euc | jef | jis | jefa | unicode | 他社}] [-u {ucs2[,{big | little}] | utf8}] [-ns] [-j [yes | no]] [-ik 入力コードiconvキーワード] [-ok 出力コードiconvキーワード] [-v 利用者定義変換テーブルファイル名] [-a1 1カラム系代替コード] [-a2 2カラム系代替コード] [-id {crlf | lf}] [-od {crlf | lf}] [-ib {seq | lsq | rel | idx}] [-ob {seq | lsq | rel | idx[,キー位置;キー長[;...][;dup]][,...]}] [-ir {f | v}] [-or {f | v}] [-il [入力レコード長]] [-ol [出力レコード長]] [-p {rdb2 | oracle | informix | sqlserver | excel}] [-s {文字 | ,}] [-q {文字 | "}] [-qd] [-n] [-h] [-np] [-g] [-d] [-w [作業用フォルダ名]] [-lg [ログファイル名]] [-bi {yes | no}] [-xt [XMLテンプレートファイル名]] [-dv] [-ev] [-nc]

[形 式 2]変換指示ファイル(.mdp)を使用しない場合

MDPORTC.EXE { -fn [ファイル名] | -i [入力ファイル名] [-o [出力ファイル名]] [-e [メッセージ出力先ファイル名]] } [-f] [-l レイアウト定義ファイル名] [-c [カレントフォルダ名]] -it {text | data | cblfile | csv | xml} [-ot {text | data | cblfile | csv | xml}] [-m {メッセージ出力件数 | 100}] [-t [yes | no]] [-ic {sjis | euc | jef | jis | jefa | unicode | 他社}]

Page 144: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

[-oc {sjis | euc | jef | jis | jefa | unicode | 他社}] [-u {ucs2[,{big | little}] | utf8}] [-ns] [-j [yes | no]] [-ik 入力コードiconvキーワード] [-ok 出力コードiconvキーワード] [-v 利用者定義変換テーブルファイル名] [-a1 1カラム系代替コード] [-a2 2カラム系代替コード] [-id {crlf | lf}] [-od {crlf | lf}] [-ib {seq | lsq | rel | idx}] [-ob {seq | lsq | rel | idx[,キー位置;キー長[;...][;dup]][,...]}] [-ir {f | v}] [-or {f | v}] [-il 入力レコード長] [-ol 出力レコード長] [-p {rdb2 | oracle | informix | sqlserver | excel}] [-s {文字 | ,}] [-q {文字 | "}] [-qd] [-n] [-h] [-np] [-g] [-d] [-w [作業用フォルダ名]] [-lg [ログファイル名]] [-bi {yes | no}] [-xt [XMLテンプレートファイル名]] [-dv] [-ev] [-nc]

[機能説明]

-b 変換指示ファイル名

変換指示ファイル名を指定します。他のオペランドを同時に指定した場合は、変換指示ファイル内の指定が無効となり、オペランドの方を有効とします。

-fn [ファイル名]

変換元の入力ファイル名を指定します。 -fnオペランドで指定するファイル名には、ワイルドカードを使用することができます。オペランドを入力した場合、入力ファイル名に従い、出力ファイル名、レイアウト定義ファイル名、メッセージ出力先ファイル名を決定します。 例:入力ファイル名(aaa.in)、レイアウト定義ファイル名(aaa.lay)、出力ファイル名(aaa.out)、メッセージ出力先ファイル名(aaa.err) ファイル名を指定しない場合には、標準入出力となります。 使用する各ファイルの名前を任意に指定したい場合は、-fnオペランドを指定せずに、-i,-o,-eの各オペランドに任意のファイル名を指定します。変換指示ファイルを指定せずに-fnオペランドを指定しなかった場合は標準入出力となります。 -l オペランドを指定している場合に限り、-l オペランドのレイアウト定義ファイルが優先されます。

-i [入力ファイル名]

-fnオペランドを指定しない場合に、変換元の入力ファイル名を指定します。 -iオペランドで指定するファイル名には、ワイルドカードを使用することができます。 ファイル名を指定しない場合には、標準入力となります。 -fnオペランドを指定せずに本オペランドを省略すると、標準入力となります。ただし、変換指示ファイルを指定した場合には標準入力とはなりません。 -it cblfile、または、xmlを指定した場合には標準入力とはなりません。入力ファイルが指定されていない状態とみなします。

-o [出力ファイル名]

Page 145: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

-fnオペランドを指定しない場合に、変換後の出力ファイル名を指定します。 -oオペランドで指定するファイル名には、ワイルドカードを使用することができます。 ファイル名を指定しない場合には、標準出力となります。 -fオペランドが指定されていないと、既存ファイルは指定できません。 -fnオペランドを指定せずに本オペランドを省略すると、標準出力となります。ただし、変換指示ファイルを指定した場合には標準出力とはなりません。 -ot cblfileを指定した場合には標準出力とはなりません。出力ファイルが指定されていない状態とみなします。

-e [メッセージ出力先ファイル名]

-fnオペランドを指定しない場合に、MDPORTCコマンドで出力される警告メッセージを指定のファイルへ出力します。 -eオペランドで指定するファイル名には、ワイルドカードを使用することができます。ファイル名を指定しない場合には、標準エラー出力となります。出力先ファイルが既に存在している場合は、内容が上書きされます。 -fnオペランドを指定せずに本オペランドを省略すると、警告メッセージは標準エラー出力に出力されます。ただし、変換指示ファイルを指定した場合には標準エラー出力とはなりません。

-l レイアウト定義ファイル名

レイアウト定義ファイル名を指定します。指定するファイル名には、ワイルドカードを使用することはできません。

-f

出力ファイルが既に存在する場合に、上書きして出力します。

-c [カレントフォルダ名]

カレントフォルダ名を指定します。-cオペランドのみ指定した場合、当コマンドを実行したフォルダがカレントフォルダとなります。

-it {text | data | cblfile | csv | xml}

入力ファイル形式を指定します。以下にファイル形式の意味を示します。

ファイル形式 意味text :テキストファイル 文字キャラクタのみで構成されたファイルを示します。data :データファイル バイナリのデータファイルを示します。

cblfile:COBOLファイルWindows上のCOBOLアプリケーションプログラムでアクセスするファイルの形式です。 ファイル編成として、レコード順ファイル、行順ファイル、相対ファイル、索引ファイルがあります。

csv :CSV形式ファイル 項目間をカンマ(デリミタ文字)で区切った形式のテキストファイルを指します。

xml :XML形式ファイル eXtensible Markup Language(拡張可能マーク付け言語)の略で、項目をタグで囲み、要素を識別可能なテキストファイルを指します。

変換指示ファイルを指定しなかった場合には、本オペランドは省略できません。 MDPORTがサポートしているコード変換や形式変換パスについては、TF-MDPORTオンラインマニュアルの変換仕様 「文字コードの変換」を参照してください。

Page 146: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

-ot {text | data | cblfile | csv | xml}

出力ファイル形式を指定します。ファイル形式の意味については、-itオペランドと同じです。 テキストモード変換ではtextのみ指定可能となり、本オペランドを省略することができます。データファイル変換では省略することはできません。

-m {メッセージ出力件数 | 100}

MDPORTCコマンドで出力される警告メッセージの出力件数の上限値を指定します。 (メッセージ出力件数:上限値を1~9999までの範囲で指定) -tオペランドが指定されていない場合に、警告メッセージの出力件数が上限値を超えるとコマンドは変換処理を中断します。 本オペランドを省略した場合は、メッセージ出力件数の上限値を100とします。

-t [yes | no]

本オペランドは、警告メッセージが上限値を越えて発生した場合に、処理を行う方法を指定します。

指定オペランド 意味

無 警告メッセージの出力上限値を超えると、コマンドは変換処理を中断します。

-t 警告メッセージの出力上限値を超えても、コマンドは変換処理を続行しますが、上限値を越えた分の警告メッセージは出力されません。-t no

-t yes 警告メッセージの出力上限値を超えても、コマンドは警告メッセージを出力しながら、変換処理を続行します。

-ic {sjis | euc | jef | jis | jefa | unicode | 他社}

入力ファイル上のコード体系を指定します。以下に指定できるコード体系の意味を示します。入力がXMLの時は、エンコーディング形式が優先されます。

コード体系 意味sjis シフトJISコードeuc ASCIIおよびEUCコードjef EBCDICカナおよびJEFコードjis JIS8単位コードjefa EBCDIC英小文字およびJEFコードunicode Unicode他社 EBCDICおよび他社日本語コード

-itオペランドの指定により、本オペランドで指定できるコード体系が異なります。 他社コードには、提供されているコード変換テーブルを使用すると、以下の指定を行うことができます。

IBM EBCDICおよびIBM漢字コード

Page 147: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

KEIS EBCDICおよび日立KEISコードJIPE EBCDICおよび日本電気JIPS(E)コードJIPJ EBCDICおよび日本電気JIPS(J)コードAVX EBCDICおよび日本電気AVX日本語コード

本オペランドを省略した場合、-ic sjisとして扱われます。

-oc {sjis | euc | jef | jis | jefa | unicode | 他社}

出力ファイル上のコード体系を指定します。指定できるコード体系の意味は-icオペランドと同じです。 -otオペランドの指定により、本オペランドで指定できるコード体系が異ります。 本オペランドを省略した場合、-oc sjisとして扱われます。

-u {ucs2[,{big | little}] | utf8}

-icまたは-ocがunicodeの場合にUnicodeの種別及びエンディアンを指定します。 -it textまたはcsvの場合、シグネチャが優先されます。 ファイルにシグネチャがない場合、ユーザが指定した種別とエンディアンで読み込みを行います。なお、本オペランドを省略した場合は-u ucs2,littleとして扱われます。 入力ファイルが行順ファイルの場合、シグネチャに従います。 出力が行順ファイルの場合、エンディアンは指定できず、リトルエンディアンのみとなります。(COBOLの仕様) 入力または出力が、一般ファイルまたはCOBOL順ファイルの場合、UCS2のみ指定できます。(COBOLの仕様)ただし、選択したコード体系に依存する仕様で動作させたい場合は、UTF8を指定することができます。

-ns

Signature出力を省略します。 出力コード体系がUnicodeかつ出力ファイルがテキスト、CSV形式、XML形式の場合以外は指定しても無視されます。

-j [yes | no]

Charset Managerを使用してコード変換する場合に指定します。Charset Managerが正常にインストールされていない場合や、同一コードでの変換、Charset Managerで対応していないコード変換パスでは指定できません。

指定オペランド 意味

Charset Managerを使用した変換を行います。 同一コードやCharset Managerで対応していないコードについては、 標準変換を行います。 但し、変換指示ファイルが指定されていた場合は、変換指示ファイルの指定に従います。

-jCharset Managerを使用した変換を行います。 同一コードやCharset Managerで対応していないコードについては、 標準変換を行います。

-j no 標準変換を行います。

Page 148: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

-j yesCharset Managerを使用した変換を行います。 Charset Managerで対応しないコードについては、変換エラーが発生して、処理を中断します。

-ik 入力コードiconvキーワード

入力で定義したコード体系がCharset Manager変換(iconv_open関数)のどのキーワードに該当させるかを指定します。 指定された入力コード別に以下の指定を行うことができます。

入力コードがsjisの場合sjis シフトJIS(R90)sjisdos シフトJIS(DOS)sjisms シフトJIS(MS)入力コードがeucの場合u90 EUC(U90)s90 EUC(S90)入力コードがjef,jefaの場合jefkana JEF + EBCDIC(カナ)jefaugkana JEF + EBCDIC(カナ) 字体重視jefcorekana JEF + EBCDIC(カナ) 領域重視※jefaの場合は、EBCDIC(英小文字)です。1バイト系の変換規則は、TF-MDPORTオンラインマニュアルの変換仕様 「文字コードの変換」を参照してください。

-ok 出力コードiconvキーワード

出力で定義したコード体系がCharset Manager変換(iconv_open関数)のどのキーワードに該当させるかを指定します。 指定できるキーワードは-ikオペランドと同じです。

-v 利用者定義変換テーブルファイル名

コード変換の際に参照される利用者定義変換テーブルのファイル名を指定します。

-a1 1カラム系代替コード

1カラム系文字コード(ANK文字)の変換にエラーが発生した場合に、出力データとして何の文字へ置き換えるかを16進コードで、Unicode以外は2桁、Unicodeの時は4桁で指定します。 指定は出力側コード体系でのコードを入力します。Unicodeの時はUCS2ビッグエンディアンで指定します。 本オペランドを省略した場合、出力側コード体系の“_”(アンダースコア)で出力されます。

-a2 2カラム系代替コード

2カラム系文字コード(日本語文字)の変換にエラーが発生した場合に、出力データとして何の文字へ置き換えるかを16進コード4桁で指定します。指定は出力側コード体系でのコードを入力します。Unicodeの時はUCS2ビッグエ

Page 149: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

ンディアンで指定します。 本オペランドを省略した場合、出力側コード体系の“■”(黒い四角文字)で出力されます。

-id {crlf | lf}

入力レコードの改行コードの有無または種類を指定します。以下に指定の意味を示します。

設定なし 入力レコードには改行コードは付加されていないことを示します。crlf 入力レコードには2バイトのCR+LF改行コード(0x0D0A)が付加されていることを示します。lf 入力レコードには1バイトのLF改行コード(0x0A)が付加されていることを示します。

-itがtext、data、xmlまたはcsvで、かつ-icがJEFコード、他社コード以外の場合に有効となります。

-od {crlf | lf}

出力レコードの改行コードの有無または種類を指定します。 指定できる改行コードの有無または種類は-idオペランドと同じです。 -otがtext、data、xmlまたはcsvで、かつ-ocがJEFコード、他社コード以外の場合に有効となります。

-ib {seq | lsq | rel | idx}

Windows上のCOBOLアプリケーションプログラムでアクセスするファイルの形式を指定するもので、-it cblfileを指定したときに有効となり、それ以外では無視されます。

seq レコード順ファイルlsq 行順ファイルrel 相対ファイルidx 索引ファイル

本オペランドを省略するとseqとして扱われます。

-ob {seq | lsq | rel | idx[,キー位置;キー長[;...][;dup]][,...]}

Windows上のCOBOLアプリケーションプログラムでアクセスするファイルの形式を指定するもので、指定できるレコード属性の種類は-ibオペランドと同じです。 -ot cblfileを指定したときに有効となり、それ以外では無視されます。 索引ファイルを指定した場合には、オペランドに続けてキー位置、キー長をセミコロン(;)で区切って指定します。 キー位置はレコードの先頭を1とした相対バイト位置を指定し、キー長はキー位置からのバイト数で指定します。重複キーを持つ索引ファイルの場合は";dup"を続けて指定します。主キーは省略できません。

-ir {f | v}

入力ファイルのレコード属性を指定します。

f 固定長v 可変長

Page 150: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

本オペランドを省略すると、fとして扱われます。

-or {f | v}

出力ファイルのレコード属性を指定します。 指定できるレコード属性の種類は、-irオペランドと同じです。 本オペランドを省略すると、fとして扱われます。

-il [入力レコード長]

入力ファイルのレコード長を指定します。指定可能なレコード長は1~32767です。 入力レコード長を省略した場合は、レイアウト定義ファイルに格納されている入力レコード長が指定されたものとみなしますが、レイアウト定義ファイルが指定されなかった場合はエラーとなります。

-ol [出力レコード長]

出力ファイルのレコード長を指定します。指定可能なレコード長は1~32767です。 出力レコード長を省略した場合は、レイアウト定義ファイルに格納されている出力レコード長が指定されたものとみなしますが、レイアウト定義ファイルが指定されなかった場合はエラーとなります。

種類 コマンド例(出力形式)データファイル形式(Data) -ot data -or f -ol 500Windows(DOS)CSV形式 -ot csv -or v -od crlfWindows(DOS)テキスト -ot text -or v -od crlf

UNIXテキスト(CSV含む) -ot text -or v -od lf または -ot csv -or v -od lf

汎用機ソース -ot text -or f -ol 80XML形式 -ot xml -or v -od crlf

-p {rdb2 | oracle | informix | sqlserver | excel}

CSV形式ファイルを扱う場合に、対象のRDB向けローダ形式を指定します。 -itまたは-otオペランドにcsvを指定したときに有効となり、それ以外では無視されます。

rdb2 Symfowareのローダ形式oracle Oracleのローダ形式informix INFORMIXのローダ形式sqlserver SQL Serverのローダ形式excel ExcelのCSV形式

本オペランドを省略した場合は、rdb2として扱われます。

-s {文字 | ,}

CSV形式ファイルを扱う場合に、項目間を区切るための文字を指定します。 -itまたは-otオペランドにcsvを指定したときに有効となり、それ以外では無視されます。

Page 151: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

文字指定文字を区切り文字として使用します。 区切り文字としてタブを使用した場合は、直接タブ文字を指定してください。 区切り文字を使用しない(ヌルを使用する)場合は""と指定してください。

, カンマを区切り文字として使用します。

本オペランドを省略した場合、「,」として扱われます。

-q {文字 | "}

CSV形式ファイルを扱う場合に、項目をくくるための引用符文字を指定します。 レイアウト定義で引用に“Y”が指定されている場合に有効となり、それ以外では無視されます。

文字 指定文字を引用符文字として使用します。 引用符文字を使用しない(ヌルを使用する)場合は""と指定して下さい。

" ダブルクォーテーションを引用符文字として使用します。

本オペランドを省略した場合、「"」として扱われます。

-qd

データ中に引用符が存在する場合の扱いを指定します。 1つの引用符データは2つの引用符で表現し、文字列項目をくくっている引用符との識別を行う場合に指定します。レイアウト定義で引用に“Y”が指定されている場合のみ有効です。

-n

ヌルの項目文字列を2つの引用符で表す場合に指定します。 本オペランドを省略した場合、ヌルの項目文字列には引用符は付加されません。

-h

CSV出力レコードの1件目に、項目名の見出しレコードを出力する場合に指定します。 但し、このオペランドを指定してマルチレイアウトの処理を行うと、エラーを出力して、変換処理を中断します。

-np

CSV出力レコードの符号あり数値文字列項目に、+符号を出力しない場合に指定します。 CSV出力でない場合は、このオペランドは無視されます。

-g

ログファイルに出力する内容を標準エラー出力にも出力する場合に指定します。

-d

MDPORT本体の実行環境の設定を初期化する場合に指定します。 本オペランドを省略した場合、MDPORT本体の環境設定に従います。

Page 152: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

-w, -lg, -biオペランドを同時に指定した場合、それぞれのデフォルトの設定は無効となり、-w, -lg, -biオペランドの指定を有効とします。 本オペランドを指定した場合のデフォルト値は以下の通りとなります。

-w システムの作業用フォルダ

-lg

作業用フォルダに以下のファイル名で作成されます。 “MDPORT.LOG” [x86版]“MDPORT64.LOG” [x64版]

-bi no(扱わない)

-w [作業用フォルダ名]

作業用フォルダ名をフルパスで指定します。 作業用フォルダ名を省略した場合は、システムの作業用フォルダ(環境変数TEMPまたはWindowsディレクトリ)を使用します。 本オペランドを省略した場合、-dオペランドの指定に従います。

-lg [ログファイル名]

ログファイル名をフルパスで指定します。 ログファイル名を省略した場合は、作業用フォルダに以下のファイル名で作成されます。

“MDPORT.LOG” [x86版]“MDPORT64.LOG” [x64版]本オペランドを省略した場合、-dオペランドの指定に従います。

-bi {yes | no}

2進項目においてBYTE単位の領域長の扱いを指定します。

yes 扱うno 扱わない

本オペランドを省略した場合、-dオペランドの指定に従います。

-xt [XMLテンプレートファイル名]

出力ファイル形式がXML形式の場合、XML宣言文等をXMLファイルの先頭に付加するためのXMLテンプレートファイル名を指定します。 XMLテンプレートファイル名を省略した場合は、出力先コードと同一文字コードで作成された標準のXMLテンプレートファイルが付加されます。 本オペランドを省略した場合、XMLテンプレートファイルをXMLファイルの先頭に付加しません。

-dv

入力ファイルを複数ファイルに分割して出力する場合に指定します。

Page 153: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

出力ファイル名にワイルドカード[*.拡張子]を指定した場合にのみ有効となります。

-dvオペランドの出力仕様について

-dv オペランド指定 入力側(例) 出力側(例) 説明なし aaa.in bbb.out bbb.outへ変換結果を出力します。

なし aaa.in *.out 出力側に入力された文字列を拡張子と見なし、入力ファイル(aaa.in)の拡張子と置き換えたファイルへ出力します。

なし *.in *.out 出力側に入力された文字列を拡張子と見なし、入力対象となるファイル名の拡張子と置き換えたファイルへ出力します。

なし *.in bbb.out bbb.outへ変換結果を出力します。入力対象ファイルが複数存在する場合は、出力ファイルへ追加書きされます。

あり aaa.in *.out出力側に入力された文字列を拡張子と見なし、入力ファイル(aaa.in)の拡張子と置き換えたファイルへレコード単位(ファイルに連番が振られます)に出力します。(例) aaa00000.out, aaa00001.out........

あり *.in *.out出力側に入力された文字列を拡張子と見なし、入力対象となるファイル名の拡張子と置き換えたファイルへレコード単位(ファイルに連番が振られます)に出力します。

-ev

ログファイルに出力する内容をイベントログにも出力する場合に指定します。 イベントログの出力内容については、TF-MDPORTオンラインマニュアルの「ログ出力」を参照してください。

-nc

同一コードを指定した場合に限り、変換を行わずにそのままデータを出力します。 異なるコードを指定した場合は、このオペランドは無視されます。

[復帰値]

当コマンドは以下のいずれかの復帰値で終了します。(プロセスの強制終了や異常終了時の復帰値は保証できません。)

復帰値 意味0 正常終了(変換エラーなし)1 正常終了(変換エラーあり)2 ログファイルアクセスエラーによる異常終了3 異常終了(ログファイルへエラー内容出力)

参照)コマンド機能における制限・注意事項

Page 154: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

MDPORTLCコマンド

[名 前]

MDPORTLC

[形 式]

MDPORTLC.EXE -c COPYライブラリ名 [-l レイアウト定義ファイル名] [-f] [-i {data | csv | xml}] [-o {data | csv | xml}] [-d] [-t {cob | yps | ffd}] [-w {fix | var | free}] [-b {word | byte}] [-a [COPY文への付加文字列名]] [-p {yes | no}] [-g] [-v]

[機能説明]

-c COPYライブラリ名

COPYライブラリ名を指定します。 パスを省略した場合、パスはカレントフォルダ(MDPORTLC.EXEの起動場所)となります。 COPYライブラリ名にはワイルドカードを使用することができます。

-l レイアウト定義ファイル名

作成するレイアウト定義ファイル名を指定します。 パスを省略した場合、レイアウト定義ファイルの出力フォルダはカレントフォルダとなります。 レイアウト定義ファイル名には、指定されたCOPYライブラリ名の拡張子を置き換える目的で[*.拡張子]と指定することができます。 本オペランドを省略した場合、レイアウト定義ファイル名は、指定されたCOPYライブラリ名の拡張子を[lay]に置き換えた名前になります。また、出力先は指定されたCOPYライブラリの存在するフォルダとなります。

-f

作成するレイアウト定義ファイルが存在する場合、上書きして出力します。 作成するレイアウト定義ファイルが存在する場合、本オペランドを省略すると“出力ファイルが既に存在しています。”と警告メッセージを出力します。

-i {data | csv | xml}

入力データ形式を指定します。以下に入力データ形式の意味を示します。

Page 155: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

data データファイル形式csv CSV形式xml XML形式

本オペランドを省略した場合、-i dataとして扱われます。

-o {data | csv | xml}

出力データ形式を指定します。以下に入力データ形式の意味を示します。

data データファイル形式csv CSV形式xml XML形式

本オペランドを省略した場合、-o dataとして扱われます。

-d

レイアウト定義機能のCOBOL解析オプションの設定を無視してデフォルトの設定を指定します。 -t、-w、-b、-a、-pのオペランドを一緒に指定した場合、それぞれのデフォルトの設定は無効となり、-t、-w、-b、-a、-pのオペランドの指定を有効とします。 デフォルトの設定

-t (ファイル種別) cob (COBOL登録集)-w (正書法の種類) var (可変長)-b (2進項目の扱い) word (WORD)-a (付加文字列名) NULL-p(集団項目の扱い) yes(扱う)

本オペランドを省略した場合、レイアウト定義機能のCOBOL解析オプションの設定となります。また作業フォルダ、ログファイルはMDPORT本体の環境設定の設定となります。

-t {cob | yps | ffd}

ファイル種別を指定します。以下にファイル種別の意味を示します。

cob COBOL登録集yps YPSインクルード仕様書(YPS/COBOLをインストール済みの場合のみ)ffd ファイル定義体

本オペランドを省略した場合、レイアウト定義機能のCOBOL解析オプションの設定となります。

-w {fix | var | free}

Page 156: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

正書法の種類を指定します。以下に正書法の種類の意味を示します。

fix 固定長var 可変長free 自由

本オペランドを省略した場合、レイアウト定義機能のCOBOL解析オプションの設定となります。

-b {word | byte}

2進項目の扱いを指定します。以下に2進項目の扱いの意味を示します。

word WORDbyte BYTE

本オペランドを省略した場合、レイアウト定義機能のCOBOL解析オプションの設定となります。

-a [COPY文への付加文字列名]

COBOL登録集が仮原文を含む場合、REPLACING句の指定を行わないと正しく解析することができないので、COPY文への付加文字列名を指定します。 付加文字列名の文字数は64(byte)以内とします。パラメータを省略した場合COPY文への付加文字列の指定は、指定無しとなります。 本オペランドを省略した場合、レイアウト定義機能のCOBOL解析オプションの設定となります。

-p {yes | no}

解析結果としてレイアウト定義に出力する集団項目の扱いを指定します。

yes 扱うno 扱わない

本オペランドを省略した場合、レイアウト定義機能のCOBOL解析オプションの設定となります。

-g

ログファイルに出力する内容を標準エラー出力にも出力する場合に指定します。

-v

ログファイルに出力する内容をイベントログにも出力する場合に指定します。

[復帰値]

当コマンドは以下のいずれかの復帰値で終了します。(プロセスの強制終了及び異常終了の復帰値は保証できません。)

Page 157: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

復帰値 意味0 正常終了(解析エラーなし)1 異常終了(ログファイルアクセスエラー) 2 異常終了(上記以外のエラー)

[使用可能なオペランドの詳細]

使用可能なオペランドの組合せを下記に示します。

ファイル種別

指定項目 COBOL登録集 YPSインクルード仕様書 ファイル定義体

正書法の種類(固定長) ○ × ×正書法の種類(可変長) ○ ○ ○正書法の種類(自由) ○ × ×2進項目の扱い ○ ○ ○COPY文への付加文字列の指定 ○ × ×COPY文への付加文字列 ○ × ×

○:使用可 ×:使用不可

Page 158: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

サンプルデータでの動作確認手順

製品に付随するサンプルの使用手順について説明します。インストール後の動作確認等に使用してください。 なおサンプルデータには、変換エラー表示機能を使用するために、項目属性に合わないデータ値が意図的に含まれています。 MDPORTCコマンド 【手 順】

1. コマンドプロンプトを起動します。 2. 当製品がインスト-ルされているフォルダ配下のSAMPLEフォルダに移動します。 3. "SAMPLE.BAT"と入力します。 4. Enterキーを押すと実行状況が出力されます。サンプルデータの場合は、以下のようになります。

2000/07/13 14:55:34[Data1.dat]変換処理を開始します。 *** SIMPLIA/TF-MDPORT 変換エラーファイル *** カレントフォルダ: 入力ファイル名: Data1.dat レイアウト定義ファイル名: Data1.lay 変換エラー発生数: 2 【コード変換エラー】()内は出現数 (*)は100以上 0000( 1) 【エラー発生項目】項目No:項目名:属性(エラー発生数 *は100以上) 3:製品名:N( 1) 5:売上数量:Z( 1) 【エラー詳細】レコード番号-位置 エラー内容 項目No:項目名:属性 3-23 コード変換エラー(0x0000) 3:製品名:N 4-46 数値部エラー 5:売上数量:Z 2000/07/13 14:55:35[Data1.csv]変換処理が正常に終了しました。 入力レコード件数 : 14 出力レコード件数 : 14 エラー発生件数 : 2 正常終了 (復帰値:1 変換エラーあり)

5. サンプルデータでは以下のエラーが発生したことがわかります。

3レコード目の23バイト目、項目名「製品名」、項目属性「日本語項目(N)」でコード変換エラー(入力コードは0x0000) 4レコード目の46バイト目、項目名「売上数量」、項目属性「外部10進(Z)」で数値部エラー

MDPORTLCコマンド

【手 順】

1. コマンドプロンプトを起動します。 2. 当製品がインスト-ルされているフォルダ配下のSAMPLEフォルダに移動します。 3. "SAMPLE2.BAT"と入力します。 4. Enterキーを押すと実行状況が出力されます。サンプルデータの場合は、以下のようになります。

2001/02/27 18:36:19[data1.cob] 解析処理を開始します。

Page 159: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

2001/02/27 18:36:19[data4.lay] 解析処理が正常に終了しました。 正常終了 (復帰値:0 解析エラーなし)

Page 160: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

コード変換/レコード変換機能

コード変換/レコード変換機能は、PCと汎用機・オフコン・UNIX機間で、ソースやデータファイル等の資源を流用させることを目的とした関数群で、以下の機能に分類されます。 コード変換機能 各種コードへのコード変換を行います。レコード変換機能 レコード単位にコード変換、レコード形式変換を行います。

Page 161: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

コード変換機能

コード変換機能は、ダイナミックリンクライブラリ(DLL)として提供され、ユーザアプリケーションと動的にリンクすることにより、各種コードへのコード変換を行います。 [機能説明] コード変換機能は以下の関数をユーザアプリケーションに組込むことにより、各種コード変換を行います。コード変換関数の詳細については“付録 コード変換/レコード変換機能”を参照して下さい。

№ 関数名 機能1 MDCOINIT() 使用するコード変換関数の宣言を行います。

2 MDCOFREE() コード変換終了処理を行います。

3 MDCOSTAT() 詳細エラー情報を取得します。

4 MDCOEBEU() EBCDICからEUC(半角英数カナ)に変換します。

5 MDCOEBJ7() EBCDICからJIS7に変換します。

6 MDCOEBJ8() EBCDICからJIS8に変換します。

7 MDCOEUEB() EUC(半角英数カナ)からEBCDICに変換します。

8 MDCOEUJ7() EUC(半角英数カナ)からJIS7に変換します。

9 MDCOEUJ8() EUC(半角英数カナ)からJIS8に変換します。

10 MDCOEUJE() EUCからJEFに変換します。

11 MDCOEUJI() EUCからJISに変換します。

12 MDCOEUSJ() EUCからSJISに変換します。

13 MDCOJ7EB() JIS7からEBCDICに変換します。

14 MDCOJ7EU() JIS7からEUC(半角英数カナ)に変換します。

15 MDCOJ7J8() JIS7からJIS8に変換します。

16 MDCOJ8EB() JIS8からEBCDICに変換します。

17 MDCOJ8EU() JIS8からEUC(半角英数カナ)に変換します。

18 MDCOJ8J7() JIS8からJIS7に変換します。

19 MDCOJEEU() JEFからEUCに変換します。

20 MDCOJEJI() JEFからJISに変換します。

21 MDCOJESJ() JEFからSJISに変換します。

22 MDCOJIEU() JISからEUCに変換します。

23 MDCOJIJE() JISからJEFに変換します。

24 MDCOJISJ() JISからSJISに変換します。

25 MDCOSJEU() SJISからEUCに変換します。

26 MDCOSJJE() SJISからJEFに変換します。

27 MDCOSJJI() SJISからJISに変換します。

[動作環境]

Page 162: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

コード変換機能のシステムフローを図1に示します。

図1 コード変換機能のシステムフロー

[使用方法]

コード変換機能によるコード変換手順を図2に示します。

図2 コード変換機能によるコード変換手順

Page 163: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

[実行環境]

コード変換機能では、関数の変換仕様に関わる環境変数を指定することができます。表1にコード変換機能で指定可能な環境変数を示します。その他の環境変数は、“実行環境”を参照して下さい。

表1 コード変換機能に関する環境変数

環境変数 設定できる値 (下線は省略時)

MDPORT_JISjiskana jiskana8 jiskana7

MDPORT_CS3 ON OFF

MDPORT_ISO ON OFF

MDPORT_JIS-

変換元または変換後のコードがJISの時に有効で、半角・英数カナのモードを指定します。

jiskana JISローマ字とJISカタカナの切り替えをエスケープシーケンスで行います。jiskana8 1バイトコード(半角・英数カナ)を、8ビットコードで扱います。jiskana7 JISローマ字とJISカタカナの切り替えをSI/SOで行います。 MDPORT_CS3- 変換元または変換後のコードがEUCの時に、コードセット3(3バイト/1文字表現)を使用するかしないかを

指定します。OFFにすると、コードセット3の文字が扱えなくなります。 詳細はレコード変換機能のMDP_init() cs3modeの説明を参照してください。

MDPORT_ISO- EBCDICコードとASCIIコード間の変換における、変換仕様を指定します。OFFにすると、emuモードで変換さ

れます。 詳細はレコード変換機能のMDP_init() isomodeの説明を参照してください。

[使用例]

C言語プログラムからコード変換機能の関数を使用する場合の記述例を示します。  #include "MDPcomm.h"        :

struct CODPARA codpara; /* コード変換パラメタ */

char indata[256]; /* 入力データ */char outdata[256}; /* 出力データ */

        :

codpara.inlen = indata_len; /* 入力データ長設定 */

Page 164: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

codpara.outlen = outdata_len; /* 出力データ長設定 */

        :/** コード変換初期処理変換パスの宣言 *//** EUC<-->JIS8, JIS7<-->JIS8, EBCDIC<-->JIS8 */rtn = MDCOINIT( FUNC_MDCOEUJ8 );

/* MDCOEUJ8()の宣言 */

rtn = MDCOINIT( FUNC_MDCOJ7J8 );

/* MDCOJ7J8()の宣言 */

rtn = MDCOINIT( FUNC_MDCOEBJ8 );

/* MDCOEBJ8()の宣言 */

        :/** コード変換ライブラリ呼出し */rtn = MDCOEUJ8( &codpara, indata, outdata ); /* EUC -> JIS8 */

rtn = MDCOJ7J8( &codpara, indata, outdata ); /* JIS7 -> JIS8 */

rtn = MDCOEBJ8( &codpara, indata, outdata ); /* EBCDIC -> JIS8 */

        :/** コード変換終了処理 */rtn = MDCOFREE();

 return(0);

[コンパイル方法]

コード変換機能は、ダイナミックリンクライブラリ(DLL)として提供されます。コンパイル時にF5AVPCOD.libをリンクして下さい。

[注 意] 

- 本機能は、マルチスレッドアプリケーションには対応していません。- 本機能は、Charset Managerがインストールされている場合、コード変換規則はCharset Managerに従います。

Charset Managerが使用できない場合には、内部の変換テーブルを使用します。- 本ライブラリは、32ビット以外のアプリケーションとリンクして使用することはできません。

Page 165: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

レコード変換機能

レコード変換機能は、以下の二つの機能に分類されます。 - mdportgコマンド

mdportgコマンドは、レコード変換機能が、変換処理を行う際に使用するデータ定義文解析ファイルを生成します。データ定義文解析ファイルとは、データ定義文を解析して作成される中間ファイルです。 レコード変換機能を使用してデータ変換を行う場合は、あらかじめmdportgコマンドによりデータ定義文解析ファイルを生成しておく必要があります。

- レコード変換関数レコード変換関数には、ダイナミックリンクライブラリ(DLL)として提供され、ユーザアプリケーションと動的にリンクすることにより、各種コードへのコード変換を行います。mdportgコマンドとレコード変換関数の詳細については“レコード変換機能 mdportg”を参照して下さい。

[機能説明]

レコード変換機能は、以下の関数をユーザアプリケーションに組込み、レコード単位にコード変換、レコード形式変換を行います。 レコード変換機能で提供される関数は以下のとおりです。№ 関数名 機能

1 MDP_init() 変換パスの宣言、データ定義文解析ファイルの指定、変換に使用する領域の動的確保等、コード変換の初期処理を行います。

2 MDP_conv() MDP_init()指示された内容に従ってコード変換、またはレコード形式変換を行います。

3 MDP_fin() MDP_init()で確保した領域の解放等、コード変換の終了処理を行います。

4 MDP_stat() MDP_conv(), MDP_fin()で発生したエラーの詳細情報を取得します。

[動作環境]

レコード変換部品のシステムフローを図1に示します。

Page 166: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

図1 レコード変換部品のシステムフロー

[使用方法]

レコード変換機能によるコード変換手順を図2に示します。手順1 : mdportgコマンド(データ定義文解析ファイル生成処理)を使用して、データ定義文ファイルと変

換形式の指示をもとにデータ定義文解析ファイルを生成します。ただし、テキスト変換の場合、手順1は必要ありません。

手順2 : ユーザアプリケーションで使用する変換パス毎に、コード変換/ レコード変換機能(ライブラリ)初期化処理(MDP_init)により必要情報(変換パス、データ定義文解析ファイル名等)を宣言します。

手順3 : コード変換/ レコード変換機能(ライブラリ)変換処理(MDP_conv)によりコード変換、データ形式変換処理を行います。

手順4 : コード変換/ レコード変換機能(ライブラリ)終了処理(MDP_fin)で、終了処理を行います。

  例 : 1つのアプリケーションで複数の変換パスを使用(データ定義文が異なる等)する場合

Page 167: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

図2 レコード変換機能によるコード変換手順

[実行環境]

レコード変換機能では、関数の変換仕様に関わる環境変数を指定することができます。表1にレコード変換機能で指定可能な環境変数を示します。その他の環境変数は、“実行環境”を参照して下さい。

表1 レコード変換機能によるコード変換手順

環境変数 設定できる値 (下線は省略時)

MDPORT_JISjiskana jiskana8 jiskana7

MDPORT_JIS- 変換元または変換後のコードがJISの時に有効で、半角・英数カナのモードを指定します。jiskana JISローマ字とJISカタカナの切り替えをエスケープシーケンスで行います。jiskana8 1バイトコード(半角・英数カナ)を、8ビットコードで扱います。jiskana7 JISローマ字とJISカタカナの切り替えをSI/SOで行います。

Page 168: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

[使用例]

C言語プログラムからレコード変換機能の関数を使用する場合の記述例を示します。#include "MDPcomm.h"   :struct MDPcvinf cvinf[2];char *mdpinf[2];char indata[256];char outdata[256];int inlen; int outlen;   :/*************************************** テキスト(JEF)→テキスト(EUC)の初期処理**************************************/ strcpy(cvinf[0].icode, "jef"); /* 入力コード : JEF */strcpy(cvinf[0].ocode, "euc"); /* 出力コード : EUC */

cvinf[0].itype = TYPE_T; /* 入力形式 : テキスト */

cvinf[0].otype = TYPE_T; /* 出力形式 : テキスト */

cvinf[0].irecdlm = DLM_NO; /* 入力区分文字なし */cvinf[0].orecdlm = DLM_LF; /* 出力区分文字 (LF) */cvinf[0].iso = ISO; /* ISOモード変換 */cvinf[0].okana = KANA_E; /* EUC CS2 */cvinf[0].irecfm = RECFM_F; /* 入力固定長レコード */cvinf[0].amend1 = 0x2f; /* 1BYTE 代替文字“?” */cvinf[0].amend2 = 0xa1a9; /* 2BYTE 代替文字“?” */cvinf[0].msgmax = 100; /* WARNING 最大件数 */cvinf[0].msgcont = MSGCONT_ON; /* 処理続行 */cvinf[0].msgfname = "C:¥¥tmp¥¥MDP01.msg"; /* MSG 出力ファイル */

cvinf[0].usrfname = "C:¥¥USRTBL.cnv"; /* 利用者定義テーブル */

/* レコード変換初期化関数呼出し */mdpinf[0] = MDP_init( &cvinf[0] );   :/**************************************** データ(SJIS)→CSV形式(EUC)の初期処理**************************************/

Page 169: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

strcpy(cvinf[1].icode, "sjis"); /* 入力コード : SJIS */strcpy(cvinf[1].ocode, "euc"); /* 出力コード : EUC */cvinf[1].itype = TYPE_D; /* 入力形式 :データ */cvinf[1].otype = TYPE_R; /* 出力形式 :CSV形式 */cvinf[1].orecdlm = DLM_LF; /* 出力区切文字(LF) */cvinf[1].okana = KANA_E; /* EUC CS2 */cvinf[1].irecfm = RECFM_F; /* 入力固定長レコード  */cvinf[1].amend1 = 0x2f; /* 1BYTE 代替文字“?” */cvinf[1].amend2 = 0xa1a9; /* 2BYTE 代替文字“?” */cvinf[1].delimita = ','; /* 区切り文字’,’ */cvinf[1].msgmax = 100; /* WARNING 最大件数 */cvinf[1].msgcont = MSGCONT_ON; /* 処理続行 */cvinf[1].msgfname = "C:¥¥tmp¥¥MDP02.msg"; /* MSG 出力ファイル */

/* レコード変換初期化関数呼出し */mdpinf[1] = MDP_init( &cvinf[1] );   : /************************************** * テキスト(JEF)→テキスト(EUC)の変換処理 **************************************/ rtncod = MDP_conv( mdpinf[0], indata, inlen, outdata, &outlen );   : /************************************** * データ(SJIS)→CSV形式(EUC)の変換処理***************************************/rtncod =MDP_conv( mdpinf[1], indata, inlen, outdata, &outlen );   : /************************************** * レコード変換後処理***************************************/MDP_fin( mdpinf[0] );MDP_fin( mdpinf[1] );   : return(0);

[コンパイル方法]

レコード変換機能は、ダイナミックリンクライブラリ(DLL)として提供されます。コンパイル時にF5AVPREC.libをリンクして下さい。

Page 170: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

[注 意]

- 本機能は、マルチスレッドアプリケーションには対応していません。- 本機能は、Charset Managerがインストールされている場合、コード変換規則はCharset Managerに従います。

Charset Managerが使用できない場合には、内部の変換テーブルを使用します。- 本ライブラリは、32ビット以外のアプリケーションとリンクして使用することはできません。

Page 171: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

データ定義文の入力形式

レコード変換機能でデータファイル変換を行う際必要となる、レコードフォーマットを定義するデータ定義文の入力形式について説明します。 データ定義文で指定するレコードフォーマットは、入力または出力となるデータファイル(およびCOBOLファイル)に対して定義します。例えば、入力CSV形式ファイルで、出力がデータファイルの場合は、出力するデータファイルのレイアウトに対して定義します。CSV形式ファイルの場合、項目ごとの領域長は可変のため、データ定義文で定義した項目長は意味を持ちません。 データ定義文はCOBOL言語のデータ記述項のイメージで記述します。

[テキスト構成]

データ定義文を記述するソースは、可変長のテキストファイルに定義し、1行の長さは251バイト以下です。図1にデータ定義文の正書法を示します。 データ定義文中のタブは、1つの空白としてみなされます。そのため、見かけ上のカラム位置と解析上のカラム位置とは異なります。 各々の領域の意味は以下のとおりです。

一連番号領域(1~6カラム)

行番号を記述します。ただし、コード変換/ レコード変換機能(ライブラリ)では意味を持たないため、空白でも構いません。 この領域に“######”の記述があると、その行はフォーマット指示制御文とみなします。フォーマット指示制御文については、“フォーマット指示制御文によるマルチフォーマット定義”を参照してください。

特殊指示(7カラム)

特殊指示のある文のデータフィールド定義について、特殊なフォーマット編集指示を行うことができます。表1に指定可能な特殊指示を示します。

表1 指定可能な特殊指示

指定文字意   味

ブランク 特殊な意味はもたない。* 注記行であることを示す。I 指定行のデータフィールド文は、出力側レコードに空白文字の項目を追加することを示す。D 指定行のデータフィールド文は、出力側レコードに出力しないことを示す。U

“U”指定行のデータフィールド文の領域長を、後続の特殊指示“L”で指定された領域長に変更して出力することを示す。LN 指定行のデータフィールド文は、一切のコード変換を行わないことを示す。S 出力側がCSV形式ファイルの場合、入力フィールドのデータが全て空白なら、1バイトの空白を出力することを示す。

データフィールド定義(8カラム以降)

データ定義文のフィールド定義を、COBOL文法のデータ記述項に従って記述します。後述のCOBOL文法規約に反する記述がされている場合の動作は、保障できません。

Page 172: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

図1 データ定義文の正書法

[記述形式]

レベル番号 {FILLER | データ名-1} [{PICTURE | PIC} 文字列]         [[USAGE IS] {BINARY | COMPUTATIONAL | COMP | COMPUTATIONAL-3 | COMP-3 | DISPLAY | PACKED-DECIMAL }]         [OCCURS 整数-1 TIMES].

備考

下線のある語は、必要語を示します。その機能を用いるときは必ず記述が必要です。下線のない語は補助語であり省略しても構いません。日本語の語は、利用者の与える語、定数等を示します。 {  }で囲まれている部分は、その括弧中の一つを明に指定しなければなりません。 [ ]で囲まれている部分は、省略することができます。 

[構文規則・一般規則] 

- コード変換/ レコード変換機能(ライブラリ)では、厳密な構文規則の検査を行っていないため、記述形式に反する記述をされた場合の動作は保証できない場合があります。

- 記述形式にないCOBOL言語のキーワードがあると、コード変換/ レコード変換機能(ライブラリ)では構文検査により異常終了します。

- 可変長レコードの場合のRDWは、このレコード定義上に含めてはいけません。- 可変長レコードを定義する場合は、最大レコード長分のデータフィールド定義を行う必要があります。- 先頭のデータフィールド定義文のレベル番号は、01で集団項目属性でなければなりません。その後に続く文は、それに従属さ

れるデータフィールド定義でなくてはなりません。01レベルのデータフィールド定義は先頭の一文でしか記述できません。- データフィールドに対する、データ項目名またはFILLER句は省略できません。- USAGE句で指定される数値項目の表現形式は、領域長の大きさとコード変換仕様に影響されます。- OCCURS句の整数-1に指定できる値は1~32767の範囲で、OCCURS句の入れ子は7階層まで記述できます。- 各種データフィールド文の指定における内部表現仕様等は、“データファイル変換での変換仕様”を参照してください。- PICTURE句で指定できる文字列の種類を表2に示します。英字、英数字編集、数字編集、日本語編集、ブールのデータ種類は指

定できません。なお、文字列“M”については規格外の拡張仕様です。- PICTURE句で英数字項目を指定した場合、PICTURE文字列“X”で表現されるけた数はバイト数と一致します。EUCコードでの

コードセット2の1バイト系JISカタカナは、MDPcvinf構造体の指定(ikanaまたはokana)により、内部表現をJIS8コード(1バイト/文字)またはEUCコード(2バイト/文字)として扱うことができます。Unicodeの場合、UCS2コード(2バイト/文字)、UTF8コード(1バイト/文字)として扱います。

- PICTURE句で日本語項目を指定した場合、内部表現は1文字あたり2バイトとなります。JEF,IBM,KEISコードでの日本語切替制御コード(シフトイン/シフトアウト)は、項目内に存在してはいけません。Unicodeの場合、UCS2コード(2バイト/文字)、UTF8コード(3バイト/文字)になります。

- PICTURE句で英数字日本語混在項目を指定した場合、PICTURE文字列“M”で表現されるけた数はバイト数と一致します。EBCDIC系コード(JEF、他社)およびJISコードでは、混在項目内に日本語切替制御コードが存在していないと、日本語文字として識別されません。また、EUCコードではコマンドオペランドの指定と関係なく、半角カナは2バイト/文字となります。

- EUCコードでのコードセット3の文字(JEF拡張、利用者定義文字)は、日本語項目ではcobolEUC(注)表現(2バイト/文字)となり、英数字日本語混在項目では3バイト/文字となります。

(注) cobolEUCは、COBOL独自の日本語内部表現形式16ビットワイドキャラクタを示します。

Page 173: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

表2 PICTURE句で指定可能な文字列

文字列 意  味 備  考

X 英数字項目 1バイト系コードのみの項目(半角カナ含む) 日本語文字は認識されない

N 日本語項目 日本語文字のみの項目(2バイト系コード)M 英数字日本語混在項目 1/2バイト系コードが混在している項目9 数字項目 数字編集項目は指定できないS 符号 数字項目にて符号の有無を指定V 小数点 数字項目にて小数点の位置を指定

[特殊指示における構文規則・一般規則]

7カラム目に指定できる特殊指示において、以下の規則に従っていなければなりません。また、データ定義文の記述例を図2に示します。 ●項目追加指示(Ⅰ)- 本指定がされている項目は、入力レコード上にはなく、出力レコードへの編集の際に新たに領域を追加することを示します。

追加領域には空白文字が埋められます。- 集団項目に対して、本指定はできません。- PICTURE文字列は“X”で定義されていなければなりません。- 出力がCSV形式ファイルの場合は、領域長を指定しても後続ブランクが削除されるため、ヌル文字列として出力されます。●項目削除指示(D)- 本指定がされている項目は、入力レコード上から出力レコードへの編集の際に、出力しないことを示します。- 集団項目に対して、本指定はできません。- 入力がCSV形式ファイルの場合は、入力項目が固定の領域長を持っていないため、データ定義文のけた数は意味を持ちません。

削除対象となる項目名全体が有効になります。●領域長変更指示(U,L)- “U”指定の行には変更されるデータフィールド定義を行い、直後の“L”指定の行にはデータフィールド定義欄に変更後の領域長の

みを指定します。- “U”指定の行には、集団項目は定義できません。- “U”指定の行のPICTURE文字列は、“X”,“M”または“N”で定義されていなければなりません。- “U”指定行の直後に、“L”指定行がなくてはなりません。- “L”指定の行には、変更後領域バイト長を0~32767の範囲で、外部10進数で記述します。- “U”指定を最終行に記述し、“L”指定を行っていない場合は“U”は無視されます。- 入力がCSV形式ファイルの場合は、“U”指定行の領域長は意味がなく、“L”指定行の領域長で出力されます。出力がCSV形式ファ

イルの場合は、“L”指定行の領域長は意味がなく、“U”指定行の領域の変換結果がCSV形式に編集されて出力されます。●無変換指示(N)- 本指定がされている領域は、一切の変換処理を行わずに、入力項目の領域をそのまま出力することを示します。ただし、出力

がCSV形式又はテキストファイルの場合は空白で出力されます。- 集団項目に対しての“N”指定は無視されます。- 入力がCSV形式ファイルの場合は、一切の変換処理を行わずに、入力項目の内容をそのまま出力しますが、出力長に満たない場

合には空白が埋められます。●ヌル抑制指示(S)- 本指定は、入力ファイル形式がデータファイル(-itype data)かつ出力ファイル形式がCSV形式ファイル(-otype rdb)の場合

に有効となります。それ以外では本指定があっても意味を持ちません。また、-informix指定の場合も意味を持ちません。- 本指定がされている入力領域が全て空白文字の場合、出力データは1バイトの空白を引用符(”)でくくって出力します。この

機能は、対象項目の出力をヌルとしたくない場合に有効です。- 集団項目および数値項目に対しての“S”指定は無視されます。

Page 174: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

  

図2 データ定義文の使用列

Page 175: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

フォーマット指示制御文によるマルチフォーマット定義

データファイル変換において、1ファイル上のレコードフォーマットが、レコードによって変わる(複数のレコードフォーマットが存在する)ものを、本書ではマルチフォーマットと呼びます。ここでは、フォーマット指示制御文を使用したマルチフォーマットの対応方法について説明します。 フォーマット指示制御文では、定義したレコードフォーマットが、どのような条件のレコードについて適用するかを指示します。なお、この機能を応用することにより、入力ファイルに対するレコード抽出も行うことができます。 フォーマット指示制御文は、データ定義文上に記述して定義します。フォーマット指示制御文は、1つのデータ定義文ファイル上のフォーマットの区切りとなります。 フォーマット指示制御文によるマルチフォーマット定義の例を、図2に示します。

[テキスト構成]

図1 フォーマット指示制御文の書式

制御文識別領域 データ定義文のデータフィールド定義行と区別するため、この領域には“######”を指定し、フォーマット指示制御文であることを定義します。

フォーマット指示文 フォーマット指示を記述します。

[記述形式]

{ SELECT フィールド位置, フィールド長, { EQ | NOT }, 最小比較値[,最大比較値] OTHER }

[構文規則・一般規則]

- フォーマット指示制御文で定義するフォーマットは、次のフォーマット指示制御文の出現、またはデータ定義文の末尾まで有効となります。

- フォーマット指示制御文を使用する場合、データ定義文の1行目は、フォーマット指示制御文である必要があります。また、フォーマット指示制御文の次の行は、01レベルのデータフィールド定義でなければなりません。

- SELECT文では、フォーマットを適用させるレコードの条件を定義します。OTHER文では、SELECT文に該当しないレコードに対してのフォーマットを定義します。

- 1つのデータ定義文に対して、SELECT文を複数定義することにより、フォーマットは最大99まで定義できます。OTHER文のフォーマット定義は複数定義できません。

- 複数のSELECT文がある場合、SELECT文の記述順でフォーマット判定が行われます。最初に条件に合致したSELECT文でフォーマットで処理され、それ以降のSELECT文条件判定は行われません。

- どのSELECT文にも合致しない場合、OTHER文のフォーマットで処理されます。OTHER文が定義されていないと、そのレコードは変換処理の対象とならず、出力もされません。(この機能により、レコード抽出が可能です)

- レコード長が固定長の場合、レコードフォーマットで定義されている全てのレコード長は、同じでなければなりません。- SELECT文では、レコード中の固定の領域について内容判定を行います。SELECT文で記述する内容は以下のとおりです。

フィールド位置 条件判定を行う領域の開始位置を、先頭を1としたレコード内相対バイト数で指定します。フィールド長 条件判定を行う領域の長さを、バイト数で指定します。EQまたはNOT EQでは、領域の内容が次の比較値に合致すれば真とします。NOTでは、比較値に合致しなければ真とします。

Page 176: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

最小比較値 領域の内容に対する最小比較値を指定します。指定方法は、文字列をニ重引用符(”)で囲む方法と、16進数による直定数指定があります。指定した内容は、フィールド長と合致しなければなりません。

最大比較値 領域の内容に対する最大比較値を指定します。指定方法は、最小比較値と同じです。最大比較値を省略した場合、最小比較値と同じ値で条件判定されます。

- フォーマット指示制御文では、レコード相対番号による条件指定はできません。(1件目と2件目以降でフォーマットが異なる場合、等)

図2 フォーマット指示制御文によるマルチフォーマット定義の例

Page 177: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

実行環境

コード変換/レコード変換機能(ライブラリ)を実行するにあたっての環境について、説明します。

参照される環境変数

コード変換/ レコード変換機能(ライブラリ)では表1に示す環境変数により、動作や変換仕様等を制御することができます。

表1 コード変換/ レコード変換機能(ライブラリ)で参照される環境変数

環境変数 省略時の値 意味

TMPDIR 環境変数TEMPまたはWindowsディレクトリ 作業用ディレクトリを設定します。

MDPORT_MFSZ(注) 1000メッセージ出力先ファイルの最大サイズをキロバイト単位で指定します。 (1~2000までの範囲で指定します。)

注)コード変換/レコード変換機能(ライブラリ)を使用する場合に指定します。

変換仕様に係わる環境変数

コード変換/ レコード変換機能(ライブラリ)の他社コード以外のコード変換で、Charset Managerが正常にインストールされている場合、本機能のコード変換規則はCharset Managerに従います。表2に示す環境変数を設定することにより、入出力で定義したコード体系が変換(iconv_open関数)のどのキーワードに該当させるかを指定します。 各キーワードの意味やコード変換の詳細は、Charset Managerのマニュアルを参照して下さい。

表2 Charset Managerに関連する環境変数

コード系 環境変数 設定できる値 (下線は省略時)

JEF MDPORT_ICONV_JEFJefkana Jefcorekana Jefaugkana

EUC MDPORT_ICONV_EUC U90 S90

シフトJIS MDPORT_ICONV_SJISsjis sjisdos sjisms

JIS MDPORT_ICONV_JISjiskana jiskana7 jiskana8

JISコードの場合の、JISローマ字とJISカタカナの切り替えの方法が、環境変数MDPORT_ICONV_JISの値により、以下のように変わります。jiskana JISローマ字とJISカタカナの切り替えをエスケープシーケンスで行います。jiskana8 1バイトコード(半角・英数カナ)を、8ビットコードで扱います。

Page 178: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

jiskana7 JISローマ字とJISカタカナの切り替えをSI/SOで行います。

Page 179: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

1バイト系コードの変換仕様

EBCDIC(カナ)コードとEUC/シフトJISコード間での変換では、一部の記号文字において代替文字への変換が発生します。表1に1バイト系コード変換による代替文字を示します。また、EUCからEBCDICの変換では、英小文字は英大文字に代替変換します(MDPcvinf構造体のisomodがEMUの場合)。 シフトJISコードとEUCコード間での変換では、規則的な変換を行うため、代替文字は発生しません。ただし、コード定義の違いにより“¥”は“\”となります。

表1 EBCDIC(カナ)-EUCコード変換による代替文字

EBCDIC(カナ) | (4F) £(4A) ! (5A) ¬(5F)

EUCEMU ](5D) [(5B) !(21) ^(5E)ISO !(21) [(5B) ](5D) ^(5E)

EUCコードのカナ文字は、MDPcvinf構造体のikana、okanaによりコードセット2またはJIS8コードとして扱われます。 文字として定義されていない1バイト系コードが変換時に発見された場合は、変換不能文字としMDPcvinf構造体のamend1に指定されたコードで出力されます。

レコード変換機能では、EBCDIC(カナ)コードのみを扱うため、シフトJISとJEF(または他社コード)間の変換では、以下の変換仕様となります。

EBCDIC(カナ)→ASCII 英大→英大、カナ→カナASCII→EBCDIC(カナ) 英大→英大、英小→英大、カナ→カナ

Page 180: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

2バイト系コードの変換仕様

コード変換/ レコード変換機能(ライブラリ)での各種2バイト系コード(日本語コード)の変換仕様を以下に示します。変換仕様で、規則的な変換とされているものは、JISコードに準拠されたコードの並びで対応させた変換のことを示します。

EUCコード

U90またはS90コードを前提としています。 U90コード独自の拡張文字やJEF拡張漢字の表示・印刷には、U90提供のフォントを使用する必要があります。そのため、一般的なPC上のtelnet等では、U90フォントは表示することができません。

JEFコード

コード変換/ レコード変換機能(ライブラリ)でのJEFコードは、84JEFを対象としています。 Charset Manager機能にもとづく字体重視変換/領域重視変換の切替えは、環境変数の指定により行うことができます。字体重視変換(環境変数省略時)では、EUCへ変換すると83JISコード体系と不規則な対応の文字(“塚”,“靴”,“槙”,等の旧字体)はコードセット3(3バイト/文字)へ変換されます。 JEF拡張漢字/JEF拡張非漢字の変換では、対応するEUCコードは1文字につき2バイトあるいは3バイト(コードセット3)になります。ただし、MDPcvinf構造体のcs3modeにNOCS3_EUCを指定した場合は、コードセット3の文字は変換不能になり、2バイト系代替文字コード(MDPcvinf構造体のamend2に指定されたコード)で出力されます。 一部のJEF拡張非漢字(ローマ数字,“(株)”,“(有)”,“Tel”,等のOASYS拡張文字)の変換では、U90コードのコードセット1(2バイト/文字)の94区に対応づけされます。

シフトJISコード

83年JIS準拠のシフトJISを対象にしています。

JISコード

90年版のJISコードを対象にしています。

IBM日本語コード

IBM日本語コードは、83JIS対応版を対象としています。変換対象文字はJIS規格の範囲です。 ただし、以下のJIS範囲外の文字については、EUCへ変換するとU90コードセット1の拡張文字との変換を行います。  |  ’  ”  (株)   No.   Tel  【ローマ数字】 i ~ x I~X

日立KEISコード

日立KEISコードでは、83JISに準拠した規則的な変換を行います。83JISコード体系の範囲外については変換できません。

日本電気JIPSコード

Page 181: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

JIPS(E),JIPS(J)コードでは、83JISに準拠した規則的な変換を行います。83JISコード体系の範囲外については変換できません。   各コード体系における日本語コードの検出は、以下のように行われます。

シフトコードによる検出(入力コードがJEF,他社コードの場合)

テキストモード変換およびデータファイル変換の混在項目では、日本語コードへの切替制御コード(シフトコード)が出現した場合に日本語コードであることを検出します。データファイル変換の日本語項目では、無条件に日本語コードとして扱われます。

コードの値による検出(入力コードがEUC、シフトJISコードの場合)

文字コードの先頭バイトにより1バイト系または2バイト系コードかの判断をし、日本語コードであることを検出します。 シフトJISコードの場合は、0x81~0x9F,0xE0~0xFCで始まるコードを日本語コードとし、EUCコードの場合は0xA1以上で始まるコードを日本語コードとします。また、EUCコードの場合、0x8Fで始まるコードはコードセット3の日本語コードとみなします。

Page 182: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

テキストモードの変換

テキストモードでの変換では、入出力のコード体系によって変換仕様が異なります。

EBCDIC系からASCII系への変換 ASCII系からASCII系への変換

入力レコードの後続ブランクは削られて出力されます。 図1にASCII系コードへのテキストモード変換(出力レコード区切文字に改行コードを指定)を示します。

ASCII系からEBCDIC系への変換

MDP_conv()関数の*oreclenに指定されたレコード長で出力されます。レコード長を超える部分は削られ、満たない部分には空白が埋められます。

図1 ASCII系コードへのテキストモード変換

Page 183: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

COBOLソース型の変換

COBOL仕様において固定ソース形式の73~80カラムがプログラム識別領域のため、EUCコードの可変ソース形式やSJISコードへ出力する際にプログラム識別領域を取り除きます。図1にCOBOLソース型の変換を示します。

図1 COBOLソース型の変換

Page 184: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

データファイル変換での変換仕様

データファイル変換を行う場合、データ定義文を元にコード変換を行います。各データ項目属性ごとの変換仕様について説明します。

Page 185: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

数値項目における変換仕様

EBCDICコード系とASCIIコード系との数値項目では、外部10進(USAGE DISPLAY指定)の数値データ属性において内部表現が異なります。表1に外部10進におけるEBCDIC/ASCIIコード系の相違を示します。

表1 外部10進におけるEBCDIC/ASCIIコード系の相違

外部10進での相違点内部表現(16進)

EBCDICコード ASCIIコードゾーンビット   (4ビッ

ト) F 3

正の符号ビット (4ビット) C 4負の符号ビット (4ビット) D 5

Page 186: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

英数字項目における変換仕様

データ定義文にてPICTURE句を“X”で定義した英数字項目では、内容が全て1バイト系文字(半角カナ含む)としてみなされ、1バイト系コード変換が行われます。 EBCDIC系またはシフトJISからEUCコードへ変換する場合、1バイト系JISカタカナが存在すると、1文字あたりのバイト長が異なるため、変換後データ長が変動し出力領域を溢れる場合があります。溢れを防ぐ方法としては、MDPcvinf構造体のokanaにKANA_Jを指定するか、データ定義文特殊指示“U”,“L”により出力領域長を増やす方法があります。 JISコードの場合、半角カタカナが存在すると切り替え制御コードがあるため、変換後データ長が変動し出力領域を溢れる場合があります。溢れを防ぐ方法としては、データ定義文特殊指示“U”,“L”により出力領域長を増やすか、環境変数MDPORT_ICONV_JISに"jiskana8"を指定する方法があります。

 

Page 187: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

日本語項目における変換仕様

データ定義文にてPICTURE句を“N”で"定義した日本語項目では、内容が全て日本語文字としてみなされ、2バイト系コード変換が行われます。 JISとJEFおよび他社コードでは、本領域中に日本語切替制御コードが存在してはいけません。EUCコードのコードセット3の文字は、cobolEUC(2バイト/文字)で表現されます。

Page 188: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

英数字日本語混在項目における変換仕様

データ定義文にてPICTURE句を“M”で定義した英数字日本語混在項目では、不定に英数字/日本語文字が混在しているとみなされ、各コード系の変換が行われます。 JIS/ASCIIとJEFおよび他社コードでは、日本語切替制御コードが存在しないと、日本語文字の開始/終了の認識ができません。 JIS/EBCDICの場合、混在項目は扱えません。英数字項目とみなし処理します。 EUCコードでは、コードセット3の文字は、3バイト/文字で表現され、1バイト系JISカタカナはMDPcvinf構造体のikana、okanaの指定に関係なく、2バイト/文字で表現されます。

Page 189: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

文字項目での領域長変動による文字の切捨て・埋め込み

データファイル変換で英数字項目、日本語項目、混在項目のコード変換を行うと、1項目の入力データ長と出力データ長が異なる場合があります。領域長が変動される要因は以下のとおりです。 - EBCDIC/JIS8コードのカナ(1バイト/文字)とEUCコードのカナ(2バイト/文字)間での変換- JIS/JEF/他社コードとEUC/シフトJISコードとの変換では、日本語切替制御コードの分、相違がある- JEFコードの拡張漢字/拡張非漢字(2バイト/文字)とEUCコードのコードセット3(3バイト/文字)間での

変換- JEFコードとUnicode間での変換- 利用者定義変換テーブルにて、相手側コード2バイトに対し、EUCコードのコードセット3(3バイト)の変

換を指定- 利用者定義変換テーブルにて、Unicode2バイトに対し、JEFコード(1バイト)の変換を指定- データ定義文特殊指示の領域長変更(7カラム目に“U”,“L”指示) また、入力ファイル形式がCSV形式の場合は、区切り文字で区切られた範囲の文字列を入力長とするため、入力項目の長さは可変となります。出力ファイル形式がCSV形式の場合は、出力領域長が可変となります。 これらの要素が発生し、変換後データ長と出力領域長が一致しない場合、領域長の調整を行います。変換後データフィールド長が出力フィールド領域に満たない場合は空白(日本語項目では2バイト系の空白文字、それ以外では1バイト系の空白文字)が埋め込まれ、超える場合は文字単位に切り捨てられて、警告エラーが出力されます。表1に領域長変動の例を示します。 表1 領域長変動の例 EBCDICカナ(1バイト/文字) “アイウエオ”  :  5バイト ⇒ EUCコードセット2カナ(2バイト/文字)

“アイウエオ”  :  10バイトEBCDIC + JEF混在(シフトコードあり) “AB#あいうえお#DE” : 16バイト (#は日本語切替制御コードを意味する)

⇒ EUC 1バイト/日本語混在 “ABあいうえおDE” : 14バイト

JEF 拡張漢字(2バイト/文字) “■■” : 4バイト ⇒ EUC コードセット3 JEF拡張(3バイト/文字)

“■■” : 6バイト

- Unicode変換での文字の切捨て・埋め込み

データ定義文においてX項目の領域長に奇数を指定した場合、UCS2(Big,Little)に変換すると1バイト分満たない、または溢れます。その1バイト分の領域には、それぞれ半角空白の1バイト目(Big:00 20、Little:20 00)を埋めます。 また、N項目をUTF8に変換すると、出力の領域長により1バイト分満たない、または溢れる場合があります。その1バイト分の領域には、全角空白の1バイト目(E3 80 80)を埋めます。また指定した領域長によっては2バイト満たない、または溢れます。その場合は全角空白の先頭2バイト(E3 80 80)を埋めます。

Page 190: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

CSV形式ファイルの変換

CSV形式ファイルでは、全てのデータ属性をキャラクタで表現します。CSV形式ファイルとデータファイルとの変換仕様について説明します。

Page 191: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

データファイルからCSV形式ファイルへの変換

データ定義文の各データ項目属性にしたがい、項目ごとに以下の変換が行われます。 文字属性 データ定義文の英数字・日本語・混在項目が対象となります。 コード変換後、項目単位で後続のブランクが削除され、-rdb2または-oracleオペランドや指定の場合、項目の前後に引用符(”)が付加されます。項目の内容が全て空白の場合はヌルデータとなり、-rdb2では引用符付加されず、-oracleでは引用符が二つ並ぶことになります。 出力としてヌルを抑制したい場合には、データ定義文特殊指示のヌル抑制(7カラム目に“S”指示)を行うことにより、入力内容が全て空白の場合、1文字の空白を出力することができます。 例: -rdb2,-oracleオペランド指定

数値属性

数値属性からキャラクタへの変換後、整数部十の位以上の先行ゼロおよび小数部の後続ゼロは削除されます。小数部のあるデータは小数点が付加されます。符号つきの項目は、“+”または“-”の符号文字を、データの先頭に付加します。 例: 編集された個々のデータ項目間には、MDPcvinf構造体宣言のdelimitaで指定された区切り文字が挿入され、レコードの末尾には改行コードが付加されて出力されます。図1に例を示します。 なお、EUC形式のCSV形式ファイルへ変換した結果、RDBで対応していないコードセット3の文字や、ローダ制御記号が、出力データ上に出現する場合がありますので、RDBへのロード時には注意が必要です。

Page 192: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

図1 CSV形式ファイルへの変換例

Page 193: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

CSV形式ファイルからデータファイルへの変換

1行を1レコードとみなし、MDPcvinf構造体宣言のdelimitaで指定された区切り文字が項目間の区切りとして分離します。データ定義文の各データ項目属性にしたがい、項目ごとに以下の変換が行われます。

文字属性

CSV形式からデータファイル変換の場合は、コード変換後データ長が出力領域長に満たないと項目属性にあわせた空白文字が充填され、超える場合は文字単位で切り捨てられて警告エラーが出力されます。 -rdb2または-oracle指定で、項目の先頭に引用符(”)がある場合、文字列のくくり記号とみなされ、次の引用符の出現までを1つの文字項目として扱います。

数値属性

CSV形式からデータファイル変換の場合は、キャラクタから数値属性への変換を行いますが、入力項目がヌル文字列の場合はゼロとして扱われ、符号つきの項目で入力文字列の前後に“+”または“-”の符号文字が付加されていない場合は正数として扱います。また、変換処理は小数点を基準に行われますが、整数部または小数部のけた溢れが発生する場合は、溢れ分を削除し警告エラーを出力します。 データ定義文の項目数に対し、入力データの項目数が多い場合、はみ出し分は削除され警告エラーが出力されます。入力データの項目数がデータ定義文の項目数に満たない場合、不足分の項目は各データ属性にしたがい、空白文字または値ゼロが充填されます。

Page 194: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

データファイルからテキスト型への変換

データファイルからテキスト型への変換仕様は、基本的にはデータファイルからCSV形式への変換仕様と同じです。以下の点で異なります。 - 文字・数値属性ともにキャラクタへの変換後、後続ブランク・先行ゼロ削除の処理は行われません。- 出力側テキストファイルの項目開始位置は、各項目で固定です。よって、フォーマットが固定になり、C言語

等のアプリケーションで扱いやすくなります。 各項目の出力領域長は、データ定義文のPICTURE句で指定したけた数で、以下のように決定され、原則として各フィールドの開始カラムは全レコード共通となります。

英数字項目・混在項目

PICTURE句“X”または“M”のけた数が、そのまま出力領域のバイト長となります。

日本語項目

PICTURE句“N”のけた数を2倍したものが、出力領域のバイト数となります。

数値項目

USAGE句の属性に関係なく、PICTURE句“9”のけた数が、出力領域のバイト長となります。小数点(“V”)または符号(“S”)の指定があれば、出力領域はさらにそれぞれ1バイト加算されます。

特殊指示“U”,“L”指定の場合

項目属性に関係なく、データ定義文で特殊指示“U”,“L”指定の項目では、“L”指定の出力領域長となります。

Page 195: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

使用例 -コマンド機能[ mdportc ]

ここでは、適用パターンをあげてMDPORT コマンド機能の使用例を説明します。MDPORTは一切の通信機能を持っていないため、汎用機やUNIX機上の入力ファイルについて、利用者がファイル転送等を利用してWindows上に持ち込んできたと仮定して説明しています。

- 汎用機上の一般ソースからのテキスト変換 - データファイルからWindows上のCOBOLファイルへ変換 - データファイルからSymfowareローダ型ファイルへの変換(Unicode形式) - Windows上のCOBOL順ファイルからXMLデータへの変換 - Windows上のRDBローダ型ファイルからデータファイルへの変換 - IBM漢字コードを使用する汎用機上のデータファイルからRDBローダ型ファイルへの変換

Page 196: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

汎用機上の一般ソースからのテキスト変換

【要件】

EBCDICおよびJEFコードで記述されている固定長80バイトの一般ソースを、Windows上のテキストファイルへ変換する。

【フロー図】

【コマンド呼び出し形式】

mdportc -fn SRC -it text -ic jef -il 80 -or v -od crlf

【コマンド形式 -補足】

省略しない呼び出し形式

mdportc -fn SRC -it text -ot text -ic jef -oc sjis -ir f -il 80 -or v -od crlf

-使用する各ファイルの名前を任意に指定したい場合は、-fnの代わりに-i, -oオペランドを使用してください。

Page 197: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

データファイルからWindows上のCOBOLファイルへ変換

【要件】

EBCDICおよびJEFコードで構成される順編成ファイルを、そのままWindows上COBOLレコード順ファイルへ変換する。

【フロー図】

【コマンド呼び出し形式】

mdportc -fn AMASTER -it data -ot cblfile -ic jef -il -ol

【コマンド形式 -補足】

省略しない呼び出し形式

mdportc -fn AMASTER -it data -ot cblfile -ob seq -ic jef -oc sjis -ir f -or f -il 69 -ol 69

-使用する各ファイルの名前を任意に指定したい場合は、-fnの代わりに-i, -o, -lオペランドを使用してください。 -順ファイル以外のCOBOLファイルへ出力する場合は、-obオペランドにより指定してください。 -入力データが富士通機以外の汎用機では、-icに入力データのコード体系を指定してください。

【レイアウト定義例】

COBOL登録集雛型

Page 198: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

01 AMASTER-REC. 03 FILLER PIC X(20). 03 FILLER PIC 9(05). 03 FILLER PIC S9(07) PACKED-DECIMAL. 03 AAA-G OCCURS 3. 05 FILLER PIC X(08). 05 FILLER PIC S9(04) BINARY. 03 FILLER PIC X(10).

 

Page 199: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

データファイルからSymfowareローダ型ファイルへの変換(Unicode形式)

【要件】

EBCDICおよびJEFコードで構成される固定長の順編成ファイルを、Windows上のSymfoware向けのローダ型ファイル(UCS2形式)へ変換する。

【フロー図】

【コマンド呼び出し形式】

mdportc -fn AMASTER -it data -ot csv -ic jef -oc unicode -ns -or v -il -od crlf

【コマンド形式 -補足】

省略しない呼び出し形式

mdportc -fn AMASTER -it data -ot csv -p rdb2 -ic jef -oc unicode -u ucs2,little -ns -ir f -or v -il 69 -od crlf

-使用する各ファイルの名前を任意に指定したい場合は、-fnの代わりに-i, -o, -lオペランドを使用してください。 -UCS2(リトルエンディアン)以外のコードで出力する場合は、-uオペランドにより指定してください。 -Symfoware型ローダ形式以外のCSV形式で出力する場合は、-pオペランド、または、-s, -qオペランドで引用符、区切文字を指定してください。

【レイアウト定義例】

COBOL登録集雛型

Page 200: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

01 AMASTER-REC. 03 FILLER PIC X(20). 03 FILLER PIC 9(05). 03 FILLER PIC S9(07) PACKED-DECIMAL. 03 AAA-G OCCURS 3. 05 FILLER PIC X(08). 05 FILLER PIC S9(04) BINARY. 03 FILLER PIC X(10).

Page 201: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

Windows上のCOBOL順ファイルからXMLデータへの変換

【要件】

Windows上のCOBOL順編成ファイルから、UTF8形式のXMLデータへ変換する。 ※1ファイル/レコード 単位にXMLファイルを出力します。

【フロー図】

【コマンド呼び出し形式】

mdportc -i AMASTER -o *.xml -l AMASTER.lay -it data -ot xml -ic sjis -oc unicode -u utf8 -ns -or v -il -od crlf -dv -xt

【コマンド形式 -補足】

省略しない呼び出し形式

mdportc -i AMASTER -o *.xml -l AMASTER.lay -it data -ot xml -ic sjis -oc unicode -u utf8 -ns -ir f -or v -il 69 -od crlf -dv -xt

-入力ファイルを複数ファイルに分割して出力する場合は、-dvオペランドを指定して、-oオペランドにワイルドカード指定[*.xmlのように]を行ってください。 -UTF8以外のコードで出力する場合は、-oc -uオペランドを指定してください。XML出力はsjis, euc, jis, utf8をサポートしています。 -ユーザ作成によるXMLテンプレートを先頭に付加したい場合は、-xtオペランドにファイルを指定してください。指定しない場合はMDPORT標準のテンプレートを付加します。

Page 202: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

【レイアウト定義例】

COBOL登録集雛型

01 AMASTER-REC. 03 FILLER PIC X(20). 03 FILLER PIC 9(05). 03 FILLER PIC S9(07) PACKED-DECIMAL. 03 AAA-G OCCURS 3. 05 FILLER PIC X(08). 05 FILLER PIC S9(04) BINARY. 03 FILLER PIC X(10).

Page 203: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

Windows上のRDBローダ型ファイルからデータファイルへの変換

【要件】

Windows上のRDBローダ型ファイル(SJIS)から、EBCDICおよびJEFコードで構成される固定長のデータファイルへ変換する。

【フロー図】

【コマンド呼び出し形式】

mdportc -fn AMASTER -it csv -ot data -oc jef -ir v -id crlf -ol

【コマンド形式 -補足】

省略しない呼び出し形式

mdportc -fn AMASTER -it csv -ot data -p rdb2 -ic sjis -oc jef -ir v -or f -id crlf -ol 69

-使用する各ファイルの名前を任意に指定したい場合は、-fnの代わりに-i, -o, -lオペランドを使用してください。 -Symfoware型ローダ形式以外のCSV形式で入力にする場合は、-pオペランド、または、-s, -qオペランドで引用符、区切文字を指定してください。

【レイアウト定義例】

Page 204: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

COBOL登録集雛型

01 AMASTER-REC. 03 FILLER PIC X(20). 03 FILLER PIC 9(05). 03 FILLER PIC S9(07) PACKED-DECIMAL. 03 AAA-G OCCURS 3. 05 FILLER PIC X(08). 05 FILLER PIC S9(04) BINARY. 03 FILLER PIC X(10).

Page 205: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

IBM漢字コードを使用する汎用機上のデータファイルからRDBローダ型ファイルへの変換

【要件】

他社汎用機上のデータファイルから Microsoft(R) Excel が標準サポートするCSV形式へ変換します。 変換結果をイベントログに出力します。

【フロー図】

【コマンド呼び出し形式】

mdportc -fn IMASTER -it data -ot csv -p excel -ic IBM -or v -il -od crlf -ev

【コマンド形式 -補足】

省略しない呼び出し形式

mdportc -fn IMASTER -it data -ot csv -p excel -ic IBM -oc sjis -ir f -or v -il 69 -od crlf -ev

-使用する各ファイルの名前を任意に指定したい場合は、-fnの代わりに-i, -o, -lオペランドを使用してください。 --iオペランドでファイル名を指定しない場合は標準入力となり、-oオペランドでファイル名を指定しない場合は標準出力となります。 -IBM以外の他社コードを入力とする場合は、KEIS[EBCDICおよび日立KEISコード]、JIPE[EBCDICおよび日本電気JIPS(E)コード]、 JIPJ[EBCDICおよび日本電気JIPS(J)コード] または、AVX[EBCDICおよび日本電気AVX日本語コード]のいずれかの指定が可能です。 --evオペランド指定がない場合は、イベントログへ出力しません。 -lgオペランドでログファイル名を指定してください。

【レイアウト定義例】

COBOL登録集雛型

Page 206: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

01 AMASTER-REC. 03 FILLER PIC X(20). 03 FILLER PIC 9(05). 03 FILLER PIC S9(07) PACKED-DECIMAL. 03 AAA-G OCCURS 3. 05 FILLER PIC X(08). 05 FILLER PIC S9(04) BINARY. 03 FILLER PIC X(10).

【イベントログ出力例】

Page 207: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

付録 コード変換/レコード変換機能

ここでは、コード変換/レコード変換機能に関する関数、及び、エラーメッセージの説明をします。

関数形式コード/レコード変換機能で利用可能な関数の形式について説明します。 - コード変換機能 - レコード変換機能

出力メッセージ形式コード/レコード変換機能が出力するメッセージについて説明します。 - メッセージ形式 - 警告メッセージ

【コード変換/レコード変換機能の関数形式】

[名 前]

関数名とその機能の概要を以下の形式で示します。 関数名 - 機能の概要

[形 式]

C言語での記述形式を示します。通常の字体は、示されているとおりに記述することを示しています。斜体の字体の引数は、置き換えて記述することを示しています。

[機能説明]

関数の機能などについて説明します。

[復帰値]

関数の復帰値について説明します。

[変換仕様]

コード変換時の仕様について説明します。

[注 意]

関数を使用するにあたっての注意事項を記述します。

【コード変換/レコード変換機能の出力メッセージ形式】

コード/レコード変換機能は msgfilenameで指定した出力先に警告メッセージを出力します。

Page 208: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

コード変換機能

コード変換機能は、各種コード変換を行う関数群を提供します。 コード変換機能の各関数仕様について説明します。 MDCOINIT 使用するコード変換関数を宣言し、コード変換の初期処理を行います。MDCOFREE コード変換の終了処理を行います。MDCOSTAT 詳細エラー情報を取得します。MDCOEBEU EBCDICコードからEUC(半角・英数カナ)コードに変換します。MDCOEBJ7 EBCDICコードからJIS7コードに変換します。MDCOEBJ8 EBCDICコードからJIS8コードに変換します。MDCOEUEB EUC(半角・英数カナ)からEBCDICコードに変換します。MDCOEUJ7 EUC(半角・英数カナ)コードからJIS7コードに変換します。MDCOEUJ8 EUC(半角・英数カナ)コードからJIS8コードに変換します。MDCOEUJE EUCコードからJEFコードに変換します。MDCOEUJI EUCコードからJISコードに変換します。MDCOEUSJ EUCコードからシフトJISコードに変換します。MDCOJ7EB JIS7コードからEBCDICコードに変換します。MDCOJ7EU JIS7コードからEUC(半角・英数カナ)コードに変換します。MDCOJ7J8 JIS7コードからJIS8コードに変換します。MDCOJ8EB JIS8コードからEBCDICコードに変換します。MDCOJ8EU JIS8コードからEUCコードに変換します。MDCOJ8J7 JIS8コードからJIS7コードに変換します。MDCOJEEU JEFコードからEUCコードに変換します。MDCOJEJI JEFコードからJISコードに変換します。MDCOJESJ JEFコードからシフトJISコードに変換します。MDCOJIEU JISコードからEUCコードに変換します。MDCOJIJE JISコードからJEFコードに変換します。MDCOJISJ JISコードからシフトJISコードに変換します。MDCOSJEU シフトJISコードからEUCコードに変換します。MDCOSJJE シフトJISコードからJEFコードに変換します。MDCOSJJI シフトJISコードからJISコードに変換します。

Page 209: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

MDCOINIT()

[名 前]

MDCOINIT - 使用するコード変換関数を宣言し、コード変換の初期処理を行います。

[形 式]

#include “MDPcomm.h” int MDCOINIT(int funcnm);

[機能説明]

funcnmには、アプリケーション内で使用するコード変換関数を以下の中から指定し、メモリの確保、コード変換ケーブルの展開等の初期処理を行います。

FUNC_MDCOEBEU 関数MDCOEBEU()を表します。FUNC_MDCOEBJ7 関数MDCOEBJ7()を表します。FUNC_MDCOEBJ8 関数MDCOEBJ8()を表します。FUNC_MDCOEUEB 関数MDCOEUEB()を表します。FUNC_MDCOEUJ7 関数MDCOEUJ7()を表します。FUNC_MDCOEUJ8 関数MDCOEUJ8()を表します。FUNC_MDCOEUJE 関数MDCOEUJE()を表します。FUNC_MDCOEUJI 関数MDCOEUJI()を表します。FUNC_MDCOEUSJ 関数MDCOEUSJ()を表します。FUNC_MDCOJ7EB 関数MDCOJ7EB()を表します。FUNC_MDCOJ7EU 関数MDCOJ7EU()を表します。FUNC_MDCOJ7J8 関数MDCOJ7J8()を表します。FUNC_MDCOJ8EB 関数MDCOJ8EB()を表します。FUNC_MDCOJ8EU 関数MDCOJ8EU()を表します。FUNC_MDCOJ8J7 関数MDCOJ8J7()を表します。FUNC_MDCOJEEU 関数MDCOJEEU()を表します。FUNC_MDCOJEJI 関数MDCOJEJI()を表します。FUNC_MDCOJESJ 関数MDCOJESJ()を表します。FUNC_MDCOJIEU 関数MDCOJIEU()を表します。FUNC_MDCOJIJE 関数MDCOJIJE()を表します。FUNC_MDCOJISJ 関数MDCOJISJ()を表します。FUNC_MDCOSJEU 間数MDCOSJEU()を表します。FUNC_MDCOSJJE 関数MDCOSJJE()を表します。FUNC_MDCOSJJI 関数MDCOSJJI()を表します。

Page 210: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

本関数1回の呼び出しで、複数の関数名を同時に指定することはできません。1つのアプリケーションで異なる複数のコード変換関数を使用する場合は、使用するコード変換関数の分だけ本関数を事前に呼び出す必要があります。

[復帰値]

正常終了時(条件付き正常終了含む)は0を、異常終了時は-1を返します。

Page 211: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

MDCOFREE()

[名 前]

MDCOFREE - コード変換の終了処理を行います。

[形 式]

#include “MDPcomm.h” int MDCOFREE();

[機能説明]

本関数は、MDCOINIT()関数で展開された文字コードテーブル変換テーブル等の動的に確保した領域の解放等のコード変換の終了処理を行います。引数はありません。

[復帰値]

正常終了時(条件付き正常終了含む)は0を、異常終了時は-1を返します。

[注 意]

本関数を呼び出すと、MDCOINIT()により確保された資源は全て解放されます。本関数の呼び出し後は、再度MDCOINIT()を呼び出し初期化処理を行わないと、コード変換処理を行えません。

Page 212: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

MDCOSTAT()

[名 前]

MDCOSTAT - 詳細エラー情報を取得します。

[形 式]

#include “MDPcomm.h” void MDCOSTAT(struct mdco_stat *stat);

[機能説明]

本関数は、各コード変換関数で発生したエラーの詳細情報を取得します。mdco_stat構造体宣言とその内容は以下の通りです。

struct mdco_stat {int st_etyp; /* エラー種別 */int st_eno; /* エラー番号 */

int st_wnum; /* ワーニング発生数 */

int *st_wpos; /* ワーニング発生位置 */

int *st_wtyp; /* ワーニング発生種別 */

} ;

st_etypには、各コードへ変換関数で発生したエラーの種別が返されます。エラーの種別は以下のとおりです。

0 エラーはありません。MDCO_WAR 文字の変換エラーが発生しました。MDCO_ERR 上記以外のエラー(システムエラー等)が発生しました。

st_enoは、st_etypの値が、MDCO_ERRの場合に以下の値が設定されます。MDCO_ERR以外の場合は無効となります。

MDCO_ENV 実行環境でエラーが発生しました。MDCO_PAR パラメタに誤りがあります。その他 上記以外の場合、システムのerrnoが設定されます。

st_wnumは、st_etypの値がMDCO_WARの場合に、ワーニングの発生件数を返します。MDCO_WAR以外の場合は無効となります。なお、設定される最大件数は9999件までです。 st_wposは、st_etypの値がMDCO_WARの場合に、発生した変換エラーの先頭からの位置(バイト単位)がst_wnumで示される数の配列として格納され、そのポインタが返されます。 st_wtypは、st_etypの値がMDCO_WARの場合に、発生した変換エラー種別がst_wnumで示される数の配列として格納され、そのポインタが返されます。 エラー種別は以下のとおりです。

Page 213: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

MDCO_WCH1 未定義文字(1バイト系)です。MDCO_WCH2 未定義文字(2バイト系)です。MDCO_WNUM 数値エラーです。MDCO_WOVR 領域長オーバー(変換後文字列長>出力文字列長)です。 

[復帰値]

復帰値はありません。

[注 意]

本関数によって返されるエラー詳細情報は、直前に呼び出されたコード変換関数についての情報のみです。対象とするコード変換関数から復帰後、本関数を呼び出す前に、ほかのシステムコールや関数を呼び出すとエラー詳細情報は無効になります。

Page 214: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

MDCOEBEU()

[名 前]

MDCOEBEU - EBCDICコードからEUC(半角・英数カナ)コードに変換します。

[形 式]

#include “MDPcomm.h” int MDCOEBEU(struct MDCOPARA *codpara, char *indata, char *outdata);

[機能説明]

本関数は、indataで指定された入力データをEBCDICコードからEUCコードに変換し、outdataに設定します。MDCOPARA構造体宣言とその設定内容は以下の通りです。

struct MDCOPARA {int rtncod; /* 復帰値 */int rlen; /* 変換結果長 */char filler1[32]; /* 空き領域 */short int inlen; /* 入力データ長 */short int outlen; /* 出力データ長 */char alt1[1]; /* 1バイト系代替文字 */char alt2[2]; /* 2バイト系代替文字 */char filler2[1]; /* 空き領域 */int opt; /* 変換オプション */

} ;

rtncodには本関数の復帰詳細コードが返されます。設定される内容は以下のとおりです。

0x00 正常(コード変換成功)0x08 条件付正常(出力データ長>変換後データ長)0x09 条件付正常(入力データに変換対象外の値があります)0x10 異常(入力データ長<1)0x11 異常(出力データ長<変換後データ長)0x12 異常(入力データ長>最大入力データ長または出力データ長>最大出力データ長)0x18 異常(その他の異常:システムエラー等)

rlenには、変換後のデータ長が返されます。 inlenは、入力データ長を設定します。 outlenは、出力データ長を設定します。 alt1は、入力データに変換不能な文字が含まれる場合に、代替する1バイト系の文字を変換先のコード体系で指定します。 alt2は、本関数では使用しません。 optは、本関数では使用しません。

Page 215: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

[復帰値]

正常終了時(条件付き正常終了含む)は0を、異常終了時は-1を返します。

[変換仕様]

入力データの文字コードはEBCDIC(カナ)コード、出力データの文字コードはEUCコード(ASCIIコード+JISカタカナ(CS2))として変換を行います。それ以外の文字コードは変換エラーとします。

Page 216: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

MDCOEBJ7()

[名 前]

MDCOEBJ7 - EBCDICコードからJIS7コードに変換します。

[形 式]

#include “MDPcomm.h” int MDCOEBJ7(struct MDCOPARA *codpara, char *indata, char *outdata);

[機能説明]

本関数は、indataで指定された入力データをEBCDICコードからJIS7コードに変換し、outdataに設定します。MDCOPARA構造体宣言とその設定内容は以下の通りです。

struct MDCOPARA {int rtncod; /* 復帰値 */int rlen; /* 変換結果長 */char filler1[32]; /* 空き領域 */short int inlen; /* 入力データ長 */short int outlen; /* 出力データ長 */char alt1[1]; /* 1バイト系代替文字 */char alt2[2]; /* 2バイト系代替文字 */char filler2[1]; /* 空き領域 */int opt; /* 変換オプション */

} ;

rtncodには本関数の復帰詳細コードが返されます。設定される内容は以下のとおりです。

0x00 正常(コード変換成功)0x08 条件付正常(出力データ長>変換後データ長)0x09 条件付正常(入力データに変換対象外の値があります)0x10 異常(入力データ長<1)0x11 異常(出力データ長<変換後データ長)0x12 異常(入力データ長>最大入力データ長または出力データ長>最大出力データ長)0x18 異常(その他の異常:システムエラー等)

rlenには、変換後のデータ長が返されます。 inlenは、入力データ長を設定します。 outlenは、出力データ長を設定します。 alt1は、入力データに変換不能な文字が含まれる場合に、代替する1バイト系の文字を変換先のコード体系で指定します。 alt2は、本関数では使用しません。 optは、以下の値を設定することにより、出力データにパリティビットを付加することができます。

Page 217: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

MDCOOPT_PN JIS7コードへ通常の変換を行います。パリティビットは付加しません。MDCOOPT_PE JIS7コードへ変換し、上位1ビットを偶数パリティビットとします。MDCOOPT_PO JIS7コードへ変換し、上位1ビットを奇数パリティビットとします。その他 MDCOPT_PNと同意です。

[復帰値]

正常終了時(条件付き正常終了含む)は0を、異常終了時は-1を返します。

[変換仕様]

入力データの文字コードはEBCDIC(カナ)コード、出力データの文字コードはJIS7コードとして変換を行います。それ以外の文字コードは変換エラーとします。本関数では、JIS7コードはASCII SO(シフトアウト)とSI(シフトイン)を使用し、下位7ビットのみでJISローマ字、JISカタカナを表します。なお、パリティビットを付加する場合は、JIS7コードで使用されない上位1ビットを使用します。

Page 218: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

MDCOEBJ8()

[名 前]

MDCOEBJ8 - EBCDICコードからJIS8コードに変換します。

[形 式]

#include “MDPcomm.h” int MDCOEBJ8(struct MDCOPARA *codpara, char *indata, char *outdata);

[機能説明]

本関数は、indataで指定された入力データをEBCDICコードからJIS8コードに変換し、outdataに設定します。MDCOPARA構造体宣言とその設定内容は以下の通りです。

struct MDCOPARA {int rtncod; /* 復帰値 */int rlen; /* 変換結果長 */char filler1[32]; /* 空き領域 */short int inlen; /* 入力データ長 */short int outlen; /* 出力データ長 */char alt1[1]; /* 1バイト系代替文字 */char alt2[2]; /* 2バイト系代替文字 */char filler2[1]; /* 空き領域 */int opt; /* 変換オプション */

} ;

rtncodには本関数の復帰詳細コードが返されます。設定される内容は以下のとおりです。

0x00 正常(コード変換成功)0x08 条件付正常(出力データ長>変換後データ長)0x09 条件付正常(入力データに変換対象外の値があります)0x10 異常(入力データ長<1)0x11 異常(出力データ長<変換後データ長)0x12 異常(入力データ長>最大入力データ長または出力データ長>最大出力データ長)0x18 異常(その他の異常:システムエラー等)

rlenには、変換後のデータ長が返されます。 inlenは、入力データ長を設定します。 outlenは、出力データ長を設定します。 alt1は、入力データに変換不能な文字が含まれる場合に、代替する1バイト系の文字を変換先のコード体系で指定します。 alt2は、本関数では使用しません。 optは、本関数では使用しません。

Page 219: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

[復帰値]

正常終了時(条件付き正常終了含む)は0を、異常終了時は-1を返します。

[変換仕様]

入力データの文字コードはEBCDIC(カナ)コード、出力データの文字コードはJIS8コードとして変換を行います。それ以外の文字コードは変換エラーとします。

Page 220: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

MDCOEUEB()

[名 前]

MDCOEUEB - EUC(半角・英数カナ)からEBCDICコードに変換します。

[形 式]

#include “MDPcomm.h” int MDCOEUEB(struct MDCOPARA *codpara, char *indata, char *outdata);

[機能説明]

本関数は、indataで指定された入力データをEUC(半角・英数カナ)コードからEBCDICコードに変換し、outdataに設定します。MDCOPARA構造体宣言とその設定内容は以下の通りです。

struct MDCOPARA {int rtncod; /* 復帰値 */int rlen; /* 変換結果長 */char filler1[32]; /* 空き領域 */short int inlen; /* 入力データ長 */short int outlen; /* 出力データ長 */char alt1[1]; /* 1バイト系代替文字 */char alt2[2]; /* 2バイト系代替文字 */char filler2[1]; /* 空き領域 */int opt; /* 変換オプション */

} ;

rtncodには本関数の復帰詳細コードが返されます。設定される内容は以下のとおりです。

0x00 正常(コード変換成功)0x08 条件付正常(出力データ長>変換後データ長)0x09 条件付正常(入力データに変換対象外の値があります)0x10 異常(入力データ長<1)0x11 異常(出力データ長<変換後データ長)0x12 異常(入力データ長>最大入力データ長または出力データ長>最大出力データ長)0x18 異常(その他の異常:システムエラー等)

rlenには、変換後のデータ長が返されます。 inlenは、入力データ長を設定します。 outlenは、出力データ長を設定します。 alt1は、入力データに変換不能な文字が含まれる場合に、代替する1バイト系の文字を変換先のコード体系で指定します。 alt2は、本関数では使用しません。 optは、本関数では使用しません。

Page 221: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

[復帰値]

正常終了時(条件付き正常終了含む)は0を、異常終了時は-1を返します。

[変換仕様]

入力データの文字コードはEUC(ASCIIコード+JISカタカナ(CS2))、出力データの文字コードは、EBCDIC(カナ)コードとして変換を行います。それ以外の文字コードは変換エラーとします。

Page 222: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

MDCOEUJ7()

[名 前]

MDCOEUJ7 - EUC(半角・英数カナ)コードからJIS7コードに変換します。

[形 式]

#include “MDPcomm.h” int MDCOEUJ7(struct MDCOPARA *codpara, char *indata, char *outdata);

[機能説明]

本関数は、indataで指定された入力データをEUC(半角・英数カナ)コードからJIS7コードに変換し、outdataに設定します。MDCOPARA構造体宣言とその設定内容は以下の通りです。

struct MDCOPARA {int rtncod; /* 復帰値 */int rlen; /* 変換結果長 */char filler1[32]; /* 空き領域 */short int inlen; /* 入力データ長 */short int outlen; /* 出力データ長 */char alt1[1]; /* 1バイト系代替文字 */char alt2[2]; /* 2バイト系代替文字 */char filler2[1]; /* 空き領域 */int opt; /* 変換オプション */

} ;

rtncodには本関数の復帰詳細コードが返されます。設定される内容は以下のとおりです。

0x00 正常(コード変換成功)0x08 条件付正常(出力データ長>変換後データ長)0x09 条件付正常(入力データに変換対象外の値があります)0x10 異常(入力データ長<1)0x11 異常(出力データ長<変換後データ長)0x12 異常(入力データ長>最大入力データ長または出力データ長>最大出力データ長)0x18 異常(その他の異常:システムエラー等)

rlenには、変換後のデータ長が返されます。 inlenは、入力データ長を設定します。 outlenは、出力データ長を設定します。 alt1は、入力データに変換不能な文字が含まれる場合に、代替する1バイト系の文字を変換先のコード体系で指定します。 alt2は、本関数では使用しません。 optは、以下の値を設定することにより、出力データにパリティビットを付加することができます。

Page 223: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

MDCOOPT_PN JIS7コードへ通常の変換を行います。パリティビットは付加しません。MDCOOPT_PE JIS7コードへ変換し、上位1ビットを偶数パリティビットとします。MDCOOPT_PO JIS7コードへ変換し、上位1ビットを奇数パリティビットとします。その他 MDCOOPT_PNと同意です。

[復帰値]

正常終了時(条件付き正常終了含む)は0を、異常終了時は-1を返します。

[変換仕様]

入力データの文字コードはEUC(ASCIIコード+JISカタカナ(CS2))コード、出力データの文字コードは、JIS7コードとして変換を行います。それ以外の文字コードは変換エラーとします。本関数では、JIS7コードはASCII SO(シフトアウト)とSI(シフトイン)を使用し、下位7ビットのみでJISローマ字、JISカタカナを表します。なお、パリティビットを付加する場合は、JIS7コードで使用されない上位1ビットを使用します。

Page 224: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

MDCOEUJ8()

[名 前]

MDCOEUJ8 - EUC(半角・英数カナ)コードからJIS8コードに変換します。

[形 式]

#include “MDPcomm.h” int MDCOEUJ8(struct MDCOPARA *codpara, char *indata, char *outdata);

[機能説明]

本関数は、indataで指定された入力データをEUC(半角・英数カナ)コードからJIS8コードに変換し、outdataに設定します。MDCOPARA構造体宣言とその設定内容は以下の通りです。

struct MDCOPARA {int rtncod; /* 復帰値 */int rlen; /* 変換結果長 */char filler1[32]; /* 空き領域 */short int inlen; /* 入力データ長 */short int outlen; /* 出力データ長 */char alt1[1]; /* 1バイト系代替文字 */char alt2[2]; /* 2バイト系代替文字 */char filler2[1]; /* 空き領域 */int opt; /* 変換オプション */

} ;

rtncodには本関数の復帰詳細コードが返されます。設定される内容は以下のとおりです。

0x00 正常(コード変換成功)0x08 条件付正常(出力データ長>変換後データ長)0x09 条件付正常(入力データに変換対象外の値があります)0x10 異常(入力データ長<1)0x11 異常(出力データ長<変換後データ長)0x12 異常(入力データ長>最大入力データ長または出力データ長>最大出力データ長)0x18 異常(その他の異常:システムエラー等)

rlenには、変換後のデータ長が返されます。 inlenは、入力データ長を設定します。 outlenは、出力データ長を設定します。 alt1は、入力データに変換不能な文字が含まれる場合に、代替する1バイト系の文字を変換先のコード体系で指定します。 alt2は、本関数では使用しません。 optは、本関数では使用しません。

Page 225: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

[復帰値]

正常終了時(条件付き正常終了含む)は0を、異常終了時は-1を返します。

[変換仕様]

入力データの文字コードはEUC(ASCIIコード+JISカタカナ(CS2))コード、出力データの文字コードは、JIS8コードとして変換を行います。それ以外の文字コードは変換エラーとします。

Page 226: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

MDCOEUJE()

[名 前]

MDCOEUJE - EUCコードからJEFコードに変換します。

[形 式]

#include “MDPcomm.h” int MDCOEUJE(struct MDCOPARA *codpara, char *indata, char *outdata);

[機能説明]

本関数は、indataで指定された入力データをEUCコードからJEFコードに変換し、outdataに設定します。MDCOPARA構造体宣言とその設定内容は以下の通りです。

struct MDCOPARA {int rtncod; /* 復帰値 */int rlen; /* 変換結果長 */char filler1[32]; /* 空き領域 */short int inlen; /* 入力データ長 */short int outlen; /* 出力データ長 */char alt1[1]; /* 1バイト系代替文字 */char alt2[2]; /* 2バイト系代替文字 */char filler2[1]; /* 空き領域 */int opt; /* 変換オプション */

} ;

rtncodには本関数の復帰詳細コードが返されます。設定される内容は以下のとおりです。

0x00 正常(コード変換成功)0x08 条件付正常(出力データ長>変換後データ長)0x09 条件付正常(入力データに変換対象外の値があります)0x10 異常(入力データ長<1)0x11 異常(出力データ長<変換後データ長)0x12 異常(入力データ長>最大入力データ長または出力データ長>最大出力データ長)0x18 異常(その他の異常:システムエラー等)

rlenには、変換後のデータ長が返されます。 inlenは、入力データ長を設定します。 outlenは、出力データ長を設定します。 alt1は、入力データに変換不能な文字が含まれる場合に、代替する1バイト系の文字を変換先のコード体系で指定します。 alt2は、入力データに変換不能な文字が含まれる場合に、代替する2バイト系の文字を変換先のコード体系で指定します。 optは、以下の値を設定することにより、変換仕様の切り替えを行います。

Page 227: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

MDCOOPT_N 入力および出力データはCOBOLの日本語項目に指定されるデータ(2バイト/1文字)として変換を行い、シフトコードは含まないものとします。

MDCOOPT_M 入力および出力データはCOBOLの英数字日本語混在項目として変換を行い、必要であればシフトコードが含まれるものとします。

その他 MDCOOPT_Mと同意です。

[復帰値]

正常終了時(条件付き正常終了含む)は0を、異常終了時は-1を返します。

[変換仕様]

入力データの文字コードはEUCコード、出力データの文字コードは、JEFコードとして変換を行います。それ以外の文字コードは変換エラーとします。

Page 228: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

MDCOEUJI()

[名 前]

MDCOEUJI - EUCコードからJISコードに変換します。

[形 式]

#include “MDPcomm.h” int MDCOEUJI(struct MDCOPARA *codpara, char *indata, char *outdata);

[機能説明]

本関数は、indataで指定された入力データをEUCコードからJISコードに変換し、outdataに設定します。MDCOPARA構造体宣言とその設定内容は以下の通りです。

struct MDCOPARA {int rtncod; /* 復帰値 */int rlen; /* 変換結果長 */char filler1[32]; /* 空き領域 */short int inlen; /* 入力データ長 */short int outlen; /* 出力データ長 */char alt1[1]; /* 1バイト系代替文字 */char alt2[2]; /* 2バイト系代替文字 */char filler2[1]; /* 空き領域 */int opt; /* 変換オプション */

} ;

rtncodには本関数の復帰詳細コードが返されます。設定される内容は以下のとおりです。

0x00 正常(コード変換成功)0x08 条件付正常(出力データ長>変換後データ長)0x09 条件付正常(入力データに変換対象外の値があります)0x10 異常(入力データ長<1)0x11 異常(出力データ長<変換後データ長)0x12 異常(入力データ長>最大入力データ長または出力データ長>最大出力データ長)0x18 異常(その他の異常:システムエラー等)

rlenには、変換後のデータ長が返されます。 inlenは、入力データ長を設定します。 outlenは、出力データ長を設定します。 alt1は、入力データに変換不能な文字が含まれる場合に、代替する1バイト系の文字を変換先のコード体系で指定します。 alt2は、入力データに変換不能な文字が含まれる場合に、代替する2バイト系の文字を変換先のコード体系で指定します。 optは、以下の値を設定することにより、変換仕様の切り替えを行います。

Page 229: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

MDCOOPT_N 入力および出力データはCOBOLの日本語項目に指定されるデータ(2バイト/1文字)として変換を行い、シフトコードは含まないものとします。

MDCOOPT_M 入力および出力データはCOBOLの英数字日本語混在項目として変換を行い、必要であればシフトコードが含まれるものとします。

その他 MDCOOPT_Mと同意です。

[復帰値]

正常終了時(条件付き正常終了含む)は0を、異常終了時は-1を返します。

[変換仕様]

入力データの文字コードはEUCコード、出力データの文字コードは、JISコードとして変換を行います。それ以外の文字コードは変換エラーとします。

Page 230: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

MDCOEUSJ()

[名 前]

MDCOEUSJ - EUCコードからシフトJISコードに変換します。

[形 式]

#include “MDPcomm.h” int MDCOEUSJ(struct MDCOPARA *codpara, char *indata, char *outdata);

[機能説明]

本関数は、indataで指定された入力データをEUCコードからシフトJISコードに変換し、outdataに設定します。MDCOPARA構造体宣言とその設定内容は以下の通りです。

struct MDCOPARA {int rtncod; /* 復帰値 */int rlen; /* 変換結果長 */char filler1[32]; /* 空き領域 */short int inlen; /* 入力データ長 */short int outlen; /* 出力データ長 */char alt1[1]; /* 1バイト系代替文字 */char alt2[2]; /* 2バイト系代替文字 */char filler2[1]; /* 空き領域 */int opt; /* 変換オプション */

} ;

rtncodには本関数の復帰詳細コードが返されます。設定される内容は以下のとおりです。

0x00 正常(コード変換成功)0x08 条件付正常(出力データ長>変換後データ長)0x09 条件付正常(入力データに変換対象外の値があります)0x10 異常(入力データ長<1)0x11 異常(出力データ長<変換後データ長)0x12 異常(入力データ長>最大入力データ長または出力データ長>最大出力データ長)0x18 異常(その他の異常:システムエラー等)

rlenには、変換後のデータ長が返されます。 inlenは、入力データ長を設定します。 outlenは、出力データ長を設定します。 alt1は、入力データに変換不能な文字が含まれる場合に、代替する1バイト系の文字を変換先のコード体系で指定します。 alt2は、入力データに変換不能な文字が含まれる場合に、代替する2バイト系の文字を変換先のコード体系で指定します。 optは、以下の値を設定することにより、変換仕様の切り替えを行います。

Page 231: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

MDCOOPT_N 入力および出力データはCOBOLの日本語項目に指定されるデータ(2バイト/1文字)として変換を行い、シフトコードは含まないものとします。

MDCOOPT_M 入力および出力データはCOBOLの英数字日本語混在項目として変換を行い、必要であればシフトコードが含まれるものとします。

その他 MDCOOPT_Mと同意です。

[復帰値]

正常終了時(条件付き正常終了含む)は0を、異常終了時は-1を返します。

[変換仕様]

入力データの文字コードはEUCコード、出力データの文字コードは、シフトJISコードとして変換を行います。それ以外の文字コードは変換エラーとします。

Page 232: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

MDCOJ7EB()

[名 前]

MDCOJ7EB - JIS7コードからEBCDICコードに変換します。

[形 式]

#include “MDPcomm.h” int MDCOJ7EB(struct MDCOPARA *codpara, char *indata, char *outdata);

[機能説明]

本関数は、indataで指定された入力データをJIS7コードからEBCDICコードに変換し、outdataに設定します。MDCOPARA構造体宣言とその設定内容は以下の通りです。

struct MDCOPARA {int rtncod; /* 復帰値 */int rlen; /* 変換結果長 */char filler1[32]; /* 空き領域 */short int inlen; /* 入力データ長 */short int outlen; /* 出力データ長 */char alt1[1]; /* 1バイト系代替文字 */char alt2[2]; /* 2バイト系代替文字 */char filler2[1]; /* 空き領域 */int opt; /* 変換オプション */

} ;

rtncodには本関数の復帰詳細コードが返されます。設定される内容は以下のとおりです。

0x00 正常(コード変換成功)0x08 条件付正常(出力データ長>変換後データ長)0x09 条件付正常(入力データに変換対象外の値があります)0x10 異常(入力データ長<1)0x11 異常(出力データ長<変換後データ長)0x12 異常(入力データ長>最大入力データ長または出力データ長>最大出力データ長)0x18 異常(その他の異常:システムエラー等)

rlenには、変換後のデータ長が返されます。 inlenは、入力データ長を設定します。 outlenは、出力データ長を設定します。 alt1は、入力データに変換不能な文字が含まれる場合に、代替する1バイト系の文字を変換先のコード体系で指定します。 alt2は、本関数では使用しません。 optは、以下の値を設定することにより、入力データのパリティビットのチェックを行うことができます。

Page 233: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

MDCOOPT_PN入力データは、通常のJIS7コードで、パリティビットは付加されていないものとして変換を行います。入力データパリティビットが付加されている場合でも、上位1バイトは無視して変換を行います。

MDCOOPT_PE 入力データは、偶数パリティビット(上位1バイト)付のJIS7コードであるものとして変換を行います。

MDCOOPT_PO 入力データは、奇数パリティビット(上位1バイト)付のJIS7コードであるものとして変換を行います。

その他 MDCOOPT_PNと同意です。

[復帰値]

正常終了時(条件付き正常終了含む)は0を、異常終了時は-1を返します。

[変換仕様]

入力データの文字コードはJIS7コード、出力データの文字コードは、EBCDIC(カナ)コードとして変換を行います。それ以外の文字コードは変換エラーとします。本関数では、入力データであるJIS7コードはASCII SO(シフトアウト)とSI(シフトイン)を使用してJISローマ字、JISカタカナの切り替えを行い、下位7ビットのみで表されているものとします。また、パリティビットのチェックでエラーとなった場合は、変換対象外の文字として扱います。

Page 234: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

MDCOJ7EU()

[名 前]

MDCOJ7EU - JIS7コードからEUC(半角・英数カナ)コードに変換します。

[形 式]

#include “MDPcomm.h” int MDCOJ7EU(struct MDCOPARA *codpara, char *indata, char *outdata);

[機能説明]

本関数は、indataで指定された入力データをJIS7コードからEUC(半角・英数カナ)コードに変換し、outdataに設定します。MDCOPARA構造体宣言とその設定内容は以下の通りです。

struct MDCOPARA {int rtncod; /* 復帰値 */int rlen; /* 変換結果長 */char filler1[32]; /* 空き領域 */short int inlen; /* 入力データ長 */short int outlen; /* 出力データ長 */char alt1[1]; /* 1バイト系代替文字 */char alt2[2]; /* 2バイト系代替文字 */char filler2[1]; /* 空き領域 */int opt; /* 変換オプション */

} ;

rtncodには本関数の復帰詳細コードが返されます。設定される内容は以下のとおりです。

0x00 正常(コード変換成功)0x08 条件付正常(出力データ長>変換後データ長)0x09 条件付正常(入力データに変換対象外の値があります)0x10 異常(入力データ長<1)0x11 異常(出力データ長<変換後データ長)0x12 異常(入力データ長>最大入力データ長または出力データ長>最大出力データ長)0x18 異常(その他の異常:システムエラー等)

rlenには、変換後のデータ長が返されます。 inlenは、入力データ長を設定します。 outlenは、出力データ長を設定します。 alt1は、入力データに変換不能な文字が含まれる場合に、代替する1バイト系の文字を変換先のコード体系で指定します。 alt2は、本関数では使用しません。 optは、以下の値を設定することにより、入力データのパリティビットのチェックを行うことができます。

Page 235: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

MDCOOPT_PN入力データは、通常のJIS7コードで、パリティビットは付加されていないものとして変換を行います。入力データパリティビットが付加されている場合でも、上位1バイトは無視して変換を行います。

MDCOOPT_PE 入力データは、偶数パリティビット(上位1バイト)付のJIS7コードであるものとして変換を行います。

MDCOOPT_PO 入力データは、奇数パリティビット(上位1バイト)付のJIS7コードであるものとして変換を行います。

その他 MDCOOPT_PNと同意です。

[復帰値]

正常終了時(条件付き正常終了含む)は0を、異常終了時は-1を返します。

[変換仕様]

入力データの文字コードはJIS7コード、出力データの文字コードは、EUC(ASCIIコード+JISカタカナ(CS2))コードとして変換を行います。それ以外の文字コードは変換エラーとします。本関数では、入力データであるJIS7コードはASCII SO(シフトアウト)とSI(シフトイン)を使用してJISローマ字、JISカタカナの切り替えを行い、下位7ビットのみで表されているものとします。また、パリティビットのチェックでエラーとなった場合は、変換対象外の文字として扱います。

Page 236: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

MDCOJ7J8()

[名 前]

MDCOJ7J8 - JIS7コードからJIS8コードに変換します。

[形 式]

#include “MDPcomm.h” int MDCOJ7J8(struct MDCOPARA *codpara, char *indata, char *outdata);

[機能説明]

本関数は、indataで指定された入力データをJIS7コードからJIS8コードに変換し、outdataに設定します。MDCOPARA構造体宣言とその設定内容は以下の通りです。

struct MDCOPARA {int rtncod; /* 復帰値 */int rlen; /* 変換結果長 */char filler1[32]; /* 空き領域 */short int inlen; /* 入力データ長 */short int outlen; /* 出力データ長 */char alt1[1]; /* 1バイト系代替文字 */char alt2[2]; /* 2バイト系代替文字 */char filler2[1]; /* 空き領域 */int opt; /* 変換オプション */

} ;

rtncodには本関数の復帰詳細コードが返されます。設定される内容は以下のとおりです。

0x00 正常(コード変換成功)0x08 条件付正常(出力データ長>変換後データ長)0x09 条件付正常(入力データに変換対象外の値があります)0x10 異常(入力データ長<1)0x11 異常(出力データ長<変換後データ長)0x12 異常(入力データ長>最大入力データ長または出力データ長>最大出力データ長)0x18 異常(その他の異常:システムエラー等)

rlenには、変換後のデータ長が返されます。 inlenは、入力データ長を設定します。 outlenは、出力データ長を設定します。 alt1は、入力データに変換不能な文字が含まれる場合に、代替する1バイト系の文字を変換先のコード体系で指定します。 alt2は、本関数では使用しません。 optは、以下の値を設定することにより、入力データのパリティビットのチェックを行うことができます。

Page 237: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

MDCOOPT_PN入力データは、通常のJIS7コードで、パリティビットは付加されていないものとして変換を行います。入力データパリティビットが付加されている場合でも、上位1バイトは無視して変換を行います。

MDCOOPT_PE 入力データは、偶数パリティビット(上位1バイト)付のJIS7コードであるものとして変換を行います。

MDCOOPT_PO 入力データは、奇数パリティビット(上位1バイト)付のJIS7コードであるものとして変換を行います。

その他 MDCOOPT_PNと同意です。

[復帰値]

正常終了時(条件付き正常終了含む)は0を、異常終了時は-1を返します。

[変換仕様]

入力データの文字コードはJIS7コード、出力データの文字コードは、JIS8コードとして変換を行います。それ以外の文字コードは変換エラーとします。本関数では、入力データであるJIS7コードはASCII SO(シフトアウト)とSI(シフトイン)を使用してJISローマ字、JISカタカナの切り替えを行い、下位7ビットのみで表されているものとします。また、パリティビットのチェックでエラーとなった場合は、変換対象外の文字として扱います。

Page 238: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

MDCOJ8EB()

[名 前]

MDCOJ8EB - JIS8コードからEBCDICコードに変換します。

[形 式]

#include “MDPcomm.h” int MDCOJ8EB(struct MDCOPARA *codpara, char *indata, char *outdata);

[機能説明]

本関数は、indataで指定された入力データをJIS8コードからEBCDICコードに変換し、outdataに設定します。MDCOPARA構造体宣言とその設定内容は以下の通りです。

struct MDCOPARA {int rtncod; /* 復帰値 */int rlen; /* 変換結果長 */char filler1[32]; /* 空き領域 */short int inlen; /* 入力データ長 */short int outlen; /* 出力データ長 */char alt1[1]; /* 1バイト系代替文字 */char alt2[2]; /* 2バイト系代替文字 */char filler2[1]; /* 空き領域 */int opt; /* 変換オプション */

} ;

rtncodには本関数の復帰詳細コードが返されます。設定される内容は以下のとおりです。

0x00 正常(コード変換成功)0x08 条件付正常(出力データ長>変換後データ長)0x09 条件付正常(入力データに変換対象外の値があります)0x10 異常(入力データ長<1)0x11 異常(出力データ長<変換後データ長)0x12 異常(入力データ長>最大入力データ長または出力データ長>最大出力データ長)0x18 異常(その他の異常:システムエラー等)

rlenには、変換後のデータ長が返されます。 inlenは、入力データ長を設定します。 outlenは、出力データ長を設定します。 alt1は、入力データに変換不能な文字が含まれる場合に、代替する1バイト系の文字を変換先のコード体系で指定します。 alt2は、本関数では使用しません。 optは、本関数では使用しません。

Page 239: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

[復帰値]

正常終了時(条件付き正常終了含む)は0を、異常終了時は-1を返します。

[変換仕様]

入力データの文字コードはJIS8コード、出力データの文字コードは、EBCDIC(カナ)コードとして変換を行います。それ以外の文字コードは変換エラーとします。

Page 240: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

MDCOJ8EU()

[名 前]

MDCOJ8EU - JIS8コードからEUCコードに変換します。

[形 式]

#include “MDPcomm.h” int MDCOJ8EU(struct MDCOPARA *codpara, char *indata, char *outdata);

[機能説明]

本関数は、indataで指定された入力データをJIS8コードからEUCコードに変換し、outdataに設定します。MDCOPARA構造体宣言とその設定内容は以下の通りです。

struct MDCOPARA {int rtncod; /* 復帰値 */int rlen; /* 変換結果長 */char filler1[32]; /* 空き領域 */short int inlen; /* 入力データ長 */short int outlen; /* 出力データ長 */char alt1[1]; /* 1バイト系代替文字 */char alt2[2]; /* 2バイト系代替文字 */char filler2[1]; /* 空き領域 */int opt; /* 変換オプション */

} ;

rtncodには本関数の復帰詳細コードが返されます。設定される内容は以下のとおりです。

0x00 正常(コード変換成功)0x08 条件付正常(出力データ長>変換後データ長)0x09 条件付正常(入力データに変換対象外の値があります)0x10 異常(入力データ長<1)0x11 異常(出力データ長<変換後データ長)0x12 異常(入力データ長>最大入力データ長または出力データ長>最大出力データ長)0x18 異常(その他の異常:システムエラー等)

rlenには、変換後のデータ長が返されます。 inlenは、入力データ長を設定します。 outlenは、出力データ長を設定します。 alt1は、入力データに変換不能な文字が含まれる場合に、代替する1バイト系の文字を変換先のコード体系で指定します。 alt2は、本関数では使用しません。 optは、本関数では使用しません。

Page 241: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

[復帰値]

正常終了時(条件付き正常終了含む)は0を、異常終了時は-1を返します。

[変換仕様]

入力データの文字コードはJIS8コード、出力データの文字コードは、EUC(ASCIIコード+JISカタカナ(CS2))コードとして変換を行います。それ以外の文字コードは変換エラーとします。

Page 242: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

MDCOJ8J7()

[名 前]

MDCOJ8J7 - JIS8コードからJIS7コードに変換します。

[形 式]

#include “MDPcomm.h” int MDCOJ8J7(struct MDCOPARA *codpara, char *indata, char *outdata);

[機能説明]

本関数は、indataで指定された入力データをJIS8コードからJIS7コードに変換し、outdataに設定します。MDCOPARA構造体宣言とその設定内容は以下の通りです。

struct MDCOPARA {int rtncod; /* 復帰値 */int rlen; /* 変換結果長 */char filler1[32]; /* 空き領域 */short int inlen; /* 入力データ長 */short int outlen; /* 出力データ長 */char alt1[1]; /* 1バイト系代替文字 */char alt2[2]; /* 2バイト系代替文字 */char filler2[1]; /* 空き領域 */int opt; /* 変換オプション */

} ;

rtncodには本関数の復帰詳細コードが返されます。設定される内容は以下のとおりです。

0x00 正常(コード変換成功)0x08 条件付正常(出力データ長>変換後データ長)0x09 条件付正常(入力データに変換対象外の値があります)0x10 異常(入力データ長<1)0x11 異常(出力データ長<変換後データ長)0x12 異常(入力データ長>最大入力データ長または出力データ長>最大出力データ長)0x18 異常(その他の異常:システムエラー等)

rlenには、変換後のデータ長が返されます。 inlenは、入力データ長を設定します。 outlenは、出力データ長を設定します。 alt1は、入力データに変換不能な文字が含まれる場合に、代替する1バイト系の文字を変換先のコード体系で指定します。 alt2は、本関数では使用しません。 optは、以下の値を設定することにより、出力データにパリティビットを付加することができます。

Page 243: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

MDCOOPT_PN JIS7コードへ通常の変換を行います。パリティビットは付加しません。MDCOOPT_PE JIS7コードへ変換し、上位1ビットを偶数パリティビットとします。MDCOOPT_PO JIS7コードへ変換し、上位1ビットを奇数パリティビットとします。その他 MDCOOPT_PNと同意です。

[復帰値]

正常終了時(条件付き正常終了含む)は0を、異常終了時は-1を返します。

[変換仕様]

入力データの文字コードはJIS8コード、出力データの文字コードは、JIS7コードとして変換を行います。それ以外の文字コードは変換エラーとします。本関数では、JIS7コードはASCII SO(シフトアウト)とSI(シフトイン)を使用し、下位7ビットのみでJISローマ字、JISカタカナを表します。なお、パリティビットを付加する場合は、JIS7コードで使用されない上位1ビットを使用します。

Page 244: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

MDCOJEEU()

[名 前]

MDCOJEEU - JEFコードからEUCコードに変換します。

[形 式]

#include “MDPcomm.h” int MDCOJEEU(struct MDCOPARA *codpara, char *indata, char *outdata);

[機能説明]

本関数は、indataで指定された入力データをJEFコードからEUCコードに変換し、outdataに設定します。MDCOPARA構造体宣言とその設定内容は以下の通りです。

struct MDCOPARA {int rtncod; /* 復帰値 */int rlen; /* 変換結果長 */char filler1[32]; /* 空き領域 */short int inlen; /* 入力データ長 */short int outlen; /* 出力データ長 */char alt1[1]; /* 1バイト系代替文字 */char alt2[2]; /* 2バイト系代替文字 */char filler2[1]; /* 空き領域 */int opt; /* 変換オプション */

} ;

rtncodには本関数の復帰詳細コードが返されます。設定される内容は以下のとおりです。

0x00 正常(コード変換成功)0x08 条件付正常(出力データ長>変換後データ長)0x09 条件付正常(入力データに変換対象外の値があります)0x10 異常(入力データ長<1)0x11 異常(出力データ長<変換後データ長)0x12 異常(入力データ長>最大入力データ長または出力データ長>最大出力データ長)0x18 異常(その他の異常:システムエラー等)

rlenには、変換後のデータ長が返されます。 inlenは、入力データ長を設定します。 outlenは、出力データ長を設定します。 alt1は、入力データに変換不能な文字が含まれる場合に、代替する1バイト系の文字を変換先のコード体系で指定します。 alt2は、入力データに変換不能な文字が含まれる場合に、代替する2バイト系の文字を変換先のコード体系で指定します。 optは、以下の値を設定することにより、変換仕様の切り替えを行います。

Page 245: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

MDCOOPT_N 入力および出力データはCOBOLの日本語項目に指定されるデータ(2バイト/1文字)として変換を行い、シフトコードは含まないものとします。

MDCOOPT_M 入力および出力データはCOBOLの英数字日本語混在項目として変換を行い、必要であればシフトコードが含まれるものとします。

その他 MDCOOPT_Mと同意です。

[復帰値]

正常終了時(条件付き正常終了含む)は0を、異常終了時は-1を返します。

[変換仕様]

入力データの文字コードはJEFコード、出力データの文字コードは、EUCコードとして変換を行います。それ以外の文字コードは変換エラーとします。

Page 246: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

MDCOJEJI()

[名 前]

MDCOJEJI - JEFコードからJISコードに変換します。

[形 式]

#include “MDPcomm.h” int MDCOJEJI(struct MDCOPARA *codpara, char *indata, char *outdata);

[機能説明]

本関数は、indataで指定された入力データをJEFコードからJISコードに変換し、outdataに設定します。MDCOPARA構造体宣言とその設定内容は以下の通りです。

struct MDCOPARA {int rtncod; /* 復帰値 */int rlen: /* 変換結果長 */char filler1[32]; /* 空き領域 */short int inlen; /* 入力データ長 */short int outlen; /* 出力データ長 */char alt1[1]; /* 1バイト系代替文字 */char alt2[2]; /* 2バイト系代替文字 */char filler2[1]; /* 空き領域 */int opt; /* 変換オプション */

} ;

rtncodには本関数の復帰詳細コードが返されます。設定される内容は以下のとおりです。

0x00 正常(コード変換成功)0x08 条件付正常(出力データ長>変換後データ長)0x09 条件付正常(入力データに変換対象外の値があります)0x10 異常(入力データ長<1)0x11 異常(出力データ長<変換後データ長)0x12 異常(入力データ長>最大入力データ長または出力データ長>最大出力データ長)0x18 異常(その他の異常:システムエラー等)

rlenには、変換後のデータ長が返されます。 inlenは、入力データ長を設定します。 outlenは、出力データ長を設定します。 alt1は、入力データに変換不能な文字が含まれる場合に、代替する1バイト系の文字を変換先のコード体系で指定します。 alt2は、入力データに変換不能な文字が含まれる場合に、代替する2バイト系の文字を変換先のコード体系で指定します。 optは、以下の値を設定することにより、変換仕様の切り替えを行います。

Page 247: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

MDCOOPT_N 入力および出力データはCOBOLの日本語項目に指定されるデータ(2バイト/1文字)として変換を行い、シフトコードは含まないものとします。

MDCOOPT_M 入力および出力データはCOBOLの英数字日本語混在項目として変換を行い、必要であればシフトコードが含まれるものとします。

その他 MDCOOPT_Mと同意です。

[復帰値]

正常終了時(条件付き正常終了含む)は0を、異常終了時は-1を返します。

[変換仕様]

入力データの文字コードはJEFコード、出力データの文字コードは、JISコードとして変換を行います。それ以外の文字コードは変換エラーとします。

Page 248: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

MDCOJESJ()

[名 前]

MDCOJESJ - JEFコードからシフトJISコードに変換します。

[形 式]

#include “MDPcomm.h” int MDCOJESJ(struct MDCOPARA *codpara, char *indata, char *outdata);

[機能説明]

本関数は、indataで指定された入力データをJEFコードからシフトJISコードに変換し、outdataに設定します。MDCOPARA構造体宣言とその設定内容は以下の通りです。

struct MDCOPARA {int rtncod; /* 復帰値 */int rlen; /* 変換結果長 */char filler1[32]; /* 空き領域 */short int inlen; /* 入力データ長 */short int outlen; /* 出力データ長 */char alt1[1]; /* 1バイト系代替文字 */char alt2[2]; /* 2バイト系代替文字 */char filler2[1]; /* 空き領域 */int opt; /* 変換オプション */

} ;

rtncodには本関数の復帰詳細コードが返されます。設定される内容は以下のとおりです。

0x00 正常(コード変換成功)0x08 条件付正常(出力データ長>変換後データ長)0x09 条件付正常(入力データに変換対象外の値があります)0x10 異常(入力データ長<1)0x11 異常(出力データ長<変換後データ長)0x12 異常(入力データ長>最大入力データ長または出力データ長>最大出力データ長)0x18 異常(その他の異常:システムエラー等)

rlenには、変換後のデータ長が返されます。 inlenは、入力データ長を設定します。 outlenは、出力データ長を設定します。 alt1は、入力データに変換不能な文字が含まれる場合に、代替する1バイト系の文字を変換先のコード体系で指定します。 alt2は、入力データに変換不能な文字が含まれる場合に、代替する2バイト系の文字を変換先のコード体系で指定します。 optは、以下の値を設定することにより、変換仕様の切り替えを行います。

Page 249: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

MDCOOPT_N 入力および出力データはCOBOLの日本語項目に指定されるデータ(2バイト/1文字)として変換を行い、シフトコードは含まないものとします。

MDCOOPT_M 入力および出力データはCOBOLの英数字日本語混在項目として変換を行い、必要であればシフトコードが含まれるものとします。

その他 MDCOOPT_Mと同意です。

[復帰値]

正常終了時(条件付き正常終了含む)は0を、異常終了時は-1を返します。

[変換仕様]

入力データの文字コードはJEFコード、出力データの文字コードは、シフトJISコードとして変換を行います。それ以外の文字コードは変換エラーとします。

Page 250: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

MDCOJIEU()

[名 前]

MDCOJIEU - JISコードからEUCコードに変換します。

[形 式]

#include “MDPcomm.h” int MDCOJIEU(struct MDCOPARA *codpara, char *indata, char *outdata);

[機能説明]

本関数は、indataで指定された入力データをJISコードからEUCコードに変換し、outdataに設定します。MDCOPARA構造体宣言とその設定内容は以下の通りです。

struct MDCOPARA {int rtncod; /* 復帰値 */int rlen; /* 変換結果長 */char filler1[32]; /* 空き領域 */short int inlen; /* 入力データ長 */short int outlen; /* 出力データ長 */char alt1[1]; /* 1バイト系代替文字 */char alt2[2]; /* 2バイト系代替文字 */char filler2[1]; /* 空き領域 */int opt; /* 変換オプション */

} ;

rtncodには本関数の復帰詳細コードが返されます。設定される内容は以下のとおりです。

0x00 正常(コード変換成功)0x08 条件付正常(出力データ長>変換後データ長)0x09 条件付正常(入力データに変換対象外の値があります)0x10 異常(入力データ長<1)0x11 異常(出力データ長<変換後データ長)0x12 異常(入力データ長>最大入力データ長または出力データ長>最大出力データ長)0x18 異常(その他の異常:システムエラー等)

rlenには、変換後のデータ長が返されます。 inlenは、入力データ長を設定します。 outlenは、出力データ長を設定します。 alt1は、入力データに変換不能な文字が含まれる場合に、代替する1バイト系の文字を変換先のコード体系で指定します。 alt2は、入力データに変換不能な文字が含まれる場合に、代替する2バイト系の文字を変換先のコード体系で指定します。 optは、以下の値を設定することにより、変換仕様の切り替えを行います。

Page 251: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

MDCOOPT_N 入力および出力データはCOBOLの日本語項目に指定されるデータ(2バイト/1文字)として変換を行い、シフトコードは含まないものとします。

MDCOOPT_M 入力および出力データはCOBOLの英数字日本語混在項目として変換を行い、必要であればシフトコードが含まれるものとします。

その他 MDCOOPT_Mと同意です。

[復帰値]

正常終了時(条件付き正常終了含む)は0を、異常終了時は-1を返します。

[変換仕様]

入力データの文字コードJISコード、出力データの文字コードは、EUCコードとして変換を行います。それ以外の文字コードは変換エラーとします。

Page 252: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

MDCOJIJE()

[名 前]

MDCOJIJE - JISコードからJEFコードに変換します。

[形 式]

#include “MDPcomm.h” int MDCOJIJE(struct MDCOPARA *codpara, char *indata, char *outdata);

[機能説明]

本関数は、indataで指定された入力データをJISコードからJEFコードに変換し、outdataに設定します。MDCOPARA構造体宣言とその設定内容は以下の通りです。

struct MDCOPARA {int rtncod; /* 復帰値 */int rlen; /* 変換結果長 */char filler1[32]; /* 空き領域 */short int inlen; /* 入力データ長 */short int outlen; /* 出力データ長 */char alt1[1]; /* 1バイト系代替文字 */char alt2[2]; /* 2バイト系代替文字 */char filler2[1]; /* 空き領域 */int opt; /* 変換オプション */

} ;

rtncodには本関数の復帰詳細コードが返されます。設定される内容は以下のとおりです。

0x00 正常(コード変換成功)0x08 条件付正常(出力データ長>変換後データ長)0x09 条件付正常(入力データに変換対象外の値があります)0x10 異常(入力データ長<1)0x11 異常(出力データ長<変換後データ長)0x12 異常(入力データ長>最大入力データ長または出力データ長>最大出力データ長)0x18 異常(その他の異常:システムエラー等)

rlenには、変換後のデータ長が返されます。 inlenは、入力データ長を設定します。 outlenは、出力データ長を設定します。 alt1は、入力データに変換不能な文字が含まれる場合に、代替する1バイト系の文字を変換先のコード体系で指定します。 alt2は、入力データに変換不能な文字が含まれる場合に、代替する2バイト系の文字を変換先のコード体系で指定します。 optは、以下の値を設定することにより、変換仕様の切り替えを行います。

Page 253: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

MDCOOPT_N 入力および出力データはCOBOLの日本語項目に指定されるデータ(2バイト/1文字)として変換を行い、シフトコードは含まないものとします。

MDCOOPT_M 入力および出力データはCOBOLの英数字日本語混在項目として変換を行い、必要であればシフトコードが含まれるものとします。

その他 MDCOOPT_Mと同意です。

[復帰値]

正常終了時(条件付き正常終了含む)は0を、異常終了時は-1を返します。

[変換仕様]

入力データの文字コードはJISコード、出力データの文字コードは、JEFコードとして変換を行います。それ以外の文字コードは変換エラーとします。

Page 254: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

MDCOJISJ()

[名 前]

MDCOJISJ - JISコードからシフトJISコードに変換します。

[形 式]

#include “MDPcomm.h” int MDCOJISJ(struct MDCOPARA *codpara, char *indata, char *outdata);

[機能説明]

本関数は、indataで指定された入力データをJISコードからシフトJISコードに変換し、outdataに設定します。MDCOPARA構造体宣言とその設定内容は以下の通りです。

struct MDCOPARA {int rtncod; /* 復帰値 */int rlen; /* 変換結果長 */char filler1[32]; /* 空き領域 */short int inlen; /* 入力データ長 */short int outlen; /* 出力データ長 */char alt1[1]; /* 1バイト系代替文字 */char alt2[2]; /* 2バイト系代替文字 */char filler2[1]; /* 空き領域 */int opt; /* 変換オプション */

} ;

rtncodには本関数の復帰詳細コードが返されます。設定される内容は以下のとおりです。

0x00 正常(コード変換成功)0x08 条件付正常(出力データ長>変換後データ長)0x09 条件付正常(入力データに変換対象外の値があります)0x10 異常(入力データ長<1)0x11 異常(出力データ長<変換後データ長)0x12 異常(入力データ長>最大入力データ長または出力データ長>最大出力データ長)0x18 異常(その他の異常:システムエラー等)

rlenには、変換後のデータ長が返されます。 inlenは、入力データ長を設定します。 outlenは、出力データ長を設定します。 alt1は、入力データに変換不能な文字が含まれる場合に、代替する1バイト系の文字を変換先のコード体系で指定します。 alt2は、入力データに変換不能な文字が含まれる場合に、代替する2バイト系の文字を変換先のコード体系で指定します。 optは、以下の値を設定することにより、変換仕様の切り替えを行います。

Page 255: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

MDCOOPT_N 入力および出力データはCOBOLの日本語項目に指定されるデータ(2バイト/1文字)として変換を行い、シフトコードは含まないものとします。

MDCOOPT_M 入力および出力データはCOBOLの英数字日本語混在項目として変換を行い、必要であればシフトコードが含まれるものとします。

その他 MDCOOPT_Mと同意です。

[復帰値]

正常終了時(条件付き正常終了含む)は0を、異常終了時は-1を返します。

[変換仕様]

入力データの文字コードはJISコード、出力データの文字コードは、シフトJISコードとして変換を行います。それ以外の文字コードは変換エラーとします。

Page 256: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

MDCOSJEU()

[名 前]

MDCOSJEU - シフトJISコードからEUCコードに変換します。

[形 式]

#include “MDPcomm.h” int MDCOSJEU(struct MDCOPARA *codpara, char *indata, char *outdata);

[機能説明]

本関数は、indataで指定された入力データをシフトJISコードからEUCコードに変換し、outdataに設定します。MDCOPARA構造体宣言とその設定内容は以下の通りです。

struct MDCOPARA {int rtncod; /* 復帰値 */int rlen; /* 変換結果長 */char filler1[32]; /* 空き領域 */short int inlen; /* 入力データ長 */short int outlen; /* 出力データ長 */char alt1[1]; /* 1バイト系代替文字 */char alt2[2]; /* 2バイト系代替文字 */char filler2[1]; /* 空き領域 */int opt; /* 変換オプション */

} ;

rtncodには本関数の復帰詳細コードが返されます。設定される内容は以下のとおりです。

0x00 正常(コード変換成功)0x08 条件付正常(出力データ長>変換後データ長)0x09 条件付正常(入力データに変換対象外の値があります)0x10 異常(入力データ長<1)0x11 異常(出力データ長<変換後データ長)0x12 異常(入力データ長>最大入力データ長または出力データ長>最大出力データ長)0x18 異常(その他の異常:システムエラー等)

rlenには、変換後のデータ長が返されます。 inlenは、入力データ長を設定します。 outlenは、出力データ長を設定します。 alt1は、入力データに変換不能な文字が含まれる場合に、代替する1バイト系の文字を変換先のコード体系で指定します。 alt2は、入力データに変換不能な文字が含まれる場合に、代替する2バイト系の文字を変換先のコード体系で指定します。 optは、以下の値を設定することにより、変換仕様の切り替えを行います。

Page 257: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

MDCOOPT_N 入力および出力データはCOBOLの日本語項目に指定されるデータ(2バイト/1文字)として変換を行い、シフトコードは含まないものとします。

MDCOOPT_M 入力および出力データはCOBOLの英数字日本語混在項目として変換を行い、必要であればシフトコードが含まれるものとします。

その他 MDCOOPT_Mと同意です。

[復帰値]

正常終了時(条件付き正常終了含む)は0を、異常終了時は-1を返します。

[変換仕様]

入力データの文字コードはシフトJISコード、出力データの文字コードは、EUCコードとして変換を行います。それ以外の文字コードは変換エラーとします。

Page 258: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

MDCOSJJE()

[名 前]

MDCOSJJE - シフトJISコードからJEFコードに変換します。

[形 式]

#include “MDPcomm.h” int MDCOSJJE(struct MDCOPARA *codpara, char *indata, char *outdata);

[機能説明]

本関数は、indataで指定された入力データをシフトJISコードからJEFコードに変換し、outdataに設定します。MDCOPARA構造体宣言とその設定内容は以下の通りです。

struct MDCOPARA {int rtncod; /* 復帰値 */int rlen; /* 変換結果長 */char filler1[32]; /* 空き領域 */short int inlen; /* 入力データ長 */short int outlen; /* 出力データ長 */char alt1[1]; /* 1バイト系代替文字 */char alt2[2]; /* 2バイト系代替文字 */char filler2[1]; /* 空き領域 */int opt; /* 変換オプション */

} ;

rtncodには本関数の復帰詳細コードが返されます。設定される内容は以下のとおりです。

0x00 正常(コード変換成功)0x08 条件付正常(出力データ長>変換後データ長)0x09 条件付正常(入力データに変換対象外の値があります)0x10 異常(入力データ長<1)0x11 異常(出力データ長<変換後データ長)0x12 異常(入力データ長>最大入力データ長または出力データ長>最大出力データ長)0x18 異常(その他の異常:システムエラー等)

rlenには、変換後のデータ長が返されます。 inlenは、入力データ長を設定します。 outlenは、出力データ長を設定します。 alt1は、入力データに変換不能な文字が含まれる場合に、代替する1バイト系の文字を変換先のコード体系で指定します。 alt2は、入力データに変換不能な文字が含まれる場合に、代替する2バイト系の文字を変換先のコード体系で指定します。 optは、以下の値を設定することにより、変換仕様の切り替えを行います。

Page 259: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

MDCOOPT_N 入力および出力データはCOBOLの日本語項目に指定されるデータ(2バイト/1文字)として変換を行い、シフトコードは含まないものとします。

MDCOOPT_M 入力および出力データはCOBOLの英数字日本語混在項目として変換を行い、必要であればシフトコードが含まれるものとします。

その他 MDCOOPT_Mと同意です。

[復帰値]

正常終了時(条件付き正常終了含む)は0を、異常終了時は-1を返します。

[変換仕様]

入力データの文字コードはシフトJISコード、出力データの文字コードは、JEFコードとして変換を行います。それ以外の文字コードは変換エラーとします。

Page 260: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

MDCOSJJI()

[名 前]

MDCOSJJI - シフトJISコードからJISコードに変換します。

[形 式]

#include “MDPcomm.h” int MDCOSJJI(struct MDCOPARA *codpara, char *indata, char *outdata);

[機能説明]

本関数は、indataで指定された入力データをシフトJISコードからJISコードに変換し、outdataに設定します。MDCOPARA構造体宣言とその設定内容は以下の通りです。

struct MDCOPARA {int rtncod; /* 復帰値 */int rlen; /* 変換結果長 */char filler1[32]; /* 空き領域 */short int inlen; /* 入力データ長 */short int outlen; /* 出力データ長 */char alt1[1]; /* 1バイト系代替文字 */char alt2[2]; /* 2バイト系代替文字 */char filler2[1]; /* 空き領域 */int opt; /* 変換オプション */

} ;

rtncodには本関数の復帰詳細コードが返されます。設定される内容は以下のとおりです。

0x00 正常(コード変換成功)0x08 条件付正常(出力データ長>変換後データ長)0x09 条件付正常(入力データに変換対象外の値があります)0x10 異常(入力データ長<1)0x11 異常(出力データ長<変換後データ長)0x12 異常(入力データ長>最大入力データ長または出力データ長>最大出力データ長)0x18 異常(その他の異常:システムエラー等)

rlenには、変換後のデータ長が返されます。 inlenは、入力データ長を設定します。 outlenは、出力データ長を設定します。 alt1は、入力データに変換不能な文字が含まれる場合に、代替する1バイト系の文字を変換先のコード体系で指定します。 alt2は、入力データに変換不能な文字が含まれる場合に、代替する2バイト系の文字を変換先のコード体系で指定します。 optは、以下の値を設定することにより、変換仕様の切り替えを行います。

Page 261: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

MDCOOPT_N 入力および出力データはCOBOLの日本語項目に指定されるデータ(2バイト/1文字)として変換を行い、シフトコードは含まないものとします。

MDCOOPT_M 入力および出力データはCOBOLの英数字日本語混在項目として変換を行い、必要であればシフトコードが含まれるものとします。

その他 MDCOOPT_Mと同意です。

[復帰値]

正常終了時(条件付き正常終了含む)は0を、異常終了時は-1を返します。

[変換仕様]

入力データの文字コードはシフトJISコード、出力データの文字コードは、JISコードとして変換を行います。それ以外の文字コードは変換エラーとします。

Page 262: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

レコード変換機能

レコード変換機能は、レコード単位にコード変換、レコード変換を行う関数群を提供します。 レコード変換機能の各関数仕様およびデータ定義文解析ファイル生成コマンドについて説明します。 mdportg データ定義文解析ファイル生成コマンドMDP_init レコード変換関数の初期化を行います。MDP_conv 文字コードの変換/レコード形式の変換を行います。MDP_fin レコード変換関数の終了処理を行います。MDP_stat 詳細情報を取得します。

Page 263: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

mdportg

[名 前]

mdportg - データ定義文解析ファイル生成コマンド

[形 式]

mdportg -if infile [-of outfile]   -itype { data | rdb } -otype { text | data | rdb } [-oracle | -informix | -rdb2 ]

[機能説明]

mdportgは、指定されたデータ定義文と変換対象のファイル/レコードの形式を解析し、レコード変換機能(関数群)で使用可能なデータ定義文解析ファイルを生成します。 以下にmdportgのオプションと意味を説明します。

表1 MDPORTGのオプション説明

-if infile 解析の対象となるデータ定義文ファイル名を指定します。データ定義文の入力形式については“データ定義文の入力形式”を参照して下さい。

-of outfileデータ定義文解析ファイル名を指定します。データ定義文解析ファイルは-ifで指定されたデータ定義文ファイルを解析して作成されます。このオプションを省略した場合は、“infile.mdg”に出力されます。既にファイルが存在している場合は上書きされます。

-itype { data | rdb }入力対象となるレコードまたはファイルの形式を指定します。形式については表2を参照して下さい。 rdbをcsvと指定することも可能です。

-otype { text | data | rdb }出力対象となるレコードまたはファイルの形式を指定します。形式については表2を参照して下さい。 rdbをcsvと指定することも可能です。

-oracle | -informix | -rdb2CSV形式ファイル/レコードを扱う場合に、各RDBでサポートされるローダ形式を指定します。-itypeまたは-otypeにrdbを指定したときのみ有効です。ローダ形式については、表3を参照して下さい。

表2 ファイル形式の意味

text  テキストファイル 文字キャラクタのみで構成されたファイルを示します。コード体系によりレコードの単位が異なり、ASCII系コードでは改行コードをレコードの区切りとします。

data データファイルバイナリのデータファイルを示します。汎用機上の順ファイルを、ファイル転送や外部媒体経由で移入したファイルが、この形式に該当します。レコードフォーマットは、データ定義文により識別されます。

rdb (csv) CSV形式ファイル

データ項目間に区切り文字を挿入した、CSV形式のテキストファイルを示します。CSVの形式は各RDBのローダ形式に従います。EUCまたはシフトJISコードの文字キャラクタのみで構成され、改行コードをレコードの区切りとします。

表3 ローダ形式

Page 264: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

-rdb2 Symfowareのローダ形式文字型データは引用符(”)でくくられます。データ中の引用符1文字(”)を表す場合、引用符を2つ並べます。ヌル文字列は引用符でくくりません。

-oracleORACLEのローダ形式文字型データは引用符(”)でくくられます。データ中の引用符1文字(”)を表す場合、引用符を2つ並べます。ヌル文字列も引用符でくくります。

-informixINFORMIXのローダ形式文字型データは引用符(”)でくくられません。

 

[注意]

mdportgで指定できる変換パスは以下のとおりです。

出力形式

入力形式text rdb data

text - - -rdb - - ○data ○ ○ ○

※text変換の場合(text → text)はデータ定義文解析ファイルは不要です。

Page 265: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

MDP_init()

[名 前]

MDP_init - レコード変換関数の初期化を行います。

[形 式]

#include “MDPcomm.h” char *MDP_init(struct MDPcvinf *inf);

[機能説明]

本関数は、infが指すコード変換指示に従って、コード変換テーブルの展開/レイアウト情報の展開を行い、コード変換情報として、その先頭アドレスを復帰値として返します。MDPcvinf構造体宣言とその設定内容は以下の通りです。

struct MDPcvinf {          /* コード変換/ レコード変換機能(ライブラリ) 変換指示構造体       */

char icode[8]; /* 入力文字コード */char ocode[8]; /* 出力文字コード */int itype; /* 入力ファイル形式 */int otype; /* 出力ファイル形式 */int irecdlm; /* 入力レコード改行コード */int orecdlm; /* 出力レコード改行コード */int isomode; /* ISO/エミュレータモード */int ikana; /* 入力半角カナモード */int okana; /* 出力半角カナモード */int irecfm; /* 入力レコード属性 */int orecfm; /* 出力レコード属性 */int shift; /* シフトコード除去モード */int cs3mode; /* コードセット3モード */int amend1; /* 1バイト系代替文字 */int amend2; /* 2バイト系代替文字 */char delimita; /* CSV区切り文字 */char noblc; /* 後続空白削除抑止フラグ */char filler[2]; /* 未使用 */

int msgmax; /* メッセージ出力MAX 件数 */

int msgcont; /* MSG 上限到達処理続行 */

char *msgfname; /* メッセージ出力先ファイル名 */

char *usrfname; /* 利用者定義ファイル名 */

char *layfname; /* データ定義文解析ファイル */

} ;

Page 266: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

icode、ocodeはそれぞれ入力文字コード、出力文字コードのキーワードを指定します。

sjis ASCIIおよびシフトJISコードeuc ASCIIおよびEUCコードjef EBCDICおよびJEFコードjefall EBCDICおよびJEFコード(相手側のコード体系がUnicodeの時のみ指定可能)Unicode UCS2形式、UTF8形式およびCOBOLのUnicode形式他社コード EBCDICおよび他社日本語コード

Unicodeには、以下の指定を行うことができます。

ucs2b UCS2形式(ビックエンディアン)ucs2l UCS2形式(リトルエンディアン)utf8 UTF8形式

cobub COBOLファイルのUnicode形式、日本語項目は、UCS2(ビックエンディアン)、英数字項目または英数字日本語混在項目は、UTF8として扱います

cobul COBOLファイルのUnicode形式、日本語項目は、UCS2(リトルエンディアン)、英数字項目または英数字日本語混在項目は、UTF8として扱います

他社コードには、以下の指定を行うことができます。

ibm EBCDICおよびIBM漢字コード

keisEBCDICおよび日立KEISコード

jipseEBCDICおよび日本電気JIPS(E)コード

jipsjEBCDICおよび日本電気JIPS(J)コード

表1 データファイル変換で指定できる変換パス

otype ocode

itype icode

data rdb text

sjis euc jef jefall Unicode 他社 sjis euc ucs2b ucs2l utf8 sjis euc ucs2b ucs2l utf8

data

sjis ○ ○ ○ - - ○ ○ ○ - - - ○ ○ - - -euc ○ ○ ○ - - ○ ○ ○ - - - ○ ○ - - -jef ○ ○ - - ○ - ○ ○ ○ ○ ○ ○ ○ ○ ○ ○jefall - - - - ○ - - - ○ ○ ○ - - ○ ○ ○

Page 267: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

Unicode - - ○ ○ - - - - - - - - - - - -他社 ○ ○ - - - - ○ ○ - - - ○ ○ - - -

rdb

sjis ○ ○ ○ - - ○ - - - - - - - - - -euc ○ ○ ○ - - ○ - - - - - - - - - -ucs2b - - ○ ○ - - - - - - - - - - - -ucs2l - - ○ ○ - - - - - - - - - - - -utf8 - - ○ ○ - - - - - - - - - - - -

○ : 指定可  - : 指定不可 備考. 表1に載っていない指定はできない 表中のUnicodeは、ucs2b, ucs2l, utf8, cobub, cobulのコードを示す

表2 テキストモード変換で指定できる変換パス

otype ocode

itype icode

text

sjis euc jef jefall ucs2b ucs2l utf8 他社

text

sjis ○ ○ ○ - - - - ○euc ○ ○ ○ - - - - ○jef ○ ○ - - ○ ○ ○ -jefall - - - - ○ ○ ○ -ucs2b - - ○ ○ - - - -ucs2l - - ○ ○ - - - -utf8 - - ○ ○ - - - -他社 ○ ○ - - - - - -

COBOLソースjef ○ ○ - - - - - -他社 ○ ○ - - - - - -

○ : 指定可  - : 指定不可 備考. 表2に載っていない指定はできない

itype、otypeはそれぞれ入力レコード形式、出力レコード形式を以下の値の中から指定します。

TYPE_T テキストTYPE_D データTYPE_S COBOL固定長ソースTYPE_O CSV形式(oracle)TYPE_R CSV形式(RDB2,Symfoware)TYPE_I CSV形式(INFORMIX)

irecdlm、orecdlmはそれぞれ入力レコード区切文字、出力レコード区切文字を以下の値の中から指定します。

Page 268: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

DLM_CRLF 復帰改行(CRLF)DLM_LF 改行(LF)DLM_NO コードによる区切りなし

isomodeはEBCDIC系のコード変換において、以下の値の中から指定します。なお、EBCDIC系以外のコード変換では無視されます。

ISO ISOモード変換EMU エミュレータモード変換

icodeまたはocodeに、EBCDIC系コード(jef,他社コード)を指定していない場合は意味を持ちません。 ISOを指定した場合は、富士通のISOコード変換仕様に基づいた変換が行われます。EMU指定との相違点を表3に示します。

表3 EMUとISOオペランドの相違点

変換パス 変換前変換後

EMU指定 ISO指定

EBCDIC→ASCII! ! ]| ] !

ASCII→EBCDIC! ! |] | !

(英小文字) (英大文字) (変換エラー)

ikanaは入力の半角カナモードを以下の値の中から指定します。 (入力がEUCコードの時のみ指定が有効になります。)

KANA_E EUCコード体系のコードセット2(2バイト/1文字)KANA_J JIS8コード(1バイト/1文字)

okanaは出力の半角カナモードを以下の値の中から指定します。 (出力がEUCコードの時のみ指定が有効になります。)

KANA_E EUCコード体系のコードセット2で出力(2バイト/1文字)KANA_J JIS8コードで出力(1バイト/1文字)KANA_G EUCコード体系のコードセット1(全角カナ)で出力

irecfmは入力ファイルのレコード属性を指定します。入力ファイル形式がデータファイル、EBCDIC系コードのテキストファイルの場合に有効となります。それ以外のASCII系コードのテキストファイルや、RDB型ローダファイルでは、改行コードをレコードの区切りとするため無効となります。省略した場合は固定長レコードとして扱われます。

RECFM_F 固定長レコード

Page 269: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

orecfmは出力ファイルのレコード属性を指定します。出力ファイルがEBCDIC系コードのテキストファイル、データファイルの場合に有効となります。ASCII系コードのテキストファイルやRDB型ローダファイルの出力では、改行コードをレコードの区切りとするため無効となります。省略した場合は固定長レコードとして扱われます。

RECFM_F固定長レコード

shiftはEBCDIC系コードからのデータ変換において、入力レコード上の制御コードの扱いを以下の値の中から指定します。

SHIFT_L シフトコード除去後 左詰めSHIFT_B シフトコードを空白(0x20)へ置換

cs3modeは変換後または変換元のEUCコードとして、コードセット3(3バイト/1文字表現)の使用する/しないを指定します。 入力EUCデータにコードセット3の文字が存在すれば、変換エラーとなり2バイト系代替文字コードで出力され、変換結果EUCデータにコードセット3の文字が存在すれば、2バイト系代替文字コードで出力されます。ただし、利用者定義変換テーブルにEUCコードセット3を定義した場合は、定義内容が有効となり代替文字コードで出力されません。

NOCS3_BLK コードセット3を使用しません。NOCS3_EUC コードセット3を使用します。

amend1は1バイト系コードの変換において、変換不可能な文字が発生した場合、代替文字として出力する文字の文字コードを指定します。省略した場合、“_”(アンダーバー)を代替文字とします。

amend2は2バイト系コードの変換において、変換不可能な文字が発生した場合、代替文字として出力する文字の文字コードを指定します。省略した場合、“■”(塗りつぶした四角)を代替文字とします。

delimitaはCSV形式の項目間の区切り文字を指定します。以下の値の中から指定して下さい。なお、指定する文字は1バイトの1文字でなければなりません。

省略(NULL) “,”(カンマ)を区切り文字として使用します。文字 指定文字を区切り文字として使用します。

noblcは変換後の文字項目データについて、後続空白を削除する/しないを指定します。なお出力レコード形式がデータの場合、出力領域長に満たない部分は、出力属性に応じた空白文字を埋めますのでこの指定は意味をもちません。

BLC_ON 後続空白を削除して出力します。BLC_OFF 後続空白は削除せずに出力します。

msgmaxはコード変換時に発生した警告メッセージの出力件数の上限値を以下の値の中から指定します。

MSG_NO 警告メッセージを出力しません。

Page 270: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

0 警告メッセージを無制限に出力します。1~9999 指定された値を警告メッセージの出力の上限値とします。

msgcontはコード変換時に発生した警告メッセージの件数がmsgmaxで指定した値に達した時、その後の変換処理を続行するか否かを指定します。省略した場合、MSGCONT_ONとして扱います。

MSGCONT_ON 処理を続行します。MSGCONT_OFF 処理を中断します。

msgfnameはコード変換時に発生した警告メッセージの出力先ファイル名を指定します。NULLが指定された場合、警告メッセージは出力されません。指定されたファイル名が存在しない場合は新規に作成し、既に存在する場合は上書きします。

usrfnameは利用者定義変換テーブルファイル名を指定してください。利用者定義ファイルを使用しない場合はNULLを指定してください。指定されたファイル名が存在しない場合は異常終了します。 利用者定義テーブルに関する詳細はTF-MDPORTオンラインマニュアルの"MDPORT変換指示 利用者定義変換テーブル"を参照して下さい。

layfnameはmdportgコマンドにより出力されたデータ定義文解析ファイル名を指定してください。データファイル変換以外の場合は無視されます。指定されたファイル名が存在しない場合は異常終了します。

[復帰値]

正常終了の場合確保されたコード変換情報のアドレスが返されます。異常終了の場合はNULLが返されます。

[注 意]

MDP_init()関数で初期化を行わずに、他のレコード変換関数を呼び出さないで下さい。動作は保証されません。

MDP_init()関数での初期化は1度だけ行ってください。重複して初期化を行う必要はありません。

mdportgコマンドとMDP_init()関数で指定する入出力ファイル形式は同じにして下さい。異なる場合、動作は保証されません。

Page 271: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

MDP_conv()

[名 前]

MDP_conv - 文字コードの変換/レコード形式の変換を行います。

[形 式]

#include “MDPcomm.h” int MDP_conv(char *inf,char *irec,int ireclen,char *orec,int *oreclen);

[機能説明]

本関数は、MDP_init()の復帰値として返されたコード変換情報infに従い、入力レコードirecをireclenバイトだけ読み込み、変換結果、変換後バイト長をそれぞれorec、oreclenに返します。なお、orecの領域はireclen、文字コード、ファイルタイプなどを考慮したうえで呼び出し元で十分な領域を確保し、そのバイト長をoreclenに設定して下さい。

[復帰値]

正常終了時はMDPORT_OKを、異常終了時はMDPORT_NGを返します。

[注 意]

- 入出力レコードが行区切り文字ありの場合、それぞれのレコード長は、行区切文字長を含むものとします。 - 入出力レコード長に指定できる最大レコード長は、32767バイトまでです。 - 入出力レコードが可変長レコードの場合、RDW(Record Descriptor Word)は含まないものとします。

Page 272: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

MDP_fin()

[名 前]

MDP_fin - レコード変換関数の終了処理を行います。

[形 式]

#include “MDPcomm.h” int MDP_fin(char *inf);

[機能説明]

本関数は、MDP_init()の復帰値として返されたコード変換情報infの領域を解放し、レコード変換の後処理を行います。

[復帰値]

正常終了時はMDPORT_OKを、異常終了時はMDPORT_NGを返します。

Page 273: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

MDP_stat()

[名 前]

MDP_stat - 詳細情報を取得します。

[形 式]

#include “MDPcomm.h” int MDP_stat(int para, char *inf);

[機能説明]

本関数は、MDP_init()の復帰値として返されたコード変換情報infからparaに従った情報を取得します。paraに以下の値を指定することができます。

MDP_WARNUM ワーニング発生件数を取得します。

MDP_ERROR 本関数を呼び出す直前のMDP_conv()または、MDP_fin()で発生したエラー詳細コードを取得します。

[復帰値]

paraに指定された値により以下の値が返されます。 MDP_WARNUM  

0  : ワーニングは発生していません。正の整数 : ワーニング発生件数

MDP_ERROR

0  : 正常終了しました。MDPERR_PARA : 引数に誤りがあります。MDPERR_CONV : コード変換エラー(ワーニング)が発生しました。MDPERR_ENV : 環境に誤りがあります。その他の数値 : システムのerrnoです。

[注 意]

- 本関数では、MDP_init()の詳細情報は取得できません。MDP_init()の詳細情報はメッセージの出力先ファイルまたは、標準エラー出力を参照して下さい。 - 本関数によって返されるエラー詳細情報は、直前に呼び出されたレコード変換関数についてのみの情報です。対象とするレコード変換関数から復帰後、本関数を呼び出す前に、他のシステムコールや関数を呼び出すとエラー詳細情報は無効になります。

Page 274: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

データ定義文解析ファイル生成コマンド[mdportg]のエラーメッセージ

ここでは、コード変換/レコード変換機能で利用するmdportg関数のエラーについて説明します。以下にメッセージ形式を示します。 MDPORT  メッセージレベル:メッセージ本文

メッセージレベル

以下に、出力されるメッセージレベルを示します。 (なし) 実行に関して、利用者に通知する確認メッセージです。error エラーが発生しだい処理を中断し、コマンドは異常終了します。

warning 軽度のエラーが存在しますが、適当な仮定に従って処理を続行します。

メッセージ本文

メッセージの内容を示します。メッセージによっては2行にわたって出力され、2行目には、メッセージの示す箇所や詳細情報が示されます。

例 : MDPORT ERROR : データ定義文に文法上の誤りがあります。 line:5 detail 不当な文字列が存在

このメッセージ例では、データ定義文の5行目に、指定可能キーワード以外の文字列を検出したことを意味しています。 エラー等が発生した場合は、メッセージ本文中の発生理由をもとに、正しい指定を行う等して再度コマンドを実行してください。以下に、メッセージ本文の2行目に出力される詳細情報の意味を示します。 line データ定義文等の入力となるファイルの行番号を示します。obj エラーが発生したMDPORTのプログラム名を示します。file エラーが発生した時にアクセスを試みたファイル名を示します。sys エラーが発生した関数名・システムコール名を示します。errno システムコールより通知されたエラーコードを示します。

Page 275: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

警告メッセージ

ここでは、警告メッセージの出力形式や意味を説明します。

警告メッセージは、処理続行可能な軽度のエラーが発生した場合に出力されます。警告メッセージの出力先は、以下のように決定されます。

-MDP_init関数内のmsgfnameでコード変換時に発生した警告メッセージの出力先ファイル名を指定します。NULLが指定された場合、警告メッセージは出力されません。指定されたファイル名が存在しない場合は新規に作成し、既に存在する場合は上書きします。

警告メッセージは以下の形式で出力されます。

nnnn-mmm : 警告メッセージ内容 nnnn : 入力ファイルに対する1から始まるレコード番号 mmmm : 入力レコードに対する1から始まる発生カラム位置

表1に、出力される警告メッセージ内容とその意味を示します。

表1 警告メッセージ内容と意味

警告メッセージ内容 意 味

char:XX 変換不能文字の発生(XXは変換不能なコード)num error 数値項目における数値例外または符号例外RDW error 可変長レコードRDW情報に誤りmulti-c error 2バイト系コード値の異常length over 変換結果が出力長を超えたitem over 入力データの項目数がデータ定義文より多い

警告メッセージは出力時に、1行80バイト以内におさまるように編集されます。以下に、出力の例を示します。

例:1-10:char:01 1-25:char:09 1-305:num error 1-400:multi-c error 2-404:item over 5-10:char:06 28-404:item over 100-1:char:FF

Page 276: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

コマンド機能における制限・注意事項

コマンド機能における制限・注意事項を以下に示します。

- データファイル変換では当コマンドはUNIX版と異なり、COPYライブラリを直接指定しての変換(COPY句の解析を同時に行うこと)はできません。 あらかじめレイアウト定義機能(F5AVPLAY.EXEまたはMDPORTLC.EXE)で、レイアウト定義ファイルを作成して下さい。

- 変換指示ファイルを指定した変換において、指定された変換指示ファイルがCharset Managerを使用して変換するよう定義されている場合、-jオペランドを指定しなくてもCharset Manager変換となります。

- コマンド機能の変換仕様はTF-MDPORTオンラインマニュアルに記載されている変換仕様に従います。コード/レコード変換機能の変換仕様とは異なる部分があります。

- MDPORTを複数起動した場合の動作は保証していません。

- 4GBを超えるログファイルへのログ出力を行うことはできません。また、入力ファイルにワイルドカードを指定し、出力ファイルが単一で追加書きとなる場合も同様に、4GBを超える出力ファイルに追加書きすることはできません。

- MDPORTCコマンドで可変長データの変換を行う場合に-ilオペランドを指定すると、ファイルの途中で変換処理が終了する場合があります。可変長データの変換の場合は-ilオペランドを指定しないでください。

- 入力または出力にXML形式を指定したレイアウト定義を変換で使用することは出来ません。[x64版]

Page 277: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

コード変換/レコード変換機能における制限・注意事項

コード変換/レコード変換機能における制限・注意事項を以下に示します。

- Charset Managerがインストールされている場合は、Charset Managerを利用したコード変換を行います。 同一コードでの変換やCharset Managerで対応していないコード変換パスでは利用しません。 Charset Managerの動作環境の設定に関する詳細は"実行環境"を参照して下さい。

- 変換不能文字がある場合、MDPcvinf構造体宣言のmsgfnameに指定したファイルに変換元コードが16進形式で出力されます。 Unicodeの場合は種別(UCS2/UTF8)やエンディアンにかかわらず、UCS2ビッグエンディアンで出力されます。

- 利用者変換定義テーブルでUnicodeを指定する場合は、コード系名にUCS2を指定し文字コードは、UCS2ビッグエンディアン4桁で指定します。 UnicodeからJEFへの変換の場合、利用者変換定義テーブルの指定によって、X項目にJEF2バイト文字やN項目にJEF1バイト文字が設定される場合があります。 この場合変換エラーの扱いになります。 利用者変換定義テーブルに関する詳細はTF-MDPORTオンラインマニュアルの"MDPORT変換指示 利用者定義変換テーブル"を参照して下さい。

- レコード変換機能ではUnicodeファイルのSignatureを認識しません。ユーザアプリケーションで認識し、レコードデータのみをレコード変換機能に渡して下さい。 またUnicode変換後のSignatureの付与についてもユーザアプリケーションで必要に応じて行って下さい。

- UCS2(ビックエンディアン)の入力レコード長を奇数バイトにした場合、半端な最後の1バイトは変換エラーとしますが、 UCS2(リトルエンディアン)の場合は端数バイトを無視しエラーとしていません。

- MDPcomm.hの定義文において、当マニュアルに説明がない項目については、本バージョンでは意味を持ちません。

- レコード変換機能で変換中にシステムエラーなどの継続不可能なエラーが発生した場合、当該レコードの変換結果は保証されません。

Page 278: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

用語集

Charset Manager

富士通標準コード変換を提供しているWindows上のソフトウェアです。 Charset ManagerのバージョンレベルはV2.1以降でなければなりません。 なお、Unicodeを使用する場合はV2.1L30以降が必要です。

  COBOLファイル

Windows上のCOBOLアプリケーションプログラムでアクセスするファイルの形式。ファイル編成として、レコード順ファイル、行順ファイル、相対ファイル、索引ファイルがあります。 なお、汎用機上のCOBOLプログラムで作成されたファイルは、コード変換/レコード変換機能(ライブラリ)では一般ファイルとして扱います。

  COPYライブラリ

COBOL言語で記述された、レコード記述項のCOPY原始文ソースを指しています。  CSV形式

項目間をカンマ(デリミタ文字)で区切った形式のテキストファイルを指します。コード変換/レコード変換機能(ライブラリ)では区切り文字がカンマ以外でもCSV形式と呼びます。一般的に可変長レコードです。これに対し、レコード上の相対バイト位置で項目を区切るデータファイルを、データファイル形式と呼びます。 CSV形式であれば、表計算ソフトや各種RDBローダファイル、awk等のユーティリティへと応用することができます。

  XML形式

コマンド機能(mdportc)でXMLデータを作成する場合に指定する形式です。レイアウト定義の項目名をタグ、属性としてXMLデータを作成できます。

  Signature

Unicodeファイルが、UCS2(リトルエンディアン)・UCS2(ビッグエンディアン)・UTF8のどれなのかを識別するためのコードです。ファイルの先頭に付加されます。

  データ定義文ファイル

レコード変換機能(ライブラリ)で、入力または出力のファイル形式がデータファイルの場合に使用します。データファイルのレコードフォーマットを、COBOL文法のデータレコード記述を使用して記述したテキストファイルで定義します。COBOL文法は、コード変換/レコード変換機能(ライブラリ)でサポートしているANSI'85規定範囲内で記述します。

  データ定義文解析ファイル

データ定義文解析ファイル生成コマンドにより作成されるファイルです。レコード変換機能(ライブラリ)によるデータ変換では必須となります。

 

Page 279: FUJITSUsoftware.fujitsu.com/jp/manual/manualfiles/m120002/b1wd...適用 以下のようなケースでの適用が挙げられます。- ダウンサイジング等におけるデータ移行としての手段

変換指示ファイル

コマンド機能(mdportc)の変換指示により指定された情報を格納するファイルで、拡張子は「.mdp」です。変換指示ファイルはMDPORT本体機能で作成します。

  利用者定義変換テーブル

利用者定義文字(外字)や拡張漢字/非漢字を任意の文字へ変換するための、コードの対応づけを行うテーブルファイルです。

  レイアウト定義ファイル

レイアウト定義機能により作成されるファイルで、拡張子は「.lay」です。データファイル変換では必須となります。