Forms-Audit · SAPscript / SmartForms / NACE

Vier-Bucket-Migrations-Klassifikation

5.405 Forms-Einträge aus einem DACH-Versorger-System (3.403 kunden-eigen, 1.919 SAP-Standard out-of-scope). Per-Form-Klassifikation: Quick-Migrate / Refactor / Re-implement / Replace-with-Output-Mgmt. Geschätzter Migrations-Aufwand: ~533 PT.

Sample-Report-Seite folgt — PDF-Output verfügbar nach Audit-Beauftragung.

Datenbasis
5.405 Forms · 3.403 kunden-eigen
5.000 SmartForms (am gc_pkg_size-Cap)
Liefer-Paket: €3.500 / 7 Werktage
Custom-Code-Audit · Express-Paket

Clean-Core-Klassifikation A/B/C/D

321 ATC-Befunde aus einem produktiv-laufenden DACH-Versorger-System, klassifiziert nach Clean-Core-Tier mit Aufwands-Schätzung pro Befund-Cluster. P3-dominanter Brownfield-Kandidat, ~9 PT Migrations-Aufwand.

Sample-Report ansehen →
Datenbasis
321 Befunde · 15 Custom-Objekte · 0 P1 / 2 P2 / 319 P3
Liefer-Paket: €2.500 / 5 Werktage

Anonymisierungs-Hinweis: Alle Reports verwenden pseudonymisierte System-IDs ([DACH-Versorger-System]). PII-Felder (Mitarbeiter-Identifikatoren, Ansprechpartner) werden bereits parser-seitig zur Upload-Zeit verworfen. Z-Objektnamen, Pakete und Beschreibungen wurden vor Veröffentlichung weiter pseudonymisiert.

Weitere Tool-Beispiele

Aus der ABAP-Toolkit-Bibliothek

Generierte CDS Views, ABAP-Reparaturen, Fiori-Annotationen und Berechtigungs-Konzepte aus älteren Test-Läufen. Die drei produktisierten Audit-Pakete oben sind die aktuellen Hauptangebote — diese Tool-Beispiele bleiben als technische Referenz erhalten.

Beispiel 1 — CDS Migration

Purchase Order List — von ABAP zu CDS

Z_PO_LIST.abap (Vorher)
REPORT z_po_list. TYPES: BEGIN OF ty_po, ebeln TYPE ebeln, ebelp TYPE ebelp, matnr TYPE matnr, menge TYPE menge_d, netpr TYPE netpr, END OF ty_po. DATA: lt_po TYPE TABLE OF ty_po. SELECT k~ebeln p~ebelp p~matnr p~menge p~netpr FROM ekko AS k INNER JOIN ekpo AS p ON k~ebeln = p~ebeln INTO TABLE lt_po WHERE k~bstyp = 'F' AND k~bukrs = '1000'. LOOP AT lt_po INTO DATA(ls_po). WRITE: / ls_po-ebeln, ls_po-matnr, ls_po-menge, ls_po-netpr. ENDLOOP.
ZI_PurchaseOrderItem.cds (Nachher)
// Interface View @AbapCatalog.sqlViewName: 'ZIPOITEM' @AbapCatalog.compiler.compareFilter: true @AccessControl.authorizationCheck: #CHECK define view ZI_PurchaseOrderItem as select from ekpo as Item inner join ekko as Header on Item.ebeln = Header.ebeln { key Item.ebeln as PurchaseOrder, key Item.ebelp as PurchaseOrderItem, Item.matnr as Material, Item.menge as OrderQuantity, Item.netpr as NetPrice, Header.bukrs as CompanyCode, Header.bstyp as DocumentCategory } // Consumption View @OData.publish: true @UI.headerInfo: { typeName: 'Bestellung' } define view ZC_PurchaseOrderItem as select from ZI_PurchaseOrderItem { @UI.lineItem: [{ position: 10 }] PurchaseOrder, @UI.lineItem: [{ position: 20 }] Material, @UI.lineItem: [{ position: 30 }] OrderQuantity, @UI.lineItem: [{ position: 40 }] NetPrice }

ABAP Report → 3 CDS Views · 48 Sek. · (Test-Lauf) · Safe Score: 91/100

Beispiel 2 — ABAP Repair

Legacy Report — 4 Syntaxfehler behoben

Z_VENDOR_REPORT.abap (4 Fehler)
REPORT z_vendor_report. * Fehler 1: Typ-Inkompatibilität DATA: lv_amount TYPE c LENGTH 10. lv_amount = '12345.67'. * Runtime-Fehler bei Rechenoperation lv_amount = lv_amount * 2. * Fehler 2: SELECT * auf S/4HANA SELECT * FROM bseg INTO TABLE @DATA(lt_bseg) WHERE bukrs = '1000'. * Fehler 3: Undeclared Variable LOOP AT lt_bseg INTO DATA(ls_bseg). lv_total = lv_total + ls_bseg-dmbtr. ENDLOOP. * Fehler 4: Fehlender Schrägstrich WRITE: lv_total.
Z_VENDOR_REPORT.abap (Repariert)
REPORT z_vendor_report. * Fix 1: Korrekter numerischer Typ DATA: lv_amount TYPE p LENGTH 8 DECIMALS 2. lv_amount = '12345.67'. lv_amount = lv_amount * 2. * Fix 2: ACDOCA statt BSEG (S/4HANA) SELECT bukrs, belnr, gjahr, dmbtr FROM acdoca INTO TABLE @DATA(lt_items) WHERE bukrs = '1000'. * Fix 3: Variable deklariert DATA(lv_total) = CONV dmbtr( 0 ). LOOP AT lt_items INTO DATA(ls_item). lv_total = lv_total + ls_item-dmbtr. ENDLOOP. * Fix 4: WRITE mit Schrägstrich WRITE: / lv_total.

4 Fehler in 9 Sek. · Safe Score: 88/100 · Manuelle Korrektur: ~35 Min.

Beispiel 3 — CDS View mit Fiori

Bestellübersicht — Fiori-ready in 61 Sekunden

Eingabe (Formular)
Quelltabellen: EKKO, EKPO, LFA1 Ziel-Release: S/4HANA 2023 Anforderung: Bestellübersicht mit Lieferant, Materialtext und Bestellwert. Fiori List Report für Einkäufer. Modus: CDS Generation Fiori: JA — @UI Annotationen OData: JA — @OData.publish
ZC_PurchaseOverview.cds
@OData.publish: true @UI.headerInfo: { typeName: 'Bestellung', typeNamePlural: 'Bestellungen', title: { value: 'PurchaseOrder' } } define view ZC_PurchaseOverview as select from ZI_PurchaseOverview { @UI.lineItem: [{ position: 10, importance: #HIGH }] @UI.selectionField: [{ position: 10 }] PurchaseOrder, @UI.lineItem: [{ position: 20, importance: #HIGH }] @UI.selectionField: [{ position: 20 }] VendorName, @UI.lineItem: [{ position: 30 }] MaterialText, @UI.lineItem: [{ position: 40, importance: #HIGH }] @Semantics.amount.currencyCode: 'Currency' OrderValue, @UI.lineItem: [{ position: 50 }] Currency, @UI.lineItem: [{ position: 60 }] CompanyCode }

Interface + Consumption + Projection · 61 Sek. · Safe Score: 93/100

Beispiel 4 — CDS Review

CDS View Analyse — 7 Probleme gefunden

CDS Review Report
════════════════════════════════════════ CDS VIEW REVIEW — ERPforgeAI ════════════════════════════════════════ KRITISCH (2) SELECT * ohne Feldliste — Performance-Risiko → Empfehlung: Explizite Feldliste definieren Fehlende @AccessControl Annotation → Empfehlung: #CHECK oder #MANDATORY setzen WICHTIG (3) Association ohne ON-Condition Filter → Empfehlung: WHERE-Klausel ergänzen CAST ohne Alias — Feldname unklar → Empfehlung: Sprechenden Alias vergeben Keine @Semantics Annotation auf Währungsfeld → Empfehlung: @Semantics.amount.currencyCode EMPFEHLUNG (2) @UI.headerInfo fehlt — Fiori-Title leer → Empfehlung: typeName + typeNamePlural @Search.defaultSearchElement auf Schlüsselfeldern → Empfehlung: Suchfelder definieren ════════════════════════════════════════ Fiori-Readiness Score: 38 91 (nach Korrektur) ════════════════════════════════════════

7 Probleme · 2 kritisch, 3 wichtig, 2 Empfehlungen · Fiori Score 38 → 91

Beispiel 5 — Berechtigung

Berechtigungsobjekt für externe SAP-Berater

Z_MM_PO_RD — Berechtigungsobjekt
════════════════════════════════════════ BERECHTIGUNGSOBJEKT: Z_MM_PO_RD ════════════════════════════════════════ Beschreibung: Lesender Zugriff auf Bestellungen für externe SAP-Berater Berechtigungsfelder: ACTVT — Aktivität 03 (Anzeigen) BUKRS — Buchungskreis 1000, 2000 EKORG — Einkaufsorg. 1000 BSART — Bestellart NB, ZNB Berechtigungsprofil: Z:MM_PO_READONLY → Rolle: Z_EXT_CONSULTANT_MM → Transaktion: ME23N, ME2M Test-Checkliste: ME23N — Bestellung anzeigen ME2M — Bestellungen nach Material ME22N — Bestellung ändern (gesperrt) ME21N — Bestellung anlegen (gesperrt) SU53 — Fehlanalyse validiert ════════════════════════════════════════ Generiert in 22 Sek. · PFCG-ready ════════════════════════════════════════

Objekt + Profil + Rolle + Testplan · 22 Sek. · PFCG-ready

Bereit? Ihr erstes CDS View in 60 Sekunden.

312 Dateien generiert. 4.7/5 Bewertung. Ab Pro pro Generation.

Jetzt generieren — ab Pro
Jetzt generieren — ab Pro