| Status | |
|---|---|
| Owner | ROWLINSON-ext, Kerry |
| Stakeholders | |
| Jira Request ID | |
| Jira Development ID |
| Parameter | Value |
|---|---|
| Application System (Source) | Icertis Contract Intelligence |
| Application System ( Target) | SAP ERP (PF2) & SAP ERP (WP2) |
| Business Process Reference | 03.04.04.01. Manage Outline Agreements (R2) |
Icertis Contract Intelligence is the contract management and authoring application for Syensqo's purchase contracts. Purchase orders are created in S/4 HANA with reference to purchase contracts (outline agreements). The key information from the legal contract which is relevant for procurement forms the basis of the purchase contract or outline agreement in S/4 HANA. For release 4, the integration between Icertis and S/4 HANA will be completer and more automated. However, for release 2 the option for a 'light' integration was decided due to the limitations of the two SAP ECC systems and in particular the substantial existing custom logic which needed to remain unaffected by any changes.
The 'light' integration consists of three main parts:
When an agreement in Icertis is executed, an event in Icertis is initiated and the stream event payload is received to CPI (Cloud Platform Integration). CPI then uses key fields from that payload to make a call to Icertis to retrieve the complete contract record payload from Icertis. An additional call is made for some agreement types to find associations to a master agreement. Based on the information received from Icertis in those calls confidential records are filtered out; fields not required are ignored; and some field values are translated.
A subset of the total fields provided are then mapped to fields in a custom table in both SAP ECC systems (PF2 and WP2) where the data is stored. New contracts which are executed in Icertis and which are relevant for storing in the custom table will have a new entry made. Amendments, renewals and terminations require existing table entries to either be updated or first deleted and then re-created.
The purpose of this functional specification is to provide the details of the ABAP logic in SAP ECC which takes the field values from CPI and enables placement of the entries into the custom table.
The objective of the interface for release 2 is to provide a functional relationship between the Icertis Contract and the SAP outline agreement to enable consistency of the data to be reported and therefore maintained. The business users will manually create and change the outline agreements as a result of contract executions, amendments, renewals and contract terminations.
The entry and update of the contract data in the custom table enables:
The purpose of this specification is to define the logic of the custom ABAP program which will take the data received from Icertis and make the necessary entries in

Step | Description | Comment | |
|---|---|---|---|
1 | A purchase contract is executed in Icertis | Icertis | A legal purchase contract is executed in Icertis |
2 | New entry in custom table for the Icertis Contract | SAP ECC | Integration automatically creates the Icertis Contract record in custom table in both SAP ECC systems (WP2 & PF2) with the Tenant ID, Agreement Type, System ID, Icertis Agreement Code and the relevant data fields from the contract header. |
3 | An amendment to a contract in Icertis is executed | Icertis | An amendment for an existing contract is executed in Icertis. |
4 | Change entry in custom table for the parent contract of the amendment | SAP ECC | The existing entry in the table for the parent agreement of the amendment is located and the relevant fields in the table are overwritten with the values provided in the amendment. |
5 | A renewal of an existing contract in Icertis is made. | Icertis | An existing purchase contract in Icertis is renewed which updates the overall value and the validity end date. |
6 | The entry in the custom table for the contract is updated. | SAP ECC | The existing entry in the table for the purchase contract is updated to reflect the changes to the overall value and the validity end date. |
7 | An existing purchase contract in Icertis subject to automatic renewal is renewed. | Icertis | An existing purchase contract in Icertis is renewed automatically when the renewal date comes due which updates the validity end date. |
8 | The entry in the custom table for the contract is updated. | SAP ECC | The existing entry in the table for the purchase contract is updated to reflect the changes to the validity end date. |
9 | An existing purchase contract in Icertis is terminated. | Icertis | An existing purchase contract in Icertis is terminated which updates the validity end date and the status in Icertis. |
10 | The entry in the custom table for the contract is updated. | SAP ECC | The existing entry in the table for the purchase contract is updated to reflect the changes to the validity end date. |
There are no specific assumptions identified.
This specification is dependent on the integration development ERP-260 Custom Integration to Call/Dump Icertis Records into Z-Table.
No confidential agreements (ICMCONFIDENTIALCONTRACT=YES) are to be stored in the custom table.
There are no configuration requirements.
Specify any special requirements or considerations that may impact the interface based on specific locations, regulatory compliance or system limitations. Clearly outline requirements e.g. localization rules for countries like China
If the interface interacts with third-party systems such as Icertis, describe any additional integration, security or authentication considerations that must be taken into account.
This template section may be used to specify the custom API design. The requirement can be for an API provider which means the API will be designed in the system or can be for an API consumer which means that an API will be consumed in the system.
Populate the type of the API use in this section. Will the API be Consumed or Provided.
| Parent - ECC Custom Table | Field | Description | Mandatory (Y/N) | Data Type - SAP ECC lengths |
|---|---|---|---|---|
| ZWPUT_ICMCONTRCT | TENANTID | Tenant ID | Y | 20 CHAR |
| ZWPUT_ICMCONTRCT | CONTRACTTYPENAME | Contract Type Name | Y | 224 CHAR |
| ZWPUT_ICMCONTRCT | SYSID | System ID | Y | 36 CHAR |
| ZWPUT_ICMCONTRCT | ICMAGREEMENTCODE | Agreement Code | Y | 224 CHAR |
| ZWPUT_ICMCONTRCT | ICMPURCHASINGORGCODE | Purchasing Org Code | Y | |
| ZWPUT_ICMCONTRCT | ICMCONFIDENTIALCONTRACT | Confidential Contract | N | 3 CHAR |
| ZWPUT_ICMCONTRCT | NAME | Agreement Name | N | 1000 CHAR |
| ZWPUT_ICMCONTRCT | ASSOCIATINGTYPE | Associating Agreement Type | N | 224 CHAR |
| ZWPUT_ICMCONTRCT | ASSOCIATINGCODE | Associating Agreement Code | N | 224 CHAR |
| ZWPUT_ICMCONTRCT | ASSOCIATINGSYSID | Associating System ID | N | 36 CHAR |
| ZWPUT_ICMCONTRCT | ICMSUPPLIERSAPID | Bidders/Supplier SAP ID | N | 224 CHAR |
| ZWPUT_ICMCONTRCT | ICMEFFECTIVEDATE | Effective Date | N | DATE |
| ZWPUT_ICMCONTRCT | ICMEXPIRY | Expiry | N | DATE |
| ZWPUT_ICMCONTRCT | ICMTOTALCONTRACTVALUE | Total Contract Value | N | INT(15 including 2 decimals) |
| ZWPUT_ICMCONTRCT | ICMCURRENCY | Supplier Currency | N | 5 CHAR |
| ZWPUT_ICMCONTRCT | ICMLEGALENTITYCODE | Syensqo Legal Entity Code | N | 1000 CHAR |
| ZWPUT_ICMCONTRCT | ICMPURCHASINGGROUPCODE | Purchasing Group | N | 1000 CHAR |
| ZWPUT_ICMCONTRCT | ICMREGION | Region | N | 1000 CHAR |
| ZWPUT_ICMCONTRCT | ICMPRIMARYOWNERNAME | Primary Contract Owner | N | 224 CHAR |
| ZWPUT_ICMCONTRCT | ICMINCOTERMSCODE | Incoterms Code | N | 224 CHAR |
| ZWPUT_ICMCONTRCT | ICMINCOTERMSLOCATION | Incoterms Location | N | 1000 CHAR |
| ZWPUT_ICMCONTRCT | ICMPAYMENTTERMS | Payment Terms | N | 224 CHAR |
Populate the table below to list the calculation and validation rules per field
| Parent | Field | Rule Type | Rule Instruction |
|---|---|---|---|
| ZWPUT_ICMCONTRCT | |||
| ZWPUT_ICMCONTRCT | |||
| ZWPUT_ICMCONTRCT |
Describe the processing requirement in the System
Delta or Full Load Requirements
Please describe change tracking requirements, i.e. transferring only delta, or always full load
Please describe any alert & monitoring requirement for business users and support organization, i.e. AIF
Specify multi language requirements
Capture the requirements for the user interface (UI) associated with the interface. It should provide a clear description of how users will interact with the interface and how information will be presented to ensure usability and accuracy.
Provide volumetrics details: Initial load volumes, Number of Records, Expected Frequency, Expected Long term Growth)
Specify if there are any specific performance factors that need to be taken into consideration during development i.e. interface must be able to handle 100 posting per-hour, etc.
Detail how errors will be handled: Notification, Restart/ Recovery and Re-Processing Procedures
Please provide some guidance and/or test data to help the developer unit test the interface. Please include both positive and negative testing (to validate error situations handling)
The developer will need to test repeatedly, so where appropriate provide instructions to reverse the actions performed so the test may be run again, or explain how to create new input data to the test. In particular, the developer will need logons for test users representing the various roles within the approval process.
| ID | Condition | Expected Results |
|---|---|---|
List any considerations essential for application test planning (e.g., test this before ABC along with DEF separate from GHI). If the development encompasses a user interface, explain how to test it. List any insights as to how this component could be tested the most efficiently.
| Package Name | Parent Package |
|---|---|
Other Development Objects
| Object Type | Object Name | Purpose/High Level Logic | Design Rationale Reference |
|---|---|---|---|
Insert links and references to other documents which are relevant when trying to understand this decision and its implications. Other decisions are often impacted, so it's good to list them here with links. Attachments are also possible but dangerous as they are static documents and not updated by their authors.
