• Inicio
  • Novedades
  • Academia SAP
  • FAQ
  • Blog
  • Contacto
S4PCADEMY_Logo
Twitter Linkedin Instagram
S4PCADEMY_Logo
Twitter Linkedin Instagram
Technical Articles

【SAP探検記①】SAP Build Process Automationでなんちゃってイベント駆動してみた | Blogs de SAP

By s4pcademy 


こんにち は。 この SAP 探検 記 シリーズ で は 、 新入 社員 社員 である 私 が が の テクノロジー に 実際 触れ あい あい 理解 を 深め て いく 過程 、 備忘録 も かねて 書き 連ね て て いき いき ます 間違い 間違い あれ ば で 指摘。 ください ください ください ください ください ください ください ください ください ください ください ください ください ください ください ください ください ください ください ください ください ください ください ください ください ください ください ください ください ください
今回 の SAP 探検 記 で は 、 SAP Automatización de procesos de construcción の ワーク フロー を Microsoft Office Outlook から 起動 、 なんちゃっ て イベント 駆動 ワーク フロー を 実装 し て み た 内容 を し ます ます。。。。。。。 ます。。 ます ます ます ます ます ます ます ます ます ます ます ます ます ます ます ます ます ます ます ます ます ます ます

昨年 末 、 SAP Build の ハンズオン イベント の 中 で 、 請求 書 の 承認 プロセス を Automatización de procesos de construcción de sap を 用い て 実装 場面 が あり まし た。。。。。。。。

%u8ACB%u6C42%u66F8%u627F%u8A8D%u30D7%u30ED%u30BB%u30B9%u306E%u4FEF%u77B0%u56F3

請求書承認プロセスの俯瞰図

その業務プロセスの中では、財務部の社員の元に届いた請求書を、SAP Build Appsを用いて作成した、写真撮影機能やファイルのアップロード機能を持ったアプリケーションを通してSAP Build Process Automationにアップロードし、承認 プロセス を 走ら せる と いう 実装 を し て い まし まし た。 上図 に 当て はめ て 、 、 paso1-> paso2 の 間 に 「アプリ を 使っ て 手 作業 で アップロード アップロード する」 という 作業 が 挟まっ て のです。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
。

『正直トリガの部分、もっと自動化の余地があるかも、、』

請求 書 の pdf ファイル が メール の 添付 ファイル として 送ら 送ら れ て くる のであれ ば 、 別途 用意 し た アプリケーション を 用い て て て て て 上 アップロード する の は 二 度 手間 に なっ てしまっ て のです。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

もちろん、請求書がpdfの形で送られてくるとは限りませんし、もしかしたら紙で送られてくるかもしれません。そういった場合に備えて、スキャン機能を持ったアプリケーションを作って、ある程度Más información

Ver más

今回の検証の目的は、請求書のpdfファイルを含むメールが到着したときにこのワークフローを起動させる、すなわち「イベント駆動」で 請求 書 の 承認 プロセス を 開始 する こと です。 その ため に 最初 に 思いつい た 方法 が 、 Office365 ソフトウェア に 組み込ん だ マクロ から から から から から から から の ワーク を 叩く こと た。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

今回のシナリオでは、以下の2つの部分でプロセスを実装する必要があります。

  • Automatización de procesos de compilación de SAP
  • Microsoft Office 365 Outlook

SAP Build Process Automationのワークフロー

こちらの部分の実装についても近々ブログを書ければと思いますので、書き次第リンクをゼり貼り貼

ポイントとなる点は以下の通りです。

  • 【プロセス】の入力に、”recipient” と “downloadPath” を設定する
  • Outlook SDKを用いて自動化を作成する

プロセス入力の設定

%u30D7%u30ED%u30BB%u30B9%u5165%u529B%u306E%u8A2D%u5B9A

プロセス入力の設定

メール の 受信 者 を 意味 する “destinatario” と 、 請求 書 の pdf ファイル の ダウンロード パス を する する “descargarpath” を プロセス に対する 入力 として 設定 し ます。 これ により により 、 、 の の マクロ から これら これら 情報 よう よう よう よう よう よう よう よう よう よう よう よう よう よう よう よう よう よう よう よう よう よう よう よう よう よう よう よう よう よう よう よう よう よう よう よう よう よう.になります。

Outlook SDKによる自動化の実装

Outlook%20SDK%u306B%u3088%u308B%u81EA%u52D5%u5316%u306E%u5B9F%u88C5

Outlook SDKによる自動化の実装

実際 に 自動 化 を 実行 する Agente de escritorio は 、 この 自動 化 の 設計 内容 に 基づい て 、 ホスト マシン 上 自動 化 化 実行 し ます。 具体 的 な ステップ は 以下 の です。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

  1. プロパティ “destinatario” により 請求 書 の 受信 者 の メール アドレス を 受け取っ て いる ため 、 その メール アドレス の 受信 フォルダ を 開き。。
  2. 特定の条件(今回はFacturaを件名に含むこと)をもとにメールを検索し、
  3. 添付 ファイル を ダウンロード し ます。 この 際 、 保存 先 は プロパティ “downloadpath” により 指定 さ れ た パス に 設定 ます。。
  4. その 後 、 請求 書 画像 から の 情報 の 抽出 ステップ が 走り ます が 、 今回 は 割愛 し 、 別 の ブログ で 紹介 できれ ば と ます。。。。。。。。。。。。。。。。。。。。。

なお、Desktop Agentのインストールについてはこちらのチュートリアルを参照してください。
Instalar y configurar Desktop Agent 3 | Tutoriales para desarrolladores de SAP

Microsoft Office Outlookのマクロ

Outlook

  • 件名に「Factura」が含まれているか

もしも含まれていた場合、前述の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” 格納 格納 格納 格納 格納 格納 格納 格納 格納 格納 格納 格納 格納 格納 格納 格納 格納 格納 格納された値になります。

https://blogs.sap.com/2022/08/25/sap-process-automation-how-to-test-the-api-trigger-with-postman/#:~:text=All%20information%20to, puntos finales% 20api% 20url

送信するべきPOSTリクエストの内容については、次の通りです。

リクエストヘッダ

"Authorization": Token
"Content-Type": "application/json"
"Accept": "*/*"
"Accept-Encoding": "gzip, deflate, br"
"Connection": "keep-alive"

なお 、 ここ で の Token は Oauth2.0 の トークン を 格納 し て い ます。 トークン の 取得 方法 として 、 、 先ほど の に 小さめ に 記述 さ れ て い ます ので 、 それ を 参照 し ください 相応 の 実装 ば ば ば ば ば ば ば ば ば ば ば ば ば ば ば ば ば ば ば ば ば ば ば ば ば ば ば ば ば ば ば ば ば ば ば ば ば ば ば ば ば ば ば ば ば ば ばcartero

https://blogs.sap.com/2022/08/25/sap-process-automation-how-to-test-the-api-trigger-with-postman/#:~:text=To%20get%20a, use%20el%20token.

リクエストボディ

{
    "definitionId": "{SAP Build Process Automation 定義ID}",
    "context": {
        "recipient": ol.Session.CurrentUser.AddressEntry.GetExchangeUser().PrimarySmtpAddress,
        "downloadpath": "C:\ProcessAutomation\OutlookSDK"
    }
}

“definitionId” には、SAP Build Process Automationのデプロイ後の定義IDを記述します。調べ方は例のブログに記述があります。

https://blogs.sap.com/2022/08/25/sap-process-automation-how-to-test-the-api-trigger-with-postman/#:~:text=You%20can%20find% 20la%20definición%20ID%20en%20la%20Supervisión%20sección%20de%20SAP%20Proceso%20Automatización.%20Ir%20allí%20para%20Administrar%20y%20luego%20a%20Procesos%20y%20Flujos de trabajo

そして “contexto” の中に、実際にSAP Build Process Automationのプロセスに渡したいデータを格納しています。

  • destinatario
  • «Descargarpath» : 請求 書 の pdf の 保存 先 を 指定 し て い ます 。Desktop Agent により 、 エージェント が 動い て いる マシン 上 の 指定 指定 フォルダ に pdf が 格納 れ ます。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

コード全体

最後に、コードの全体像を示します。

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 の プロセス を 実行 し て みる と いう 内容 で お送り し まし た 実際 に 使う と なる と コンプライアンス など の 観点 から なかなか 難しい かもしれません が 的 的 に に に に に に に に に に に に に に に に に に に に に に に に に に に に に に に に に に に可能であることが確認できました。




Automationでなんちゃってイベント駆動してみたBlogsBuildProcessSAPSAP探検記①SAP

Artículos relacionados


Product Information  ·  Quality Inspection in SAP ME  ·  Quality Process In SAP ME  ·  Sampling Procedure in SAP ME
SAP Manufacturing Execution – Proceso de muestreo
#SAPinsider2023  ·  Event Information
SAPinsider 2023: diez mejores opciones para SAP BTP
Alphanumeric  ·  create custom format  ·  National ID Validations  ·  Technical Articles
Configuración de texto libre en formato de ID nacional en SAP SuccessFactors
S4HC供应商发票处理中的保留 | Blogs de SAP
Previo
SAP Central Finance y el uso eficaz de AIF
Siguiente

Madrid

Calle Eloy Gonzalo, 27
Madrid, Madrid.
Código Postal 28010

México

Paseo de la Reforma 26
Colonia Juárez,  Cuauhtémoc
Ciudad de México 06600

Costa Rica

Real Cariari
Autopista General Cañas, 
San José, SJ 40104

Perú

Av. Jorge Basadre 349
San Isidro
Lima, LIM 15073

Twitter Linkedin Instagram
Copyright 2022 | All Right Reserved.