Problem mit SELECT-OPTIONS

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

Problem mit SELECT-OPTIONS

Beitrag von Eddie Irvine (ForumUser / 2 / 0 / 0 ) »
Hallo,

ich habe folgendes Problem.

Ich sammle per SELECT-OPTIONS mehrere Materialnummern der Tabelle MARA als Eingabewerte ein.
Zusätzlich soll noch die Eingabe '*' erlaubt werden, damit alle Materialien im anschließenden Schritt durchlaufen werden.

Hier der bisherige Code:

Code: Alles auswählen.

DATA:
  lt_mara           LIKE MARA.

START-OF-SELECTION.

  SELECTION-SCREEN BEGIN OF BLOCK blck WITH FRAME TITLE text-001.
  SELECTION-SCREEN SKIP 1.

  SELECT-OPTIONS lt_sel FOR lt_mara-matnr
                        NO INTERVALS
                        VISIBLE LENGTH 30.

  SELECTION-SCREEN END OF BLOCK blck.

END-OF-SELECTION.

  DATA:
    ls_sel              LIKE LINE OF lt_sel.

  LOOP AT lt_sel INTO ls_sel.
* mache irgendwas...    
  ENDLOOP.
Jetzt meine Fragen:
1. Kann ich irgendwie die Eingabehilfe des Feldes ausschalten? Der Button liegt immer genau über dem des Select-Options-Buttons.
2. Wie kann ich realisieren, dass auch die Eingabe des Wertes '*' zulässig ist (dann aber auch nur dieser Wert)?
3. Ist es immer so, dass die MatNr-Werte in dem Feld LOW der ITAB lt_sel stehen?

DANKE.

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


Beitrag von danielA. (ForumUser / 97 / 0 / 0 ) »
hm....kein anderer da, dann versuch ich es mal.

Das mit dem Select-Options ist schon so eine Sache. Du deklarierst deine Selektion ohne Intervall, dadurch wird dir nur das HIGH-Feld nicht mit auf das Dynpro gelegt. Der Button daneben bietet dir aber ein ganzes Range an, wo du wieder die HIGH-Werte mitgeben könntest.
Wenn du dein Feld nun mit Parameters deklarierst, wird dir nur 1 Feld aufs Dynpro gepackt. Der Nachteil dabei ist, du kannst halt nur ein Wert mitgeben. Vorteil: du kannst den * mitgeben. Bei Select-Options müsstest du dafür % eingeben und im Code übersetzten von % nach * und von _ nach +.

Die Frage mit dem LOW hat sich damit wohl erledigt, die Antwort ist im prinzip ja. Man könnte bei dir zur Zeit noch VON BIS eingeben, dann stehen auch Werte im HIGH-Feld.

Ob man die Suchhilfe so einfach ausschalten kann, weiß ich nicht......da kommt bestimmt noch jemand der dir das genau sagen kann.
Du kannst dir aber eine Variable von gleicher Länge/Typ deklarieren und die für die Selektion ranziehen, dann gibt es auch keine Suchhilfe.....ist aber nur eine Idee, geht bestimmt besser.

Ich hoffe die Ausführung ist ein wenig hilfreich.

gruß
danielA.

Beitrag von Eddie Irvine (ForumUser / 2 / 0 / 0 ) »
Hallo Daniel,

danke erstmal für deine Antwort.

Habe jetzt auch rausgefunden, dass auch ein '*' als Eingabe akzeptiert wird.

Intervalle eingeben funktioniert zwar, aber die ITAB lt_sel wird dabei nicht gefüllt.
Kann man irgendwie ganz abschalten, dass Intervalle eingegeben werden können?

Das mit der Suchhilfe ist halt etwas blöd, da ich nur das eine Feld habe.
Das wird beim Start ausgewählt und somit ist das Feld der Suchhilfe eingeblendet und überdeckt das andere Feld teilweise...
Kennt jemand einen einfachen Trick, das zu umgehen. Kann man irgendwie ein anderes Screen-Element initial auswählen?

Beitrag von just (ForumUser / 35 / 0 / 0 ) »
Eddie Irvine hat geschrieben: Intervalle eingeben funktioniert zwar, aber die ITAB lt_sel wird dabei nicht gefüllt.
Kann man irgendwie ganz abschalten, dass Intervalle eingegeben werden können?
ich konnte ganz problemlos ein intervall eingeben und das wurde auch übernommen.
wenn du das nicht möchtest solltest du wohl im zweifelsfall doch eher parameters verwenden...
Eddie Irvine hat geschrieben: Das mit der Suchhilfe ist halt etwas blöd, da ich nur das eine Feld habe.
Das wird beim Start ausgewählt und somit ist das Feld der Suchhilfe eingeblendet und überdeckt das andere Feld teilweise...
Kennt jemand einen einfachen Trick, das zu umgehen. Kann man irgendwie ein anderes Screen-Element initial auswählen?
ich habe die visible lenght auf 16 (länge der matnr - 2) gesetzt und das sieht nun besser aus.
mit visible lenght kanst du nämlich eh nur die länge verkürzen (laut sap-doku).

Beitrag von ralf.wenzel (Top Expert / 4009 / 208 / 282 ) »
Eddie Irvine hat geschrieben:Kann man irgendwie ganz abschalten, dass Intervalle eingegeben werden können?

Das mit der Suchhilfe ist halt etwas blöd, da ich nur das eine Feld habe.
Das wird beim Start ausgewählt und somit ist das Feld der Suchhilfe eingeblendet und überdeckt das andere Feld teilweise...
1. NO INTERVALS NO EXTENSION (eines davon wird mit Bindestrich geschrieben).

2. Bist du sicher dass der Anwender damit einverstanden ist, wenn du die Suchhilfe entfernst?


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

Seite 1 von 1

Vergleichbare Themen

0
Antw.
4324
Views
select-options depend on select-options.
von dragospirnut1 » 19.07.2017 09:54 • Verfasst in ABAP® Core
4
Antw.
21661
Views
Select nach Parameter & Select-Options
von doeme » 10.07.2012 16:37 • Verfasst in ABAP® für Anfänger
2
Antw.
5609
Views
SELECT - Options & SELECT Abfrage
von Mavrix » 14.05.2007 08:41 • Verfasst in ABAP® für Anfänger
2
Antw.
2093
Views
SELECT OPTIONS
von SAP_ENTWICKLER » 06.06.2013 12:18 • Verfasst in ABAP® Core
1
Antw.
3526
Views
SELECT-OPTIONS und OOP
von Troilus » 20.12.2007 05:04 • Verfasst in ABAP Objects®

Aktuelle Forenbeiträge

LSMW-Problem
vor einer Woche von DeathAndPain gelöst 6 / 3696
SFP (Adobe Forms) QR-Code wird nicht angezeigt
vor einer Woche von Sebastian82 gelöst 4 / 2212

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.