Select nach Parameter & Select-Options

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

Select nach Parameter & Select-Options

Beitrag von doeme (ForumUser / 18 / 0 / 0 ) »
hallo!

ich habe eine vielzahl an parameter und select options, die ein user auf dem selektionsbildschirm auswählen kann bzw. befüllen. wie gestalte ich nach den gewählten parametern meinen select dann möglichst elegant? es muss doch eine schöne lösung geben, da zurzeit das ganze bei mir so ähnlich aussieht wie

Code: Alles auswählen.

if a is initial and b is not initial and c is not inital.
select ...
elseif a is initial and b is initial and c is not inital.
select ...
elseif...
select...
endif
da muss es doch eine saubere lösung geben, bitte um hilfe, danke!

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


Re: Select nach Parameter & Select-Options

Beitrag von Unit605 (Expert / 975 / 37 / 93 ) »
Es kommt auf die Anforderung an.

Mache jeden Parameter, wenn sinnvoll, mandatory. Dann sind diese Parameter schon immer "not initial", als immer gefuellt.

Du kannst einen Select-Option nehmen und diese so aussehen lassen, als ob es ein PARAMETERS ist.

Fuer alle anderen Parameter kannst Du eine Range-Tabelle, wie fuer eine Select-Option anlegen und als ersten Schritt nach "ausfuehren" mit den Parameterangaben befuellen, insbesondere wenn sie LEER sind.

Aus einem leeren Parameter wird dann z.b. eine Range-Tabelle die man dann beim SELECT immer mit " in R_TABLE" benutzen kann.

Beispiel auf die Schnelle und nicht vollstaendig:

Code: Alles auswählen.

data: r_matnr type RANGE OF mara-matnr.


Parameters P_MATNR type MATNR.

start-of-selection.
if P_matnr is initial
R_matnr-sign = 'I'.
R_matnr-Option = 'EQ'.
append r_matnr to r_matnr.
endif.

Select ....

where matnr in r_matnr.


Re: Select nach Parameter & Select-Options

Beitrag von JHM (Top Expert / 1188 / 1 / 195 ) »
doeme hat geschrieben:wie gestalte ich nach den gewählten parametern meinen select dann möglichst elegant?
Ändert sich der Select in Abhängigkeit der gefüllten SelScreen-Felder?

Manchmal kann es Sinn machen den SelScreen in Blöcke auf zuteilen, die dann die einzelnen Felder je Select-Weg zusammen fassen. Wenn man dann noch mit RadioButtons arbeitet macht man dann auch nur die Felder für den SelectionsWeg eingabebereit:

Code: Alles auswählen.

REPORT  ztest_sel.

TYPES: BEGIN OF tys_data,
        vbeln     TYPE vbeln,
        wadat_ist TYPE likp-wadat_ist,
        erdat     TYPE vbak-erdat,
       END   OF tys_data.

DATA: gs_data TYPE tys_data.

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.
PARAMETERS: rb_auf RADIOBUTTON GROUP rb1 USER-COMMAND push DEFAULT 'X'.
SELECTION-SCREEN BEGIN OF BLOCK b11.
SELECT-OPTIONS: s_aubeln FOR gs_data-vbeln MODIF ID b11,
                s_erdat  FOR gs_data-erdat MODIF ID b11.
SELECTION-SCREEN END OF BLOCK b11.
PARAMETERS: rb_lif RADIOBUTTON GROUP rb1.
SELECTION-SCREEN BEGIN OF BLOCK b12.
SELECT-OPTIONS: s_vbeln FOR gs_data-vbeln MODIF ID b12,
                s_wadati FOR gs_data-wadat_ist MODIF ID b12.

SELECTION-SCREEN END OF BLOCK b12.
SELECTION-SCREEN END OF BLOCK b1.


AT SELECTION-SCREEN OUTPUT.
  LOOP AT SCREEN.
    IF screen-group1 = 'B11'.
      CASE 'X'.
        WHEN rb_auf.
          screen-input = 1.
        WHEN rb_lif.
          screen-input = 0.
      ENDCASE.
      MODIFY SCREEN.
    ELSEIF screen-group1 = 'B12'.
      CASE 'X'.
        WHEN rb_auf.
          screen-input = 0.
        WHEN rb_lif.
          screen-input = 1.
      ENDCASE.
      MODIFY SCREEN.
    ENDIF.
  ENDLOOP.

START-OF-SELECTION.

  CASE 'X'.
    WHEN rb_auf. "Einstieg über Auftrag
*      SELECT *
*       FROM vbak
    WHEN rb_lif. "Einstieg über Lierferung
*      SELECT *
*       FROM likp
  ENDCASE.
Gruß Hendrik

Re: Select nach Parameter & Select-Options

Beitrag von doeme (ForumUser / 18 / 0 / 0 ) »
ja, leider. der SELECT kann also bei 3 versch. Parametern bis zu 9 verschiedene Varianten haben.

das mit mandatory ist auf jeden fall sinnvoll! danke für den tipp

Re: Select nach Parameter & Select-Options

Beitrag von Unit605 (Expert / 975 / 37 / 93 ) »
Meinf olgender Code aus dem ersten Posting ist Unsinn.

Code: Alles auswählen.

if P_matnr is initial
R_matnr-sign = 'I'.
R_matnr-Option = 'EQ'.
append r_matnr to r_matnr.
endif.
Ich versuche bei solchen Faellen, die Parameter in Select-Options umzuwandeln. Entweder direkt auf dem Screen oder im Program.
Ebenso versuche ich das bei Checkboxen anzuwenden und wandele diese intern in Select-Options.

Am besten zeigst Du uns mal ein Beispiel, damit wir damit etwas rumdoktern koennen. :-)

Seite 1 von 1

Vergleichbare Themen

15
Antw.
594
Views
Von parameter in select-options wechseln
von User1234 » 05.08.2021 10:17 • Verfasst in ABAP® für Anfänger
2
Antw.
1210
Views
Switchen via Radiobutton zwischen Parameter & Select-options
von der_Schwede » 26.03.2019 15:39 • Verfasst in ABAP® Core
1
Antw.
3793
Views
Import-Parameter für Select-Options dynamisch vorbelegen
von sflight » 14.01.2014 14:46 • Verfasst in Web-Dynpro, BSP + BHTML
10
Antw.
5789
Views
2 Select-Options zu einem für Select zusammenfügen
von manuk » 23.03.2005 11:02 • Verfasst in ABAP® Core
0
Antw.
1759
Views
select-options depend on select-options.
von dragospirnut1 » 19.07.2017 09:54 • Verfasst in ABAP® Core

Ü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 / 255

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 / 255

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