<シリーズ2 第3回> 株式会社オムニサイエンス社の「API-Bridge」を使ったIBM i とkintoneのAPI連携をやってみた!
投稿者:クラウド事業本部 クラウドサービス部 山﨑
<シリーズ2 第3回> 「IBM i 」のデータを「kintone」の画面から更新してみよう
本シリーズでは、IBM i のモダナイズ、API連携について、実際にSaaS等と連携させた検証作業についてご案内します。
シリーズ2 第1回では「IBM i 」のデータを「kintone」から照会、シリーズ2 第2回では「IBM i 」のデータに「kintone」から登録する実証実験を行ないました。
引き続き今回は、データの更新です。
前回使用した「IBM i 」<customer>にデータを更新してみます。
まずは完成イメージをご紹介します。
「IBM i 」側のデータは、24件存在しています。
それでは、「kintone」からデータを更新します。
「kintone」アプリ「customer」のビュー選択プルダウンメニューから「カスタマイズビュー」を選択します。
「IBM i 」の得意先マスタが一覧表示されますので、変更したいデータ行の「更新」ボタンをクリック!
今回は、前回登録した得意先コード「A0000240」のデータを更新してみましょう。
「更新」ボタンをクリックすると、更新画面が表示され、データが更新できる状態になります。
ただし、得意先コードは主キーになりますので、表示のみで更新できないことを示す薄いグレー表示になっています。
ここからデータを更新しますが、今回は得意先名を「万博推進局」から「IR推進局」に更新してみます。
データを入力したら、画面下部にある「更新」ボタンをクリック!
データの更新処理が正常終了すると一覧画面が表示されますのでデータが更新されていることを確認してください。
ちゃんと更新されていますね!
では、「IBM i 」側の得意先マスタを確認してみましょう。
24行目のデータが更新されていることが確認できます。
完成イメージをご覧いただいたところで、実装方法についてご紹介していきましょう。
今回も用意するのは、「API-Bridgeサーバー」でのSQL定義、「kintone」での、HTML、JavaScriptとなります。
まず、「API-Bridgeサーバー」の定義です。
「IBM i 」のデータを更新するために以下の通り定義(「updData」というPUTメソッドを処理するAPI)を作成しました。
更新するデータの受け渡し方法は、今回も初心者にも簡単なURLのパラメータを使用する方法を採用しています。
今回のパスパラメータ定義は以下の通りです。
次に、updDataというAPIで実行するSQL(ここでは同じ名前になりますが、updData)を定義します。
データを更新するデータベースを指定し、SQLのUPDATE文を定義します。
前回同様、ライブラリ「NICAPI」にあるデータベース「CUSTOMER」を使用しています。
URLで受け取ったパラメータをSQL文に取り込むため、設定ウインドウで定義を行ないます。
定義されたパラメータをSQL文に取り込むにはパラメータの数だけ「?」をSQL文に記述します。
この時、パラメータウインドウで定義された順番でSQL文の「?」に嵌め込まれて行きます。
今回は、12項目ありますので、パラメータ定義は以下のように行ないました。
これで、「API-Bridgeサーバー」の定義は終了です。「IBM i 」のデータを更新する準備ができました。
続いて、更新データを入力する画面定義及び処理を司るJavaScriptを作成していきましょう。
まず、更新データを入力する画面のHTMLは以下となります。基本的に登録画面をもじって作成しています。
前回の教訓通り、<form>での画面定義ですが、ボタンはここには定義しません!
続いて、データ更新のJavaScriptです。
いかがだったでしょうか。
これまでの経験や基となるソースコードのおかげで、比較的楽に実装することができましたし、
実行で躓くこともありませんでした。
この調子で続けていきたいと思います!
ということで、今回はここまで。
次回はいよいよ最終回、「IBM i 」のデータを「kintone」から削除するAPIを実証実験した結果を報告します。乞うご期待!
では・・・
※「IBM i 」は、IBM株式会社の登録商標です。
「APIBridge」は、株式会社オムニサイエンスの登録商標です。
「kintone」は、株式会社サイボウズの登録商標です。
※製品名、サービス名、会社名、ロゴは、一般に各社の商標、または登録商標です。なお、本文および図表中では、「™」、「®」は明記しておりません。
製品の仕様・性能は予告なく変更する場合がありますので、ご了承ください。
本サービスの詳細リンク先:IBM i アプリケーションモダナイズ
本サービスの詳細を知りたい場合は、こちらよりお問い合わせください。