Bei der Umstellung auf SAP S/4HANA oder der Entwicklung von kundenspezifischem Code im S/4HANA-Umfeld stoßen ABAP-Entwickler häufig auf Herausforderungen, die durch das überarbeitete Datenmodell entstehen. Eine dieser Herausforderungen manifestiert sich in der ABAP Test Cockpit (ATC)-Prüfung als Fehlermeldung: „TABL T001 wurde ersetzt (siehe Hinweis(e): 0002431747)“. Dieser kritische Befund weist auf die Verwendung der obsoleten Datenbanktabelle T001 (für Buchungskreise) in kundeneigenen Objekten, wie beispielsweise CDS Views, hin. Das rechtzeitige Beheben solcher Fehler ist entscheidend für die Kompatibilität und Leistungsfähigkeit des kundenspezifischen Codes in S/4HANA.
Das ABAP Test Cockpit (ATC) in S/4HANA – Warum es entscheidend ist
Das ABAP Test Cockpit (ATC) ist ein unerlässliches Werkzeug für jede SAP-Entwicklung, insbesondere im Kontext von S/4HANA. Es ermöglicht eine umfassende statische Code-Analyse, um potenzielle Fehler, Performance-Probleme und Kompatibilitätsprobleme frühzeitig zu identifizieren. In S/4HANA spielt das ATC eine zentrale Rolle bei der Überprüfung von kundenspezifischem Code auf Konformität mit dem neuen Datenmodell und der Vereinfachungsliste. Fehler wie die Ersetzung von Standardtabellen werden hier als Priorität 1 Befunde klassifiziert, da sie zu schwerwiegenden Problemen oder Fehlfunktionen nach der Migration führen können. Das Ignorieren dieser Befunde birgt das Risiko einer nicht funktionsfähigen Anwendung oder eines unerwarteten Verhaltens im produktiven System, da viele der alten Tabellen nicht mehr aktualisiert werden oder völlig verschwunden sind.
Der ATC-Fehler “TABL T001 wurde ersetzt” im Detail
Der besagte ATC-Fehler tritt auf, wenn kundenspezifische ABAP-Entwicklungen, insbesondere CDS Views, die Tabelle T001 direkt in ihren FROM-Klauseln verwenden. T001 war in früheren SAP-Systemen die zentrale Tabelle für Buchungskreisdaten, wurde aber im Rahmen der S/4HANA-Vereinfachung durch stabilere und leistungsfähigere CDS Views ersetzt. Ein typisches Beispiel für eine problematische CDS View könnte wie folgt aussehen:
@AbapCatalog.sqlViewName: '/KODYAZ/TVKO_CDS'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Verkaufsorganisation CDS View'
define view /KODYAZ/TVKO_INFO as
select tvko.bukrs,
tvko.vkorg,
t001.kkber
from tvko
inner join t001 on tvko.bukrs = t001.bukrsWenn eine ATC-Prüfung auf einem solchen DDL SQL View-Objekt, beispielsweise über Transaktion SE11 (View > Prüfen > ABAP Test Cockpit mit…), durchgeführt wird, erscheint die detaillierte Fehlermeldung:
S/4HANA: Suche nach Basistabellen von ABAP Dictionary Views
View basiert auf einem ersetzten Artefakt
View /KODYAZ/TVKO_CDS hat TABL T001 als Basistabelle. TABL T001 wurde ersetzt (siehe Hinweis(e): 0002431747)
Dieser Hinweis ist eindeutig und fordert zur Anpassung des Codes auf. Die zugrunde liegende SAP-Note 0002431747 liefert weitere Details zur Ersetzung von T001 und den empfohlenen Vorgehensweisen.
Die Lösung: T001 durch I_CompanyCode ersetzen
Um diesen ATC-Fehler zu beheben und die S/4HANA-Kompatibilität sicherzustellen, muss die direkte Verwendung der Tabelle T001 durch eine entsprechende Standard-CDS-View ersetzt werden. Die empfohlene Entität hierfür ist die DDL SQL View I_CompanyCode. Diese View ist Teil des Virtual Data Model (VDM) von S/4HANA und bietet eine stabile Schnittstelle zu den Buchungskreisdaten. Sie abstrahiert von den zugrundeliegenden physischen Tabellen und gewährleistet Zukunftsfähigkeit sowie optimierte Performance.
Die Anpassung der oben gezeigten CDS View sieht dann wie folgt aus:
select tvko.vkorg,
tvko.bukrs,
t001.CreditControlArea as kkber
from tvko
inner join I_CompanyCode as t001 on tvko.bukrs = t001.CompanyCodeNach dieser Modifikation und einer erneuten ATC-Prüfung sollte der Fehler für diese CDS View nicht mehr auftreten. Ein wesentlicher Vorteil der Verwendung von I_CompanyCode ist, dass sie wichtige Felder wie den Kreditkontrollbereich (KKBER bzw. CreditControlArea) weiterhin zur Verfügung stellt, welche in einigen anderen Nachfolge-Views für Buchungskreisdaten möglicherweise fehlen könnten. Dies macht I_CompanyCode zu einer robusten und bevorzugten Wahl für die Abfrage von Buchungskreisinformationen in S/4HANA.
ABAP CDS View Definition für Buchungskreise in S/4HANA, die I_CompanyCode verwendet
Ein ähnlicher Fall: VBFA und ISDDOCMLPROCFLOW
Ein vergleichbares Problem kann bei der Verwendung anderer obsolet gewordener Standardtabellen in S/4HANA auftreten. Ein bekanntes Beispiel ist die Tabelle VBFA, die den Verkaufsbelegfluss abbildet. Wenn ein ABAP-Programmierer VBFA direkt in einer CDS View verwendet, kann der ATC-Fehler „TABL VBFA wurde ersetzt (siehe Hinweis(e): 0002198647)“ auftreten.
Zur Behebung dieses spezifischen ATC-Befunds sollte die Basistabelle VBFA durch die DDL SQL View ISDDOCMLPROCFLOW (SD Document Multi Level Process Flow) ersetzt werden. Auch hier gilt das Prinzip, auf die stabilen und optimierten Schnittstellen des S/4HANA Virtual Data Models zurückzugreifen, anstatt direkt auf physische Tabellen zuzugreifen, die in ihrer Struktur oder Existenz verändert wurden. Der SAP-Hinweis 0002198647 bietet detaillierte Informationen zu dieser Ersetzung.
Für Entwickler bedeutet dies, bei jeder Custom Code Entwicklung und vor jeder S/4HANA-Migration die Simplification List und die entsprechenden SAP-Hinweise sorgfältig zu prüfen und das ABAP Test Cockpit als primäres Werkzeug zur Code-Analyse zu nutzen. Dies stellt sicher, dass der Code zukunftssicher und performant bleibt.
Fazit
Die Anpassung von kundenspezifischem ABAP-Code an die Gegebenheiten von SAP S/4HANA ist eine Kernaufgabe für Entwickler. Die Fehlermeldung „TABL T001 wurde ersetzt“ im ABAP Test Cockpit ist ein klares Indiz dafür, dass das Datenmodell für Buchungskreise geändert wurde und eine direkte Nutzung der alten Tabelle T001 nicht mehr zulässig ist. Durch das Ersetzen von T001 mit der empfohlenen CDS View I_CompanyCode lösen Sie nicht nur den ATC-Fehler, sondern stellen auch sicher, dass Ihr Code kompatibel mit dem S/4HANA Virtual Data Model ist und von zukünftigen Optimierungen profitiert.
Dieser proaktive Ansatz, einschließlich der regelmäßigen Nutzung des ABAP Test Cockpits und der Berücksichtigung von SAP-Hinweisen, ist entscheidend, um eine reibungslose S/4HANA-Migration und eine stabile Systemlandschaft zu gewährleisten. Entwickler sollten generell prüfen, ob für die von ihnen verwendeten Standardtabellen im S/4HANA-Umfeld dedizierte CDS-Views oder andere Schnittstellen als Nachfolger existieren, um zukünftige Kompatibilitätsprobleme zu vermeiden.
Quellenangaben
- SAP Hinweis 0002431747
- SAP Hinweis 0002198647
