Skip to main content
Skip table of contents

SAP Transaction Connector

Introduction

This page describes the configuration and usage of the built-in SAP Transaction Connector, aimed at searching and importing SAP Transaction data into Memority, as IM Resources.

The SAP Transaction Connector only manages inbound imports, where data flows from SAP to Memority. This Connector does not support outbound provisioning, i.e. it cannot create or update SAP transactions. So, from the SAP system side, this is a read-only Connector.

The SAP Transaction Connector is a built-in Connector that requires almost no configuration, and goes hand-to-hand with SAP Replication Tasks and the SAP Role Connector, see SAP Role Connector.

If a customer’s environment hosts several SAP systems, then a SAP Transaction Connector must be deployed per SAP system.

Overview

As usual, the SAP Transaction Connector is configured through a ConnectorDefinition referenced by an Application, which is itself referenced by a SynchronizationTaskDefinition, see Application.

Within the Application it is not necessary to explicitly configure AttributeMappingDefinitions matching SAP Transaction attributes, since attribute mappings are provided out-of-the box by the built-in SAP Transaction Connector. Those attribute mappings may be overridden, as explained later.

The built-in SAP Transaction Connector must be coupled with a SAP Replication Task, AKA SapReplicationTaskDefinition

The SAP Replication Task copies SAP Transaction data into a Memority staging area, and this staging area is then read by the SAP Transaction Connector.

If no SAP Replication Task has run prior to a SAP Transaction import, then no SAP Transaction will be found, and nothing will be imported into Memority.

The recommended practice is to configure an OrchestrationTask (see Orchestration Task ), that chains a SapReplicationTask with a SynchronizationTaskDefinition, indirectly referencing the ConnectorDefinition of the SAP Transaction Connector:

SAP Orchestration Overview_page-0001 (1).jpg

Configuring the SAP Transaction Connector

A sample XML configuration of SAP Transaction Connector is provided in SAP Transaction Connector - Sample Configuration.

To configure the SAP Transaction Connector, just declare a ConnectorDefinition (see Application Connector) with the following characteristics:

  • Connector class: com.memority.domino.connector.sap.transaction.SapTransactionConnector

  • Connector properties: see table below:

SAP Transaction ConnectorDefinition Properties

Property Name

Type

Mandatory

Description

Values (default in bold)

sapInstanceId

String

Yes

The identifier of the SAP system, which must match the one configured in the SAPReplicationTaskDefinition,

N/A

pageSize

Integer

No

The size of a page of SAP data fetched from the staging area

5000

Using the SAP Transaction Connector

The SAP Transaction Connector imports SAP transactions as IM Resources. When defining usual import configuration elements, such as a SynchronizationTaskDefinition, The class of Transaction objects is fixed to sapTransaction. This is illustrated in the provided SAP Transaction Connector - Sample Configuration.

IM Attribute Mappings

The built-in SAP Transaction Connector maps SAP Transaction properties to IM attributes.

SAP Transaction properties are primarily found in the TSTC SAP table.

Default IM attribute mappings and all SAP Transaction properties exposed by the Connector are listed below.

Default IM attribute mappings may be overridden in the Application configuration, and additional mappings targeting other IM attributes may be also configured, based on exposed SAP Transaction properties, such as program_name.

IM attributes whose identifier starts with sap_ are “protected”, they cannot be updated nor deleted.

IM Attribute

Connector Attribute

IM Type

Mandatory

Multivalued

Description

sap_transactionName

tcode

String

Yes

No

The SAP Transaction identifier

sap_transactionDescriptionEn

description_e

String

No

No

The English description of the SAP Transaction

sap_transactionDescriptionFr

description_f

String

No

No

The French description of the SAP Transaction

N/A

program_name

String

No

No

The name of the ABAP program that is executed when the transaction code is called.

Not mapped to an IM attribute by default

N/A

screen_number

String

No

No

The starting screen number (Dynpro) within the program that should be displayed upon execution.

Not mapped to an IM attribute by default

N/A

menue

String

No

No

A technical flag used to indicate if the entry is related to the SAP menu structure.

Not mapped to an IM attribute by default

N/A

cinfo

String

No

No

A technical RAW field used to store specific control information for how the transaction should behave when called.

Not mapped to an IM attribute by default

N/A

arbgb

String

No

No

Associated message identification, often used for internal system messaging or status handling related to the transaction.

Not mapped to an IM attribute by default

Sample Configuration

This section shows a sample configuration to import SAP Transactions as IM Resources.

Note that:

  • shadow kind is set to RESOURCE

  • object class is set to sapTransaction

The related SapReplicationTaskDefinition and OrchestrationTaskDefinition have not been represented here, as this sample configuration focuses on SAP Transactions.

XML
   <dmn:ConnectorDefinition id="sample_sap_transaction_connector">
      <connectorMetadata>
         <connectorRef>
            <connectorName>com.memority.domino.connector.sap.transaction.SapTransactionConnector</connectorName>
         </connectorRef>
      </connectorMetadata>
      <connectorProperties>
         <connectorProperty>
            <name>sapInstanceId</name>
            <value>SAP01</value>
         </connectorProperty>
         <connectorProperty>
            <name>pageSize</name>
            <value>2000</value>
         </connectorProperty>
      </connectorProperties>
      <provisioningGroup>3</provisioningGroup>
   </dmn:ConnectorDefinition>

   <dmn:Application id="sample_sap_transaction_app">
      <name>Sample SAP Transaction App</name>
      <connectorId>sample_sap_transaction_connector</connectorId>
      <schemaMappingDefinition>
         <objectSchemaMappingDefinitions>
            <objectSchemaMappingDefinition>
               <shadowKind>RESOURCE</shadowKind>
               <objectClassId>
                  <value>sapTransaction</value>
               </objectClassId>
               <inboundAttributesMappingDefinitions>
                  <attributeMappingDefinitions/>
               </inboundAttributesMappingDefinitions>
            </objectSchemaMappingDefinition>
         </objectSchemaMappingDefinitions>
      </schemaMappingDefinition>
      <synchronizationDefinition>
         <objectSynchronizationDefinitions>
            <objectSynchronizationDefinition>
               <shadowKind>RESOURCE</shadowKind>
               <objectClassId>
                  <value>sapTransaction</value>
               </objectClassId>
               <correlationDefinition>
                  <simpleCorrelationStrategyDefinition>
                     <attributeCorrelationDefinitions>
                        <attributeCorrelationDefinition>
                           <inputAttributeId>tcode</inputAttributeId>
                           <idmAttributeId>sap_transactionName</idmAttributeId>
                        </attributeCorrelationDefinition>
                     </attributeCorrelationDefinitions>
                  </simpleCorrelationStrategyDefinition>
               </correlationDefinition>
               <enabled>true</enabled>
               <reactionDefinitions>
                  <reactionDefinition>
                     <actions>
                        <action>SYNCHRONIZE_IDM_OBJECT</action>
                     </actions>
                     <name>React to 'linked'</name>
                     <situation>LINKED</situation>
                  </reactionDefinition>
                  <reactionDefinition>
                     <actions>
                        <action>SYNCHRONIZE_IDM_OBJECT</action>
                        <action>LINK</action>
                     </actions>
                     <name>React to 'unlinked'</name>
                     <situation>UNLINKED</situation>
                  </reactionDefinition>
                  <reactionDefinition>
                     <actions>
                        <action>UNLINK</action>
                     </actions>
                     <name>React to 'deleted'</name>
                     <situation>DELETED</situation>
                  </reactionDefinition>
                  <reactionDefinition>
                     <actions>
                        <action>ADD_IDM_OBJECT</action>
                     </actions>
                     <name>React to 'unmatched'</name>
                     <situation>UNMATCHED</situation>
                  </reactionDefinition>
                  <reactionDefinition>
                     <actions>
                        <action>DELETE_APPLICATION_OBJECT</action>
                     </actions>
                     <name>React to 'disputed'</name>
                     <situation>DISPUTED</situation>
                  </reactionDefinition>
               </reactionDefinitions>
            </objectSynchronizationDefinition>
         </objectSynchronizationDefinitions>
         <objectTypeResolutionDefinition>
            <defaultObjectTypeId>saptransaction</defaultObjectTypeId>
         </objectTypeResolutionDefinition>
      </synchronizationDefinition>
   </dmn:Application>

   <dmn:SynchronizationTaskDefinition id="sample_sap_transaction_sync_task">
      <taskType>IMPORT</taskType>
      <shadowKind>RESOURCE</shadowKind>
      <objectClassId>sapTransaction</objectClassId>
      <applicationId>sample_sap_transaction_app</applicationId>
      <sortInputData>false</sortInputData>
   </dmn:SynchronizationTaskDefinition>

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.