Ranges

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Getting started ... Alles für einen gelungenen Start.
2 Beiträge • Seite 1 von 1
2 Beiträge Seite 1 von 1

Ranges

Beitrag von dyv (ForumUser / 53 / 18 / 0 ) »
Hallo zusammen,

ich habe angefangen mich mit den Ranges auseinander zu setzen und stolpere gerade auf den Code:

LOOP AT me->ta_rsparams INTO wa_rsparams
WHERE kind = 'S'
AND sign <> space.

MOVE wa_rsparams-selname TO fieldname.
MOVE 'R' TO fieldname+0(1).
ASSIGN (fieldname) TO <fs_table>.

MOVE 'WA_' TO fieldname.
MOVE wa_rsparams-selname+2 TO fieldname+3.
ASSIGN (fieldname) TO <fs_range>.

MOVE-CORRESPONDING wa_rsparams TO <fs_range>.
APPEND <fs_range> TO <fs_table>.

ENDLOOP.

Könntet ihr mir dabei helfen, diesen Auszug nachzuvollziehen? Bzw. schrittweise erklären, was hier gemacht wird?

Vielen Dank im Voraus

Denis

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


Re: Ranges

Beitrag von Pyro (Specialist / 121 / 14 / 18 ) »
Guten Morgen,

das hat eigentlich nicht viel mit ranges zu tun, als mehr mit Feldsymbolen.

Das Coding arbeitet in etwa so (mit zu veranschaulichung ausgedachten Beispiel-Werten und Erklärungen in rot):

LOOP AT me->ta_rsparams INTO wa_rsparams LOOP - ist logisch, da musst du ja nur im Debugger schauen, was in der Tabelle für Einträge stehen...
WHERE kind = 'S'
AND sign <> space.

MOVE wa_rsparams-selname TO fieldname.Fieldname wird wohl vermutlich eine Variable vom Typ "String" oder sowas sein. In "Fieldname" wird ein Variablenname als String zusammengebaut, auf welche das FS dann zeigen soll. Als Bsp-Wert von "WA_RSPARAMS-SELNAME" dient jetzt einfach mal "LS_BSP".
MOVE 'R' TO fieldname+0(1).Die erste Stelle der String-Var wird durch ein R ersetzt: LS_BSP wird zu RS_BSP.
ASSIGN (fieldname) TO <fs_table>.Das Feldsymbol zeigt auf die Variable RS_BSP. D.h. über das FS kann auf diese Variable zugegriffen werden

MOVE 'WA_' TO fieldname.Das gleiche, wie oben in grün. In Fieldname stehe jetzt "WA_"
MOVE wa_rsparams-selname+2 TO fieldname+3.Hier wird der Rest von selname (Stellen 3-x) an das WA_ in FIELDNAME angehängt, also in diesem Bsp. kommt dann folgendes raus: WA_BSP
ASSIGN (fieldname) TO <fs_range>.Das Feldsymbol zeigt auf WA_BSP.

MOVE-CORRESPONDING wa_rsparams TO <fs_range>.Übertragen der entsprechenden Werte aus der wa_rsparams in den Arbeitsbereich WA_BSP.
APPEND <fs_range> TO <fs_table>. Anhängen des Arbeitsbereiches an die entsprechende Tabelle RS_BSP (über das entsprechende FS, welches oben zugewiesen wurde

ENDLOOP.

Ich hoffe ich konnte es einigermaßen verständlich erklären. Um das Coding zu verstehen schau dir am besten mal Feldsymbole an.

Gruß
Pyro


//EDIT: Besser wäre natürlich als Beispielwert in RSPARAMS-SELNAME LT_BSP anstatt LS_BSP zu nehmen, da es ja wie es aussieht eine Tabelle sein soll. Aber ich bessere es jetzt lieber nicht aus, am ende Vergess ich noch eine Stelle und dann wirds verwirrend;)

Folgende Benutzer bedankten sich beim Autor Pyro für den Beitrag:
dyv


Seite 1 von 1

Vergleichbare Themen

0
Antw.
4591
Views
RFC_READ_TABLE mit RANGES selection
von Tron » 12.11.2019 07:28 • Verfasst in Tips + Tricks & FAQs
1
Antw.
1115
Views
Ranges dynamisch aufbauen
von Gast » 19.01.2006 11:48 • Verfasst in ABAP® Core
4
Antw.
2787
Views
WHERE-Bedingung mit Ranges erstellen
von ABAP_User » 26.10.2012 09:11 • Verfasst in ABAP® für Anfänger
6
Antw.
3793
Views
RANGES in Klasse erstellen
von anam.jabrane » 07.02.2014 11:07 • Verfasst in ABAP Objects®
1
Antw.
8694
Views
Ranges in Excel speichern
von hmaxi96 » 08.01.2016 08:46 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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

Aktuelle Forenbeiträge

RFC vs. ODATA
vor 5 Stunden von ewx 3 / 92

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.