Übergabe einer SELECT-OPTIONS Tabelle an FORM Routine

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
4 Beiträge • Seite 1 von 1
4 Beiträge Seite 1 von 1

Übergabe einer SELECT-OPTIONS Tabelle an FORM Routine

Beitrag von m4rkusr (ForumUser / 12 / 0 / 0 ) »
Hallo,

ich habe ein Select-Options , z.B.

Code: Alles auswählen.

SELECT-OPTIONS s_kunnr TYPE kna1-kunnr.
Diesen würde ich gerne in einer FORM-Routine bearbeiten, bzw zumindest erstmal mit einem Loop lesen.
Ich scheitere allerdings daran, dass ich der Forum-Routine die Struktur der Tabelle vermittle.

Code: Alles auswählen.

PERFORM xyz TABLES s_kunnr[]
...
FORM xyz TABLES f_kunnr TYPE RSELOPTION .. ENDFORM
Da meckert er dann, dass die Parameter inkompatibel zueinander sind.

Dann habe ich hier im Forum etwas bezüglich RANGE-Tabellen gelesen, habe da ein wenig weiter gesucht und "rumprobiert", aber leider nichts hinbekommen.

Wie kann ich also die Tabelle so deklarieren, dass ich sie in der Form-Routine nutzen kann? Danke :) !

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


Beitrag von m4rkusr (ForumUser / 12 / 0 / 0 ) »
Hm okay, das ging schnell, habe noch ein wenig probiert und mit Glück doch hinbekommen.
Mein Lösungsweg (evtl ist ja noch einer so "blöde" wie ich ;) :

Code: Alles auswählen.

PERFORM xyz TABLES s_kunnr[].
RANGES f_kunnr FOR kna1-kunnr.
FORM xyz TABLES f_kunnr.
  LOOP AT f_kunnr INTO f_kunnr.
  ...
  ENDLOOP.
ENDFORM.
EDIT:
KOMMANDO ZURÜCK, leider fehlt mir jetzt wieder die Struktur in der FORM-Routine, also hat das leider nicht geholfen (wäre ja auch eigenartig gewesen ;) )

Übrigens würde ich gerne auf einen DDIC EIntrag (als oda eine Range Tabelle für kna1-kunnr anlegen) verzichten!
Könnte man das alternativ über eine TYPE Anweisung realisieren?

Beitrag von m4rkusr (ForumUser / 12 / 0 / 0 ) »
.. sorry für den quasi Spam , aber eie gesagt, evtl hilft ja irgendwem anders das auch mal. Hab mir die Frage von eben quasi selbst beantwortet.
Lösung (dieses mal hat er auch die Struktur!)

Code: Alles auswählen.

TYPES: t_s_kunnr_typ LIKE RANGE OF kna1-kunnr.

PERFORM xyz USING s_kunnr[].

FORM xyz USING f_kunnr TYPE t_s_kunnr_typ.
  DATA f_kunnr_wa LIKE LINE OF f_kunnr.
  LOOP AT f_kunnr INTO f_kunnr_wa.
    IF f_kunnr_wa-SIGN = 'I'.
    ENDIF.
  ENDLOOP.
ENDFORM.                    " at_selection_screen

Beitrag von DeathGuardian (Expert / 759 / 0 / 3 ) »
Hier die Lösung:

Code: Alles auswählen.

REPORT.
TABLES: kna1.

SELECT-OPTIONS s_kunnr FOR kna1-kunnr.

PERFORM xyz TABLES s_kunnr.

FORM xyz TABLES f_kunnr STRUCTURE s_kunnr.

ENDFORM.                    "xyz
Das kleine Wörtschen STRUCTURE. ;)

Seite 1 von 1

Vergleichbare Themen

2
Antw.
1516
Views
Änderung per Form Routine
von thr74 » 23.07.2011 00:48 • Verfasst in ABAP® für Anfänger
6
Antw.
3363
Views
form-Routine und interne Tabellen
von HR-SAPLER » 06.07.2004 11:09 • Verfasst in ABAP® Core
5
Antw.
7895
Views
Form-routine dynamisch aufrufen
von Pyro » 20.08.2010 09:20 • Verfasst in ABAP® für Anfänger
2
Antw.
1258
Views
Übergabe SELECT an Struktur/Tabelle
von m4nu » 04.09.2014 12:08 • Verfasst in ABAP® für Anfänger
4
Antw.
3786
Views
dynamische Maßnahme in externe Form-Routine
von donny » 06.04.2006 17:38 • Verfasst in Human Resources

Über diesen Beitrag


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.