Daten aus Klasse auslesen und anzeigen

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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

Daten aus Klasse auslesen und anzeigen

Beitrag von newone (ForumUser / 16 / 2 / 0 ) »
Hallo,

ich muss zuerst erwähnen, dass ich ein Anfänger bin und vor paar Tagen damit angefangen habe mich mit ABAP-Entwicklung zu beschäftigen. Daher bitte ich um Nachsicht, wenn es teilweise auch für euch einfache/unnötige Fragen sind.
Ich soll in einem Report eine zuvor erstellte Klasse nutzen, Daten auslesen und anzeigen.
Ich habe in die Tabelle Attribute aus den Standardtabellen aus SAP (wie SFLIGHT) eingelesen und möchte in meinem Report diese Attribute/Werte auslesen.

Im Report habe ich eine Referenz zur Klasse erstellt, interne Tabelle und eine Struktur erzeugt sowie ein Objekt erstellt.
Ich bekomme leider keine Ausgabe bzw. weis auch nicht genau wie ich da vorgehen muss. Habe auch schon viel gegoogelt, aber da fehlt leider noch die Erfahrung.

Mein Code:
Data: lr_ref TYPE REF TO meineKlasse,
itab TYPE TABLE OF REF TO meineKlasse,
ls_str TYPE structure.

CREATE OBJECT lr_ref.


Ich komme einfach nicht weiter, habe schon einiges probiert; wäre zu viel das Ganze hier mit aufzunehmen. Ich freue mich über jede Hilfe, vielen Dank im Voraus.

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


Re: Daten aus Klasse auslesen und anzeigen

Beitrag von sapnup (ForumUser / 42 / 14 / 12 ) »
Hallo newone,

wenn deine Aufgabe darin besteht irgendwelche Daten die in einem Objekt "drin sind" auszugeben, dann hast du es fast geschafft.

Code: Alles auswählen.

Data: lr_ref TYPE REF TO meineKlasse " Hier kann warscheinlich ein . hin
itab TYPE TABLE OF REF TO meineKlasse, " Das kann weg
ls_str TYPE structure. " Das kann warscheinlich auch weg

CREATE OBJECT lr_ref. 

* angenommen deine Daten sind ein Attribut der Klasse vom Typ structure und mit dem Namen attr, dann schriebst du:
write: lr_ref->attr-feldname.
Mit -> greifst du bei Objekten auf ihre Attribute (gewissermaßen sind es die Daten) und Methoden (wieder gewissermaßen: Unterprogramme) zu.
Ein einfacher Weg um zu sehen was dir alles zur Auswahl steht ist den Mauscursor direkt nach -> zu plazieren und Strg+Leertaste zu drücken.

Für den Einstieg ins Thema Klassen / Objekte solltest du folgende Stichworte nachgoogeln (und verinnerlichen): Constructor, Methode, Attribut, Unterschied zwischen statischen und dynamischen Klassen, Zugriffsmodifikatoren private und public.

Gruß!

Folgende Benutzer bedankten sich beim Autor sapnup für den Beitrag:
newone


Re: Daten aus Klasse auslesen und anzeigen

Beitrag von newone (ForumUser / 16 / 2 / 0 ) »
Hallo sapnup,

vielen Dank für deine Antwort und die Informationen!
An sich klappt das jetzt, zumindest läuft er durch, aber gibt mir leider kein Wert zurück.
Erst wenn ich nach dem erzeugen des Objektes die untere Zeile hinzufüge bekomme ich den Wert 'wertName' zurück:

CREATE OBJEKT lr_ref.
lr_ref->att-feldname = 'wertName'.

Das dürfte ja auch nicht so ganz richtig sein. Eigentlich müsste er mir ja die Werte die hinter meinem Attribut versteck sind ausgeben oder tue ich da was missverstehen?

Re: Daten aus Klasse auslesen und anzeigen

Beitrag von sapnup (ForumUser / 42 / 14 / 12 ) »
Naja, die Daten kommen nicht von selbst in die Objekte rein. Jetzt kenne ich deinen Fall nicht genau, aber generell wird es für dich wohl folgende Alternativen geben:

- Du musst selbst den Wert des Attributs ermitteln - also berechnen oder aus irgendwelchen Tabellen auslesen. IdR kapselt man diesen Vorgang in Methoden die das Ergebnis im Anschluss zurückgeben und/oder in entsprechende Attribute des Objekts schreiben. Oder:

- Du musst mit einem bereits existierenden Objekt arbeiten, bei dem die Werte schon außerhalb deines Einflussbereichs gesetzt wurden. In diesem Fall brauchst du kein

Code: Alles auswählen.

DATA lr_ref TYPE REF TO meineKlasse.
CREATE OBJECT lr_ref.
sondern nur den Namen dieses anderen, bereits existierenden Objekts.

Re: Daten aus Klasse auslesen und anzeigen

Beitrag von ewx (Top Expert / 4784 / 294 / 628 ) »
Hier ein einfachstes Beispiel direkt von SAP:
Programm DEMO_CLASS_COUNTER

Code: Alles auswählen.

REPORT demo_class_counter .

CLASS counter DEFINITION.
  PUBLIC SECTION.
    METHODS: set
               IMPORTING value(set_value) TYPE i,
             increment,
             get
               EXPORTING value(get_value) TYPE i.
  PRIVATE SECTION.
    DATA count TYPE i.
ENDCLASS.

CLASS counter IMPLEMENTATION.
  METHOD set.
    count = set_value.
  ENDMETHOD.
  METHOD increment.
    ADD 1 TO count.
  ENDMETHOD.
  METHOD get.
    get_value = count.
  ENDMETHOD.
ENDCLASS.

DATA number TYPE i VALUE 5.
DATA cnt TYPE REF TO counter.

START-OF-SELECTION.

  CREATE OBJECT cnt.

  cnt->set( number ).

  DO 3 TIMES.
    cnt->increment( ).
  ENDDO.

  cnt->get( IMPORTING get_value = number ).

  cl_demo_output=>display( number ).

Re: Daten aus Klasse auslesen und anzeigen

Beitrag von newone (ForumUser / 16 / 2 / 0 ) »
Danke für Eure Hilfe, habe es mittlerweile mit Euren Tipps und paar kleinen Erweiterungen, entsprechend meiner Aufgabe, hinbekommen.

VG

Seite 1 von 1

Vergleichbare Themen

2
Antw.
1999
Views
Merkmalgruppierung einer Bewertung zur Klasse auslesen
von Andy1984 » 28.11.2016 11:16 • Verfasst in ABAP® für Anfänger
10
Antw.
7467
Views
Klasse cl_gos_manager mit Daten füllen
von Nordlicht » 27.03.2016 20:01 • Verfasst in ABAP Objects®
1
Antw.
1640
Views
Tabellen-Spalten auslesen/anzeigen lassen
von Lamerman » 06.04.2006 14:10 • Verfasst in Web-Dynpro, BSP + BHTML
9
Antw.
3438
Views
Daten aus ALV - Zeile in Dynpro anzeigen
von annaarnst » 13.08.2008 18:41 • Verfasst in ABAP® Core
2
Antw.
2252
Views
ALV Grid anzeigen ohne Daten
von datatom » 29.10.2010 09:40 • Verfasst in ABAP® Core

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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.

Unbeantwortete Forenbeiträge

Zwischensumme Adobe Forms
vor 4 Tagen von Lucyalison 1 / 71
Group Items auf einer Filterbar
vor einer Woche von Bright4.5 1 / 111
tRFC Transaktionen SM58
vor 4 Wochen von A6272 1 / 141