Purpose
This document defines the meaning of WRICEFUM and how it is applied use of Development IDs, how they are managed and counted in conjunction with SAP’s Clean Core principles.
Summary
The WRICEFUM Development ID is a center piece centerpiece to manage, track and measure custom development requirements. Development IDs are lower level than WRICEFs to define and document the needed artefacts. Clean Core principles need to be applied to each WRICEFUM Development ID object based on feasibility to keep the Total Cost of Ownership for custom developments manageable and explicit.
| Table of Contents |
|---|
WRICEFUM Definition
WRICEFUM stands for
- W – Workflow
- R – Report
- I – Interface
- C – Conversion
- E – Enhancement
- F – Form
- U – UI
- M – Metric
It is SAP’s classic way of categorizing custom requirements. It is a 4 to 5 digit number.
Sample: U-1234
Development ID Definition
"WRICEF" was the traditional way of categorizing business requirements that will be implemented with custom development, where each of the letters in the acronym stands for Workflow, Report, Interface, Conversion, Enhancement, and Form, respectively. Typically the letter of the acronym is used in combination with a running number. But in the several decades since this acronym entered into use, SAP development has evolved significantly. There are now many more types of developments which cannot meaningfully be combined into an "Enhancement" and treated equivalently; similarly it is sometimes not easy to assign a meaningful category to a development.
Instead of the traditional WRICEF approach, we will use Development IDs in combination with their Type.
The "Type of Development" will be introduced to categorize a development instead of the WRICEF. It is a more detailed classification that more accurately reflects modern SAP development types:
- Enhancement (incl. Conversion)
- Form (Output)
- HANA CDS View
- Integration Process (custom)
- Integration Process (standard)
- Metrics/KPI
- Mobile App
- Modification
- Program
- Report/Analytics
- System Interface
- User Interface
- Workflow (custom)
- Workflow (standard)
- Application Job (Custom)
The Development ID is the number assigned to developments. The Development ID will be created after the request has been approved. The Development Request How-To details the process in Jira.
The Development ID The WRICEFUM will be used in the functional design (FD) document title, the development package name and needs to be assigned in all relevant L5 business process steps in Signavio.
Every development requires at least one Development ID. SAP Notes of type Modification and Consulting require an approved Development ID and a basic Functional Design document as well. Although SAP might provide the code, SAP does not support Consulting Notes or Modification Notes as part of its product support scope. Since the ongoing support and upgrade maintenance are at Syensqo's risk and cost, they are also considered custom developments from a governance perspective.
Conversions are not required to have a Development ID. The Master Data Register number will be used. A Development ID for conversions is only needed if a custom object, such as a load program, needs to be created.
Examples
For example, a Development Request ID 1234 of type User Interface has been approved. The UI development requires a UI5 app and an oData service. That means 2 Development IDs will be created.
Sample: Jira/FD/Signavio : 1235 (Type User Interface) and 1236 (Type System Interface)
Sample: Package: Z[POD]_1235 and Z[POD]_1236
Sample: SaaS: 1237 (Type System Interface)
SAP 3 Tier classification in Clean Core
Clean Core is SAP’s concept to achieve modern, flexible and cloud compliant custom solutions.SAP SAP came up with 3 tiers of custom developments:
Tier 3: Classical ABAP development in S/4HANA Core (deprecated legacy code/tools with exceptions where still required).
Tier 2: Cloud API enablement (custom wrapper to use unreleased APIs in Tier 1) or mandatory use of legacy tools, i.e. pricing routines, user exits, in S4HANA Core systems.
Tier 1: On-Stack (Key User or Developer Extensibility) and Side-by-Side (BTP ABAP Environment) with full ABAP Cloud complianceor in BTP or SAP SaaS customizations.
ABAP Cloud for S/4HANA Core is the programming model for cloud compliant custom developments. Implementing with ABAP Cloud ensures that the code will be considered clean core as compliant with Clean Core and is upgrade stable.
SAP BTP is the platform for SAP SaaS extensions or cross-system processes.
SAP 3 Tier Technology Mapping
Based on the above definition of clean core the following table contains the main development tools objects and approaches used categorized as tier 1/2/3.
...
Tier 1
...
Cloud ready / Cloud native
...
Workflow
...
SAP Build Process Automation / Flexible Workflow
...
Report
...
Fiori Elements Report / SAC Report (with Datasphere integration)
...
Interface
...
Standard integration proxies and services in S/4HANA / Custom released APIs
...
Conversion
...
Standard Migration Cockpit objects
...
Enhancement
...
Released Badi / UI Adaptation project / Key User UI Adaptation / ABAP Cloud / Custom Application Job
...
Form
...
Adobe Form with Fragments
...
UI
...
Fiori UX with RAP based service in backend / Web App on BTP with RAP based service in backend
...
Tier 2
...
Cloud enabled / Clean Core / mandatory use of legacy tech
...
Workflow
...
N/A
...
Report
...
Business Objects Report / KPI report / AFO Report
...
Interface
...
Custom web service proxy object in S/4HANA
...
Conversion
...
Custom Migration Cockpit object
...
Enhancement
...
Tier 2 wrapper / Unreleased Badi / Customer exit / Routine exit / Standard (Web) Dynpro enhancement
...
Form
...
Classic Adobe Form
...
UI
...
Fiori UX with existing Gateway service and clean core compliant code
...
Tier 3
...
Classic
...
Workflow
...
Business Workflow
...
Report
...
ABAP Report with custom transaction code
...
Interface
...
ABAP Program with direct service calls
...
Conversion
...
LSMW / ABAP Load program
...
Enhancement
...
Implicit Enhancement / ABAP Program with user access / Dynpros
...
Form
...
SAP Script / Smartform
...
UI
...
Custom ABAP dynpro / Custom Web dynpro
per type of development.
| Type of Development | Tier 1 | Tier 2 | Tier 3 |
| Conversion (Load only) | Released standard APIs called from Syniti |
| N/A |
| Conversion (Transform + Load) | N/A |
| N/A |
| Enhancement |
|
|
|
| Form (Output) |
|
|
|
| HANA CDS View | Custom Released CDS entity | N/A | Custom CDS view |
| Integration Process (custom) |
| N/A | |
| Integration Process (standard) |
| N/A | N/A |
| Mobile App | Custom Neptune app (on Open Edition) | Custom Neptune app (on SAP Edition) | N/A |
| Modification | N/A | N/A |
|
| Program | N/A | Custom Classic ABAP program to run as part of CLOCO or custom print program for Adobe Forms* | Custom Non CLOCO / print program |
| Report/Analytics |
|
|
|
| System Interface |
|
|
|
| User Interface |
|
|
|
| Workflow (custom) |
|
| N/A |
| Workflow (standard) |
| N/A | N/A |
| Application Job | Custom class for Application Job | Custom class for Application Job calling a Tier 2 wrapper | N/A |
- Actually Tier 3, but due to limited availability of Tier 1 alternatives it is considered Tier 2
Non-SAP SaaS Customization Tier classification
For Non-SAP custom development it is also important to stay within the means of provided tools and technologies applying best practices to achieve and maintain a clean core.
The customizations are approached similar to SAP developments and categorized in Tiers if possible.
Salesforce
The two key technologies that are used to enhance the Salesforce standard today are Apex and Lightning Web Components (LWC).
Apex and LWC are code-based tools. For UI development, LWC-based low-code tools like Gridmate and Omnistudio are preferred before developing a pro-code UI in LWC. Apex is the Salesforce programming language used for custom logic and interfaces.
LWC based apps use the modern and preferred framework. For workflows, Flow is the preferred no-code tool. Visualforce, Workflow Rules and Process Builder should not be used anymore.
Either one of these tools needs to be used with best practices in mind. More details are captured in the Development Guidelines. The Guideline is kept up to date. By applying the Salesforce Development Guidelines only tier 1 and tier 2 classification applies.
Icertis
Icertis as a SaaS system does not allow access to DB and code. Only enhancements allowed are via the provided framework and UI driven.
Only standard APIs can be used.
In case a custom development is needed Icertis will implement and support it.
Only the Tier 1 classification is applicable.
Clean Core Deviation tracking
All Tier 2 and 3 Development IDs are logged in the Clean Core Deviation Tracker. During upgrades, these items are revisited to see whether a Clean Core-compliant replacement is available.
The Clean Core Deviation Tracker records the following information:
| S No. | Pod / Functional Area | L3 Process | L4 Process | System | Development Type | Development Id | Requirement title | Priority | Gap Classification | Extension Tier Classification | Technical Details |
Development ID Counting Rules
Every development requires at least one Development Id
WRICEFUM Request
Each business process step that requires a custom development in S/4HANA or GTS will need to classify the WRICEFUM type and the clean core tier.
Tier 3 needs to be justified in detail before approval. It is legacy and considered deprecated, but in certain circumstances classic ABAP development must be used due to lack of clean core replacements.
Tier 2 needs to be justified in detail before approval. SAP is still adding clean core compliant APIs and enhancements each release and using tier 2 offers the needed flexibility to achieve the successful implementation of a business requirement.
Tier 1 is clean core compliant and upgrade stable. No detailed justification is needed.
All tier 2 and 3 WRICEFUMs will be logged in a deviation tracker and need to be revisited during upgrades to see if a clean core compliant replacement is available.
Custom developments in SaaS systems do not require a WRICEFUM.
WRICEFUM Count
Every S/4HANA or GTS custom development requires a WRICEFUM. All will be counted. SAP considers all custom code as a core change. All development IDs will be counted. The type of WRICEFUM it is irrelevant .with the following exceptions:
- Standard interfaces or workflows require a
...
- development ID and FD to describe the business requirement and to cover the needed technical configuration. But these will not be counted.
- SaaS system customizations require a Development ID and FD for System Interfaces to describe the business requirement and to cover the needed technical configuration.
...
- But these will not be counted.
There is no defined maximum number of Development IDs. Instead, KPIs will be used to measure the degree of adherence to SAP's Clean Core approach:
- Average Clean Core Tier Score: Lower value is better. Should be 2 or less. For example 1.4.
- Formula: (No. of Tier 1 objects x 1 + No. of Tier 2 objects x 2 + No. of Tier 3 objects x 3) / Total Number of Objects
- Current percentage of Tier 1 Clean Core Developments: Higher percentage is better. For example 56%.
- Current percentage of Tier 2 Clean Core Developments: This should be lower than the percentage for Tier 1.
- Current percentage of Tier 3 Clean Core Developments: Lowest of the three percentages. For example 14%.
Jira will show the approved Development IDs per Pod, L3/4 Process, Development Type, System, Clean Core Tier and by Release.

