You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 24 Next »

Status

  Approved

Owner
StakeholdersRAI-ext, Praveen BAVISKAR-ext, Amit 
Jira Request ID

ERP-738 - Getting issue details... STATUS

Jira Development ID

ERP-765 - Getting issue details... STATUS

High-Level Specification

ParameterValue
Application System (Source)Ariba
Application System (Target)Icertis
Source System InterfaceAriba
Target System InterfaceIcertis
Business Process Reference03.03.04.05. Manage Contract Master Data

Functional Overview

To ensure consistent and automated management of supplier records across systems, a custom integration and job scheduling solution will be implemented. This solution will:

  • Automate the synchronization of supplier status data between Ariba and Icertis.
  • Ensure alignment of supplier deactivation in Icertis with the current status maintained in Ariba.
  • Reduce manual intervention and the risk of data discrepancies between the two platforms.
  • Support compliance and operational efficiency by maintaining accurate and up-to-date supplier information across systems.

Scope and Objectives

  1. Custom Time-Based Job in Icertis
    A configurable job will be implemented in Icertis to initiate the supplier deactivation synchronization process on a scheduled basis.
    The job will utilize a dedicated configuration key to define execution parameters such as frequency and timing, ensuring flexibility for adjustments without requiring code modifications. 
  2. Supplier Status Check in Ariba
    The job will connect to Ariba via API to retrieve supplier records, identify those marked as inactive, and process delta updates accordingly for synchronization.
  3. Supplier Deactivation in Icertis
    Inactive suppliers identified from Ariba will be deactivated in Icertis using the Business Bulk API, ensuring data consistency, integrity, and audit traceability.

Objectives

  • Automate the synchronization of supplier deactivation status between Ariba and Icertis.
  • Ensure daily alignment of inactive supplier records using a configurable time-based job in Icertis.
  • Retrieve and process only newly deactivated suppliers from Ariba via API to optimize performance.
  • Maintain data integrity and audit traceability during supplier deactivation in Icertis.

Process Flow Diagram


Step

Description

Comment

1

Schedule Job in Icertis

A configurable daily job triggers the synchronization process (delta update)

2

Connect to Ariba via API

The job establishes a connection to Ariba

3

Retrieve Inactive Supplier Records

Fetches data from inactive suppliers from Ariba

4

Deactivate suppliers in Icertis via Business Bulk API

Uses Business bulk API to update the status

5

Ensure data integrity

Mark identified suppliers as Deactivated in Icertis

Assumptions

  • Supplier status (Active/Inactive) in Ariba is always up-to-date and reflects the correct business decision before synchronization.
  • Job should run outside the business hours, parallel job run should be avoided to not impact the performance
  • Standard Integration User and Security group is used. If the standard user or group is not available or modified, integrations may fail. No custom security roles or
    other permissions are considered in this design.
  • Supplier is deactivted: - Icertis Standard Approach for existing agreements
    • If an agreement is in Draft status and the associated supplier is deactivated, the supplier may be replaced within that agreement.
    • If the agreement status is Approved or Executed, a new agreement must be created to reflect the change.
    • Similarly, if an existing agreement requires an amendment, a new agreement should be initiated rather than modifying the original.
    • Multiparty agreements: in this case the deactivated suppliers needs to be replaced or to be reactivated.

Dependencies

Not Applicable

Security, Integrity and Controls

Not Applicable

Configuration Requirements

  1. Technical Configuration - Job Scheduling in Icertis
    Frequency: Daily execution (configurable to weekly or custom intervals).
    Execution Time: Adjustable to align with system maintenance windows or business hours.
    Retry Logic: Define retry attempts and intervals for failed runs.
    Notification Settings: Email or system alerts for job success/failure.
  2. API Connectivity with Ariba

API Credentials: Secure storage and management of authentication tokens.

Endpoint Configuration: URLs for supplier data retrieval (full list and delta updates).

Special Requirements

Not Applicable

Design Rationale

  • Current Gap: Supplier information is not being updated in Icertis, leading to inconsistencies in contract and vendor data.
  • Integration Approach: Implement a direct API-based solution to ensure real-time and consistent updates without relying on middleware.
  • Simplification Goal: Avoid additional layers of complexity by eliminating middleware.

Data Structure

Source Structure

System Roles: In this integration, SAP Ariba serves as the source and leading system for supplier status, while Icertis acts as the target system, receiving and updating supplier records based on the status maintained in Ariba.

The following field within the payload will be used to provide the required information for this interface:

FieldDescription
Active (Boolean field)Active: Active = "True"
Inactive: Active = "False"


Target Structure

The following field within the table ICMSupplierMaster will be used to provide the required information for this interface:

FieldDescription
Status (String field)

Active: Status = "Created" 

Inactive: Status = "Deactivated"

Mapping and Calculation

In this integration, the Active field from Ariba (a boolean) will be mapped to the Status field in Icertis (a string). The mapping logic is as follows:

If Active = FALSE, then Status = "Deactivated"

This transformation ensures compatibility between the data models of both systems and supports accurate status representation during synchronization

Source TableAPI or Portlet NameSource FieldRequired (Y/N)DescriptionTarget TableAPI or Portlet NameTarget FieldRequired (Y/N)DescriptionRule TypeRule Instruction
Supplier MasterMaster Data Retrieval API for SourcingActiveY
ICMSupplierMaster/v{version}/bulk/masterdataStatusY


























Processing Logic

Processing within Source

  • Initial Full Load: Configuration for first-run logic to deactivate all inactive suppliers.
  • Delta Updates: Enable incremental fetch based on last successful "TimeUpdated" timestamp.

Processing within Middleware

Not Applicable

Processing within Target

  • Bulk API Settings in Icertis: Batch size limits, concurrency settings for deactivation.
  • APIs Used:

    • Ariba Supplier API (for inactive supplier retrieval) : Master Data Retrieval API for Sourcing

    • Icertis Business Bulk API (for supplier deactivation) : POST/v{version}/bulk/masterdata


Ariba Supplier API (for Inactive supplier retrieval) Master Data Retrieval API for Sourcing request looks like below:

Note that this API directly filters the suppliers and provide only inactive suppliers.

curl --location 'https://eu.openapi.ariba.com/api/sourcing-mds-search/v1/prod/entities/organizations?%24filter=(Active%20eq%20false)&%24includeInactive=true' \
--header 'Accept-Language: en' \
--header 'X-Realm: 745255310-SS-T' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer <Your Auth Toke>' \
--header 'apiKey: VJfuIdNt5gi5DqkNOFdXMv92HWGaA81j'

The example looks like:

{
        "DynamicProfileSyncStatus": "0",
        "IsCustomer": "false",
        "MinorityOther": "",
        "MinorityNativeAmerican": "false",
        "CorporatePhone": "",
        "Name_en": "Ariba P2P Test Supplier",
        "CorporateURL": "",
        "SystemID": "sid111",
        "SystemId": "AN11228658404-T",
        "IsOrgApproved": "2",
        "AODMigrationStatus": "0",
        "OrganizationType": "",
        "TimeUpdated": "2025-10-04 00:31:30.811",
        "TimeCreated": "2025-05-25 21:17:29.899",
        "CorporateEmailAddress": "",
        "AODDataSyncScn": "0",
        "HasTradingRelationship": "false",
        "Active": "false",
        "HierarchyPath": "/CCNSAINDMDGykWJ",
        "IsSupplier": "true",
        "StateOfIncorporation": "",
        "CorporateFax": "",
        "IsManaged": "0"
}


Icertis Business Bulk API (for supplier deactivation) : POST /v{version}/bulk/actions/trigger

Sample payload:

{
  "Data": {
    "TypeOfContract": "Masterdata",
    "ContractTypeName": "ICMAccountEntityMaster",
    "JobItems": [
      {
        "RequestIdentifier": "MD123",
        "Id": "739caf5b-2c9b-4ba0-9dc7-b4cfbd0cf4b3",
        "Action": "Deactivate",
        "EndpointVersion": 2,
        "UseExternalId": true,
        "RequestBody": {
          "EntityName": "ICMAccountEntityMaster",
          "Id": "739caf5b-2c9b-4ba0-9dc7-b4cfbd0cf4b3",
          "Note": "Test Bulk Action",
          "IsPrivate": true,
          "ReasonCode": {
            "UniqueValues": [
              "763A18D2-63DB-4E39-8500-0B8BBB3697E7"
            ],
            "DisplayValue": "01",
            "ExternalId": null
          }
        }
      }
    ]
  }
}


 

Interface Dependency

Not Applicable.

Interface Constraints

Not Applicable.

Delivery Requirements

  • Frequency: Daily execution 
  • Execution Time: Adjustable to align with system maintenance windows or business hours.

Delta or Full Load Requirements

  • Initial Full Load: Configuration for first-run logic to deactivate all inactive suppliers.
  • Delta Updates: Enable incremental fetch based on last successful "TimeUpdated' timestamp.
    • The integration job runs daily and retrieves only changes (deltas) compared to the previous run, including newly deactivated vendors. 
      Process: The API queries Icertis for vendors deactivated after the last TimeUpdated timestamp.
      If no changes occurred since the previous day, the API returns an empty set and no updates are processed.

Interface Alert & Monitoring

No alerts are generated; however, monitoring is managed through the Error Handling process described in the dedicated section below.

Interface Reporting

Not Applicable

Language Requirements

Not Applicable

User Interface Requirements

Not Applicable


Volumetrics

Delta records since the last run job.


Performance Consideration

The execution of the scheduled job in Icertis should be carefully timed to avoid overlap with other system batch processes and to minimize impact during peak business hours. Scheduling should take into account system maintenance windows and existing job loads to ensure optimal performance and reliability. 
Further considerations: Ariba Rate Limit (Requests): 10/sec, 40/minute, 200/hour, 1000/day - The rate limit will consume the bandwidth for the standard MD if both share the same application.



Error Handling

SAP Ariba API Errors
If the API call to SAP Ariba fails, an error entry will be created in a designated log table within Icertis to capture details of the failure for monitoring and troubleshooting.


Icertis Bulk API Invocation Errors
If the invocation of the Icertis Business Bulk API fails, the error will be logged in the same log table to ensure traceability and support issue resolution.


Icertis Bulk API Processing Errors
If errors occur during the processing of supplier records via the Bulk API, Icertis will automatically generate out-of-the-box error logs in its standard log table, ensuring system-level traceability.


Testing

How to Test

Test Conditions and Expected Results

IDConditionExpected Results
1Initial Full Load
First run of the job with full supplier list from Ariba.
  • All suppliers marked as inactive in Ariba are deactivated in Icertis.
  • Audit log captures all changes.
  • Job completes without errors.
2

Daily Delta Update
Job runs after initial load; Ariba has newly deactivated suppliers

  • Only newly inactive suppliers since last run are deactivated in Icertis.
  • No changes to active suppliers.
  • Audit log shows only delta updates.
3Supplier Reactivation in Ariba
  • Reactivation handled by standard integration adaptor (not custom job).
  • Custom job does not attempt to reactivate supplier.
  • Audit log confirms no action taken.
4API Connectivity Failure
Ariba API is unavailable during job execution.
  • Job retries based on configured retry logic.
  • Failure notification sent to admin.
  • No partial updates occur.
5

Data Integrity Check

Supplier record in Icertis already marked inactive before job runs.

  • Job skips redundant deactivation.
  • Audit log notes skipped records.
  • No duplicate actions performed.

Test Considerations/Dependencies

Not Applicable


Other Information


Development Details

Package

Package NameParent Package




Other Development Objects

Object TypeObject NamePurpose/High Level LogicDesign Rationale Reference









Appendix


See also


No files shared here yet.

Change log

Version Published Changed By Comment
CURRENT (v. 24) Apr 08, 2026 10:19 RAI-ext, Praveen
v. 54 Apr 08, 2026 10:15 RAI-ext, Praveen
v. 53 Apr 08, 2026 10:14 RAI-ext, Praveen
v. 52 Apr 07, 2026 18:25 TILBEE-ext, Amanda
v. 51 Apr 07, 2026 11:07 RAI-ext, Praveen
v. 50 Apr 07, 2026 11:04 RAI-ext, Praveen
v. 49 Apr 07, 2026 10:45 RAI-ext, Praveen
v. 48 Apr 07, 2026 10:40 RAI-ext, Praveen
v. 47 Apr 03, 2026 10:50 RAI-ext, Praveen
v. 46 Apr 03, 2026 10:44 RAI-ext, Praveen

Go to Page History

  • No labels