Selection-Screen Block komplett ausblenden (NO-DISPLAY)

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

Selection-Screen Block komplett ausblenden (NO-DISPLAY)

Beitrag von kylll (ForumUser / 8 / 0 / 0 ) »
Hallo,

ist es möglich einen ganzen Block in der Startselektion auszublenden ?

Selection-Screen Begin of Block b1 with Frame TITLE text-001.
Parameters : r_abap RADIOBUTTON GROUP grp1 default 'X'.
Parameters : r_TAB RADIOBUTTON GROUP grp1.
Selection-Screen END of Block b1.

Bei Parameters, oder Select-Options kann man den Zusatz NO-DISPLAY angeben, dann stehen die Variabelen im Programm zur verfügung, sind aber nicht sichtber.
Bei Radiobutton oder Checkbox oder bei einem gesamten Block habe ich das leider nirgens gesehen.


Vielleicht gibt es eine statische möglichkeit (ähnlich NO-DISPLAY)
oder eine Dynamische Möglichkeit in der INITIALIZATION.

Über eine Idee würde ich mich sehr freuen.

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


Beitrag von ewx (Top Expert / 4784 / 294 / 628 ) »
Hi Kylll,

meinst du sowas:
Bild
:?:

Beitrag von kylll (ForumUser / 8 / 0 / 0 ) »
Hallo EWX,

Nein so etwas meine ich nicht.

Dieser Block soll verschwinden, garnicht sichtbar sein.

Ein Beispiel :
select-options : S_Jahr for sy-datum no-display.

Führt dazu dass man dieses Feld in der Selektionsmaske nicht sehen kann.
Man kann die Variabele im Programm aber nutzen.

Genau so etwas suche ich für den ganzen Block.
(oder zumindest eine Möglichkeit checkbox oder Radiobutton nicht sichtbar zu machen)

Ich könnte natürlich auch den gesamten Block löschen und die enthaltenen Variabelen neu definieren mit DATA.
Aber das sehe ich nur als Notlösung, denn irgendwann später mag ich den Block wieder verwenden. Wenn ich das OK von Vorgesetzten bekomme.

Die in dem Block enthaltenen Parameter-Variabelen sind tief in der Programmlogik integriert, daher kann ich nicht auf diese verzichten, aber mit ihren Initialwerten läuft alles reibungslos.

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
kylll hat geschrieben:Dieser Block soll verschwinden, garnicht sichtbar sein.
Also, Radiobuttons kriegste nichtmal mit "loop at screen" weg, da hab ich mir auch die Zähne dran ausgebissen.

Wenn du sagst, du könntest die nicht mit "data" definieren, weil die so tief in der Programmlogik verankert sind -- ich frag mal frech: Ob du

Code: Alles auswählen.

parameters: p_bla....
oder

Code: Alles auswählen.

data: p_bla....
im Coding stehen hast, ist doch für das Programm an sich irrelevant, dann brauchst du das nachfolgende Coding nicht zu ändern.

Ist keine schöne Lösung, aber es funktioniert ;)


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

Beitrag von ewx (Top Expert / 4784 / 294 / 628 ) »
kylll hat geschrieben:Hallo EWX,

Nein so etwas meine ich nicht.

Dieser Block soll verschwinden, garnicht sichtbar sein.
-> MODIF ID und LOOP AT SCREEN...
kylll hat geschrieben: Ein Beispiel :
select-options : S_Jahr for sy-datum no-display.

Führt dazu dass man dieses Feld in der Selektionsmaske nicht sehen kann.
Man kann die Variabele im Programm aber nutzen.

Genau so etwas suche ich für den ganzen Block.
(oder zumindest eine Möglichkeit checkbox oder Radiobutton nicht sichtbar zu machen)
--> NO-DISPLAY; Zusätze "As Checkbox", "Radiobutton" müssen dann weg
kylll hat geschrieben:Ich könnte natürlich auch den gesamten Block löschen und die enthaltenen Variabelen neu definieren mit DATA.
Aber das sehe ich nur als Notlösung, denn irgendwann später mag ich den Block wieder verwenden. Wenn ich das OK von Vorgesetzten bekomme.
Die in dem Block enthaltenen Parameter-Variabelen sind tief in der Programmlogik integriert, daher kann ich nicht auf diese verzichten, aber mit ihren Initialwerten läuft alles reibungslos.
Ansonsten machst du:

Code: Alles auswählen.

LOOP AT SCREEN. 
screen-active = '0'. 
MODIFY screen.
ENDLOOP.
Gruß, Enno

MODIFY ID

Beitrag von JHM (Top Expert / 1189 / 1 / 196 ) »
Hi kylll,

schau dir mal den Zusatzt MODIFY ID zu Parametern und Select-Options an. Dieser in Verbindung mit dem bereits erwähnten LOOP AT SCREEN bringt dir die Lösung. Das Ereignis AT SELECTION-SCREEN OUTPUT ist in dem Zusammenhang auch zu gebrauchen. Ein Block wird nicht ausgeben wenn er keine Elemente beinhaltet.

Anbei mal ein Demoprogramm.

Gruß Hendrik

Code: Alles auswählen.

REPORT  ztest_selscreen.
* Selection Screen
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.
PARAMETER: 
*          Checkbox
           p_check AS CHECKBOX MODIF ID c,
*          Radiobuttons
           p_rb1   RADIOBUTTON GROUP r1 MODIF ID r,
           p_r2    RADIOBUTTON GROUP r1 MODIF ID r,
*          Eine Parameterfeld
           p_fiels TYPE int4 MODIF ID f.
*          Eine Select-Option
SELECT-OPTIONS s_repid FOR sy-repid MODIF ID s.
SELECTION-SCREEN END   OF BLOCK b1.

* Die ganzen Sachen ausblenden
AT SELECTION-SCREEN OUTPUT.
  LOOP AT SCREEN.
*   Checkbox ausblenden
    IF screen-group1 EQ 'C'.
      screen-active = 0.
    ENDIF.
*   Radiobutton ausblenden
    IF screen-group1 EQ 'R'.
      screen-active = 0.
    ENDIF.
*   Parameter ausblenden
    IF screen-group1 EQ 'F'.
      screen-active = 0.
    ENDIF.
*   Select-Option ausblenden
    IF screen-group1 EQ 'S'.
      screen-active = 0.
    ENDIF.
    MODIFY SCREEN.
  ENDLOOP.
Gruß Hendrik

Seite 1 von 1

Vergleichbare Themen

4
Antw.
1024
Views
Selection Screen Display vergrößern
von abapfreshman » 03.03.2020 14:31 • Verfasst in ABAP® für Anfänger
4
Antw.
2772
Views
Selection-Screen Comment Felder ausblenden
von brunsdo » 19.02.2016 16:16 • Verfasst in ABAP® für Anfänger
11
Antw.
4607
Views
Selektionsbild PSJ - Block Kostenarten ausblenden
von Kerstin » 06.02.2014 11:34 • Verfasst in Sonstige Module
1
Antw.
1845
Views
Selection Screen
von frany*89* » 06.08.2011 05:11 • Verfasst in ABAP® für Anfänger
0
Antw.
1354
Views
AT SELECTION-SCREEN-->wie ??
von Ruffy » 10.03.2010 13:31 • Verfasst in ABAP® Core

Über diesen Beitrag


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

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.