Auslesen einer interen Tabelle in SQ00 - InfoSet

Getting started ... Alles für einen gelungenen Start.
1 Beitrag • Seite 1 von 1
1 Beitrag Seite 1 von 1

Auslesen einer interen Tabelle in SQ00 - InfoSet

Beitrag von Orhi (ForumUser / 1 / 0 / 0 ) »
Hallo zusammen,

ich entschuldige mich im vorfeld für diese einfache Frage. -> bin Anfänger


Folgenden Bericht möchte über SQ00-InfoSet per ABAP schaffen.

Es geht darum zwei interne Tabellen mit Daten zu befüllen und diese dann entsprechend rauszulesen.

Folgende interne Tabellen und Felder habe ich dazu angelegt:
DATA: i_abruf TYPE ekek-abruf,
i_eint type ekeh-ETENR.


DATA: lt_ekek TYPE ekek
OCCURS 30 WITH HEADER LINE,
lt_ekeh TYPE ekeh
OCCURS 30 WITH HEADER LINE.

Folgendes Coding habe ich dazu geschrieben:
Die Tabellen EKKO und EKPO sind bereits über einen JOIN im INFO Set eingebunden und dadurch im ABAP bekannt.



CLEAR: lt_ekek, lt_ekeh, i_abruf, i_eint.

SELECT * FROM ekek
INTO CORRESPONDING FIELDS OF TABLE lt_ekek
WHERE ebeln EQ ekpo-ebeln
AND ebelp EQ ekpo-ebelp.
IF sy-subrc EQ 0.
LOOP AT lt_ekek.
ENDLOOP.
SORT lt_ekek BY abruf DESCENDING.
READ TABLE lt_ekek INDEX 1.
i_abruf = lt_ekek-abruf.
ELSEIF sy-subrc NE 0.
i_abruf = ''.
ENDIF.


SELECT * FROM ekeh
INTO CORRESPONDING FIELDS OF TABLE lt_ekeh
WHERE ebeln EQ ekpo-ebeln
AND ebelp EQ ekpo-ebelp
AND abruf EQ i_abruf.

LOOP AT lt_ekeh.
IF sy-subrc EQ 0.
LOOP AT lt_ekeh.
i_eint = lt_ekeh-etenr.
ENDLOOP.
ELSEIF sy-subrc NE 0.
i_eint = ''.
ENDIF.
ENDLOOP.

Es gibt auch zwei Zusatzfelder die mit den entsprechenden Daten befüllt werden.
Diese lauten:

Z_ABRUFNUR
z_abrufnr = ''.
z_abrufnr = i_abruf.

und
Z_EINTE
z_einte = ''.
z_einte = i_eint.


Ich möchte mit diesem Coding bewirken das zum einem die älteste Abrufnummer (i_abruf) gezogen wird um diese als vorselektion für die interne Tabelle LT_EKEH zu benutzen. Daraufhin sollen mir alle Einteilungen (i_eint) zu dieser Abrufnummer angezeigt werden.
Ich bekomme zwar die älteteste Abrufnummer in der Liste zu sehen aber leider wird mir auch nur eine Einteilung angezeigt. Es müssten aber drei Zeilen gebildet werden weil auch einteilungen für die älteste Abrufnummer vorhanden ist. Und das ist mein Problem.

Wie bekommen ich es hin das mir alle einteilungen zu der ältesten Abrufnummer angezeigt werden?

Ich habe mal beim Programm ein Break reingehauen um mit dem Debbuger zu sehen welche ergebnise in der Internen Tabelle angezeigt werden.

Die Interne Tabelle LT_EKEK sieht so weit gut aus:
Debugger LT_EKEK.png
Auch die andere Interne Tabelle LT_EKEH ist schön befüllt:
Debugger LT_EKEH.png
Nur das Ergebnis ist nicht so wie gewünscht. Es wird nur eine Zeile angezeigt:
Ergebnis Liste.png
Ich hoffe ihr könnt mein Codig so anpassen so das mir geholfen wird.

Vielen dank im Voraus für eure mühe.

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


Seite 1 von 1

Vergleichbare Themen

13
Antw.
5007
Views
wie kan man zwei interen tabellen verbinden?
von autohandel7 » 14.07.2014 10:59 • Verfasst in ABAP® für Anfänger
4
Antw.
286
Views
SQ00 - Query-Erstellung im Produktivsystem verbieten?
von Xilukarim » 10.04.2025 11:51 • Verfasst in SAP - Allgemeines
1
Antw.
906
Views
Interne Tabelle auslesen
von Flower28 » 31.12.2021 17:40 • Verfasst in ABAP® für Anfänger
4
Antw.
6931
Views
Tabelle in Struktur auslesen
von donossi » 24.07.2012 14:27 • Verfasst in ABAP® für Anfänger
4
Antw.
2344
Views
ein Feld aus der ? Tabelle auslesen
von HH_ABAP » 28.01.2019 16:05 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag

Orhi
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.