Hi
Ich möchte durch einen SQL query werte aus einer Tabelle lesen und diese in ein 1 dimensionales Array schreiben.
Dieses Array möchte ich dann wiederum auswerten und in einer Methode im Nachgang verarbeiten.
Beispiel: Als Ergebnis habe ich im Array 5 usernamen (user1, user2, user3, user4, user5)
Und in Folge dann mit einer "for each" ähnlichem Loop Anweisung jeden einzelnen dieser User einen Wert zuweisen.
Nun hab ich gelesen, dass es im abap keine Arrays gibt. Die User will ich dann aus der Tbl. AGR_USERS anhand zugewiesener Rollen ziehen.
Als Beispiel zum schreiben in Variable habe ich folgendes gefunden:
DATA: it_table type table of sflight.
SELECT * FROM sflight INTO TABLE it_table.
Ich denke damit komm ich erstmal an die Daten nur wie kann ich den Rest realisieren?
Ich glaube du suchts LOOP AT für den Mehrfachzugriff über eine Schleife bzw. READ TABLE für den Einzelsatzzugriff.
Die Weitergabe an eine Methode (CLASS bzw CALL METHOD) erfolgt über die Parameter in deren Schnittstelle.
Dasselbe gilt auch für Funktionsbausteine (CALL FUNCTION) und Unterroutinen (FORM bzw. PERFORM).
(In Großbuchstaben sind die Schlüsselwörter zu denen du die benötigten Informationen in der ABAP-Hilfe nachlesen kannst)
lg ADT
EDIT: Mit LOOP AT ... ASSIGNING ... kannst du alle Werte deiner internen Tabelle (vergleichbar mit einem Array) durchgehen und im selben Schritt auch Werte verändern. Der Unterschied zu einem Array ist, dass die Zeile in der internen Tabelle auch strukturiert sein kann und so mehrere Werte gleichzeitig speichern kann.
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.