Generische ABAP-Programmierung

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
5 Beiträge • Seite 1 von 1
5 Beiträge Seite 1 von 1

Generische ABAP-Programmierung

Beitrag von alac (ForumUser / 7 / 0 / 0 ) »
Hallo zusammen,
Ich möchte an eine Methode eine beliebige itab übergeben und diese dann nach bestimmten Kriterien bzw. Komponenten sortieren.
Es muus sehr generisch sein und damit beginnen meine Probleme. Hier mein Code:

Code: Alles auswählen.

DATA: lo_structdescr      TYPE REF TO cl_abap_structdescr,
          lo_tabledescr       TYPE REF TO cl_abap_tabledescr,
          lo_data                TYPE REF TO data.

 FIELD-SYMBOLS: <lfs_line>    TYPE ANY,
                         <lft_data>    TYPE ANY TABLE.

* Zeile Lesen
  READ TABLE data_itab ASSIGNING <lfs_line> INDEX 1.

*  Zeilen-Struktur bestimmen
  lo_structdescr ?= cl_abap_datadescr=>describe_by_data( <lfs_line> ).

* Aus Struktur eine itab bauen
  TRY.
      lo_tabledescr = cl_abap_tabledescr=>create( p_line_type  = lo_structdescr ).
    CATCH cx_sy_table_creation.
  ENDTRY.

* Referenz typisieren.
  CREATE DATA lo_data TYPE HANDLE lo_tabledescr.

ASSIGN lo_data->* TO <lft_data>.

* Zuweisung
  <lft_data> = data_itab.
Die Interne Tabelle data_itab ist generisch und vom Typ TABLE.
Und jetzt meine Frage: warum kann ich auf die Tablle <lft_data> kein READ TABLE WITH KEY machen?
Ich bekomme immer die Fehlermeldung das diese itab keine Struktur hat.
Aber mit dem CREATE DATA gebe ich ihr doch generisch eine Struktur oder nicht?
Wie kann ich dieses Umgehen bzw. was kann ich machen damit der READ TABLE WITH KEY machbar ist?

Danke euch im Voraus.

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


Re: Generische ABAP-Programmierung

Beitrag von Dele (Specialist / 307 / 4 / 47 ) »
Folgendes sollte funktionieren:

data: l_key_name1 type string.
data: l_key_name2 type string.

move .... to l_key_name1.
move .... to l_key_name2.

read table data_itab
ASSIGNING <lfs_line>
with key (l_key_name1) = .....
(l_key_name2) = .....

Re: Generische ABAP-Programmierung

Beitrag von Michael71 (ForumUser / 17 / 5 / 0 ) »
Hallo,

ich hatte gestern ein ähnliches Problem.

Da der Typ generisch angegeben wird, ist bei der statischen Programmprüfung kein Typ bekannt, da dieser ja erst zur Laufzeit festgelegt wird.

Ich bin auch darauf reingefallen. :wink:

Schau mal hier. http://www.abapforum.com/forum/viewtopi ... =3&t=17655

Re: Generische ABAP-Programmierung

Beitrag von a-dead-trousers (Top Expert / 4419 / 224 / 1189 ) »
hi!

Weches ABAP-Basis-Release setzt ihr ein?
Normalerweise kann der SORT Befehl auch mit einer (generischen) Sortiertabelle versorgt werden.
Typ ABAP_SORTORDER_TAB

ABAP-Hilfe: SORT ... BY (otab).

Aber Achtung: Auch hier gelten alle Vorgaben wie in Standard-ABAP. Tabelle darf keine HASH bzw. SORTED Tabelle sein usw.

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: Generische ABAP-Programmierung

Beitrag von alac (ForumUser / 7 / 0 / 0 ) »
Hallo zusammen,
ich habe das Proble, nun gelöst.
Das mit dem READ TABLE ich habe es so versucht:

READ TABLE <lft_data> TRANSPORTING NO FIELDS WITH KEY equnr = lv_equnr.

Wenn es generisch seien muss, muss nämlich so heißen:

READ TABLE <lft_data> TRANSPORTING NO FIELDS WITH KEY ('EQUNR') = lv_equnr.

Seite 1 von 1

Vergleichbare Themen

1
Antw.
888
Views
ABAP Programmierung kostenlos möglich?
von Pete » 14.08.2019 13:47 • Verfasst in ABAP® für Anfänger
2
Antw.
1765
Views
Generische Typen
von Elcin » 16.08.2016 15:28 • Verfasst in ABAP® für Anfänger
4
Antw.
6096
Views
Generische Typen in OO
von christop » 16.06.2008 10:07 • Verfasst in ABAP® für Anfänger
7
Antw.
4136
Views
Programmierung erlernen
von Trolli » 20.07.2005 16:03 • Verfasst in SAP - Allgemeines
0
Antw.
1813
Views

Über diesen Beitrag


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

Aktuelle Forenbeiträge

Hilfe zum FB MATERIAL_MAINTAIN_DARK
vor 23 Stunden von black_adept gelöst 8 / 1729
HR-Entgeltnachweis
Gestern von ChrisB 4 / 2289

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.

Aktuelle Forenbeiträge

Hilfe zum FB MATERIAL_MAINTAIN_DARK
vor 23 Stunden von black_adept gelöst 8 / 1729
HR-Entgeltnachweis
Gestern von ChrisB 4 / 2289

Unbeantwortete Forenbeiträge

Export von Spools in XLSX
vor 4 Tagen von abapamateur 1 / 263
Feldberechnung ME32K
vor einer Woche von ZF_SAPler 1 / 850
MS-Word als Editor
letzen Monat von tekko 1 / 4365