固定長書き込みウィザード

固定長書き込みウィザードとは

固定長書き込みウィザードとは、ドラッグ&ドロップ操作で入力データから固定長データを生成するために必要なフォーマット定義の作成を行うことができる機能です。
固定長ファイルについては、「固定長形式のテキストファイル」を参照してください。

固定長書き込みウィザードの起動

固定長書き込みウィザードの起動は、グローバルリソース「固定長書き込みフォーマット定義」の設定画面で[固定長書き込みウィザードの起動]を押下することで行います。

固定長書き込みウィザードの画面構成



画像内の番号 名称 説明 備考
(1) 列一覧 入力データの構造を定義します。
入力データの列数と同数のフィールドを追加し、各フィールドに対して構造(名前、型、長さ、揃え、パディングなど)を定義します。
  • 列一覧はテーブルモデル型と同様の構造です。
    テーブルモデル型については、「データモデル」を参照してください。
(2) 構造定義 出力データの構造を定義します。
構造定義ではグループ、レコードを定義し、そこに列一覧で定義したフィールドをドラッグ&ドロップで追加します。
 
(3) フィールド(列一覧)  
  • フィールドは黄色のアイコンで表現されます。
(4) 削除(列一覧) [列一覧]ツリーで選択されたフィールドを削除します。
  • フィールドの右クリックメニュー[削除]からも同様の操作が可能です。
(5) 追加 [列一覧]にフィールドを追加します。
  • 「列」の右クリックメニュー[追加]-[フィールド]からも同様の操作が可能です。
(6) 編集(列一覧) [列一覧]ツリーで選択されたフィールドの定義画面を開きます。
  • フィールドの右クリックメニュー[プロパティ]からも同様の操作が可能です。
(7) グループ  
  • グループは青色のアイコンで表現されます。
(8) レコード  
  • レコードは緑色のアイコンで表現されます。
(9) 固定フィールド 構造定義に固定フィールドを追加することで、定数フィールドのような定義ができます。
  • 固定フィールドは黄色のアイコン(チェック付き)で表現されます。
(10) フィールド(構造定義)  
  • フィールドは黄色のアイコンで表現されます。
(11) 削除(構造定義) [構造定義]ツリーで選択された要素を削除します。
  • 要素の右クリックメニュー[削除]からも同様の操作が可能です。
(12) 編集(構造定義) [構造定義]ツリーで選択された要素の定義画面を開きます。
  • 要素の右クリックメニュー[プロパティ]からも同様の操作が可能です。

列一覧の設定

列一覧では、入力データのカラムをフィールドとして構造情報を定義し、固定長データの1レコードを定義します。

フィールドの設定

フィールドの設定は、以下の手順で行います。
  1. 以下のいずれかの操作を行い、「フィールド定義」画面を開きます。
  2. 「フィールド定義」画面で各プロパティを設定します。
    基本設定
    項目名 必須/省略可 説明 備考
    フィールド名 必須 任意のフィールド名を入力します。  
    フィールド型 必須 フィールドの型を選択します。
    • [文字列]:(デフォルト)
    • [数値]:
    • [日付]:
    • [タグ]:
    • [数値(ゾーン10進)]:
    • [数値(パック10進)]:
    • 最初のフィールドが[タグ]であるレコードは「タグレコード」として扱われます。
      • 複数行にわたり同じ値のタグレコードがある場合、最初の行だけ出力されます。
    エンコード 省略可 任意のエンコードを選択または入力します。

    入力する場合は、Java SE Runtime Environment 8でサポートされているエンコードを指定します。
    詳細については、「Supported Encodings」(http://docs.oracle.com/javase/8/docs/technotes/guides/intl/encoding.doc.html)を参照してください。
    • [フィールド型][文字列]または[タグ]が選択された場合、有効になります。
    • [エンコードを指定]にチェックを入れない場合、固定長ファイル読み取り処理の[読み取り設定][エンコード]を使用します。
    フィールド長 必須 フィールド全体の長さをバイト数で入力します。
    • 指定したフィールド長より入力データが長い場合、フィールド長で切り取った値を書き込みます。
    開始位置 - レコード内におけるフィールドの開始位置を自動で表示します。  
    揃え 必須 フィールドの揃えを選択します。
    • [右揃え]:(デフォルト)
      フィールドを右揃えにします。
    • [左揃え]:
      フィールドを左揃えにします。
     
    パディング文字 必須 パディングする文字を選択します。
    • [一覧から選択]:(デフォルト)
      半角スペース(デフォルト)、半角ゼロ、全角スペース、全角ゼロから選択します。
    • [直接入力]:
      パディングする文字を直接入力します。
    • [文字コード入力]:
      パディングする文字を文字コードで入力します。
     
    フィールドタイプ設定
    項目名 必須/省略可 説明 備考
    タグ 省略可 タグ(レコード識別コード)を入力します。
    • [フィールド型][タグ]を選択した場合、有効になります。
    日付フォーマット 省略可 日付のフォーマットを選択または入力します。
    年号 意味 表示
    y 数値 1996
    M テキストまたは数値 July&07
    d 数値 10
    h 時(1〜12) 数値 12
    H 時(0〜23) 数値 0
    m 数値 30
    s 数値 30
    S ミリ秒 数値 978
    • [フィールド型][日付]を選択した場合、有効になります。
    • デフォルトは「$yy$MM$dd」です。
    小数部桁数 省略可 小数の桁数を入力します。
    • [フィールド型][数値(ゾーン10進)]または[数値(パック10進)]を選択した場合、有効になります。
    ゾーンニブル 省略可 ゾーン部のニブルを入力します。
    • [フィールド型][数値(ゾーン10進)]を選択した場合、有効になります。
    • 1桁から3桁のゾーンニブルを指定した場合、4桁までの足りない桁を「0」で埋めたゾーンニブルが設定されます。
    • 省略した場合、固定長ファイル読み取り処理の[読み取り設定][エンコード]をもとにゾーンニブルが設定されます。主なエンコードで設定されるゾーンニブルは以下の通りです。
      エンコード ゾーンニブル
      Shift_JIS 0011
      Windows-31J 0011
      EUC-JP 0011
      ISO-8859-1 0011
      ISO-2022-JP 0011
      US-ASCII 0011
      UTF-8 0011
      UTF-16 0011
      UTF-16BE 0011
      UTF-16LE 0000
      EBCDIC(Cp930) 1111
    符号形式 省略可 符号の形式を選択します。
    • [符号なし]:(デフォルト)
      符号部がない場合に選択します。
    • [最初]:
      符号部が最初の桁に入る場合に選択します(Leading)。
    • [最初(単独)]:
      符号部が独立したバイトとして最初の桁の前に入る場合に選択します(Leading Separate)。
    • [最後]:
      符号部が最後の桁に入る場合に選択します(Trailing)。
    • 最後(単独):
      符号部が最後の桁のあとに独立したバイトとして入る場合に選択します(Trailing Separate)。
    • [フィールド型][数値(ゾーン10進)]または[数値(パック10進)]を選択した場合、有効になります。
    正のニブル 省略可 正のニブルを入力します。
    • [符号形式][符号なし]以外を選択した場合、有効になります。
    • 1桁から3桁の正のニブルを指定した場合、4桁までの足りない桁を「0」で埋めた正のニブルが設定されます。
    • 省略した場合、「1100」が設定されます。
    負のニブル 省略可 負のニブルを入力します。
    • [符号形式][符号なし]以外を選択した場合、有効になります。
    • 1桁から3桁の負のニブルを指定した場合、4桁までの足りない桁を「0」で埋めた負のニブルが設定されます。
    • 省略した場合、「1101」が設定されます。

    ニブルとは、情報量の単位の1つで、4ビットに相当します。

  3. [完了]ボタンを押下し、列一覧にフィールドを追加します。

構造定義の設定

構造定義では、出力するデータの構造を定義します。

グループの設定

グループの設定は、以下の手順で行います。
  1. 構造定義アイコンの右クリックメニュー[追加]-[グループ]を選択し、「グループ定義」画面を開きます。

  2. 「グループ定義」画面で各プロパティを設定します。
    基本設定
    項目名 必須/省略可 説明 備考
    グループ名 必須 任意のグループ名を入力します。  
    出現回数 省略可 書き込み処理では使用していません。  
    省略可 省略可 書き込み処理では使用していません。  
    無制限 省略可 書き込み処理では使用していません。  

  3. [完了]ボタンを押下し、構造定義にグループを追加します。

レコードの設定

レコードの設定は、以下の手順で行います。
  1. 構造定義アイコンまたはグループアイコンの右クリックメニュー[追加]-[レコード]を選択し、「レコード定義」画面を開きます。

  2. 「レコード定義」画面で各プロパティを設定します。
    レコードのプロパティ
    項目名 必須/省略可 説明 備考
    レコード名 必須 任意のレコード名を入力します。  
    出現回数 省略可 書き込み処理では使用していません。  
    省略可 省略可 レコードに対応する入力データを、行ごとに必ず出力するかどうかを選択します。
    • [チェックあり]:
      • レコードに対応する入力データが1つ前の行と同じ場合、出力が省略されることがあります。
      • 出力が省略されるのは、以下の条件にすべて合致した場合になります。
        • 後続のレコードで、[省略可]が「チェックなし」に設定されているレコードが存在しない場合
        • 後続のレコードで、[省略可]が「チェックあり」に設定されているレコードが存在し、そのレコードに対応する入力データが1つ前の行と同じ場合
        • 後続のレコードで、1つ目のフィールドがタグのレコードが存在し、そのレコードに対応する入力データが1つ前の行と同じ場合
        • 入力データの最終行ではない場合
    • [チェックなし]:(デフォルト)
      • 行ごとに必ずレコードを出力します。
     
    無制限 省略可 書き込み処理では使用していません。  

  3. [完了]ボタンを押下し、構造定義にレコードを追加します。

フィールドの設定

フィールドの設定は、以下の手順で行います。
  1. [列一覧]に定義したフィールドを選択し、[構造定義]に定義されているレコードにドラッグ&ドロップします。



  2. フィールドにリンクが張られ、構造定義のレコードにフィールドが追加されます。

固定フィールドの設定

固定フィールドの設定は、以下の手順で行います。
  1. レコードアイコンの右クリックメニュー[追加]-[フィールド]を選択し、「フィールド定義」画面を開きます。

  2. 「フィールド定義」画面で各プロパティを設定します。
    プロパティの詳細については、「フィールド定義(列一覧)」を参照してください。
    [フィールド名]に入力した値がそのまま出力されます。

  3. [完了]ボタンを押下し、構造定義に固定フィールドを追加します。

構造定義ファイルのエクスポート/インポート

固定長書き込みウィザードで定義した構造定義、列一覧をCSV形式のファイルに保存し、そのファイルから構造定義、列一覧を復元することができます。
構造定義ファイルは、読み取り処理、書き込み処理の両方で使用することができます。

構造定義ファイルの仕様

構造定義ファイルのエクスポート

次の構造定義をエクスポートします。



  1. メニューの[構造定義ファイル]-[エクスポート]を選択します。

  2. エクスポート先のファイルを指定し、[完了]ボタンを押下します。
    ファイルパスはDataSpiderファイルシステムの絶対パスで指定してください。
    パス区切り文字「/」以外のDataSpiderファイルシステムの使用禁止文字は使用できません。
    [参照]ボタンを押下するとファイルチューザが起動し、ファイルの選択ができます。
    [プレビュー]を押下するとプレビューアを起動して、指定したファイルの内容を表示します。

  3. エクスポートに成功すると、「エクスポートの成功」ダイアログが表示されます。

  4. エクスポートされたファイルの内容は以下の通りです。
    GROUP,グループ,,false
    RECORD,レコード,,false
    FIELD,タグ,tag,HDR,Windows-31J,3, ,L,0,,,,,true
    FIELD,文字列,string,,Windows-31J,5, ,L,0,,,,,true
    FIELD,数値,numeric,,,3, ,R,0,,,,,true
    FIELD,日付,date,$yyyy/$MM/$dd,,10, ,R,0,,,,,true
    FIELD,ゾーン10進,zoned,,,2, ,L,0,T,,1100,1101,true
    FIELD,パック10進,packed,,,2, ,L,0,T,1111,1100,1101,true

構造定義ファイルのインポート

次の構造定義ファイルをインポートします。
GROUP,グループ,,false
RECORD,レコード,,false
FIELD,タグ,tag,HDR,3, ,L,0,,,,,true
FIELD,文字列,string,,Windows-31J,5, ,L,0,,,,,true
FIELD,数値,numeric,,,3, ,R,0,,,,,true

  1. メニューの[構造定義ファイル]-[インポート]を選択します。

  2. インポートするファイルを指定し、[完了]ボタンを押下します。
    ファイルパスはDataSpiderファイルシステムの絶対パスで指定してください。
    パス区切り文字「/」以外のDataSpiderファイルシステムの使用禁止文字は使用できません。
    [参照]ボタンを押下するとファイルチューザが起動し、ファイルの選択ができます。
    [プレビュー]を押下するとプレビューアを起動して、指定したファイルの内容を表示します。
    すでに構造定義が存在する場合は、「警告」ダイアログが表示され、構造定義を上書きするかどうか選択できます。

  3. インポートに成功すると固定長書き込みウィザードに構造定義が表示されます。



構造定義ファイルを編集する場合の注意点


仕様制限