Technische Dokumentation

Analyse-Flow der SAP Import Queue: Vom CSV-Upload bis zur fertigen Import-Liste für das Zielsystem Y10.

1 Übersicht

Diese Anwendung bestimmt, welche SAP-Transporte nach einer Systemkopie P10 → Y10 noch aus dem Testsystem T10 in das Zielsystem Y10 importiert werden müssen. Dabei werden sechs CSV-Exporte aus den SAP-Systemen analysiert, um eine chronologisch sortierte Import-Queue zu erzeugen — unter Berücksichtigung von Abhängigkeiten und Downgrade-Schutz.

T10 Testsystem Import P10 Produktivsystem Y10 Zielsystem Sys-Copy Delta-Import (diese Queue)

2 Input-Dateien

Sechs CSV-Exporte aus den SAP-Systemen werden benötigt:

e070 TR-Header — Transportnummer, Typ (K/W), Beschreibung, Owner. Bestimmt ob ein TR Workbench oder Customizing ist.
e071 TR-Inhalt — Objekte und Tabellen pro Transport. Entscheidend für die Zuordnung von ToCs und die Abhängigkeitsanalyse.
import_history_t10 Import-Historie Testsystem — Wann wurde welcher TR in T10 importiert? Quelle für die chronologische Sortierung.
import_history_p10 Import-Historie Produktivsystem — Welche TRs sind bereits in P10 vorhanden? Basis für den Customizing-Delta.
vrsd_t10 Versionsregister Testsystem — Objektversionen mit zugehörigen TR-Nummern. Basis für den Coding-Vergleich.
vrsd_p10 Versionsregister Produktivsystem — Objektversionen in P10. Wird mit T10 verglichen um Coding-Deltas zu erkennen.

3 Analyse-Pipeline

Der Kern-Flow in acht aufeinanderfolgenden Schritten. Für das vollständige Detail (21 Blöcke, 5 Phasen, inkl. Audit/Reproduzierbarkeit) siehe Logic-Tab → Pipeline.

1 PARSE Stream-Parse aller 6 Dateien (bis 5 GB E071). E070 wird zuerst geladen (TR-Typen müssen bekannt sein), danach werden E071, Import-Histories und VRSD parallel geparsed. VRSD wird mit trFilter auf bekannte TRs eingeschränkt — Fremd-System-TRs werden ignoriert.
2 BLACKLIST + FILTER Blacklist anwenden (uploads/blacklist.json): blacklisted TRs werden aus History/E071/VRSD entfernt. Pro Objekt mit blacklistetem newest-TR wird der nächst-neueste Non-Blacklist-TR als Ersatz eingesetzt. Cutoff-Date anwenden (Stichtag der Systemkopie). TR-Sets bilden: Workbench, Customizing, ToC, LANG, PIECE.
3 MASTER → SUB-OBJECT EXPANSION E071 listet ein R3TR CLAS, FUGR, MSAG, etc. nur als Master-Eintrag; VRSD trackt aber jede Sub-Object-Version einzeln. Diese Brücke wird hier gebaut für: CLAS→METH/CINC/CLSD/CPRI/CPRO/CPUB/DOCU, INTF→METH/CINC/INTD/DOCU, MSAG→MESS, DOMA→DOMD/DOCU, DTEL→DTED/DOCU, TABL→TABD/CHDO/DOCU, PROG→REPS/REPT/DYNP/CUAD/VARX/AVAS/DOCU, FUGR→FUNC/REPS/DYNP/CUAD/DTEL/DOCU/TABT/WAPP. Naming-Convention via Trie-Lookup + E071-Co-Occurrence-Fallback (multi-Master per Sub-Name-Prefix).
4 CODING RESOLVER Pro VRSD-Objekt: TR-Vergleich T10 vs P10 — bei unterschiedlichem TR den mit der höchsten T10-Position wählen (nicht die VRSD-Versionsnummer — ToCs inflaten Versionen). VRSD-Nebenprodukte werden über E071-Cross-Check gefiltert. Transitive Abhängigkeiten kaskadieren: bringt ein TR ältere Versionen mit, wird der neuere TR mitgenommen (Downgrade-Schutz).
5 CUSTOMIZING RESOLVER Delta T10 \ P10: TRs die in T10 importiert wurden aber nicht in P10 vorhanden sind. Sortiert chronologisch (Tertiär-Sort: trNumber). Transitive Tabellen-Cascade: spätere TRs auf gleicher Tabelle werden mitgenommen.
6 HYBRID RESOLVER Cross-Resolver Konvergenz für Spezialfälle: Mixed TRs (WB+CUST), Non-VRSD Fallback (TRs ohne VRSD-Coverage) und AUTH-Only (reine ACGR-Transporte). Iteriert bis Stabilität (max. 20 Iterationen mit Warning-Logging bei Limit).
7 BUILD QUEUE Finale sortierte Import-Liste. Coding + Customizing zusammengeführt und chronologisch nach T10-Zeitstempel sortiert (Tie-Breaker trNumber). CSV-Spalten: Position, TR-ID, Type, List, Import Date, Import Time, T10-Importreihenfolge, T10-Anomalie, Plausi-Downgrade, Plausi-Downgrade-Objekte, Plausi-Downgrade-Objektliste.
8 PLAUSI-CHECK Simulation des Imports in Queue-Reihenfolge. Pro VRSD-Objekt wird der letzte berührende TR ermittelt. Hat dieser nicht den neuesten T10-Stand & existiert ein neuerer TR mit echtem E071-Eintrag des Objekts → Plausi-Downgrade. Skip-Regeln: gelöschte Master (OBJFUNC=D), spätere Master-Rebuilds, VRSD-Nebenprodukte (E071-Cross-Check). Pro betroffener Last-Touch-TR werden Anzahl + Liste der Objekte annotiert.
PARSE FILTER MASTER expansion CODING CUST HYBRID QUEUE PLAUSI

4 TR-Typen

Workbench Entwicklungsobjekte: Programme, Klassen, Funktionsbausteine, Includes, etc. TRFUNCTION K/S/R/O/E. Werden über VRSD-Vergleich (Coding-Resolver) analysiert.
Customizing Tabelleneinträge und Konfiguration. TRFUNCTION W/Q/C. Werden über Import-History-Delta (Customizing-Resolver) analysiert.
ToC Transport of Copies (TRFUNCTION T) — wird anhand des tatsächlichen Inhalts (E071) entweder Coding und/oder Customizing zugeordnet.
AUTH Reine Berechtigungstransporte — enthalten nur ACGR-Objekte und zugehörige Customizing-Daten.
MIXED TRs mit sowohl Workbench- als auch Customizing-Inhalt. Werden in beiden Resolvern berücksichtigt (Hybrid-Resolver).
LANG / PIECE Sprachtransporte (TRFUNCTION L) und Piece-Listen (TRFUNCTION G) — werden wie ToCs in beiden TR-Sets dual-getrackt.

5 Wichtige Regeln

6 API-Endpunkte

Schnellreferenz aller verfügbaren REST-Endpunkte:

Methode Endpunkt Beschreibung
POST /api/upload 6 einzelne CSV-Dateien hochladen (multipart/form-data)
POST /api/upload/archive 7z- oder ZIP-Archiv mit Auto-Mapping der enthaltenen Dateien
PUT /api/upload/archive/chunk Chunk eines Archivs hochladen (paralleler Upload großer Dateien)
POST /api/upload/archive/finalize Chunked Upload abschließen und Archiv verarbeiten
POST /api/analyze Analyse starten. Optional: {"cutoffDate": "YYYY-MM-DD"} im Body
GET /api/results Letzte Analyse-Ergebnisse abrufen (JSON)
GET /api/export/csv Ergebnisse als CSV-Datei herunterladen
GET /api/export/text Ergebnisse als Text-Datei herunterladen