Member-only story

One of the Essences of SAP Software Design: The Design of Various Determination Logic

Mr. Nobody
7 min readMay 24, 2024

--

The Perfect Embodiment of the Configuration Over Code Principle

Any programmer who has worked on the design of moderately complex backend systems should be familiar with the principles of `Configuration Over Code` and `Convention Over Configuration`. The first principle suggests that configuration should take precedence over hardcoding logic, allowing for greater system flexibility by enabling customization through configurations rather than hardcoded logic.

While this principle is straightforward to explain, how is it applied in real development work?

Drawing from over a decade of experience in ERP software backend system development, I’d like to share my understanding of this principle.

The decision mechanism in ERP software is often overlooked, not because it isn’t important, but because it is so pervasive in both the frontend and backend implementations of ERP systems that it becomes almost invisible, much like the air we breathe.

A decision mechanism processes a set of inputs to produce a set of outputs. Essentially, it comprises three parts:

1. Input Set: This data can come directly from user input or from the output of upstream business logic. In systems running SAP software, the combinations of input data can theoretically be infinite.

2. Analysis and Processing Engine: This needs to handle a vast number of possible input combinations robustly and efficiently, adapting to new scenarios as they arise.

3. Output Set: The results produced by the processing engine based on the input set. These results can either be returned to the user or passed to downstream business logic for further processing.

The core and most challenging part of implementing a decision mechanism is the analysis and processing engine.

How do you implement a decision mechanism module?

Many of us have written code like this when first learning a programming language in university. I certainly have.

IF condition1.
DO logic1.
RETURN result1.
ELSEIF condition2.
DO logic2.
RETURN result2.
ELSEIF condition3.
DO logic3.
RETURN result3.
ELSEIF …
ENDIF.

This can be seen as a rudimentary decision mechanism because it includes input, processing, and output. However, it’s a…

--

--

Mr. Nobody
Mr. Nobody

Written by Mr. Nobody

Since I was young, I have always enjoyed reading biographies of historical figures, especially those about World War II, including documentaries and novels.

No responses yet

Write a response