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

Custom ABAP program to run batch input session based on a spreadsheet with the required values in each field.

Data Source Considerations

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.

TableField NameComments/Calculation/Field Manipulation











Data Validation Considerations

The following data validations are carried out in both test and update modes:

TableField NameComments/Calculation/Field Manipulation
ZMM_ICMCONTRACTCONTRACTTYPENAME

Valid value of MSA, SAA, SBA, SPA only
Amendment contract names are not permitted

Error: xxx invalid CONTRACTTYPENAME

ZMM_ICMCONTRACT

CONTRACTTYPENAME

SYSID

ICMAGREEMENTCODE

Mandatory fields and must be in the spreadsheet 

Error: Field xxx is required entry

ZMM_ICMCONTRACTSYSID

Spreadsheet value for SYSID does not already have an entry in the table. Duplicate entries are not permitted

Error: SYSID xxx already exists

ZMM_ICMCONTRACTASSOCIATINGCODE, ASSOCIATINGTYPE, ASSOCIATINGSYSID

These fields must either all be blank, or all be filled (not one filled, one blank).

Error: Missing association details

ZMM_ICMCONTRACTASSOCIATINGTYPE

If ASSOCIATINGTYPE is filled, the value can only be MSA

Error: Incorrect ASSOCIATINGTYPE

ZMM_ICM_EKORGSYSID & 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


Custom Tables

There are no requirements for additional custom tables for this enhancement.

Master Data

There are no requirements for any master data tables for this enhancement.


FieldDescriptionData Type/LengthValidation rule/ Value Help









Configuration Table

There are no requirements for additional configuration tables for this enhancement.


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

ICM Contract Table UploadRadio Button1Default to selected

If the 'Contract' radio button is selected, then program is to upload to the table ZMM_ICMCONTRACT

File NameFile Name (Contract)Select for the file name and pathLength to be specifiedDefault to blank

Selection of the dropdown and allow user to navigate to the location of the file on a local drive for the Contract Table Upload



















Test ModeTest ModeCheckbox1Default to selected

Select if the selected program is to be run in test mode. 
Program runs any coded checks and validations and reports error messages; or reports no errors identified.

Deselected, program will run in update mode and make changes to the table.








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

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. 


Performance Considerations

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.



Error Handling

  • Any errors identifiable by the program will be reported when the program is executed in test mode. They need to be rectified prior to running in update mode.
  • Errors for any entries which could not be uploaded will be identified in the batch processing logs and may be reprocessed if the cause of the error can be subsequently cleared.


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