Quick Win #42: Read Table auf eine Tabelle ohne Struktur
Kürzlich stand ich vor der Herausforderung, dass ich eine interne Tabelle von Personalnummern hatte und prüfen wollte, ob diese einen speziellen Eintrag enthält. Mein erster Gedanke: Na klar, READ TABLE ... WITH KEY ... TRANSPORTING NO FIELDS. Klingt sinnvoll, finden Sie nicht auch? Jein! Was folgt, ist ein Syntaxfehler. Wie Sie die Prüfung auf anderem Wege problemlos durchführen können, zeige ich Ihnen in diesem Quick Win.
Im Grunde ist das Vorgehen mit READ TABLE … WITH KEY … TRANSPORTING NO FIELDS der übliche Weg. Doch hier haben wir eine spezielle Konstellation: denn hier haben wir keine Struktur und bekommen daher beim Versuch, diese Anweisung zu nutzen, den genannten Syntaxfehler:
Nehmen wir also als Beispiel folgende Datendeklaration:
DATA: lt_pernr TYPE TABLE OF PERNR_D.
Wie Sie vermutlich erkennen können, handelt es sich hier um eine Tabelle von Personalnummern. Hierfür existiert auch der Tabellentyp PERNR_TAB, doch damit es wirklich deutlich wird, nutzen wir für dieses Beispiel TYPE TABLE OF. Wir haben hier also – wie gesagt – keine Struktur, sondern eine interne Tabelle eines Datenelements. Hätten wir eine Struktur, würde die folgende Anweisung problemlos funktionieren:
READ TABLE lt_pernr WITH KEY pernr_d = ‘00000042‘ TRANSPORTING NO FIELDS.
Doch hier sieht es nun mal anders aus. Was ist also nun der Quick Win?
Das Zauberwort heißt “TABLE_LINE”.
Um nun also bei Tabellen ohne Struktur auf einen bestimmten Wert prüfen zu können, bedienen wir uns der Anweisung „TABLE_LINE“ wie folgt:
READ TABLE lt_pernr WITH KEY TABLE_LINE ‘00000042‘ TRANSPORTING NO FIELDS.
Und schon verschwindet nicht nur die Fehlermeldung, sondern die Prüfung funktioniert auch noch einwandfrei!
Neben diesem kleinen Trick hilft mir auch immer wieder der ein oder andere Shortcut dabei, Zeit und Nerven zu sparen. Einige davon finden Sie in Was, das geht auch? Shortcuts im SAPUI5 Frontend und Backend. Wie der Titel schon vermuten lässt erklärt mein Kollege hier, wie Sie sowohl im Bereich von ABAP, als auch JavaScript Zeit sparen können. Haben Sie Fragen zum Quick Win dieses Blogbeitrages? Schreiben Sie mir gern!
Anbieterunabhängige Beratung zur digitalen Personalakte
Sie möchten die digitale Personalakte in Ihr Unternehmen integrieren? Wir finden für Sie die richtige Software.