
こんにち は。 この SAP 探検 記 シリーズ で は 、 新入 社員 社員 である 私 が が の テクノロジー に 実際 触れ あい あい 理解 を 深め て いく 過程 、 備忘録 も かねて 書き 連ね て て いき いき ます 間違い 間違い あれ ば で 指摘。 ください ください ください ください ください ください ください ください ください ください ください ください ください ください ください ください ください ください ください ください ください ください ください ください ください ください ください ください ください ください
今回 の SAP 探検 記 で は 、 SAP Automatización de procesos de construcción の ワーク フロー を Microsoft Office Outlook から 起動 、 なんちゃっ て イベント 駆動 ワーク フロー を 実装 し て み た 内容 を し ます ます。。。。。。。 ます。。 ます ます ます ます ます ます ます ます ます ます ます ます ます ます ます ます ます ます ます ます ます ます ます
昨年 末 、 SAP Build の ハンズオン イベント の 中 で 、 請求 書 の 承認 プロセス を Automatización de procesos de construcción de sap を 用い て 実装 場面 が あり まし た。。。。。。。。
請求書承認プロセスの俯瞰図
その業務プロセスの中では、財務部の社員の元に届いた請求書を、SAP Build Appsを用いて作成した、写真撮影機能やファイルのアップロード機能を持ったアプリケーションを通してSAP Build Process Automationにアップロードし、承認 プロセス を 走ら せる と いう 実装 を し て い まし まし た。 上図 に 当て はめ て 、 、 paso1-> paso2 の 間 に 「アプリ を 使っ て 手 作業 で アップロード アップロード する」 という 作業 が 挟まっ て のです。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
。
『正直トリガの部分、もっと自動化の余地があるかも、、』
請求 書 の pdf ファイル が メール の 添付 ファイル として 送ら 送ら れ て くる のであれ ば 、 別途 用意 し た アプリケーション を 用い て て て て て 上 アップロード する の は 二 度 手間 に なっ てしまっ て のです。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
もちろん、請求書がpdfの形で送られてくるとは限りませんし、もしかしたら紙で送られてくるかもしれません。そういった場合に備えて、スキャン機能を持ったアプリケーションを作って、ある程度Más información
Ver más
今回の検証の目的は、請求書のpdfファイルを含むメールが到着したときにこのワークフローを起動させる、すなわち「イベント駆動」で 請求 書 の 承認 プロセス を 開始 する こと です。 その ため に 最初 に 思いつい た 方法 が 、 Office365 ソフトウェア に 組み込ん だ マクロ から から から から から から から の ワーク を 叩く こと た。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
今回のシナリオでは、以下の2つの部分でプロセスを実装する必要があります。
こちらの部分の実装についても近々ブログを書ければと思いますので、書き次第リンクをゼり貼り貼
ポイントとなる点は以下の通りです。
プロセス入力の設定
メール の 受信 者 を 意味 する “destinatario” と 、 請求 書 の pdf ファイル の ダウンロード パス を する する “descargarpath” を プロセス に対する 入力 として 設定 し ます。 これ により により 、 、 の の マクロ から これら これら 情報 よう よう よう よう よう よう よう よう よう よう よう よう よう よう よう よう よう よう よう よう よう よう よう よう よう よう よう よう よう よう よう よう よう よう よう よう よう よう.になります。
Outlook SDKによる自動化の実装
実際 に 自動 化 を 実行 する Agente de escritorio は 、 この 自動 化 の 設計 内容 に 基づい て 、 ホスト マシン 上 自動 化 化 実行 し ます。 具体 的 な ステップ は 以下 の です。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
なお、Desktop Agentのインストールについてはこちらのチュートリアルを参照してください。
Instalar y configurar Desktop Agent 3 | Tutoriales para desarrolladores de SAP
Outlook
もしも含まれていた場合、前述のSAP Build Process Automationのワークフローを起動します。
起動する方法は次の通りです。
Microsoft Office365 Outlookにおいて「新規のメールを受信したとき」というイベントハンドラは、
Private Sub Application_NewMailEx(ByVal EntryIDCollection As String)
と いう もの が あらかじめ 用意 さ れ て おり 、 これ を 今回 は 利用 し ます。 具体 に は は この 関数 の 中 に Automatización de procesos de construcción de savia の の を 叩く を 記述 し て いく イメージ に なり ます この 、 は は は は は は は は は は は は は は は は は は は は は は は は は は は はEsta sesión de Outlook というモジュールの中に用意されています。
以下のSAP Build Process AutomationのAPIエンドポイントに向け、POSTリクエストを送信します。
https://{spa-api-gateway URL}/workflow/rest/v1/workflow-instances
ここ で 、 {{spa-api-gateway url} の 部分 について は 、 次 の ブログ を 参考 に 各自 の 環境 環境 適し た 値 を 代入 し て ください。 サービスキー サービスキー の 、 、 、 ”Puntos de finalización”-> “API” 格納 格納 格納 格納 格納 格納 格納 格納 格納 格納 格納 格納 格納 格納 格納 格納 格納 格納 格納された値になります。
送信するべきPOSTリクエストの内容については、次の通りです。
"Authorization": Token
"Content-Type": "application/json"
"Accept": "*/*"
"Accept-Encoding": "gzip, deflate, br"
"Connection": "keep-alive"
なお 、 ここ で の Token は Oauth2.0 の トークン を 格納 し て い ます。 トークン の 取得 方法 として 、 、 先ほど の に 小さめ に 記述 さ れ て い ます ので 、 それ を 参照 し ください 相応 の 実装 ば ば ば ば ば ば ば ば ば ば ば ば ば ば ば ば ば ば ば ば ば ば ば ば ば ば ば ば ば ば ば ば ば ば ば ば ば ば ば ば ば ば ば ば ば ば ばcartero
{
"definitionId": "{SAP Build Process Automation 定義ID}",
"context": {
"recipient": ol.Session.CurrentUser.AddressEntry.GetExchangeUser().PrimarySmtpAddress,
"downloadpath": "C:\ProcessAutomation\OutlookSDK"
}
}
“definitionId” には、SAP Build Process Automationのデプロイ後の定義IDを記述します。調べ方は例のブログに記述があります。
そして “contexto” の中に、実際にSAP Build Process Automationのプロセスに渡したいデータを格納しています。
最後に、コードの全体像を示します。
Private Sub Application_NewMailEx(ByVal EntryIDCollection As String)
Dim objId As Object
Set myNamespace = GetNamespace("MAPI")
Set objId = myNamespace.GetItemFromID(EntryIDCollection)
If InStr(objId.Subject, "Invoice") Then
MsgBox "Triggering Invoice Approval Workflow..."
Dim httpReq As XMLHTTP60
Set httpReq = New XMLHTTP60
Dim Token As String
Token = "Bearer {Postmanで取得したトークン}"
Dim SPAPayload As Object
Set SPAPayload = New Dictionary
Dim context As Object
Set context = New Dictionary
Set ol = CreateObject("outlook.application")
context.Add "recipient", ol.Session.CurrentUser.AddressEntry.GetExchangeUser().PrimarySmtpAddress
context.Add "downloadpath", "C:\ProcessAutomation\OutlookSDK"
SPAPayload.Add "definitionId", "{SAP Build Process Automaiton 定義ID}"
SPAPayload.Add "context", context
With httpReq
.Open "POST", "https://{spa-api-gateway URL}/workflow/rest/v1/workflow-instances"
.setRequestHeader "Authorization", Token
.setRequestHeader "Content-Type", "application/json"
.setRequestHeader "Accept", "*/*"
.setRequestHeader "Accept-Encoding", "gzip, deflate, br"
.setRequestHeader "Connection", "keep-alive"
.Send JsonConverter.ConvertToJson(SPAPayload)
End With
MsgBox httpReq.responseText
Set httpReq = Nothing
End If
End Sub
今回 は Microsoft Office365 Outlook に 組み込ん だ マクロスクリプト から Automatización de procesos de construcción de savia の プロセス を 実行 し て みる と いう 内容 で お送り し まし た 実際 に 使う と なる と コンプライアンス など の 観点 から なかなか 難しい かもしれません が 的 的 に に に に に に に に に に に に に に に に に に に に に に に に に に に に に に に に に に に可能であることが確認できました。
Calle Eloy Gonzalo, 27
Madrid, Madrid.
Código Postal 28010
Paseo de la Reforma 26
Colonia Juárez, Cuauhtémoc
Ciudad de México 06600
Real Cariari
Autopista General Cañas,
San José, SJ 40104
Av. Jorge Basadre 349
San Isidro
Lima, LIM 15073