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 *

関連記事

AS400/IBMi AS400からPDFをダイヤログを出さずに画面上に表示

この記事は以前成功したときの備忘録を一応取っておくだけのもので、現在は使っていません。 このやり方は設定の手順も多いですし、DocuWorksに吐き出した方が編集もできて便利です。   ドキ …

AS400/IBMi アクティブジョブを取得するSQL WRKACTJOB

現在開いているJOBをSQLで取得しようと思った。 要するにWRKACTJOBで表示するのと同じ内容がほしい。   理由はWeb画面にユーザーのジョブを一覧で表示して、気に入らない奴を気分次 …

FTPができるようにしておかないとな

そろそろバックアップを取らなければならないな。投稿数が伸び悩む中でも、これだけの投稿が一瞬で無くなってしまうのも、ぞっとする。もしバックアップ&復元が失敗したら、今書いている文字すら電子のチリとなって …

AS400/IBMi STRSDAの備忘録

画面の表示 STRPDMの画面からOPTに17でSDA起動 ヘッダ・ボディ・フッター・サブファイルなどにレコードとして分かれているので、触るところのOPTに12を入れて実行。   基本操作 …

Windows環境変数を一覧表示するコマンド SET

VBAでプログラムを組むとき、プログラムを実行するユーザの環境に合わせて組むときがある。 例えばユーザ名を取得して処理を分岐するとか、ユーザのデスクトップに名前を付けて保存するとか。 それはPCのもつ …

Adsense広告




文字で検索

人気記事

なぜだか人気記事

読んでほしい順に