• Services
  • Migration Topics
  • Integration
    • Capabilities
    • WinRM
    • Standard ActionHandlers
    • Jira
    • ServiceNow
    • SAP
      • SAP™ Action Handler Installation Guide (Docker Image)
    • Email
    • CSV
    • Approval
    • Introduction to ActionHandlers and Connectors
  • Concepts
  • Best Practices
  • Api

Introduction

Action Handlers are integration components of the HIRO™ system. They are used to invoke actions on target systems. This document walks you through the configuration procedure of the HIRO™ SAP™ Action Handler.

From a technical perspective, the SAP™ Action Handler is an additional capability using the HIRO™ HTTP Action Handler, which is included in the Standard Docker image for Action Handlers.

Prerequisites

Before you can configure the SAP Action Handler, make sure the following prerequisites are fulfilled:

  1. You have configured your SAP according to the HIRO™ for SAP Operations - Implementation Guide. This document will be provided to you by us in the implementation phase of your project.

  2. You have followed the instructions in Standard Docker image for Action Handlers to setup the Action Handler Docker container. Please ensure that you are able to process HTTP requests from HIRO.

Arago has a SAP demo instance, which customers may use on request for testing purposes. We can provide you with the IP and credentials for this demo instance.

Defining docker composition (docker-compose.yml)

In order to make use of the SAP™ Action Handler capability, you need to add the following handler definition to your docker composition file:

Extensions to docker-compose.yml
environment:
  AH_CONFIG: >
    {
      "handlers": [
        {
          "name": "SAPHandler",
          "capability": "SAPRequest",
          "implementation": "HTTP",
          "url": "https://<IP of your SAP System>:<Port>/jsonbc/$${function}",
          "params": "$${destination}",
          "body": "$${parameters}",
          "insecure": "false",
          "method": "post",
        }
      ]
    }

Please refer to How to configure capabilities in the standard Action Handler (Docker image) for details on the configuration map.

Using certificates for secure connectivity

In case your SAP System requires a secure connection using certificates, you need to include these in your handler configuration as well:

environment:
  AH_CONFIG: >
    {
      "handlers": [
        {
          "name": "SAPHandler",
          "capability": "SAPRequest",
          [...]
          "client_certificate": "/<virtual path to certificate>/cert.crt",
          "client_key": "/<virtual path to certificate>/cert.key"
        }
      ]
    }

Also, please ensure the certificates are either included in your docker image, or accessible as volumes or alike. Here is an example using volumes in docker-compose.yml:

environment:
  AH_CONFIG: >
    {...}
volumes:
  - type: bind
        source: /<actual path to certificate>/cert.crt
        target: /<virtual path to certificate>/cert.crt
  - type: bind
        source: /<actual path to certificate>/cert.key
        target: /<virtual path to certificate>/cert.key

Sample KIs for testing from HIRO

Once you have successfully configured and started the Action Handler, you can test it by triggering the follow KI from HIRO™:

Sample KI for an SAP request
on
  ogit/_id
when
  ProcessIssue == "TestSAPRequest"
do
  stdout: LOCAL::OUTPUT,
  stderr: LOCAL::ERROR,
  rc: LOCAL::SYSTEMRC = action("SAPRequest",
    function :"RFC_GET_SYSTEM_INFO"
  )
  if LOCAL::SYSTEMRC == 0 then
    log("SUCCESS: ${LOCAL::OUTPUT}")
  else
    log("ERROR ${LOCAL::ERROR}")
  end

  stdout: LOCAL::OUTPUT,
  stderr: LOCAL::ERROR,
  rc: LOCAL::SYSTEMRC = action("SAPRequest",
    function :"RFC_READ_TABLE",
    parameters: '{
      "QUERY_TABLE": "T000"
    }'
  )
  if LOCAL::SYSTEMRC == 0 then
    log("SUCCESS: ${LOCAL::OUTPUT}")
  else
    log("ERROR ${LOCAL::ERROR}")
  end

  delete(ProcessIssue)