Difference between R/4 and S/4
In this article we will show you the differences between an R/3 system and a new S/4 HANA. What should you look at and what is actually changing.
Before we start the new topics, let's first look at the differences between the two systems, but also the similarities. Here it is particularly important what makes the differences in order to understand why the core data services work better in a HANA system.
The biggest difference is the database technology in the system. An R/3 system runs on Any DB, which means it doesn't matter which database is used. The database is located on a hard disk and the data is stored in the database on a row basis. Accesses that do not go to the key fields of the table usually have to be optimized with a secondary index, otherwise a performance problem occurs the more data is in the database.
An S/4 system uses a HANA database, a database technology developed by SAP, as the database. The database is no longer on the slow hard disk, but in the main memory of the database server. This means that access to the data is very fast in contrast to reading from disk. Most of the data is stored column-based and each column has its own index, so there is no need to optimize access.
Sometimes you can find systems that have the addition "On HANA". This addition indicates that the system is already using a HANA database, but the applications are not yet optimized for S/4. Here you can already enjoy the first advantages of the HANA database and CDS views are also fast.
Modern ABAP has been possible since 7.40 and new functions have been added with each release. However, you can only find the latest functions on an S/4 system or an ABAP environment in the cloud. R/3 is no longer being developed further and therefore no longer benefits from the new features (ABAP Unit, CDS extension, RAP). It is therefore possible that we show examples that are no longer possible on an R/3 system.
New version numbers were also assigned with HANA and the year and month numbers are used as a basis, as Microsoft does, for example. Release 1909 is the September release of 2019. Internally, for example, you can still find releases such as SAP_ABA 7.55 for the ABAP version.
In the first section, we mentioned that performance hardly matters when we access the data. Likewise, aggregating data and computing is much faster. This results in new possibilities and other rules compared to an R/3 system. Where previously you should keep the amount of data small or first read the data into the program in order to then process them, the exact opposite now applies.
In an S/4 system, you should primarily let the database do the work and read the finished result into the program. The principle behind it is code pushdown, we transfer all possible operations, aggregations and queries down to the database and at the end only read the result. This makes the program code clearer and increases the complexity of the query. These queries can then be outsourced to Core Data Services (CDS) in order to keep access within the program small and to be able to reuse such queries.
With the switch to S/4, there will be some changes, especially for you as a developer, in dealing with the system and the database, but less so in ABAP development. R/3 programs work exactly the same here, maybe just a little slower if they are not optimized. So you don't need to worry too much about switching to S/4.