Selektionseinschränkung

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

Selektionseinschränkung

Beitrag von dEr_BuMaN (ForumUser / 23 / 0 / 1 ) »
Ich möchte einer SELECT-OPTION eine Einschränkung hinzufügen.

Es handelt sich bei der Select Option um eine Sprachauswahl und da möchte ich schonmal grundsätzlich intervalle verbieten.

Der Anwender soll die Möglichkeit haben max. 3 Sprachen auszuwählen.
(Über Einzelwerte oder Mehrfachselektion).

Habt ihr da n kurzes beispiel mit code ?

dangee

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


Beitrag von GastX (Specialist / 288 / 6 / 20 ) »
Es handelt sich bei der Select Option um eine Sprachauswahl und da möchte ich schonmal grundsätzlich intervalle verbieten
lässt sich lösen durch den Zusatz NO INTERVALS, also so etwas

Code: Alles auswählen.

TABLES: SPFLI.
SELECT-OPTIONS: S_CONN FOR SPFLI-CONNID NO INTERVALS.

Beitrag von dEr_BuMaN (ForumUser / 23 / 0 / 1 ) »
sorry aber damit deaktiviert man ja nur den (bis) Button aber über die Mehrfachselektion lassen sich trotzdem noch intervalle einstellen

Beitrag von dEr_BuMaN (ForumUser / 23 / 0 / 1 ) »
sorry aber damit deaktiviert man ja nur den (bis) Button aber über die Mehrfachselektion lassen sich trotzdem noch intervalle einstellen

Re: Selektionseinschränkung

Beitrag von brinam (Specialist / 111 / 0 / 0 ) »
Hi dEr BuMaN,

da gibt es einen bestimmten FuBa, mit dem man diese Einschränkung machen muss:

Code: Alles auswählen.

REPORT zlangu.

TYPE-POOLS: sscr.
TABLES: t002.

SELECT-OPTIONS: s_langu FOR t002-spras NO INTERVALS.

* Hilfsobjekte zum Füllen von RESTRICT
DATA g_opt_list TYPE sscr_opt_list.
DATA g_ass      TYPE sscr_ass.
DATA g_restrict TYPE sscr_restrict.

INITIALIZATION.
* Für die Sprache nur (mehrfache) Einzelwerte zulassen!
  CLEAR g_opt_list.
  MOVE 'EQUAL'      TO g_opt_list-name.
  MOVE 'X'          TO g_opt_list-options-eq.
  APPEND g_opt_list TO g_restrict-opt_list_tab.

* Zuordnung Selektionsbildobjekte
  CLEAR g_ass.
  MOVE: 'S'        TO g_ass-kind,
        'S_LANGU'  TO g_ass-name,
        'I'        TO g_ass-sg_main,
        'EQUAL'    TO g_ass-op_main.
  APPEND g_ass     TO g_restrict-ass_tab.

* Aufruf des Funktionsbausteins, um die select-options einzuschränken
  CALL FUNCTION 'SELECT_OPTIONS_RESTRICT'
    EXPORTING
      restriction = g_restrict
      db          = ' '.
dEr_BuMaN hat geschrieben:Der Anwender soll die Möglichkeit haben max. 3 Sprachen auszuwählen.
(Über Einzelwerte oder Mehrfachselektion).

Code: Alles auswählen.

AT SELECTION-SCREEN OUTPUT.

  DESCRIBE TABLE s_langu.
  IF sy-tfill > 3.
    MESSAGE e001(00) WITH 'Bitte max. 3 Sprachen angeben'.
  ENDIF.
Viele Grüße
Britta

Beitrag von dEr_BuMaN (ForumUser / 23 / 0 / 1 ) »
Also ich kriegs irgendwie nicht hin aber danke schonmal

Hier mal mein Quellcode

TYPE-POOLS: sscr.
SELECTION-SCREEN BEGIN OF BLOCK sel1 WITH FRAME TITLE TEXT-001 .

SELECT-OPTIONS:

spras FOR T052U-SPRAS OBLIGATORY NO INTERVALS.

SELECTION-SCREEN END OF BLOCK sel1.


SELECTION-SCREEN BEGIN OF BLOCK sel2 WITH FRAME TITLE TEXT-002 .

SELECT-OPTIONS:

ZTERM FOR T052U-ZTERM.

SELECTION-SCREEN: BEGIN OF LINE.

PARAMETERS: r1 RADIOBUTTON GROUP rad1.

SELECTION-SCREEN: COMMENT 4(37) TEXT-003 FOR FIELD r1.

SELECTION-SCREEN: END OF LINE.

SELECTION-SCREEN: BEGIN OF LINE.

PARAMETERS: r2 RADIOBUTTON GROUP rad1.

SELECTION-SCREEN: COMMENT 4(37) TEXT-004 FOR FIELD r2.

SELECTION-SCREEN: END OF LINE.

SELECTION-SCREEN END OF BLOCK sel2.


SELECTION-SCREEN BEGIN OF BLOCK sel3 WITH FRAME TITLE TEXT-005 .

SELECTION-SCREEN: BEGIN OF LINE.

PARAMETERS: r3 AS CHECKBOX.

SELECTION-SCREEN: COMMENT 4(37) TEXT-006 FOR FIELD r3.

SELECTION-SCREEN: END OF LINE.

SELECTION-SCREEN: BEGIN OF LINE.

PARAMETERS: r4 AS CHECKBOX.

SELECTION-SCREEN: COMMENT 4(37) TEXT-007 FOR FIELD r4.

SELECTION-SCREEN: END OF LINE.

SELECTION-SCREEN END OF BLOCK sel3.

Wo muss ich nun die Quellcodes die brinam mir gegeben hat einfügen?

Dankee

Beitrag von brinam (Specialist / 111 / 0 / 0 ) »
Hallo,

füge das obige Coding (* Hilfsobjekte ... at selection-screen output) zwischen deine Anweisungen für den Selektionsbildschirm und START-OF-SELECTION ein.
Achtung: bei dir heißt der Selektionsparameter für die Sprache anders:

alt:

Code: Alles auswählen.

        'S_LANGU'  TO g_ass-name, 
neu:

Code: Alles auswählen.

        'SPRAS'  TO g_ass-name, 
Die Großschreibung ist, glaube ich, wichtig.

Schau dir in der SE37 die recht ausführliche Funktionsbausteindokumentation von SELECT_OPTIONS_RESTRICT an, um zu verstehen, was da gemacht wird.
Viele Grüße
Britta

Beitrag von TWP (Specialist / 445 / 0 / 1 ) »
Nur mal so ne Frage:

Wenn du die bis Selektion ausschließ und auch keine Mehrfachselektion zulassen willst, wieso nimmst du dann nicht PARAMTERS statt Select-Options?

Das geht mir noch nicht ganz auf, aber vielleicht kannst du mir das ja benatworten.

MfG

Thomas

Beitrag von TWP (Specialist / 445 / 0 / 1 ) »
Ich Nochmal, manchmal sollte man alles lesen, ich hatte so etwas mal mit Belegarten gamacht guckst du hier:#

*--- Definition zur Beschränkung von Select-Options
data: restrict type sscr_restrict,
opt_list type sscr_opt_list,
ass type sscr_ass.

*--- Ereignis INITIALIZATION ------------------------------------------*
initialization.

*--- Beschränkung der Select-Option für SO_BLART es ist nur Gleichheit
*--- zugelassen

*--- Optionsliste erstellen (Nur EQ auf 'X' setzen)
opt_list-name = 'NUR_EQ'.
opt_list-options-eq = 'X'.
append opt_list to restrict-opt_list_tab.

*--- Optsionsliste dem Parameter zuordnen
ass-kind = 'S'. " nur für ein Select-Option-Parameter
ass-name = 'SO_BLART'.
ass-sg_main = 'I'.
ass-op_main = 'NUR_EQ'.
append ass to restrict-ass_tab.

call function 'SELECT_OPTIONS_RESTRICT'
exporting
restriction = restrict.

Belegart musst du nur durch deine Sprache ersetzten.

MfG
Thomas

Beitrag von dEr_BuMaN (ForumUser / 23 / 0 / 1 ) »
Habs geschafft aber wenn ich INITIALIZATION hinter den letzten BLOCK schreibe braucht der Total lange um den report zu öffnen woran kann das liegen?

Beitrag von dEr_BuMaN (ForumUser / 23 / 0 / 1 ) »
problem behoben :lol: hab start-of-selection vergessen

Seite 1 von 1

Über diesen Beitrag


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

Aktuelle Forenbeiträge

Materialstammerweiterung: Neuer Reiter
vor 3 Tagen von DeathAndPain gelöst 4 / 377
Ermittlung der Arbeitstage (Mosid)
vor 4 Tagen von Radinator 11 / 46054
LSMW-Problem
vor einer Woche von DeathAndPain gelöst 6 / 3944
SFP (Adobe Forms) QR-Code wird nicht angezeigt
vor einer Woche von Sebastian82 gelöst 4 / 2433

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

Materialstammerweiterung: Neuer Reiter
vor 3 Tagen von DeathAndPain gelöst 4 / 377
Ermittlung der Arbeitstage (Mosid)
vor 4 Tagen von Radinator 11 / 46054
LSMW-Problem
vor einer Woche von DeathAndPain gelöst 6 / 3944
SFP (Adobe Forms) QR-Code wird nicht angezeigt
vor einer Woche von Sebastian82 gelöst 4 / 2433