High- Level Specification

ParameterValue
Application SystemSAP ERP (PF2) & SAP ERP (WP2)
Business Process Reference03.04.04.01. Manage Outline Agreements (R2)

Functional Overview

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:

  1. To enable a relationship between the Icertis Agreement Code and the SAP outline agreement number.
  2. To report where there are inconsistencies in the data between the two systems.

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.

Scope and Objectives

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:

  1. Legacy contracts can be selected for assignment on the outline agreement headers (handled by ERP-259 Enhancement for Storage of Icertis ID on OA Header)
  2. Reporting of Icertis contracts in BW and their associations to outline agreements includes the legacy migrated contracts and new ones 

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. 


Process Flow Diagram




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.
Verify the number of records selected.

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.
If relevant, prepare the purchasing org load file.

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)


Assumptions

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.


Dependencies

The selection of the relevant contracts and export of the relevant field values from Icertis is required prior to the loads into SAP.

Security, Integrity and Controls

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.

Configuration Requirements

There are no specific configuration requirements for this enhancement.

Language Requirements

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.

Special Requirements

There are no special requirements identified.



Design Rationale

Functional Requirements

Detail the functional requirements that are desired to be achieved by the Enhancement compared to current functionality

Proposed Technology to Use

Typically, an enhancement will be based on an existing SAP BADI / user exit. If this is the case, please provide the proposed details of the BADI / user exit.

Data Source Considerations

Include an overview of the source. Can be deleted if not needed.

TableField NameComments/Calculation/Field Manipulation











Data Validation Considerations

Include an overview of the data validation requirement. Can be deleted if not needed.

TableField NameComments/Calculation/Field Manipulation













Custom Tables

If any custom configuration tables are required, which will be read by the enhancement logic, then specify them here. Can be deleted if not needed.

Master Data

<Title Custom Table 1>

<Include an overview of the table and what it’s used for>

FieldDescriptionData Type/LengthValidation rule/ Value Help









Configuration Table

Title Configuration Table 1

Include an overview of the table and what it’s used for

FieldDescriptionData Type/LengthValidation rule/ Value Help








Selection Screen Enhancement

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 NameDescription

Select:

Option or Parameter

Check box or Radio button

Import or Export

Data Type/LengthDefault Value/ Validation rule/ Value HelpSelection Logic













Processing Logic

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.



Volumetrics

Provide volumetrics details: Initial load volumes, Number of Records, Expected Frequency, Expected Long term Growth)


Performance Considerations

Specify if there are any specific performance factors that need to be taken into consideration during development i.e. enhancement must be able to be executed by 10 users at the same time, etc.



Error Handling

Detail how errors will be handled: Notification, Restart/ Recovery and Re-Processing Procedures


Testing

How to Test

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.

Test Conditions and Expected Results

IDConditionExpected Result










Test Considerations/Dependencies

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.


Other Information


Development Details

Package

Package NameParent Package




Enhancement Implementation

Enhancement TypeStandard Definition NameCustom Implementation NameDesign Rationale Reference









Other Development Objects

Appendix

See also

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.


Change log