Abap Object Method für interne Tabelle

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

Abap Object Method für interne Tabelle

Beitrag von msentaburlar (ForumUser / 8 / 2 / 0 ) » 06.01.2020 16:34

Hallo,

ich bin ganz neue hier und auch in ABAP Object Welt und brauche ich Hilfe und zwar ich muss eine Method erstellen und es soll die erstellten Objekten in einem internen Tabelle hinzufügen. Dann muss ich noch eine andere Method erstelle und es soll dann die erstellten Objekte ausgeben. Kann jemand mir sagen, wie anfangen soll.

Viele Grüße

msentaburlar


Re: Abap Object Method für interne Tabelle

Beitrag von a-dead-trousers (Top Expert / 3344 / 92 / 852 ) » 06.01.2020 20:15

hi.

Code: Alles auswählen.

data list_of_objects type standard table of ref to class_of_object with default key.
data object_of_class type ref to class_of_object.
* Einfügen
create object object_of_class.
append object_of_class to list_of_objects.
* Einzeln auslesen
read table list_of_objects into object_of_class index 1.
* Alle auslesen
loop at table list_of_objects into object_of_class.
  " object_of_class ausgeben
endloop.
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.07
Basis: 7.40

Re: Abap Object Method für interne Tabelle

Beitrag von msentaburlar (ForumUser / 8 / 2 / 0 ) » 07.01.2020 11:33

Hallo a-dead-trousers

ich danke für die Rückmeldung. Was du schon da implementierst hast, habe ich erst im Hauptprogramm gemacht und hat es auch funktioniert. Ich glaube, dass ich das Problem nicht richtig beschrieben habe. Also vorher habe ich eine interne Tabelle und eine Referenz definiert. Durch APPEND habe ich die erstellten Objekte in die interne Tabelle hinzugefügt und durch LOOP AT habe ich alle Objekte durch und mit Ausgabe Method habe ich alles ausgegeben. Ich möchte aber jetzt eine Methode implementieren und diese Method muss ich im Hauptprogramm aufrufen werden. Die Method soll dann die erstellten Objekte in die Tabelle einfügen und dann mit Ausgabe Method wieder raus geben. Würde ich mich freuen, wenn ich wieder eine Rückmeldung bekomme.

Viele Grüße

msentaburlar

Re: Abap Object Method für interne Tabelle

Beitrag von DeathAndPain (Top Expert / 1261 / 138 / 290 ) » 07.01.2020 13:16

Wenn Du englisch sehr gut beherrschst, wäre es wahrscheinlich besser, Du stellst Deine Frage auf englisch und liest nur die Antworten auf deutsch. Die vielen Grammatikfehler machen Deine Texte schwer verständlich.

Re: Abap Object Method für interne Tabelle

Beitrag von Legxis (Specialist / 153 / 80 / 27 ) » 07.01.2020 13:39

Für mich klingt das nach einer Objekt-Collection mit einem Iterator. Ich würde das so umsetzen.

Code: Alles auswählen.

CLASS lcl_object_collection DEFINITION.

  PUBLIC SECTION.

    METHODS:

      constructor,

      add_object IMPORTING io_object TYPE REF TO object,

      get_iterator RETURNING value(ro_iterator) TYPE REF TO cl_object_collection_iterator.

  PROTECTED SECTION.

    DATA o_object_collection TYPE REF TO cl_object_collection.

ENDCLASS.

...

CLASS lcl_object_collection IMPLEMENTATION.

  METHOD constructor.
    CREATE OBJECT me->o_object_collection.
  ENDMETHOD.

  METHOD add_object.
    me->o_object_collection->add( io_object ).
  ENDMETHOD.      

  METHOD get_iterator.
    ro_iterator = me->o_object_collection->if_object_collection~get_iterator( ).
  ENDMETHOD.  

ENDCLASS.

...

*** Im Hauptprogramm:
DATA: lo_dummy_object       TYPE REF TO lo_dummy_object,
      lo_object_collection  TYPE REF TO lcl_object_collection,
      lo_iterator           TYPE REF TO cl_object_collection_iterator.

CREATE OBJECT lo_object_collection.
lo_object_collection->add_object( lo_dummy_object ).
FREE lo_dummy_object.

lo_iterator = lo_object_collection->get_iterator( ).

WHILE lo_iterator->has_next( ) = 'X'.
    lo_dummy_object ?= lo_iterator->get_next( ).
    " und dann, je nach Objekt, wie gewünscht ausgeben
ENDWHILE.

Folgende Benutzer bedankten sich beim Autor Legxis für den Beitrag:
gtoXX (08.01.2020 13:59)

( SAP ECC 6.0, NetWeaver 7.0, ohne unicode, ohne support/enhancement packages )

Seite 1 von 1