IT関連

AS400/IBMi IBMiへのデータ転送.FDFファイル

投稿日:2019年3月29日 更新日:

AS400のテーブルにアップロードするときDTTというツールを使う。

 

Data Transfer To AS400なので、DTTという。

逆にダウンロードはData Transfer From AS400なので、DTFという。

 

ダウンロードはカジュアルに使えるけど、アップロードはDBをぶっ壊しそうで怖いので、基本あまり使ってない。

 

ダウンロードは.dtfという拡張子のファイルが一つあればいいけど、アップロードには、.dttと.fdfというファイルが必要。

 

.dttは.dtfと同じ、対象となるAS400のテーブルを指定したり、PCのエクセルやCSVのファイルを指定するもの。

 

それとは別に必要な.fdfというファイルは、何桁目に何のカラムがあるのかを定義しているファイルみたい。

エクセルやCSVからAS400のテーブルにアップするわけだから、A列に何のレコード、B列に何のレコードが入ってるかをキッチリ定義してあげないといけないようだ。

 

これがFDFの中身のおよそ。テキストなのでメモ帳で見れる。これはダウンロードの.dtfをしたときに自動で作られる。自動で作られるというか、転送記述の保管というチェックボックスがあるので、それにチェックを入れるだけ。

[Data Transfer File Description]
FieldCount=36
FileType=16
Version=2
[Options]
DateFormat=3
DateSep=1
DcmlSep=1
TimeFormat=1
TimeSep=1
[F0001]
Length=2
Name=MWKBN
Type=20
[F0002]
Length=4
Name=MWDAI
Type=20


FieldCountはフィールド(カラム)の数。

FileTypeはそのままファイルの種類ですね。軽く調べたところBIFF8(MS Excel 8)が16、コンマ区切り可変長CSVが12でした。

Version,DataFormat,DateSep,DcmlSep,TimeFormat,TimeSepはわからない。同じだと思う。

[F0001]というのはカラムの数の連番、上記例は省いたが36カラムあるので、[F0036]まである。

Lengthは桁数ですね。

Nameはカラム名ですね。

Typeは型ですね。

 

このTypeの型やLengthの桁は、カラムが文字や数値などによって変化するみたいだけど、CSVかExcelかによっても変動するので覚えてもきりがなさそう。

というのは、もしAS400のテーブルのカラムを増やしたとき、.fdfも作り直さなければいけないので、サッとテキストを直せないかなと思ったところ。

 

アップする対象ファイルは存在するのだから、カラム変更の都度、面倒でもダウンロードして.fdfも作り直した方がよさそう。

 

もしテキストで直すならば、

  • [F????]を追加した場合は、FieldCountの数値も変更しなければならない
  • 大文字小文字も区別して認識するため、間違えないように気を付けること
  • 最後の行は改行すること。なるべくEOFが見えるTeraPadなどのエディタで開くのが望ましい。

 

スポンサーリンク




スポンサーリンク




-IT関連
-, , ,

執筆者:


comment

Your email address will not be published. Required fields are marked *

関連記事

Windows10 複合機からのスキャンができない

スキャンとは、複合機のガラス面に紙を載せるか、シュイーンと紙を吸い込ませると、紙のデータをPCに取り込める機能のこと。   最近Windows10の関係でその複合機のスキャンがうまくいかない …

XAMPP Windows 複数のPHPバージョンを切り替える 共存

なんちゃってWebプログラマーの俺が、会社でなんちゃってプログラムを作っている話なので、話半分に聞いてほしい。というか、自分の備忘録です。   会社の基幹サーバに対してWebで照会するプログ …

AS400/IBMi サブファイルのフィールドごとに文字色を変える

こんなことは当たり前の話かもしれないが、講習会に行くお金も出ない会社でずっと黙々と自社で開発していると、こんな情報も入ってこない悲しい話。   DDSのフラグに関するカラーや表示に関する設定 …

AS400/IBMi エラーまとめ(随時更新)

エラー関係のまとめです。書きかけ。   SQL0802 データ変換またはデータ・マッピング・エラー Vendor Code: -802 General error: -802 (SQLExe …

社内のパソコンが点いているかを一括確認 Ping Sweep

原理 宛先(PC)にデータを送って応答を待つping(ピングもしくはピン)というコマンドがある。 pingを送って応答があったパソコンは点いているということ。 これを利用してネットワーク全体にping …

Adsense広告


文字で検索

人気記事

なぜだか人気記事

読んでほしい順に