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 / 4457 / 227 / 1198 ) »
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.
1730
Views
ABAP Programmierung kostenlos möglich?
von Pete » 14.08.2019 13:47 • Verfasst in ABAP® für Anfänger
2
Antw.
2075
Views
Generische Typen
von Elcin » 16.08.2016 15:28 • Verfasst in ABAP® für Anfänger
4
Antw.
6423
Views
Generische Typen in OO
von christop » 16.06.2008 10:07 • Verfasst in ABAP® für Anfänger
2
Antw.
3183
Views
SAP Entwicklungssystem und RFC Programmierung
von sNud » 28.08.2021 13:36 • Verfasst in ABAP® für Anfänger
1
Antw.
19104
Views
Programmierung von SAP-Programm für API´s
von Bright4.5 » 12.12.2024 09:27 • Verfasst in SAP HANA für Anfänger

Über diesen Beitrag


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

Aktuelle Forenbeiträge

TABSTRIP oder Subscreen
vor 2 Tagen von ewx 2 / 3526
SELECT SUM CUST
vor 2 Tagen von wreichelt 4 / 3664
Banf anlegen
vor 3 Tagen von IHe 3 / 15413
FS-CD schnellstmöglich lernen
vor 5 Tagen von waltersen 3 / 8112
Banf anlegen
vor einer Woche von wreichelt 2 / 15796

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

TABSTRIP oder Subscreen
vor 2 Tagen von ewx 2 / 3526
SELECT SUM CUST
vor 2 Tagen von wreichelt 4 / 3664
Banf anlegen
vor 3 Tagen von IHe 3 / 15413
FS-CD schnellstmöglich lernen
vor 5 Tagen von waltersen 3 / 8112
Banf anlegen
vor einer Woche von wreichelt 2 / 15796