RFC_READ_TABLE mit RANGES selection

Hinweise, Tips und Tricks, FAQs - keine Anfragen!!
1 Beitrag • Seite 1 von 1
1 Beitrag Seite 1 von 1

RFC_READ_TABLE mit RANGES selection

Beitrag von Tron (Top Expert / 1327 / 35 / 333 ) »
Moin.
Möchte man eine dynamische Selektionsklausel für eine Tabellenselektion (where...), kann man sich aus einem SELECT-OPTIONS bzw. RANGES Objekt
mit dem Funktionsbaustein F4_CONV_SELOPT_TO_WHERECLAUSE eine Where-Klausel generieren lassen.

Beispiel für Dynamischen Select mit Dynamischer Where Klausel.
Vorbereitung für dynamisches Lesen der Tabelle STXH
funktioniert auch bei RFC_READ_TABLE mit SELECT-OPTIONS ;)

Code: Alles auswählen.


  SELECTION-SCREEN BEGIN OF BLOCK a WITH FRAME TITLE text-001.
  SELECT-OPTIONS s_tobj FOR ts_stxh-tdobject.
  SELECT-OPTIONS s_tname FOR ts_stxh-tdname.
  SELECT-OPTIONS s_tid FOR ts_stxh-tdid.
  SELECT-OPTIONS s_tspras FOR ts_stxh-tdspras.
  SELECTION-SCREEN END OF BLOCK a.



  DATA ls_sel TYPE ddshselopt.
  DATA lt_sel TYPE TABLE OF ddshselopt.
  DATA gv_where TYPE string.


  CLEAR ls_sel.
  ls_sel-shlpfield = 'TDOBJECT'.
  LOOP AT s_tobj.
    MOVE-CORRESPONDING s_tobj TO ls_sel.
    APPEND ls_sel TO lt_sel.
  ENDLOOP.

  CLEAR ls_sel.
  ls_sel-shlpfield = 'TDNAME'.
  LOOP AT s_tname.
    MOVE-CORRESPONDING s_tname TO ls_sel.
    APPEND ls_sel TO lt_sel.
  ENDLOOP.

  CLEAR ls_sel.
  ls_sel-shlpfield = 'TDID'.
  LOOP AT s_tid.
    MOVE-CORRESPONDING s_tid TO ls_sel.
    APPEND ls_sel TO lt_sel.
  ENDLOOP.

  CLEAR ls_sel.
  ls_sel-shlpfield = 'TDSPRAS'.
  LOOP AT s_tspras.
    MOVE-CORRESPONDING s_tspras TO ls_sel.
    APPEND ls_sel TO lt_sel.
  ENDLOOP.

  CALL FUNCTION 'F4_CONV_SELOPT_TO_WHERECLAUSE'
* EXPORTING
*   GEN_ALIAS_NAMES       = ' '
*   ESCAPE_ALLOWED        = ' '
    IMPORTING
      where_clause = gv_where
    TABLES
      selopt_tab   = lt_sel.

*Für RFC_READ_TABLE
*   SPLIT gv_where AT ' ' INTO TABLE gt_opt.
Bei Verwendung von RFC_READ_TABLE muß der STRING in die Tabelle OPTIONS gesplittet werden,
(SPLIT gv_where AT ' ' INTO TABLE gt_opt) da die Zeile begrenzt ist.
gruß Jens

Folgende Benutzer bedankten sich beim Autor Tron für den Beitrag (Insgesamt 5):
IHeewxThomas R.Lukas Sanderswolli

<:: XING-Gruppe Tricktresor::>
Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen –
Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

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


Seite 1 von 1

Vergleichbare Themen

3
Antw.
3644
Views
read table
von kostonstyle » 27.03.2008 15:38 • Verfasst in ABAP® für Anfänger
8
Antw.
10791
Views
Read Table mit MAX Datum und Zeit
von autohandel7 » 23.08.2018 10:54 • Verfasst in ABAP® für Anfänger
5
Antw.
20063
Views
read table liefert sy-subrc = 4
von c oco » 04.04.2011 17:09 • Verfasst in ABAP® für Anfänger
32
Antw.
13395
Views
LOOP/READ TABLE ... INTO vs REFERENCE INTO vs ASSINGING
von nickname8 » 26.10.2018 13:01 • Verfasst in ABAP® Core
33
Antw.
16050
Views
READ TABLE ... WITH KEY [logische Verknüpfung mögl?]
von sapjob » 18.11.2015 11:27 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag

Tron

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

Aktuelle Forenbeiträge

FS-CD schnellstmöglich lernen
vor 20 Stunden von wreichelt 2 / 1078
Banf anlegen
vor einer Woche von wreichelt 2 / 8469
Banf anlegen
vor einer Woche von Manfred K. 1 / 8089
IBAN und BUT0BK
vor einer Woche von waltersen gelöst 10 / 23718
GUIXT Tabellen in Container ansprechen
vor einer Woche von Denaris 1 / 13327

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.

Aktuelle Forenbeiträge

FS-CD schnellstmöglich lernen
vor 20 Stunden von wreichelt 2 / 1078
Banf anlegen
vor einer Woche von wreichelt 2 / 8469
Banf anlegen
vor einer Woche von Manfred K. 1 / 8089
IBAN und BUT0BK
vor einer Woche von waltersen gelöst 10 / 23718
GUIXT Tabellen in Container ansprechen
vor einer Woche von Denaris 1 / 13327