目次
はじめに
オファーレターの作成&配布プロセスの全体像
【STEP1】SAP API Business HubによるAPIの検索と宛先サービスの設定
【STEP2】API連携のためのアクションプロジェクトの作成
【STEP3】SAP SuccessFactorsより候補者データを取得するためのRPAの作成
おわりに
はじめに
近年の日本では、労働人口が減少したり、働き方改革により労働時間が削減されたりするなかで、Business Process Automation(BPA:業務プロセスを自動化)やRobotics Process Automation(RPA:単純作業をボットによって代行)を活用した業務の省力化・自動化が注目されています。
今回は、SAPが提供するBPA・RPAツールであるSAP Build Process Automationを使って、オファーレター作成から配布までの業務プロセスの自動化の例をご紹介します。
前回のブログでは、SAP Build Process Automationを活用することで、どのようにしてオファーレター作成から配布までの業務プロセスを改革することができるかについて説明しました。本ブログでは、実際にSAP Build Process Automationでプロセスを構築していく手順について紹介していきます。
第1回:SAP Build Process Automation オファーレター作成&配布の自動化! 【概要編】
第3回:SAP Build Process Automation オファーレター作成&配布の自動化! 【チュートリアル編② プロセスの作成】
参考レベル
今までにSAP Build Process Automation(旧 SAP Process Automation)を触ってみたことがある方
事前準備
Business Technology Platform環境の準備
SAP Build Process Automationのサブスクライブ
宛先サービスの有効化
SAP SuccessFactorsの準備
デスクトップエージェントのインストールと設定(参考ガイド )
オファーレターの作成&送信プロセスの全体像
第1回目のブログでもご紹介しましたが、SAP Build Process Automationを活用して、今回構築するプロセスは以下の画像の通りです。
プロセスの全体像
まず、①フォームの送信によってプロセスが開始されると、②人事システムであるSAP SuccessFactorsよりAPIを使用して候補者のデータを取得します。③続いて、候補者の情報をもとに、承認依頼が配属される部署のマネージャーへ送られます。承認された場合には、④Wordでオファーレターが作成され、⑤Outlookによって、オファーレターが添付された形で候補者へとメールが送信されます。また、却下された場合には、④-2申請者のもとに却下通知が送られてきます。
続いて、上記のプロセスを構築するための、具体的な作業について説明します。
本チュートリアルのステップ
オファーレターの作成から配布までのプロセス自動化を構築するために、上記の7つのステップを行う必要があります。第2回の本ブログでは、STEP1~STEP3、第3回のブログでは、STEP4~STEP7の各作業について紹介します。
STEP1~STEP3の作業は、候補者データを取得するためのRPAの作成とそのための事前準備です。SAP Build Process Automationでは、プロセス上で直接APIを呼び出すのではなく、別でアクションを用意し、プロセス上でアクションを使用します。本ブログでは、アクションの作成方法、プロセス上でアクションを使用する方法についても説明します。
*アクション・・・APIのパスや認証情報を事前に登録し、プロセスやRPAのなかで使用することができる機能。事前にIT部門の方がアクションを作成しておくことで、業務ユーザーが簡単にAPIを使用することができたり、ガバナンスを効かせることが可能。
それでは、STEP1から順に各作業について説明します。
【STEP1】SAP API Business HubによるAPIの検索と宛先サービスの設定
今回、構築するプロセス自動化では、オファーレターを作成するために、人事システム(SAP SuccessFactors)より、自動でオファーレターを送る候補者の情報を取得する必要があります。
そのために、SAP SuccessFactorsより候補者の情報を取得するためのAPIを探す必要があります。SAP SuccessFactorsやSAP S/4 HANAといったSAPアプリケーションのAPIを検索・試用・消費できるAPIのカタログサイトである
SAP API Business Hub を使用します。
今回は、以下の
Job Application のAPIを使用します。
SuccessFactors >
API >
ODATA V2 >
Job Application を選択します。
API Business Hub
SAP API Business Hubでは、APIの概要やAPIリファレンスの確認、トライアウトを行うことが可能です。それでは、今回使用する/JobApplicationで実際にGETリクエストを送ってみましょう。
API Business Hubトライアウトの結果
結果として、Response Bodyの部分にサンドボックス環境のレスポンスが表示されます。今回は、これらのデータを使用します。
ここで、後ほどSTEP2で必要になるAPI仕様(
API Specification )のJSONファイルをダウンロードします。
API仕様のダウンロード
続いて、アプリケーションとBTP上のサービスの接続を確立する宛先サービスに、APIで呼び出すシステムや認証情報の登録を行っていきます。
宛先サービスを利用することで、同じBTP上のサービスでAPI連携の設定を簡略化したり、認証情報を不要にしたりすることが可能です。
左側メニューバーより
宛先 を選択し、
新規宛先 を選択します。
宛先設定が表示されるので、空白のテンプレートより、以下のように設定していきます。
項目
値
名前
任意(例:SendOfferLetter)
タイプ
HTTP
説明
任意
URL
https://< ; ご自身のSuccessFactors環境を入力してください>/odata/v2/JobApplication
プロキシタイプ
Internet
認証
BasicAuthentication
ユーザ
<ご自身のユーザ名を入力してください>(<User>@<Company ID> )
パスワード
<ご自身のパスワードを入力してください>
追加プロパティ
sap.applicationdevelopment.actions.enabled
true
sap.processautomation.enabled
true
宛先の登録と設定
以上で、APIによりSAP SuccessFactorsから候補者データを取得する準備ができました。それでは、SAP Build Process Automationで候補者データを呼び出す設定を行っていきましょう。
【STEP2】API連携のためのアクションプロジェクトの作成
SAP Build Process Automationでは、直接プロセスのなかでAPIの設定を行うのではなく、アクションプロジェクト内でAPIとの連携の設定を行い、プロセス上でアクションプロジェクトを使用することで、APIの連携を行います。
まずは、先ほど作成した宛先をSAP Build Process Automationに追加します。
設定 >
宛先 から
新しい宛先 を選択し、先ほど登録した宛先を選んで追加します。
SAP Build Process Automationに宛先を追加
続いて、候補者データを取得するためのアクションプロジェクトを作成します。
ロビー >
作成 >
構築プロセス >
アクション の順に選択します。
アクションプロジェクトの作成
プロジェクト名、説明、API仕様のアップロードについては、以下の情報を入力してください。
項目
値
プロジェクト名
任意(例:SendOfferLetterAction)
説明
任意
API仕様のアップロード
RCMJobApplication.json (STEP1でダウンロードしたJSONファイルを指定)
作成 を選択し、しばらく時間が経つと、アクションプロジェクトが立ち上がり、以下の画像のようにアクション追加の設定画面が表示されます。今回は、
/JobApplication パスの
GET メゾットのみを選択します。
アクション パスとメゾットの追加
アクションプロジェクトの入力および出力の設定、テストを行うためのダッシュボードが表示されます。パラメータやレスポンスの内容に制限をかけることが可能です。また、テストでは実際にAPIを呼び出しレスポンスを見ることができます。
無事テストが成功したら、アクションプロジェクトのリリース、そしてライブラリの公開を行います。右上の
リリース ボタンを選択し、リリースを行います。続いて、先ほど選択したリリースボタンが
ライブラリに公開 ボタンに変わるので、選択します。
以上で、アクションプロジェクトの作成が完了です。それでは、実際にプロセス上で、アクションプロジェクトを使用して、候補者データを取得しましょう。
【STEP3】SAP SuccessFactorsより候補者データを取得するためのRPAの作成
まずは、ビジネスプロセスプロジェクトを作成します。
ロビー >
構築プロセス >
ビジネスプロセス を選択し、プロジェクト名と説明に任意の値を入力します。(プロジェクト名の例:SendOfferLetter)
ビジネスプロセスプロジェクトの作成
続いて、プロセス作成の編集画面が表示されるので、名前と説明に任意の値を入力します。(プロセス名の例:SendOfferLetter)
*名前を日本語で入力した場合は、英数字でIDを入力してください。
以下の画面がプロセスを構築するダッシュボードです。このフロー上にRPAやフォーム機能を追加して、一連のプロセスを構築します。
プロセスを構築するダッシュボード
まずは、取得した候補者のデータを格納するためのデータタイプを作成します。上の画像の左上の
+ ボタン>
作成 >
データタイプ を選択します。データタイプの作成画面が表示されるので、名前と説明を入力します。
項目
値
名前
CandidateInformation
ID
candidateinformation(自動入力)
説明
任意
今回、作成するデータタイプは以下の通りです。新規フィールドを選択し、ひとつずつフィールドを追加していきます。
名前
タイプ
Name
文字列
CellPhone
文字列
Address
文字列
City
文字列
Country
文字列
Zip
文字列
PositionTitle
文字列
Salary
文字列
*リスト、必須はすべていいえに設定します。
データタイプ「Candidate Information」の作成
プロセスを構築するダッシュボード
続いて、RPAを作成していきます。上の画像の
+ ボタン >
自動化 >
新規自動化 を選択します。エージェントバージョンの設定画面が表示されるので、事前にインストールしたデスクトップエージェントのバージョンを選択します。
デスクトップエージェントのバージョン選択
自動化作成の画面が表示されるので、名前と説明に任意の値を入力します。(自動化名の例:GetCandidateInfoFromSF)
*名前を日本語で入力した場合は、英数字でIDを入力してください。
以下のようにプロセス上にRPAが追加されました。
プロセスのダッシュボード
上の画像の3つのドットから
エディタを開く を選択すると、以下のようなRPAのダッシュボードが表示されます。
RPAのフローを構築するダッシュボード
まずは、このRPAの入力パラメータと出力パラメータを設定します。入力パラメータでは、オファーレターを出す候補者のID、出力パラメータには、候補者の情報を選択します。
項目
値
入力パラメータ
名前
CandidateID
データタイプ
文字列
出力パラメータ
名前
CandidateInfo
データタイプ
CandidateInformation
RPA「候補者データの取得」の入力と出力
続いて、RPAのフローを作成していきます。今回は以下の画像のように3つのステップを追加します。
RPA「候補者データの取得」のフロー
ステップ1:Get entities form JobApplication(候補者データの取得)
依存関係の設定でアクションプロジェクトの追加
まず、1つ目に追加するのはSTEP2で作成したアクションです。右上の
設定アイコン を選択し、
依存関係 >
依存関係を追加 >
アクションプロジェクトを追加 を選択します。
ライブラリを照会画面が表示されるので、STEP2で作成したアクションプロジェクトの
追加 ボタンを選択します。
続いて、
ツール >
アクショングループ >
アクショングループ REST >
[ ご自身で作成したアクションプロジェクト名] >
Get entities from JobApplication をStartとEndの矢印上にドラッグ&ドロップします。
アクションの検索
続いて、Get entities from JobApplicationの設定、入力を以下のように設定します。
項目
値
Destination
<宛先サービスに登録した名前を入力>
$filter
'applicationId eq ' + Step0.CandidateID
ステップ「Get entities from JobApplication」の設定
ステップ2:Log Message(ログの表示)
次は、候補者データの取得が成功したかどうかを確認するために、APIからのレスポンスのログを取ります。
検索窓から、Log Messageを検索し、Get entities from JobApplicationの後ろにドラッグ&ドロップします。
messageは以下のように入力します。
項目
値
message
Step1.result.d.results[0]
ステップ「Log Message」の設定
ステップ3:Candidate Information 変数を作成(候補者データの格納)
最後に、候補者データを格納するステップを追加します。検索窓から、Candidate Informationを検索し、Log Messageの後ろにドラッグ&ドロップします。
valueにカスタムデータを選択し、以下の内容を入力します。
項目
値
Name
Step1.result.d.results[0].firstName + " " + Step1.result.d.results[0].lastName
CellPhone
Step1.result.d.results[0].cellPhone
Address
Step1.result.d.results[0].address + " " + Step1.result.d.results[0].address2
City
Step1.result.d.results[0].city
Country
Step1.result.d.results[0].country
Zip
Step1.result.d.results[0].zip
Position Title
Step1.result.d.results[0].posTitle
Salary
Step1.result.d.results[0].baseSalary
ステップ「Candidate Information変数を作成」の設定
以上で、候補者データを取得し、データを格納するRPAのフローを作成することができました。
第2回のブログは以上で終了です。第3回のブログでは、取得した候補者データより、オファーレターを作成し、送信するプロセスを構築します。
操作イメージおよび完成イメージはこちら。
VIDEO
おわりに
いかがでしたでしょうか。
ご紹介したようにSAP Build Process Automaitonでは、SAP製品はもちろん、他社製品との連携を、IT部門と業務部門のコラボレーションやガバナンスを考えた上で、容易に行うことができます。
次回のブログでは、後半の作業にあたるSTEP4~STEP7について説明します。ぜひご覧ください。
第1回:SAP Build Process Automation オファーレター作成&配布の自動化! 【概要編】
第3回:SAP Build Process Automation オファーレター作成&配布の自動化! 【チュートリアル編② プロセスの作成】