Select-Option in Form & Perform

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

Select-Option in Form & Perform

Beitrag von debianfan (ForumUser / 84 / 64 / 0 ) »
Guten Tag allerseits,

TABLES: dbtab.

SELECT-OPTIONS: so_vertrag FOR dbtab-vertrag.

START-OF-SELECTION.

PERFORM get_data using so_vertrag[]

END-OF-SELECTION.


FORM get_data using p_so_vertrag type XXXXXXXXX.

" Code

Endform.

Die Frage ist nun, wie das "XXXXX" lauten muss.

Ich dachte immer, dass dort RSDSSELOPT_T rein sollte - da es ja der Tabletyp von einer Select-Option ist.

Aber Pustekuchen :-(

Das Entwicklerhandbuch sagt aber aus, dass dies typisiert sein muss - also weglassen gibts nicht.

gruss :o
Ich weiß viel - aber nicht alles - deswegen lerne ich gern dazu & bin für Hinweise von erfahrenen ITlern immer dankbar.

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


Re: Select-Option in Form & Perform

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
Du brauchst einen Tabellentyp vom Zeilentyp deiner SELOPT, also sowas wie RSDSSELOPT_T, nur mit LOW und HIGH vom Typ DBTAB-VERTRAG.

Wenn das ein SAP-Feld ist würde ich im DDIC danach suchen, das gibt es dann wahrscheinlich schon. SE11 und dann nach Tabellentypen, die den Namen des DE und "RANG" im Namen haben (also z. B. *VBEL*RANG* für das Feld VBELN).

Streng genommen müssen nur Typ und Länge des Feldes stimmen, der Rest ist egal. Wenn du also ein CHAR10-Feld hast, das DBTAB-VERTRAG heißt, brauchst du einen Tabellentyp, bei dem LOW und HIGH ein CHAR10-Feld sind. Aber das ist dann deutlich weniger transparent.


Ralf
Zuletzt geändert von ralf.wenzel am 05.07.2018 16:55, insgesamt 1-mal geändert.

Folgende Benutzer bedankten sich beim Autor ralf.wenzel für den Beitrag:
debianfan

Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Select-Option in Form & Perform

Beitrag von ewx (Top Expert / 4784 / 294 / 628 ) »
Bei typisierten Parametern musst die Select-Options leider exakt so definieren, wie sie mit SELECT-OPTIONS auf den entsprechenden Typen definiert wird.
Du kannst es so lösen:

Code: Alles auswählen.


TYPES tt_range_datum TYPE RANGE OF sy-datum.
TYPES tt_range_uzeit TYPE RANGE OF sy-uzeit.
TYPES ts_range_uzeit type LINE OF tt_range_uzeit.
SELECT-OPTIONS s_datum FOR sy-datum.
SELECT-OPTIONS s_uzeit FOR sy-uzeit.


START-OF-SELECTION.

  PERFORM check
        TABLES s_uzeit
        USING s_datum[].

FORM check
        TABLES it_range_uzeit type tt_range_uzeit
        USING it_range_datum  TYPE tt_range_datum.

  Write: / 'Datum'.
  LOOP AT it_range_datum INTO DATA(selopt).
    WRITE: / selopt-sign,
             selopt-option,
             selopt-low,
             selopt-high.
  ENDLOOP.

  write: / 'Uhrzeit'.
  LOOP AT it_range_uzeit INTO selopt.
    WRITE: / selopt-sign,
             selopt-option,
             selopt-low,
             selopt-high.
  ENDLOOP.

ENDFORM.

Folgende Benutzer bedankten sich beim Autor ewx für den Beitrag:
debianfan


Re: Select-Option in Form & Perform

Beitrag von ST22 (Specialist / 274 / 40 / 40 ) »

Code: Alles auswählen.

REPORT zslg_type_range_of_selopt.
* um auf TABLES zu verzichten, Typdeklaration mit den Feldern für die Selopts
TYPES:
  BEGIN OF ty_selection_s,
    matnr TYPE matnr,
  END   OF ty_selection_s.

* Typ für die Formroutine
TYPES:
  ty_selopt_matnr_t TYPE RANGE OF matnr.

* global definierte Struktur wegen des Verzichts auf TABLES Anweisung
DATA:
  gs_selection TYPE ty_selection_s.

SELECT-OPTIONS: s_matnr FOR gs_selection-matnr.

START-OF-SELECTION.

  PERFORM get_matnr USING s_matnr[].

*&---------------------------------------------------------------------*
*&      Form  get_matnr
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->PT_MATNR   text
*----------------------------------------------------------------------*
FORM get_matnr USING pt_matnr TYPE ty_selopt_matnr_t.

ENDFORM.                    "get_matnr

Folgende Benutzer bedankten sich beim Autor ST22 für den Beitrag:
debianfan


Re: Select-Option in Form & Perform

Beitrag von ewx (Top Expert / 4784 / 294 / 628 ) »
Bei Methoden kannst du CONV verwenden:

Code: Alles auswählen.

TYPES tt_range_datum TYPE RANGE OF sy-datum.
SELECT-OPTIONS s_datum FOR sy-datum.

CLASS test DEFINITION.
  PUBLIC SECTION.
    CLASS-METHODS check IMPORTING it_selopt TYPE rsdsselopt_t.
ENDCLASS.

CLASS test IMPLEMENTATION.
  METHOD check.
    WRITE: / 'Datum'.
    LOOP AT it_selopt INTO DATA(selopt).
      WRITE: / selopt-sign,
               selopt-option,
               selopt-low,
               selopt-high.
    ENDLOOP.
  ENDMETHOD.
ENDCLASS.


START-OF-SELECTION.

  test=>check( CONV #( s_datum[] ) ).

Folgende Benutzer bedankten sich beim Autor ewx für den Beitrag:
debianfan


Re: Select-Option in Form & Perform

Beitrag von debianfan (ForumUser / 84 / 64 / 0 ) »
ewx hat geschrieben:Bei typisierten Parametern musst die Select-Options leider exakt so definieren, wie sie mit SELECT-OPTIONS auf den entsprechenden Typen definiert wird.
Du kannst es so lösen:

Code: Alles auswählen.


TYPES tt_range_datum TYPE RANGE OF sy-datum.
TYPES tt_range_uzeit TYPE RANGE OF sy-uzeit.
TYPES ts_range_uzeit type LINE OF tt_range_uzeit.
SELECT-OPTIONS s_datum FOR sy-datum.
SELECT-OPTIONS s_uzeit FOR sy-uzeit.


So hab ich es auch gelöst - Danke :-)

..so einfach - so banal ;-)

wieder was gelernt
Ich weiß viel - aber nicht alles - deswegen lerne ich gern dazu & bin für Hinweise von erfahrenen ITlern immer dankbar.

Seite 1 von 1

Vergleichbare Themen

2
Antw.
2097
Views
SELECT Wertepaar Select-Option
von myllertym » 12.08.2013 10:39 • Verfasst in ABAP® für Anfänger
3
Antw.
812
Views
SELECT * Where Datum = select-option-low
von abapfreshman » 17.09.2021 00:24 • Verfasst in ABAP® für Anfänger
10
Antw.
505
Views
SELECT-OPTION
von ABAPLover » 09.08.2023 09:53 • Verfasst in ABAP® für Anfänger
1
Antw.
1060
Views
SELECT-OPTION
von SAP_ENTWICKLER » 21.09.2017 14:13 • Verfasst in ABAP® Core
6
Antw.
9495
Views
Select-Option auf Dynpro?
von Miri » 14.07.2005 10:42 • Verfasst in Dialogprogrammierung

Über diesen Beitrag


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

Aktuelle Forenbeiträge

Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 64
Interne Tabelle
vor 5 Tagen von black_adept 2 / 133
MaLo-Checker in ABAP
vor einer Woche von A6272 6 / 254

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

Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 64
Interne Tabelle
vor 5 Tagen von black_adept 2 / 133
MaLo-Checker in ABAP
vor einer Woche von A6272 6 / 254

Unbeantwortete Forenbeiträge

Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 64
Group Items auf einer Filterbar
vor einer Woche von Bright4.5 1 / 107
tRFC Transaktionen SM58
vor 4 Wochen von A6272 1 / 140