vorgefertigte ALV-Klasse mit ZTabelle und Z-Struktur

Getting started ... Alles für einen gelungenen Start.
4 Beiträge • Seite 1 von 1
4 Beiträge Seite 1 von 1

vorgefertigte ALV-Klasse mit ZTabelle und Z-Struktur

Beitrag von JonPiero (ForumUser / 11 / 0 / 0 ) »
Hallo Leute,

zuerst mal möchte ich sagen, dass ich schon länger im Forum unterwegs war und schon einige Hilfe erhalten konnte.

Nun aber zu meiner Frage:
Ich bin komplett neu im ALV Umfeld und habe wohl gleich mal eine satte Aufgabe bekommen.
Es geht darum eine eigene Klasse zu erstellen, welche sozusagen die salv klasse ersetzt und ein vorgefertigtes Muster für eine ALV bietet.
Dazu soll eine Z-Tabelle erstellt werden, in welcher die Spalteninformationen hinterlegt sind, also beispielsweise eine Programm-ID und eine ALVID und die Feldnamen.
Desweiteren soll eine z-Struktur angelegt werden in der die wesentlichen Elemnte hinterlegt sind also beispielsweise der Header, das layout oder die Display-settings.
Die Klasse soll auf die angelegten Merkmale zugreifen.
Ein ähnlicher Ansatz ist wohl unter dem folgenden link zu sehen:
http://scn.sap.com/community/abap/blog/ ... pper-class

Leider weiß ich nicht wie ich anfangen soll, hat jemand eine ähnliche Erleichterung probiert oder kann mir in die richtige Richtung helfen?

Ich danke euch herzlich im Voraus für die Hilfe.

Viele Grüße
Pietro

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: vorgefertigte ALV-Klasse mit ZTabelle und Z-Struktur

Beitrag von a-dead-trousers (Top Expert / 4267 / 213 / 1140 ) »
Hi!
JonPiero hat geschrieben:Dazu soll eine Z-Tabelle erstellt werden, in welcher die Spalteninformationen hinterlegt sind, also beispielsweise eine Programm-ID und eine ALVID und die Feldnamen.
Desweiteren soll eine z-Struktur angelegt werden in der die wesentlichen Elemnte hinterlegt sind also beispielsweise der Header, das layout oder die Display-settings.
Entweder versteh ich die Anforderung nicht, oder du bzw. dein Arbeitgeber weiß nicht wie man (S)ALVs richtig einsetzt. Die Funktion die du hier beschreibst ist die normale Layout-Verwaltung die bei jedem (S)ALV automatisch dabei ist. Wichtig ist, dass beim ALV der Parameter I_SAVE der Methode SET_TABLE_FOR_FIRST_DISPLAY gesetzt wird. Beim SALV ist die Funktion IMHO automatisch aktiv. Ansonsten kann man über GET_LAYOUT und SET_SAVE_RESTRICTION die Einstellungen auch ändern.

Was die Wrapper-Klasse anbelangt, ist es sicher kein schlechter Ansatz, immer wieder kehrende Aufgaben zu kapseln. Nur da solltet ihr euch eine bessere Logik überlegen, als den ganzen Kram der schon in der Layoutverwaltung abgelegt wird, nochmal in eigenen Z-Tabellen zu speichern.
Einige Denkanstöße aus meiner "Wrapper-Klasse":
  • Abhängig vom Datenelement eigene Eigenschaften setzten. (z.B.: Bei Timestamps die richtige EDIT_MASK)
  • Ein- und Ausschalten von Zusatzfunktionen wie Zeilen-/Zelleneinfärbung (inkl. Generierung einer dynamischer Ausgabestruktur zur Laufzeit damit man das bei der Strukturdefinition im DDIC nicht berücksichtigen muss)
  • Handling von Drop-Down-Feldern mit Handler und internem/externem Wert.
  • Automatisches F4-Handling je nach Datenelement (z.B.: F4_CLOCK bei Zeitfeldern.)
lg ADT
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: vorgefertigte ALV-Klasse mit ZTabelle und Z-Struktur

Beitrag von JonPiero (ForumUser / 11 / 0 / 0 ) »
Hi, danke schon mal für die Antwort.

Leider bin ich selbst noch unerfahren und konnte somit nicht sagen ob die Idee der Z-Tabellen sinnvoll ist oder nicht, daher glaube ich dir natürlich.
Ich soll die Aufgabe auch zunächst eigenständig angehen.
Hättest du daher eine bessere bzw andere Idee?

Damit ich das richtig verstehe, die Idee der Wrapper Klasse ist es Methoden auszulagern welche praktisch immer wieder gebraucht werden richtig?

Viele Grüße
Pietro

Re: vorgefertigte ALV-Klasse mit ZTabelle und Z-Struktur

Beitrag von a-dead-trousers (Top Expert / 4267 / 213 / 1140 ) »
Naja, eher die wiederkehrenden Abläufe automatisieren, wie z.B. Anpassen des Feldkataloges aufgrund von Vorgaben.
Da müssen oft mehrere Methoden hintereinander aufgerufen werden, somit fast man das zusammen, damit man nur noch einen Methodenaufruf benötigt.
Am Besten du schaust dir mal an, was so in deiner Firma rund um die ALVs entwickelt wurde. Oft erkennt man da schon einige Muster heraus die immer wieder auftreten und es somit Sinn macht, dafür eine eigene Methode zu haben.

Ich hab auch noch mal über die Z-Tabelle nachgedacht und sie wäre insofern interessant, als dass man da z.B. aufgrund von Tabellen-/Feld- oder Datenelement-Namen Voreinstellungen für den Aufbau des Feldkataloges treffen kann.
Um im Standard SAP-Beispiel mit SFLIGHT zu bleiben: Wenn im ALV das Feld CARRID angezeigt wird, soll die Spalten einen Hotspot erhalten und bei Klick darauf ein Fenster aufgehen, das den SCARR-Eintrag dazu einblendet.
Was IMHO keinen Sinn macht, ist in dieser Tabelle auch Programm-ID und eine ALVID zu speichern, weil man damit dann die Layout-Verwaltung nachbaut.

Anfangs wird die Wrapper-Klasse nur ein kleines Set an Methoden beinhalten die sich aber sicherlich mit jeder neuen Implementierung langsam erweitern werden.
Wichtig ist nur, dass ihr intern die Vereinbarung trefft, dass fortan nur noch die Wrapper-Klasse verwendet wird. Sobald neue Anforderungen eine Änderung notwendig machen, wird die beste Lösung dafür dann analysiert und die Klasse dann dementsprechend erweitert. Nur solltet ihr hier ein für euch passendes Entwurfsmuster wählen um nicht am Ende mit einer unwartbaren Monster-Implementierung herumhantieren zu müssen.
http://de.wikipedia.org/wiki/Entwurfsmuster

lg
ADT
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Seite 1 von 1

Vergleichbare Themen

4
Antw.
1759
Views
Update ZTabelle
von NikoBc » 27.04.2017 08:29 • Verfasst in ABAP® für Anfänger
1
Antw.
1223
Views
Interne Tabelle gegen ZTabelle prüfen
von CaptainMaus » 27.09.2006 20:15 • Verfasst in ABAP® Core
5
Antw.
3010
Views
Klasse soll Typdefinition von anderer Klasse nutzen
von debianfan » 24.05.2017 11:30 • Verfasst in ABAP Objects®
1
Antw.
2009
Views
Lokale Klasse autom. in globale Klasse ändern
von JohnLocklay » 09.01.2019 09:10 • Verfasst in ABAP Objects®
2
Antw.
1680
Views
Struktur als Kopie von vorhandener Struktur anlegen
von Marwin » 20.04.2005 15:29 • Verfasst in ABAP® Core

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.