Subscreen ausblenden einblenden.

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

Subscreen ausblenden einblenden.

Beitrag von Bajdu (ForumUser / 31 / 0 / 0 ) »
Hi Abapers,

Ich möchte ein Subscreen mit der Hilfe eine Pusbutton ausblenden einblenden.

ich versuchte so.

Code: Alles auswählen.


MODULE user_command_100 INPUT.
  CASE save_ok.

    WHEN 'SUB5'.
*     message 'Hello' type 'E'.

*      IF anz1 = space.
*        anz1 = 'X'.
        LOOP AT SCREEN.
          IF screen-name = 'AREA1'.
            screen-invisible = 1.
            modify screen.
          ENDIF.
        ENDLOOP.
      CLEAR save_ok.
      CLEAR ok_code.
    WHEN 'SUB1'.
      number1 = '0110'.
    WHEN 'SUB2'.
      number1 = '0120'.
      CLEAR field1.
    WHEN 'SUB3'.
      number2 = '0130'.
    WHEN 'SUB4'.
      number2 = '0140'.
      CLEAR field2.

  ENDCASE.
ENDMODULE.                    "user_command_100 INPUT
Hinweis: SUB5 -> FctCode für Pushbutton
AREA1->Name des Subscreen
Aber das code macht nichts. Warum?

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


Re: Subscreen ausblenden einblenden.

Beitrag von JHM (Top Expert / 1197 / 1 / 197 ) »
Bajdu hat geschrieben:Ich möchte ein Subscreen mit der Hilfe eine Pusbutton ausblenden einblenden.

Aber das code macht nichts. Warum?
Ich habe das auch mal so probiert, aber es hat nicht funktioniert. Du müßtest den LOOP AT SCREEN im PBO des SUB-SCREENS machen und dort alle Elemente ausblenden. Oder du machst den SUBSCREEN-Aufruf dynamisch und legst dir einen neuen leeren SUBSCREEN an.

In der Ablauflogik
*** Subscreen REF1
CALL SUBSCREEN sub1 INCLUDING sy-repid g_dyn1.

*** Im Usercommand wird die SCREEN-Nr gesetzt
MODULE user_command_0100 INPUT.
okcode_save = okcode.
CLEAR okcode.

CASE okcode_save.
* Anzeige REF1-Daten.
WHEN '&R1'.
IF g_dyn1 IS INITIAL.
g_dyn1 = '0102'.
ELSE.
g_dyn1 = '0104'.
ENDIF.
* Daten speichern
WHEN 'SAVE'.
PERFORM save.
ENDCASE.
ENDMODULE. " user_command_0100 INPUT
Gruß Hendrik

Re: Subscreen ausblenden einblenden.

Beitrag von ewx (Top Expert / 4844 / 311 / 640 ) »
Bajdu hat geschrieben:ich versuchte so.
screen-invisible = 1.
Probier mal screen-active = '0'.

Gruß, Enno

SubScreens sind keine Dynprofelder

Beitrag von se80 (ForumUser / 21 / 0 / 0 ) »
Hallo Bajdu,

Dein Programm kann nicht funktionieren. Die IF-Anweisung wird nicht durchlaufen, da SubScreen-Blöcke keine Ein-/Ausgabefelder sind. Dementsprechend werden die SubScreen-Blöcke durch LOOP AT SCREEN nicht berücksichtigt.

Dies gilt übrigens auch für TableControls und TabStrips. Die Registerkarten von TabStrips dagegen sind PushButtons und werden deshalb berücksichtigt.

JHM hat die Lösung bereits genannt.
Die einfachste Lösung für Dein Problem ist tatsächlich, bei Bedarf einen leeren SubScreen zu inkludieren, also in der Dynproablauflogik mit einer Variablen für die Dynpronummer zu arbeiten.

Gruß

Gerd

Tabreiter komplett ausblenden

Beitrag von eberhard (ForumUser / 22 / 0 / 0 ) »
Hallo,
vielleicht verstehe ich die bisherigen Antworten nicht richtig, aber ich habe ein ähnliches Problem, wie der Eröffner des Threads:
Ich habe eine Sel.maske mit drei Tabreitern definiert.
Abhängig von bestimmten Zuständen möchte ich einen der drei Tabreiter komplett unsichtbar haben, so dass der Benutzer gar nicht merkt, dass mehr als zwei Tabreiter vorhanden sind. Mit Loop at Screen funktionierts nicht und auch Call subscreen scheint mir nicht zielführend.
Gibt es dafür eine Möglichkeit???
Danke und Gruß,
Eberhard

Re: Tabreiter komplett ausblenden

Beitrag von JHM (Top Expert / 1197 / 1 / 197 ) »
eberhard hat geschrieben:Hallo,
Mit Loop at Screen funktionierts nicht
Beim mir gehts :D

Code: Alles auswählen.

* Subscreen 100
SELECTION-SCREEN BEGIN OF SCREEN 100 AS SUBSCREEN.
PARAMETERS: p1(10) TYPE c,
            p2(10) TYPE c,
            p3(10) TYPE c.
SELECTION-SCREEN END OF SCREEN 100.

* Subscreen 200
SELECTION-SCREEN BEGIN OF SCREEN 200 AS SUBSCREEN.
PARAMETERS: q1(10) TYPE c,
            q2(10) TYPE c,
            q3(10) TYPE c.
SELECTION-SCREEN END OF SCREEN 200.

* Subscreen 300, wir nicht angezeigt
SELECTION-SCREEN BEGIN OF SCREEN 300 AS SUBSCREEN.
SELECTION-SCREEN COMMENT /1(50) text.
SELECTION-SCREEN END OF SCREEN 300.

SELECTION-SCREEN: BEGIN OF TABBED BLOCK mytab FOR 10 LINES,
                  TAB (20) button1 USER-COMMAND push1 DEFAULT SCREEN 100,
                  TAB (20) button2 USER-COMMAND push2 DEFAULT SCREEN 200,
                  TAB (20) button3 USER-COMMAND push3 DEFAULT SCREEN 300,
                  END OF BLOCK mytab.

INITIALIZATION.
  button1 = 'Selection Screen 1'.
  button2 = 'Selection Screen 2'.
  button3 = 'Selection Screen 3'.
  text    = 'Dieser Tab soll nicht angezeigt werden.'.

AT SELECTION-SCREEN OUTPUT.

  LOOP AT SCREEN.
    IF screen-name EQ 'BUTTON3'.
      screen-invisible = 1.
      MODIFY SCREEN.
    ENDIF.
  ENDLOOP.
Beim LoopAtScreen müßte dann deine Bedingung mit rein.
Gruß Hendrik

Beitrag von eberhard (ForumUser / 22 / 0 / 0 ) »
Vielen Dank!
Irgendwas muss ich falsch gemacht haben bei meinen Versuchen.
Jetzt funktionierts bei mir auch!
Eberhard

Seite 1 von 1

Vergleichbare Themen

5
Antw.
2535
Views
Textfelder in Subscreen ausblenden
von Dörk » 14.09.2006 15:55 • Verfasst in Dialogprogrammierung
0
Antw.
2013
Views
Probleme Beim Subscreen im Subscreen
von dimes » 07.03.2007 14:50 • Verfasst in Dialogprogrammierung
0
Antw.
975
Views
Subscreen im Subscreen mit Tabstrip
von Maggonski » 03.02.2023 15:19 • Verfasst in Dialogprogrammierung
0
Antw.
1207
Views
ZMENG in Angebot einblenden
von Weltenschmerz » 21.02.2018 08:33 • Verfasst in Sales and Distribution
1
Antw.
2836
Views
Hr-Infotyp-Kundenfeld einblenden
von mazu » 19.11.2013 17:02 • Verfasst in Dialogprogrammierung

Ü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.

Unbeantwortete Forenbeiträge

Daten an Tabelle binden
vor 16 Stunden von Bright4.5 1 / 354
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 1997
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8596