SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

OSSのERP「ADempiere」のフレームワークを利用した工程管理表の作成

OSSのERP「ADempiere」と他のOSSを連携する

OSSのERP「ADempiere」のフレームワークを利用した工程管理表の作成(4)

  • X ポスト
  • このエントリーをはてなブックマークに追加

4.2. Spoonを使ってデータ変換ファイル作成

 これからkikan.productmasterのデータをadempiere.lja_productmasterに取り込むステップを記載します。

 差分抽出するため、おおまかな流れとしては以下のようになります。

  1. adempiere.lja_productmasterの主キーのMAXナンバー取得
  2. 1で取得したデータを元に前回との差分をkikan.productmasterから取得
  3. 定数の設定
  4. 取得したデータをadempiere.lja_productmasterに挿入

1. adempiere.lja_productmasterの主キーのMAXナンバー取得

  1. 面左上の[デザイン]をクリックし[入力]-[table input]を右側にドラック&ドロップします。
  2. 画面右側の[table input]をダブルクリックして開き、以下のように設定します。
    • データソース名: adempeire
    • SQL: SELECT max(lja_productmaster_id) FROM lja_productmaster

2. 1で取得したデータを元に前回との差分をkikan.productmasterから取得

  1. [入力]-[table input]を右側にドラック&ドロップします。
  2. [table input2]というステップが作成されますのでShiftキーを押しながら[table input]をクリックしたまま、[table input2]に矢印をつなげ、クリックをリリースします。すると以下のような線が引かれます。
  3. 画面右側の[table input2]をダブルクリックして開き、以下のように設定します。
    • データソース名: kikan
    • SQL: SELECT SELECT * FROM productmaster where productmaster.key > ?
    • 先行のステップから値を引き継ぐ: チェック
    • ステップ名: Table input

 ※?部分には[table input]で取得したmax(lja_productmaster_id)が入ります。

3. 定数の設定

 これで基幹システムから前回からの追加分のデータが取得されるので、そのデータをinsertしてやりますが、その前にadempiere.lja_productmasterにはad_client_id, ad_org_id, createdby, updatedbyといったカラムがあるので、その値を設定してやる必要があります。

  1. [変換]-[Calculator]を右側にドラック&ドロップします。
  2. [Calculator]ステップと[table input2]をつなげます
  3. [Calculator]ステップを開き、以下のように設定します。

4. 取得したデータをadempiere.lja_productmasterに挿入

  1. [出力]-[Table output]を右側にドラック&ドロップします。
  2. [Table output]ステップと[Calculator]ステップをつなげます。
  3. [Table output]ステップを開き、以下のように設定します。
    • データソース名: adempiere
    • テーブル名: lja_productmaster
    • 列名を指定する: チェック
  4. [列名]タブを選択し[フィールドマッピング]ボタンをクリックし以下のように設定しOKボタンをクリックします。

 これで完成です。メニューより[action]-[実行]を実行するとlja_productmasterにデータが挿入されます。なお出来あがったktrファイルをタスクスケジューラーから定期的にpanから実行してやることで基幹システムデータを定期的に取得できるようになります(詳しくは筆者サイトのエントリーを参照ください)。

 実際の場合、基幹システム側のデータの更新、削除を考慮しなければならないため差分抽出はより複雑になります。

 なおADempiereの商品マスタウィンドウは下記のように表示されます。

まとめ

 この連載は今回で最後となります。今までADempiereのフレームワークに特化した内容を紹介してきましたが、ADempiereはOSSのERPですので、販売管理、生産管理、ワークフローなどの機能をデフォルトで持っており、それはそれで魅力的です。しかもADempiereは、このような柔軟性に富んだフレームワークも持ち合わせており、筆者は非常にポテンシャルが高いソフトウェアだと思っております。

 ERP導入は中小企業において、その導入の難しさ、導入費用の高さから高嶺の花です。しかしADempiereはOSSであるが故に導入費用も低く抑えられ、また拡張性の高さから、最初は小さく入れて徐々に使用機能を増やしていく、といった手段をとることで導入リスクを減らすことも可能です。

 2012/2現在、下記にてADempiereの勉強会を開催しておりますので本連載を通じて興味を持たれた方はお気軽にご参加ください。

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
OSSのERP「ADempiere」のフレームワークを利用した工程管理表の作成連載記事一覧

もっと読む

この記事の著者

cozy56(cozy56)

「品質を保つ=プログラミングの流用」という考えから結果、「OSSをなるべく使用する」ことにいたったナマクラ人間です。ブログ:ADempiereとPentaho、、、

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/6409 2012/02/27 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング