You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Prompts für Workshop Modernisierung von OpenEdge-Anwendungen - technische Strategien mit KI-Unterstützung
1. Verlagerung des Trigger Codes in eine externe Prozedur
Bitte migriere den Code des `ON CHOOSE OF BUTTON-Report` Triggers aus `wwin.w` in eine eigene
externe Procedure namens `generateReport.p` neben `wwin.w`. Die Kundennummer und die "Datum von"
und "Datum bis" Werte sollten als `input` Parameter übergeben werden. Anschließend rufe diese
Procedure im Trigger auf. Da `INPUT` der Standard bei Parametern ist muss das beim Aufruf nicht
explizit angegeben werden.
2. Parameter-Objekt einführen
2.1 Erstellung eines Skills für die Erstellung eines Parameter-Objekts
Erstelle bitte einen neuen Skill in .windsurf/skills/parameterObject/SKILL.md der beschreibt wie
eine Liste aus Parametern in ein Parameter Objekt überführt werden kann.
Der Name eines Parameter Objekt sollte der Methode nachempfunden sein (z.B. <Methodenname>Parameter ).
Die einzelnen Parameter aus der Parameterliste sind Properties in Parameter Objekt:
```abldefine public property <Parametername ohne Prefix> as <Parameterdatentyp> no-undoget.set.```
Außerdem sollte ein initialisierender Konstruktor der Werte für alle Properties übergeben bekommt
sowie ein Defaultkonstruktor ohne Parameter der den initialisierenden Konstruktor mit Defaultwerten
aufruft hinzugefügt werden.
Die Beschreibung des Skills sollte reflektieren dass er beim Erstellen von Parameter Objekten genutzt
werden soll.
Der über den Skill generierte Code muss valider ABL Code sein. Nutze den OpenEdge MCP Server um relevante
Dokumentation und Beispielcode abzufragen.
2.2 Anwendung des Skills auf die generateReport.p Prozedur
Erstelle bitte ein Parameter Objekt für die generateReport.p Procedure. Anschließend ersetzte die einzelnen
Parameter der generateReport.p Procedure mit dem Parameter Objekt sowie den Aufruf der Procedure in wwin.w.
3. Externe Procedure -> Klasse
Erstelle bitte aus `generateReport.p` eine Klasse `ReportGenerator.cls` mit einer `public` Methode
`GenerateReport` die den Code der Procedure übernimmt.
Nutze den OpenEdge MCP Server um valide Syntax für Klassen, deren Methoden, Parametern und anderem relevanten
Code abzufragen. Beachte die Unterschiede bei Parameterdefinitionen zwischen Procedures und Methoden.
4. Methode extrahieren
Bitte Refactor die Methode `GenerateReport` in der Klasse `ReportGenerator`. Der Code für die Ausgabe je
OrderLine und Order sollte in eigene `private` Methoden extrahiert werden. Die `GenerateReport` Methode
sollte diese dann entsprechend aufrufen.