悩んでいること
SAPの購買発注画面の入力が複雑で、ユーザが正しい選択をするのが難しい、とよく言われてしまいます。
いえいえ、慣れれば大丈夫ですよ、と気軽に言いたいところですが、そもそもユーザにとっては「どの項目を選択すべきか?」の運用ルールが理解しづらい、という話もあります。ここで選択すべき項目を間違えて、後続の仕訳の勘定コードや費用賦課部門に影響が出ると、経理部門での月次処理がますます大変になってしまいます。かといって、承認フローのすべてに経理部門を通す、というのも発注のリードタイムを考えると、業務上厳しい。しかも、経理部門の負担になってしまう…。
どうにかユーザさんの入力をサポートできるような、難しくなさそうなUIはないかなあ、と思い、チャットボットに目を付けました。
この記事は
SAPアドベントカレンダーの12月7日分の記事として投稿しています。
SAP CoPilot or SAP Conversational AI?
S/4HANA Cloud の環境にCoPilotがくっついているので、最初はここに実装するのかな?と思っていました。しかし、
- SAP CoPilot Skill Builder は S/4HANA Cloud では使用できない
- 英語にしか対応してない
のでそもそも不可でした。
まずは、SAP Conversational AI の
openSAP を受講した後、チュートリアルをやってみました。
今回はそこでの学びのメモをシェアします。
チュートリアルやってみた①
作ったもの
宅配サービスをやっている会社の顧客向けBot
できること
- 荷物番号から荷物の宛先をGoogleマップで表示する
- 送りたい荷物の大きさから料金を教えてくれる
学んだこと
- 処理に必要な情報が会話の中にない場合、情報を引き出すためのリプライの設定がRequirementsからできる。
- メモリに情報をセットして、メッセージ出力につかう。
- Entity の値に、Enrichments タブからJSON情報を付加できる。今回ここに価格を設定。
- Webhookで既存の外部サービスにつないで、場所をGoogleマップのサムネイルで表示させたりできる。
- メジャーな Intent (@yesとか)は公開Botを検索してfork できる。(おそらくほぼ英語)
- 色々な形でリアクションを返せる。(チュートリアルの中で色々使いました)

チュートリアルやってみた②
作ったもの
顧客がカテゴリから商品を選んで注文できるBot
(私の成果物イメージにちょっとだけ近い)
できること
- 挨拶すると初期メニューにあたるカードが表示される
- カテゴリのリストを選ぶとそこに含まれる商品が価格付きでリストされる
- 商品リストから商品をボタンで選ぶと、チェックアウトしますか?ときかれて、名前と住所とメールアドレスを確認される
学んだこと
- APIの使い方。情報取得のときはPOSTからGETにする(はまった)
- APIから取得した値を、JSONのスクリプトを通じて良い感じに出力している
- スキルのアクションとして別のスキルを呼べる
チュートリアルやってみた③
作ったもの
APIとWebhookの違いをデモするためのシンプルBot
できること
- 動物の名前を入れると豆知識を教えてくれる
- 場所の名前を入れるとGoogleマップのサムネイルが表示される(①と同じWebhook)
学んだこと
- WebhookのベースのURLが設定できること
- Webhookの場合は、CAIが受け取れる形のJSONで返す必要がある(APIのときはスクリプトで成形)
日本語チャレンジ
日本語でのBot作成もチャレンジしてみました。
- Bot新規作成時の事前定義インテント(あいさつとか)が日本語にはない
- チュートリアル②で見た目は日本語にしたけど動かなかった(おそらく渡す値が日本語になってしまってAPIにうまく渡せていない)

↑ この先が上手く処理できなかった
今後の課題
- S/4HANA Cloud のAPIにつなげてみる
- APIから取得したデータを利用するためのスクリプトの書き方を知る
- create-po というスキルをもつBotをforkできたので研究する
- 会話型ボット構築のベスプラを理解して設計する(このブログも)
- S/4HANA Cloud の CoPilotにつなげるのは無理そうなので、Teamsなどに公開することを検討する
- iRPAにはどうつなげるのか?(これもAPI?)
まとめ
にわかではプロトタイプと呼べるところまでたどり着けませんでしたが、openSAPとチュートリアルだけで、かなり理解が深まるのはありがたいなと思います。
引き続き、悩みごとの解決のために研究を続けます!(続く)
追記:
今回は公式チュートリアルの話ばかりしてしまいましたが、日本語の参照ブログもたくさんあります。
SAP Conversational AI (CAI) を利用したチャットボットの作成と事例紹介 – Part1
SAP Conversational AIをTeamsから使うセットアップ手順
チャットボットの開発(SAP Conversational AI)