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 / 1095 / 18 / 240 ) » 12. Nov 2019 07:28

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 4):
IHe (12. Nov 2019 08:04) • ewx (12. Nov 2019 09:28) • Thomas R. (13. Nov 2019 07:13) • Lukas Sanders (21. Nov 2019 21:28)

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


Seite 1 von 1

Aktuelle Forenbeiträge

PopUp bei Fakturaerstellung
vor 53 Minuten von TravellingEntwickler 1 / 10
Unterschiedliche Konditionen AB und Rechnungdruck
vor 5 Stunden von Sebastian82 1 / 34
Anzahlungsrechnung drucken
vor 6 Stunden von Sebastian82 1 / 30
Generierte Datei auf bestimmte Email Adresse versenden gelöst
vor 22 Stunden von M@atze! 9 / 2081

Unbeantwortete Forenbeiträge

PopUp bei Fakturaerstellung
vor 53 Minuten von TravellingEntwickler 1 / 10
Unterschiedliche Konditionen AB und Rechnungdruck
vor 5 Stunden von Sebastian82 1 / 34
Anzahlungsrechnung drucken
vor 6 Stunden von Sebastian82 1 / 30
Änderungsbelege für Kundenfelder im BP
vor 4 Tagen von GerryRe 1 / 1990