($title_img_alt)

こちらからの投稿は、先頭に表示されているコメントへの返信になります。
XMLデータをAS/400のDB2に取り込みたい シャリース さん [ 1月14日(水) 17時4分 ]
お世話になります。
弊社のAS400のVerは5.4です。

取引先からXML形式のファイル(ASCII)をWEBからダウンロードして
弊社内の基幹システムに取り込みたいです。

取込方法として考えているのは、
?WEBからMXLファイルをPCの任意のフォルダーにダウンロードします。
?エミュレータのデータ転送機能でAS400にアップロードします。
 (この時の形式はXMLでASCII→EBCDICに変換した1レコードが
  延べ単レコードとしてAS400にアップロードされた状態)
?この延べ単レコードからいつも利用しているDDSから作成されたDB2に
 コピーしたいが方法が分らない。

※イメージとしてはCSVファイルをCPYFROMIMPFで項目毎にセットしてくれるような
 コマンドが有ればベストだと思います。
 Ver7.0以上ならコマンドが用意されてそうですが...
 APIとかフリーのプログラムが無いでしょうか。
RE:XMLデータをAS/400のDB2に取り込みたい シャリース さん [ 1月19日(月) 10時24分 ]
良い解決方法が無いので面倒ですが次の運用で対応する事にしました。

1. WEBからMXLファイルをPCの任意のフォルダーにダウンロードします。
2. PC上でEXCEL2007を起動し、データタブ?「その他データソース」をクリック
3. プルダウンリストの「XMLデータインポート」して
4. 終了時にCSV形式で保存する。
5. このCSV形式ファイルをエミュレータのデータ転送でAS400に取り込む
6. 後はCSV形式ファイルをAS400内でCPYFRMIMPFコマンドでDBに取り込む

ちょっと手間ですが、仕方ないですね。
もっと良い方法があればご教示お願い致します。
RE:XMLデータをAS/400のDB2に取り込みたい IKD さん [ 1月22日(木) 21時24分 ]
「CGIを使わないデータ・ベース更新」として紹介している記事で
取り上げているコマンドは
( http://www.officequattro.com/jpn/technet/contents/tnet_19.html )

 CPYTOXML   と  CPYFRMXML

です。このうちの CPYFRMXL ( XMLからデータ・ベースへのコピー) が
求めておられる機能となっているはずです。

また、「他のファイルへの変換」として紹介されている、

 ( http://www.officequattro.com/jpn/technet/contents/tnet_12.html )

のも CPYTOCSV( CSVへの変換), CPYTOXML ( XML への変換) や
CPYTOXML ( EXCELへの変換) です。

また RPG で Excelのセル値や背景色などもを読み書きできる POI としいう
ツール ( http://www.officequattro.com/jpn/technet/contents/tnet_22.html )

もありますが、いずれもEnterpriseServer や Spoolライターなどの製品の
機能の一部として提供されます。
高度な機能を簡単に使えるように提供されているのですから
無料というわけには行きません。

なお CPYFRMXML コマンドが OS7.1 で使えるとは聞いたことはありません。
XML は Parse 処理としての解析が必要なので ILE-RPG で XML-Parse の組み込み関数は
用意されていますが莫大なワーク・エリアを必要とし、またパフォーマンスが悪く
実用レベルの機能ではありません。

IBM の System i 開発グループが XML の本質を良く理解していないようで
同じような誤解が米国でも珍しくありません。
XML は実はRPG開発者にとって扱いやすいはずなのですが良く本質が理解されていないので
莫大な処理となってしまっています。

あの Sccot Klement という有名な SE はなんと 自分で RPG で XMLパーサーを
作ったのですが単に一般的な C言語によるXMLパーサーを RPG で書いただけなので
莫大なXMPパーサーとなってしまいました。

おかげで自分自身も使わないXMLパーサーだけが残ってしまいました。
RE:XMLデータをAS/400のDB2に取り込みたい シャリース さん [ 1月26日(月) 15時58分 ]
なるほど。

XML変換するには貴社の「EnterpriseServer」があれば
コマンドが用意されているとの事ですね。

またOS7.0以降で準備されているのではないかと勘違いしていたようです。

しかし残念な事にEnterpriseServerを導入する予算も有りませんので
前にも記載しましたがPC上の運用でカバーしていきたいと思います。

アドバイスありがとうございました。

お名前

パスワード

メールアドレス

タイトル

ホームページ

アドレス

項目