Skip to main content
Skip table of contents

SAP Replication Task Post Processing

Definition

The replication Task Post Processing Definition  sends a notification once the replication task execution is complete

Configuration

You can access the Replication Task Post Processing Definition configuration :

  • by clicking on "Synchronization" â†’ "Replication Task Post-Processing"

  • by clicking on "System" â†’ "Configurations"->”Synchronization Service” and perform an import/export.

Properties

Property Name

Type

Mandatory

Description

reportDefinition

-

NO

The report post processing task definition (see Replication Task Report Definition)

Replication Task Report Definition

Replication Task Report Definition configures the settings used to launch the report post processing task.

Property Name

Type

Mandatory

Description

errorPublicationDefinition

-

NO

The error report post processing task definition (see Replication Task Error Publication Definition)

reportPublicationDefinition

-

NO

The summary report post processing task definition (see Replication Task Report Publication Definition)

Replication Task Error Publication Definition

Replication Task Error Publication Definition configures the settings used to launch the error report post processing task.

Property Name

Type

Mandatory

Description

Values (default value in bold)

errorDetails

Enum

NO

The list of error details that will be displayed in the error report.

SHADOW_OBJECT_ID, IDM_OBJECT_ID, ERROR_STEP, ERROR_CODE, ERROR_LABEL, ERROR_DESCRIPTION

reportRelativeFilePath

String

NO

The relative path to the error report file. May be null, its default value becomes then: {original_filename}-errors-{timestamp}.

This relative path is appended to the root directory under which all report files must be located.

The root directory is defined by the configuration property: domino.sync.task-report-root-dir. When running in multi-tenancy mode, the tenant name is always appended to the root directory, such as: /{root-directory}/{tenant}.

The file path is "configurable" via placeholders whose values are dynamically substituted. Available placeholders are:

  • {original_filename}: the complete path to the original CSV file (minus the file extension)

  • {timestamp}: a timestamp of millisecond precision formatted as follows: yyyyMMddHHmmssSSS

  • {tenant}: the current tenant

The original file extension is preserved. An example of such a relative path could be: import-errors/{original_filename}-{timestamp}. In the case, the import-errors sub directory will be automatically created.

-

Error details available values

Name

Example

ERROR_STEP

IDM_REQUEST_EXECUTION

ERROR_CODE

KIT-C0100021

ERROR_LABEL

AGGREGATE_ALREADY_EXISTS

ERROR_DESCRIPTION

An Aggregate 'Identity' with id '3219' already exists!

ERROR_DETAILS

The attribute is mandatory: it must have a value!

ERROR_DATE

2018-04-01T17:17:28.298Z

ERROR_LOG_TRACKING_ID

d9c1fc9c-1af6-4440-875e-5dd81882a6ea

APP_ID

SRHM

SHADOW_KIND

ACCOUNT

SHADOW_ID

0c14aed5-1307-4078-9943-33736929b311

SHADOW_OBJECT_ID

I3245

SHADOW_OBJECT_CLASS

__ACCOUNT__

IDM_OBJECT_KIND

IDENTITY

IDM_OBJECT_ID

P324734

IDM_OBJECT_TYPE

employee

A default "standard" error formatting is applied if none is explicitly configured.

Replication Task Report Publication Definition

Replication Task Report Publication Definition configures the settings used to launch the summary report post processing task.

Properties

Property Name

Type

Mandatory

Description

Values

reportActors

-

NO

The set of the report notification actors.
Their 'role' attribute must correspond to those expected by DOMINO_SAP_REPLICATION_REPORT_PUBLICATION Notification Event Type.
If defined, it overrides the default recipients configured in the "global Settings"

Available 'role' are :

  • domino_task_report_sender

  • domino_task_report_replyto

  • domino_task_report_recipient

If configured with Global Settings, their corresponding keys are :

  • domino.task.report.sender

  • domino.task.report.replyto

  • domino.task.report.recipient

XML
<reportActors>
  <reportActor>
      <email>administrator@memority.com</email>
      <language>en</language>
      <role>domino_task_report_recipient</role>
   </reportActor>
</reportActors>

attachErrorReport

Boolean

NO

Whether the error report is attached or not to the summary.

true,false

Notification Payload Properties

Property Name

numberOfEntriesToProcess

numberOfProcessedEntries

numberOfIgnoredEntries

numberOfGeneratedWarnings

processingTimeMillis

taskId

startDate

endDate

tenant

numberOfReplicatedRoles

numberOfReplicatedRoleDescriptions

numberOfReplicatedParentRoles

numberOfReplicatedTransactions

numberOfReplicatedTransactionDescriptions

numberOfReplicatedRoleTransactions

numberOfFailedRoles

numberOfFailedRoleDescriptions

numberOfFailedParentRoles

numberOfFailedTransactions

numberOfReplicatedTransactionDescriptions

numberOfFailedRoleTransactions

Example

Here is a simple XML representation of a Replication Task Post Processing Definition.

Replication Task Post Processing Definition
XML
<dmn:ReplicationTaskPostProcessingDefinition id="replicationTaskPostProcessing">
    <name>replicationTaskPostProcessing</name>
    <description>Description of replicationTaskPostProcessing</description>
    <reportDefinition>
        <reportPublicationDefinition>
            <attachErrorReport>true</attachErrorReport>
            <notificationDefinitionIds>
                <notificationDefinitionId>notif-admins</notificationDefinitionId>
                <notificationDefinitionId>notif-auditors</notificationDefinitionId>
            </notificationDefinitionIds>
        </reportPublicationDefinition>
    </reportDefinition>
</dmn:ReplicationTaskPostProcessingDefinition>

Notification

CODE
<notify:EmailNotificationDefinition id="SYN2-sapReplicationTask-emailDefinition" xmlns:notify="http://www.memority.com/toolkit/addons/notify/1_0">
    <name>SYN1-common-import-emailDefinition</name>
    <eventType>DOMINO_SAP_REPLICATION_REPORT_PUBLICATION</eventType>
    <recipients>
        <recipient>domino_task_report_recipient</recipient>
    </recipients>
    <sender>domino_task_report_sender</sender>
    <attachments />
    <ccs/>
    <ccis>
        @{notifications.cci}
    </ccis>
    <contents>
        <content locale="fr">
            <htmlBody><![CDATA[
                    @@start-common-html-emailTemplate@@
                    @@header-common-html-emailTemplate@@

                    <table role="presentation" width="90%" align="center" cellpadding="0" cellspacing="0" border="0">
                        <tr>
                            <td align="left" style="text-decoration:none;font-family:'Inter',arial,helvetica,sans-serif;font-size:14px;line-height: 20px;color:#161616;padding-top:30px;padding-bottom:20px;">
                                Bonjour,
                                <br/>
                                <br/>Voici le rapport d'exécution de la tâche de réplication SAP : {{status}}
                                <br/>
                                <br/><b>Exécution</b>
                                <br/>
                                <ul>
                                    <li>Heure de début du traitement : {{startDate | date("FULL",timezone="Europe/Paris")}} {{startDate | time("HH:mm:ss",timezone="Europe/Paris")}}.</li>
                                    <li>Heure de fin du traitement : {{endDate | date("FULL",timezone="Europe/Paris")}} {{endDate | time("HH:mm:ss",timezone="Europe/Paris")}}.</li>
                                    <li>Durée du traitement : {{ processingTimeMillis < 120000 ? ((processingTimeMillis/1000) | numberformat("#")) + " seconds" : ((processingTimeMillis/1000/60) | numberformat("#")) + " minutes"}}.</li>
                                    <li>{{numberOfProcessedEntries}} {{ numberOfProcessedEntries > 1 ? "objets traités" : "objet traité" }}.</li>
                                </ul>
                                <br/><b>Actions</b>
                                <br/>
                                <ul>
                                    <li>{{numberOfReplicatedParentRoles}} {{ numberOfReplicatedParentRoles > 1 ? "rôles parent créés" : "rôle parent créé" }}.</li>
                                    <li>{{numberOfFailedParentRoles}} {{ numberOfFailedParentRoles > 1 ? "rĂ´les parent en erreur" : "rĂ´le parent en erreur" }}.</li>

                                    <li>{{numberOfReplicatedRoleTransactions}} {{ numberOfReplicatedRoleTransactions > 1 ? "rôles transaction créés" : "rôle transaction créé" }}.</li>
                                    <li>{{numberOfFailedRoleTransactions}} {{ numberOfFailedRoleTransactions > 1 ? "rĂ´les transaction en erreur" : "rĂ´le transaction en erreur" }}.</li>

                                    <li>{{numberOfReplicatedTransactions}} {{ numberOfReplicatedTransactions > 1 ? "transactions créées" : "transaction créée" }}.</li>
                                    <li>{{numberOfFailedTransactions}} {{ numberOfFailedTransactions > 1 ? "transactions en erreur" : "transaction en erreur" }}.</li>

                                    <li>{{numberOfReplicatedRoleDescriptions}} {{ numberOfReplicatedRoleDescriptions > 1 ? "rôles description créés" : "rôles description créé" }}.</li>
                                    <li>{{numberOfFailedRoleDescriptions}} {{ numberOfFailedRoleDescriptions > 1 ? "rĂ´les description en erreur" : "rĂ´le description en erreur" }}.</li>

                                    <li>{{numberOfReplicatedRoles}} {{ numberOfReplicatedRoles > 1 ? "rôles créés" : "rôles créé" }}.</li>
                                    <li>{{numberOfFailedRoles}} {{ numberOfFailedRoles > 1 ? "rĂ´les en erreur" : "rĂ´le en erreur" }}.</li>

                                    <li>{{numberOfReplicatedTransactionDescriptions}} {{ numberOfReplicatedTransactionDescriptions > 1 ? "transactions description créées" : "transactions description créée" }}.</li>
                                    <li>{{numberOfFailedTransactionDescriptions}} {{ numberOfFailedTransactionDescriptions > 1 ? "transactions description en erreur" : "transaction description en erreur" }}.</li>

                                    <li>{{numberOfGeneratedWarnings}} {{ numberOfGeneratedWarnings > 1 ? "objets en warning" : "objet en warning" }}.</li>
                                    <li>{{numberOfIgnoredEntries}} {{ numberOfIgnoredEntries > 1 ? "objets inchangés" : "objet inchangée" }}.</li>
                                </ul>

                            </td>
                        </tr>
                    </table>
                    @@footer-common-html-emailTemplate@@
                    @@end-common-html-emailTemplate@@
                ]]></htmlBody>
            <subject>[@{notifications.subjectTitle}] Rapport de la réplication SAP {{simulation_tag}}</subject>
            <textBody><![CDATA[
                    @@SYN1-common-text-emailTemplate@@
                    @@footer-common-text-emailTemplate@@
                ]]></textBody>
        </content>
        <content locale="en">
            <htmlBody><![CDATA[
                    @@start-common-html-emailTemplate@@
                    @@header-common-html-emailTemplate@@

                <table role="presentation" width="90%" align="center" cellpadding="0" cellspacing="0" border="0">
                    <tr>
                        <td align="left" style="text-decoration:none;font-family:'Inter',arial,helvetica,sans-serif;font-size:14px;line-height: 20px;color:#161616;padding-top:30px;padding-bottom:20px;">
                            Hello,
                            <br/>
                            <br/>Please find below the report for the SAP replication task execution: {{status}}
                            {% if fatalErrorSafeMessage %}<br/>{{fatalErrorSafeMessage}}{% endif %}
                            <br/>
                            <br/><b>Execution</b>
                            <br/>
                            <ul>
                                <li>Execution start time: {{startDate | date("FULL",timezone="Europe/Paris")}} {{startDate | time("HH:mm:ss",timezone="Europe/Paris")}}.</li>
                                <li>Execution end time: {{endDate | date("FULL",timezone="Europe/Paris")}} {{endDate | time("HH:mm:ss",timezone="Europe/Paris")}}.</li>
                                <li>Duration of the execution: {{ processingTimeMillis < 120000 ? ((processingTimeMillis/1000) | numberformat("#")) + " seconds" : ((processingTimeMillis/1000/60) | numberformat("#")) + " minutes"}}.</li>
                                <li>{{numberOfProcessedEntries}} {{ numberOfProcessedEntries > 1 ? "lines processed" : "line processed" }}.</li>
                                <li>{{numberOfGeneratedWarnings}} {{ numberOfGeneratedWarnings > 1 ? "errors generated" : "error generated" }}.</li>
                            </ul>
                            <br/><b>Actions</b>
                            <br/>
                          <ul>
                                    <li>{{numberOfReplicatedParentRoles}} {{ numberOfReplicatedParentRoles > 1 ? "roles parent created" : "roles parent created" }}.</li>
                                    <li>{{numberOfFailedParentRoles}} {{ numberOfFailedParentRoles > 1 ? "parent roles with error" : "roles parent with error" }}.</li>

                                    <li>{{numberOfReplicatedRoleTransactions}} {{ numberOfReplicatedRoleTransactions > 1 ? "roles transaction created" : "roles transaction created" }}.</li>
                                    <li>{{numberOfFailedRoleTransactions}} {{ numberOfFailedRoleTransactions > 1 ? "roles transaction with error" : "roles transaction with error" }}.</li>

                                    <li>{{numberOfReplicatedTransactions}} {{ numberOfReplicatedTransactions > 1 ? "transactions created" : "transaction created" }}.</li>
                                    <li>{{numberOfFailedTransactions}} {{ numberOfFailedTransactions > 1 ? "transactions with error" : "transaction with error" }}.</li>

                                    <li>{{numberOfReplicatedRoleDescriptions}} {{ numberOfReplicatedRoleDescriptions > 1 ? "roles description created" : "roles description created" }}.</li>
                                    <li>{{numberOfFailedRoleDescriptions}} {{ numberOfFailedRoleDescriptions > 1 ? "roles description with error" : "roles description with error }}.</li>

                                    <li>{{numberOfReplicatedRoles}} {{ numberOfReplicatedRoles > 1 ? "roles created" : "roles created" }}.</li>
                                    <li>{{numberOfFailedRoles}} {{ numberOfFailedRoles > 1 ? "roles with error" : "roles with error" }}.</li>

                                    <li>{{numberOfReplicatedTransactionDescriptions}} {{ numberOfReplicatedTransactionDescriptions > 1 ? "transactions description created" : "transactions description created" }}.</li>
                                    <li>{{numberOfFailedTransactionDescriptions}} {{ numberOfFailedTransactionDescriptions > 1 ? "transactions description with error" : "transaction description with error" }}.</li>

                                    <li>{{numberOfGeneratedWarnings}} {{ numberOfGeneratedWarnings > 1 ? "objets with warning" : "objet with warning" }}.</li>
                                    <li>{{numberOfIgnoredEntries}} {{ numberOfIgnoredEntries > 1 ? "objects ignored" : "object ignored" }}.</li>
                                </ul>

                        </td>
                    </tr>
                </table>
                @@footer-common-html-emailTemplate@@
                @@end-common-html-emailTemplate@@
                ]]>
            </htmlBody>
            <subject>[@{notifications.subjectTitle}] Reconciliation SAP replication task {{simulation_tag}}</subject>
            <textBody><![CDATA[
                    @@SYN1-common-text-emailTemplate@@
                    @@footer-common-text-emailTemplate@@
                ]]></textBody>
        </content>
    </contents>
</notify:EmailNotificationDefinition>
JavaScript errors detected

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

If this problem persists, please contact our support.