Home

Connectors > SAP® Advanced Event Mesh

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors
page

Overview

ASAPIO integration Add-on facilitates the integration of supported SAP NetWeaver® systems with SAP Advanced Event Mesh.

Compatibility with SAP Advanced Event Mesh is subject to change, please open a support ticket in case of issues.

Add-on/component name Type
ASAPIO Integration Add-on – Framework Base component (required)
ASAPIO Integration Add-on – Connector for SAP® Advanced Event Mesh Additional package

Key features:

  1. Supports a wide range of SAP NetWeaver based systems, including SAP ERP, S/4HANA, BW, HCM and many more
  2. Out-of-the-box connectivity to the brokers
  3. REST-based outbound and inbound communication
  4. Supported communication direction: Outbound/Inbound, Push
  5. Support for HA Broker Setups
  6. Support for dynamic topics
  7. Lightweight + fast
  8. Mass data capable
  9. Switch between event-driven (single events) or batch mode (job-driven) calls
  10. Batch mode allows multi-threading with multiple SAP work processes
  11. Certified by SAP

Block Architecture:

Pre-requisites

Pre-requisites for the broker

An instance of SAP Advanced Event Mesh, part of Integration Suite on SAP BTP is required.

Steps required to establish connectivity

To establish connectivity with the SAP Advanced Event mesh broker, please proceed with the following activities and refer to the specific chapter.

  1. Create RFC destinations to the SAP Advanced Event mesh broker in SAP system settings
  2. Set-up basic configuration to lay the foundation of using the connector
  3. Set-up connection instance to SAP Advanced Event mesh in ASAPIO Integration Add-on
  4. Endpoint configuration to define the topic data is sent to
  5. See article example outbound message for a simple example to test the connectivity

Create RFC destinations

Note: in case you have a HA setup with 2 brokers, create on destination for each

Create a new RFC destination of type “G” (HTTP Connection to External Server).

  • Transaction: SM59
  • Create new destination of type “G”
  • Specify Target Host and Service No.(Port): endpoint for the SAP Advanced Event mesh

 

  • Credentials or certificates for authentication can be specified on tab Logon & Security:

Browser specific way to get a certificate.

Note: This is just one option to get a certificate.

Step 1: Open your endpoint that is used in SM59 with your browser (here we used google chrome) and click on the padlock –> Connection is secure.

 

Step 2: Click on Certificate is valid.

Step 3: Got to the Details tab and Export the file in order to save it.

 

In the next step this certificate can be added to the Trust Store in SAP.

Add Certificates to Trust Store

  • Transaction: STRUST
  • Select Certificate List as used in RFC destination created above
  • Click button Import certificate (1)
  • Click button Add to Certificate List (2)

Set-up basic settings

Configure cloud adapter

Add an entry for the connector to the list of cloud adapters:

  • Transaction: SPRO
  • Goto ASAPIO Cloud IntegratorMaintain Cloud Adapter. Add New Entry and specify:
  • Cloud Type: name with which to reference this type of connector
  • ACI Handler Class: /ASADEV/CL_ACI_SOLACE_HANDLER

Set-up Codepages

Specify codepages used in the integration:

  • Transaction: SPRO
  • Goto ASAPIO Cloud IntegratorMaintain Cloud Codepages
  • Add New Entry and specify the code pages to be used:

Set-up connection instance

Create the connection instance customizing that ties together the RFC destination created earlier and the cloud connector type:

  • Transaction: SPRO
  • Goto ASAPIO Cloud Integrator – Connection and Replication Object Customizing
  • Or go directly to transaction: /ASADEV/68000202
  • Add New Entry and specify:
    • Field Instance: a name for this connection in
    • Field RFC Dest. (Upload): the RFC destination create for the messaging endpoint 
    • Field ISO Code: the code page to use
    • Field Cloud Type: SOLACE (or the name you chose when adding the connector)

Note
In case you have a HA setup with 2 Solace brokers enter the second RFC destination in field RFC Dest. (Download)

Send example outbound message

Create Message Type

Example:

We use the Sales Order (BUS2032) event as an example.

Please choose any other suitable example if required.

For each object to be sent via ACI you have to create a message type:

  • Transaction: WE81
  • Add New Entry and specify:
    • Message Type: unique name for the integration
    • Description: description of the purpose

Ein Bild, das Text enthält. Automatisch generierte Beschreibung

Activate Message Type

The created message type has to be activated:

  • Transaction: BD50
  • Add New Entryand specify:
    • Message Type: the created message type
    • Active: tick the checkbox

Ein Bild, das Text, Tisch enthält. Automatisch generierte Beschreibung

Create Outbound Object configuration

This example uses the built-in notification event.

  • Transaction: SPRO
  • Goto ASAPIO Cloud Integrator – Connection and Replication Object Customizing
  • Or go directly to transaction: /ASADEV/68000202
  • Select the created Connection
  • Go to section Outbound Objects
  • Add New Entry and specify:
    • Object: name of the outbound configuration
    • Extraction Func. Module: /ASADEV/ACI_GEN_NOTIFY_SOLACE
    • Message Type: the created message type
    • Load Type: Incremental Load
    • Trace: activate for testing purposes

Ein Bild, das Text enthält. Automatisch generierte Beschreibung

Set-up target endpoint in ‘Header Attributes’

The header attributes for each object contain some technical information for the call to the Solace broker and establishes the header table for this object (i.e. the main table with information on this object). The header table can then be used to create a dynamic topic with the field mappings.

  • Go to section Header Attributes
  • Add New Entry and specify:
    • Header Attribute: name of the attribute
    • Header Attribute Value: value of the attribute

Ein Bild, das Text enthält. Automatisch generierte Beschreibung

 

Header Attribute Header Attribute Value Description
SOLACE_CALL_METHOD POST Call Method
SOLACE_CONT_TYPE text/plain Content type (e.g. application/json)
SOLACE_DELIV_MODE Persistent Delivery Mode
SOLACE_OBJECT_HEADER_DB_TABLE VBAK DB table to use for dynamic topics (e.g. VBAK)
SOLACE_TOPIC /fallback/static/topic Fixed topic (if dynamic topics should not be used)

Set up ‘Business Object Event Linkage’

Link the configuration of the outbound object to a Business Object event:

  • Go to section Event Linkage
  • Add New Entry and specify:
    • Object Category: BO BOR Object Type
    • Object Type: the Business Object Type sending the event
    • Event: the event to react to
    • Receiver Type: the message type of the outbound object (this is the link to the Addon configuration)
    • Receiver Call: Function Module
    • Receiver Function Module: /ASADEV/ACI_EVENTS_TRIGGER
    • Type linkage Activated: tick the checkbox

Test the outbound event creation

In the example above, please pick any test sales order in transaction /nVA02 and force a change event, e.g. by changing the requested delivery date on header level.

Outbound messaging

For outbound messaging, you can use and even combine the following methods:

  • Simple Notifications
  • Message Builder (Generic View Generator)
  • Custom-built triggers and extractors

Pre-requisite for all methods is to create a message type, which will be used throughout the configuration process.

The following articles explain the individual possibilities.

Create a new Message Type

Create Message Type

Note:

In the example below, we use the Sales Order (BUS2032) event.

Please use suitable data for your use-case as required.

For each object to be sent via ACI you have to create a message type:

  • Transaction: WE81
  • Add New Entry and specify:
    • Message Type: unique name for the integration
    • Description: description of the purpose

Ein Bild, das Text enthält. Automatisch generierte Beschreibung

Activate Message Type

  • Transaction: BD50
  • Add New Entry and specify:
    • Message Type: the created message type
    • Active: tick the checkbox

Ein Bild, das Text, Tisch enthält. Automatisch generierte Beschreibung

Simple Notifications

Create Outbound Object configuration

  • Transaction: SPRO
  • Goto ASAPIO Cloud Integrator – Connection and Replication Object Customizing
  • Or go directly to transaction: /ASADEV/68000202
  • Select the created Connection
  • Go to section Outbound Objects
  • Add New Entry and specify:
    • Object: name of the outbound configuration
    • Extraction Func. Module: /ASADEV/ACI_GEN_NOTIFY_SOLACE
    • Message Type: the created message type
    • Load Type: Incremental Load
    • Trace: activate for testing purposes

This example uses the built-in notification event.

Ein Bild, das Text enthält. Automatisch generierte Beschreibung

Set-up target endpoint in ‘Header Attributes’

The header attributes for each object contain some technical information for the call to the Solace broker and establishes the header table for this object (i.e. the main table with information on this object). The header table can then be used to create a dynamic topic with the field mappings.

  • Go to section Header Attributes
  • Add New Entry and specify:
    • Header Attribute: name of the attribute
    • Header Attribute Value: value of the attribute

Ein Bild, das Text enthält. Automatisch generierte Beschreibung

Header Attribute Header Attribute Value Description
SOLACE_CALL_METHOD POST Call Method
SOLACE_CONT_TYPE text/plain Content type (e.g. application/json)
SOLACE_DELIV_MODE Persistent Delivery Mode
SOLACE_OBJECT_HEADER_DB_TABLE VBAK DB table to use for dynamic topics (e.g. VBAK)
SOLACE_TOPIC /fallback/static/topic Fixed topic (if dynamic topics should not be used)

Set-up dynamic topic inside the ‘Field Mapping’

 

  • Go to section Field Mapping
  • Add New Entry and specify:
    • Target structure: URL segment
    • Target field: Description
    • Source structure: Table for the dynamic field.
    • Source field: Dynamic value for URL segment.
    • Default value: Static value for URL segment.

 

Dynamic topic is visible inside the monitor with dynamic (highlighted) and static url segments:

 

Set up ‘Business Object Event Linkage’

Link the configuration of the outbound object to a Business Object event:

  • Go to section Event Linkage
  • Add New Entry and specify:
    • Object Category: BO BOR Object Type
    • Object Type: the Business Object Type sending the event
    • Event: the event to react to
    • Receiver Type: the message type of the outbound object (this is the link to the Addon configuration)
    • Receiver Call: Function Module
    • Receiver Function Module: /ASADEV/ACI_EVENTS_TRIGGER
    • Type linkage Activated: tick the checkbox

Test the outbound event creation

In the example above, please pick any test sales order in transaction /nVA02 and force a change event, e.g. by changing the requested delivery date on header level.

Message Builder (Generic View Extractor)

Create Outbound Object configuration

  • Transaction: SPRO
  • Goto ASAPIO Cloud Integrator – Connection and Replication Object Customizing
  • Or go directly to transaction: /ASADEV/68000202
  • Select the created Connection
  • Go to section Outbound Objects
  • Add New Entry and specify:
    • Object: name of the outbound configuration
    • Extraction Func. Module: /ASADEV/ACI_GEN_VIEWEXT_SOLACE
    • Message Type: the created message type
    • Load Type: Incremental Load
    • Trace: activate for testing purposes
    • Formatting Function: /ASADEV/ACI_GEN_VIEWFRM_SOLACE

Create database view

For the data events also configure the DB view that is used to define the extraction:

  • Transaction: SE11 (for SAP ERP or S/4HANA on-prem deployments with SAP GUI access)
  • Alternatively, you can use Eclipse with ABAP Development Tools, or the SAP Fiori App “Create Custom CDS Views” to create a database view if you have this app available in SAP S/4HANA.

Example: Material master view (e.g. to be used for Material Master (BUS1001) change events)

Set up ‘Business Object Event Linkage’

Link the configuration of the outbound object to a Business Object event:

  • Go to section Event Linkage
  • Add New Entry and specify:
    • Object Category: BO BOR Object Type
    • Object Type: the Business Object Type sending the event
    • Event: the event to react to
    • Receiver Type: the message type of the outbound object (this is the link to the Addon configuration)
    • Receiver Call: Function Module
    • Receiver Function Module: /ASADEV/ACI_EVENTS_TRIGGER
    • Type linkage Activated: tick the checkbox

Set-up Packed Load (split large data)

Create Outbound Object configuration

  • Transaction: SPRO
  • Goto ASAPIO Cloud Integrator – Connection and Replication Object Customizing
  • Or go directly to transaction: /ASADEV/68000202
  • Select the created Connection
  • Go to section Outbound Objects
  • Add New Entry and specify:
    • Object: name of the outbound configuration
    • Extraction Func. Module: /ASADEV/ACI_GEN_VIEWEXT_SOLACE
    • Item Lines: 1
    • Message Type: the created message type(optional)
    • Load Type: Packed Load
    • Trace: activate for testing purposes
    • Formatting Function: /ASADEV/ACI_GEN_VIEW_FORM_CB (depending on your use case)

Create database view

Note

Please also refer to chapter 4.3.2

For the data events also configure the DB view that is used to define the extraction:

  • Transaction: SE11 (for SAP ERP or S/4HANA on-prem deployments with SAP GUI access)
  • Alternatively, you can use Eclipse with ABAP Development Tools, or the SAP Fiori App “Create Custom CDS Views” to create a database view if you have this app available in SAP S/4HANA.

Example: Material master view

Example

Set-up ‘Header Attributes’

  • Go to section Header Attributes of the outbound object created previously
  • Add New Entry and specify the header attributes and values

 

Header attribute Header attribute value Example
ACI_PACK_BDCP_COMMIT Flag for changepointer creation.

If set, changepointers will be generated for every entry.

IF this flag is set, a messagetype has to be maintained in the outbound object.

Caution:

This approx.. halves performance.

X
ACI_PACK_TABLE Name of the table to take the keyfields from. This is typically different then the db view specified in ‘Extraction View Name‘ as we only want to build packages based on the header object and the db view typically contains sub-objects as well  MARA
ACI_PACK_TRY Number of attempts to get a new ressource from the servergroup (typically you should choose a very high number here) 100000
ACI_PACK_RETRY_TIME Time in seconds. This is the duration in which the framework will attempt to get a new ressource from the servergroup Note: this is not yet released, use ACI_PACK_TRY instead
ACI_PACK_WHERE_COND Condition that is applied to the table defined in ‘ACI_PACK_TABLE
ACI_PACK_SIZE Number of entries to send 500
ACI_PACK_KEY_LENGTH Length of the key to use from the ACI_PACK_TABLE (e.g. MANDT + MATNR) 13

Ein Bild, das Text enthält. Automatisch generierte Beschreibung

Execute the initial load

Warning

depending on the amount of data this can stress the SAP system servers immensely.

Please always consult with your basis team for the correct server group to use!

  • Transaction: /ASADEV/ACI
  • Select the Connection and hit enter
  • Select Upload Type: P
  • Select Replication Object 
  • Select a Servergroup (this is mandatory)

Demo


Demo video [5min] – EN | DE

Event-enable your SAP data with Solace

Demo with SAP sales orders, inbound and outbound. Also shows dynamic topics features.

Scroll to Top