| Status | |
|---|---|
| Owner | |
| Stakeholders | |
| Jira Request ID | |
| Jira Development ID |
| Parameter | Value |
|---|---|
| Application System | 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 SAP ECC 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 SAP ECC. The integration between Icertis and SAP ECC for release 2 is a custom table in SAP ECC to hold key header field content from Icertis (ERP-260 Integration Process - Icertis to SAP ECC Contract Data Replication & ERP-261 System Interface - Icertis Contract Data Replication to SAP ECC). This custom table supports the main objectives:
This enhancement is to create a program in SAP ECC which makes new entries in the custom table ZMM_ICMCONTRACT for legacy contracts which have been loaded into Icertis Contract Management via their legacy load tool. This method does not generate event messages to CPI in the same way that the execution of a new contract manually does. The program would be a batch input process based on the contents of a spreadsheet to make the table entries.
Once the legacy contract field values are loaded in the table in SAP, all other integration from Icertis is managed via the existing developments referenced above. This includes the execution of amendments, renewals, terminations and tracking field updates.
Detail the functional scope and objectives of the Enhancements. Please also describe the gap that will be addressed by this enhancement (Compared to SAP Standard)
The purpose of this program is to ensure that all the relevant legacy system contracts which are loaded into Icertis are available in the table in both SAP ECC systems. This ensures that:
Primarily the purpose of the program is for the load of legacy contracts where currently the expected event messages cannot be triggered to CPI to enable the operation of ERP-260 Integration Process - Icertis to SAP ECC Contract Data Replication & ERP-261 System Interface - Icertis Contract Data Replication to SAP ECC in their current form.
Potentially this program may also provide a backup option to load multiple contract records into the table in the event of a failure in the automated interfaces from Icertis. If an event is not generated, or there is an inability to process the message in CPI (eg. Incorrect tenant id), there is no method in Icertis to resend or to retrigger a new message, nor an ability to update the message in CPI. Manual entry into the table in SAP is the only option. In the case of multiple records, this program may provide a fallback option depending on the circumstances, the volume, the ability to identify and the nature of the failures.

Step | Description | Comment |
|---|---|---|
1 | List the legacy agreements in Icertis | Select the relevant contract types. Select the variant to display the relevant columns for the table in SAP. |
2 | Export the selection (Icertis) | Export the list of agreements to Excel file and confirm the number of records. |
3 | Prepare the load file(s) (Excel) | Various formatting, lookups, macros and checks field by field to prepare the file for loading. |
4 | Execute the load program in test mode (SAP) | Validate any errors in test mode in both SAP ECC systems. Verify number of records |
5 | Execute the load program in update mode (SAP) | Execute the load program in update mode. Run the batch input session. Verify any errors in the load. Validate the number of records updated in the table. |
6 | If relevant execute the purchasing org table load in test mode (SAP) | Validate any errors in test mode in both SAP ECC systems. Verify number of records |
7 | If relevant execute the purchasing org table load in update mode (SAP) | Execute the load program in update mode. Run the batch input session. Verify any errors in the load. Validate the number of records updated in the table. |
8 | Verify number of new records loaded (SAP) | Verify the number of records in the tables include the expected number of new records and that the tables are consistent across both SAP systems (PF2 and WP2 for production) |
Verified spreadsheet templates are available to prepare the data with fields correctly named and sequenced for the load program.
The relevant contracts for load can be selected in Icertis, and the relevant fields can be successfully exported from Icertis to a spreadsheet with the values for the fields which are mapped in SAP.
It is understood that multiple manual tasks will be required to prepare the exported file for load into SAP. This includes formatting, trimming of field content, formulae, lookups, manual entry of fixed values not available in Icertis and resequencing of columns. Whilst several validations can be carried out within the load program, the fields in the tables have been defined to be mostly text format fields to enable all values to be stored in both SAP systems and to accept whatever value is being passed from Icertis. Careful validation of the data in the spreadsheet will be required prior to executing a load.
Purchasing organization data is held in a separate table (ZMM_ICM_EKORG) in SAP. Whilst purchasing organizations are not assigned to the legacy contracts being loaded initially in Icertis, if this program is to be used where purchasing organizations are assigned in Icertis, an additional file and step is required in the program. They can only be loaded following the initial load of the contract into ZMM_ICMCONTRACT.
Any load into the table will have to be executed in both the PF2 and WP2 systems. The table entries are maintained in both systems by the enhancement ERP-261 System Interface - Icertis Contract Data Replication to SAP ECC. Entries in both tables are expected to always be identical.
The selection of the relevant contracts and export of the relevant field values from Icertis is required prior to the loads into SAP.
Security is covered by the authorizations defined in ERP-261 System Interface - Icertis Contract Data Replication to SAP ECC, where an authorization group is on the table to protect it from updates. Firefighter access is required for cutover and by production support in the event of needing to update the table with the exception of a few Syensqo users currently with access in the SAP Basis/Technical team.
No further security or control is required for this program.
There are no specific configuration requirements for this enhancement.
There are no language requirements for this enhancement. Screen fields and headings will be programmed only in English. As per ERP-261 System Interface - Icertis Contract Data Replication to SAP ECC, the contract content from Icertis is predominantly text based and will therefore be shown in the language it which it was entered in Icertis.
There are no special requirements identified.
Detail the functional requirements that are desired to be achieved by the Enhancement compared to current functionality
Custom ABAP program to run batch input session based on a spreadsheet with the required values in each field.
All data required for the table entries will be provided in the spreadsheet or in the initial selection screen for the program. The format of the spreadsheet is shown below and a sample file provided for unit testing.
| Table | Field Name | Comments/Calculation/Field Manipulation |
|---|---|---|
Include an overview of the data validation requirement. Can be deleted if not needed.
| Table | Field Name | Comments/Calculation/Field Manipulation |
|---|---|---|
| ZMM_ICMCONTRACT | CONTRACTTYPENAME | Valid value of MSA, SAA, SBA, SPA only Error: xxx invalid CONTRACTTYPENAME |
CONTRACTTYPENAME SYSID ICMAGREEMENTCODE | Mandatory fields and must be in the spreadsheet Error: Field xxx is required entry | |
| ZMM_ICMCONTRACT | SYSID | Spreadsheet value for SYSID does not already have an entry in the table. Duplicate entries are not permitted Error: SYSID xxx already exists |
| ZMM_ICMCONTRACT | ASSOCIATINGCODE, ASSOCIATINGTYPE, ASSOCIATINGSYSID | These fields must either all be blank, or all be filled (not one filled, one blank). Error: Missing association details |
| ZMM_ICMCONTRACT | ASSOCIATINGTYPE | If ASSOCIATINGTYPE is filled, the value can only be MSA Error: Incorrect ASSOCIATINGTYPE |
| ZMM_ICM_EKORG | SYSID & ICMPURCHASINGORGCODE | Spreadsheet value for SYSID does not already have an entry in the table. Duplicate entries are not permitted Error: SYSID xxx and ICMPURCHASINGORGCODE already exists |
There are no requirements for additional custom tables for this enhancement.
There are no requirements for any master data tables for this enhancement.
| Field | Description | Data Type/Length | Validation rule/ Value Help |
|---|---|---|---|
There are no requirements for additional configuration tables for this enhancement.
| Field | Description | Data Type/Length | Validation rule/ Value Help |
|---|---|---|---|
This section will give the details on the selection screen parameters, parameter type and whether it’s obligatory or not. This section can be used to define the Import Export parameters for Function Module or User Exit or Screens. Can be deleted if not needed.
| Field Name | Description | Select: Option or Parameter Check box or Radio button Import or Export | Data Type/Length | Default Value/ Validation rule/ Value Help | Selection Logic |
|---|---|---|---|---|---|
| Test Mode | Test Mode | Checkbox | 1 | Default to selected | Select if program is to be run in test mode. Deselected, program will run in update mode and make changes to the table. |
This section defines the detailed step-by-step logic implemented within the BAdI/User Exit to process the data received from the standard SAP program and database retrieval. It explains the operations performed on the data, the expected outcomes in different scenarios and how the system should behave in response to specific conditions.
There are 2900 legacy purchase contracts being loaded into Icertis which are relevant for entry in the SAP table ZMM_ICMCONTRACT. There are no entries required to the purchasing organization table ZMM_ICM_EKORG for legacy contracts, but if the program is used to make contract entries as a result of an error or failure to generate an event within Icertis, entries may be required to that table as well as the main one.
Volumes for any future use of the program for the correction of missing table entries may vary depending on the circumstances.
There are no specific performance considerations for this development as it is expected that the table update will be made quickly and there are no dependencies for the load of legacy contracts.
Please provide some guidance and/or test data to help the developer unit test the enhancement. 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. The developer will need logons for test users representing the various roles within the approval process.
| ID | Condition | Expected Result |
|---|---|---|
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 |
|---|---|
| Enhancement Type | Standard Definition Name | Custom Implementation Name | 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.
