<シリーズ2 第4回> 株式会社オムニサイエンス社の「API-Bridge」を使ったIBM i とkintoneのAPI連携をやってみた!
投稿者:クラウド事業本部 クラウドサービス部 山﨑
<シリーズ2 第4回 最終回> 「IBM i 」のデータを「kintone」の画面から削除してみよう
さて、第一シリーズから続けて参りました「IBM i 」と「kintone」のAPIによる双方向データ連携に関する実証実験も今回で最終回となります。
最終回の今回は、データの削除です。
データの削除は、前回お伝えしたデータ更新とほとんど同じような形で実現できますので、ここまでお読みの読者さまには簡単にご理解いただけると思います。
今回も、以前より使用している「IBM i 」<customer>からデータを削除してみます。
まずは完成イメージをご紹介します。
「IBM i 」側のデータは、24件存在しています。
それでは、「kintone」からデータを更新します。
「kintone」アプリ「customer」のビュー選択プルダウンメニューから「カスタマイズビュー」を選択します。
「IBM i 」の得意先マスタが一覧表示されますので、削除したいデータ行の「削除」ボタンをクリック!
今回は、前回登録した得意先コード「A0000240」のデータを削除してみましょう。
「削除」ボタンをクリックすると、削除確認画面が表示されます。
内容を確認入力したら、画面下部にある「削除」ボタンをクリック!
データの削除処理が正常終了すると一覧画面が表示されますのでデータが削除されていることを確認してください。
ちゃんと削除されていますね!
では、「IBM i 」側の得意先マスタを確認してみましょう。
24行目のデータが削除されていることが確認できます。
完成イメージをご覧いただいたところで、実装方法についてご紹介していきましょう。
今回も用意するのは、「API-Bridgeサーバー」でのSQL定義、「kintone」での、HTML、JavaScriptとなります。
まず、「API-Bridgeサーバー」の定義です。
「IBM i 」のデータを削除するために以下の通り定義(「delData」というDELETEメソッドを処理するAPI)を作成しました。
削除するデータの受け渡し方法は、前回の更新処理同様URLのパラメータを使用する方法を採用しています。
今回のパスパラメータ定義は以下の通りです。
次に、delDataというAPIで実行するSQL(ここでは同じ名前になりますが、delData)を定義します。
データを削除するデータベースを指定し、SQLのDELETE文を定義します。
前回同様、ライブラリ「NICAPI」にあるデータベース「CUSTOMER」を使用しています。
URLで受け取ったパラメータをSQL文に取り込むため、設定ウインドウで定義を行ないます。
定義されたパラメータをSQL文に取り込むにはパラメータの数だけ「?」をSQL文に記述します。
この時、パラメータウインドウで定義された順番でSQL文の「?」に嵌め込まれて行きます。
これで、「API-Bridgeサーバー」の定義は終了です。「IBM i 」のデータを削除する準備ができました。
続いて、削除データを表示する画面定義及び処理を司るJavaScriptを作成していきましょう。
まず、削除データを表示する画面のHTMLは以下となります。基本的に登録画面をもじって作成しています。
前回の教訓通り、<form>での画面定義ですが、ボタンはここには定義しません!
続いて、データ削除のJavaScriptです。
いかがだったでしょうか。
ここまでの経験を最大限に活かして、短時間での実装ができました。
さて、シリーズ1から8回の長きに渡り、「IBM i 」と「kintone」のAPIによるデータ連携についてのご紹介をさせていただきましたが、今回をもって完了となります。
現在ではレガシーなシステムと思われがちな「IBM i 」も時代の変化に追随していて、実はオープンなシステムに変身している、ということが少しでもお伝えできれば、このブログの役目が果たせたんじゃないかなと思います。
このブログがもし業務改善や生産性向上のヒントになれば、筆者としてこんなうれしいことはありません。
また、別の取り組みで皆様の前に現れるかもしれませんが、その時は『ああ、あの時の…』と思い出してください。
それでは、またいつの日かお目にかかれることを願って筆をおきたいと思います。
今まで、素人が試した拙い文章をお読みくださり、読者の皆様には感謝申し上げます。
※「IBM i 」は、IBM株式会社の登録商標です。
「APIBridge」は、株式会社オムニサイエンスの登録商標です。
「kintone」は、株式会社サイボウズの登録商標です。
※製品名、サービス名、会社名、ロゴは、一般に各社の商標、または登録商標です。なお、本文および図表中では、「™」、「®」は明記しておりません。
製品の仕様・性能は予告なく変更する場合がありますので、ご了承ください。
本サービスの詳細リンク先:IBM i アプリケーションモダナイズ
本サービスの詳細を知りたい場合は、こちらよりお問い合わせください。